.rv {
  position: relative; display: block; width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0;
  background: transparent; color: var(--text); font: inherit; text-align: left; cursor: pointer;
  touch-action: pan-y; -webkit-tap-highlight-color: transparent; user-select: none; -webkit-user-select: none;
}
.rv.is-turning { cursor: pointer; }
.rv-pic { position: relative; display: block; aspect-ratio: 551 / 802; overflow: hidden; background: var(--night); }
.rv-pic img, .rv-pic video {
  position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover;
  pointer-events: none; -webkit-user-drag: none;
}
.rv-frames { position: absolute; inset: 0; display: block; }
.rv-pic img[hidden] { display: none; }
.rv-clip { opacity: 0; }
.rv.is-moving .rv-clip { opacity: 1; }

.rv-standin {
  position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px; padding: 12px; background: var(--robot-standin); color: var(--robot-standin-ink);
  border: 1px dashed var(--robot-standin-edge); text-align: center; font-size: var(--size-small); line-height: 1.3;
  overflow-wrap: break-word;
}
@media (max-width: 39.99rem) { .rv-standin { font-size: var(--size-caps-label); } }
.rv-file { font-weight: var(--weight-bold); }
.rv-size { font-family: var(--font-sans); }

.rv-glow {
  position: absolute; left: var(--chest-x); top: var(--chest-y); width: var(--chest-size); aspect-ratio: 1;
  transform: translate(-50%, -50%); border-radius: 50%; pointer-events: none; opacity: 0; mix-blend-mode: screen;
  background: radial-gradient(circle closest-side, var(--robot-glow-core) 0%, var(--robot-glow-mid) 46%, transparent 100%);
}

.rv-lid {
  position: absolute; top: var(--eye-y); width: calc(var(--eye-size) * 1.3); aspect-ratio: 1; border-radius: 50%;
  background: var(--robot-lid); transform: translate(-50%, -50%) scaleY(0); pointer-events: none;
}
.rv-lid-l { left: var(--eye-l); }
.rv-lid-r { left: var(--eye-r); }

.rv-tag {
  display: block; padding: 8px 10px 10px; background: transparent; color: var(--text); visibility: hidden;
  pointer-events: none; font-size: var(--size-small); line-height: 1.3;
}
.rv-tag-name {
  display: block; font-family: var(--font-head); font-size: var(--size-small); line-height: 1.15; letter-spacing: 0.02em;
  text-transform: uppercase;
}
.rv-tag-job { display: block; margin-top: 3px; }

.rv:focus-visible .rv-glow, .rv.is-awake .rv-glow { opacity: 1; }
.rv:focus-visible .rv-tag, .rv.is-awake .rv-tag { visibility: visible; background: var(--robot-tag); color: var(--robot-tag-ink); }

@media (hover: hover) {
  .rv:hover .rv-glow { opacity: 1; }
  .rv:hover .rv-tag { visibility: visible; background: var(--robot-tag); color: var(--robot-tag-ink); }
}

.rv[data-far] .rv-pic .rv-glow, .rv[data-far] .rv-pic .rv-lid { opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  .rv-glow, .rv-clip { transition: opacity var(--t-hover) var(--ease-lux); }
  .rv-tag { transition: background-color var(--t-hover) var(--ease-lux), color var(--t-hover) var(--ease-lux); }
}

.page-home .team-strip .ts-row { position: relative; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.page-home .team-strip .ts-item { position: relative; }
.page-home .team-strip .rv { touch-action: pan-x pan-y; }

.page-home .team-strip .rv-tag { text-align: center; padding-inline: 6px; }
.page-home .team-strip .rv-tag-name { visibility: visible; }
@media (max-width: 63.99rem) {
  .page-home .team-strip .ts-row {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(136px, 38%);
    overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
    margin-inline: calc(var(--page-gutter) * -1); padding: 4px var(--page-gutter) 14px; scroll-padding-inline: var(--page-gutter);
  }
  .page-home .team-strip .ts-item { scroll-snap-align: start; }
}
@media (min-width: 40rem) and (max-width: 63.99rem) {
  .page-home .team-strip .ts-row { grid-auto-columns: minmax(150px, 24%); }
}
