.portfolio-ring-stage {
  position: relative;
  perspective-origin: 50% 50%;
  overflow: hidden;
  isolation: isolate;
  touch-action: pan-y;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
}
.portfolio-ring-stage.is-dragging { cursor: grabbing; }
.portfolio-ring-track {
  position: absolute;
  inset: 0;
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
}
.portfolio-ring-track .ring-card {
  position: absolute;
  top: 50%; left: 50%;
  display: block;
  padding: 0; margin: 0;
  border: 0; min-width: 0; border-radius: 0;
  background: transparent;
  overflow: visible;
  transform-style: preserve-3d;
  backface-visibility: visible;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.portfolio-ring-track .ring-face {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border: 1px solid rgba(12, 25, 45, .10);
  border-radius: 1px;
  background: #e7e8e8;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  pointer-events: none;
}
.ring-face-front { transform: translateZ(.05px); }
.ring-face-back { transform: rotateY(180deg) translateZ(.05px); }
.portfolio-ring-track .ring-card.is-center .ring-face-front { box-shadow: 0 24px 38px -27px rgba(17, 34, 65, .28); }
.portfolio-ring-track .ring-card:focus-visible { outline: 2px solid #002fa7; outline-offset: 5px; }
.portfolio-ring-track .ring-card img {
  display: block;
  width: 100%; height: 100%; max-width: none;
  object-fit: cover;
  pointer-events: none;
}
.portfolio-ring-track .ring-card.is-rear img { filter: brightness(.94); }
