/* Motion policy.

   A scroll-scrubbed flight is continuous camera motion, so the reduced-motion
   branch is a floor here, not a nicety. With it on, film-scrub.js never fetches
   the clip and the stage keeps its poster: the composition, the wash, and every
   word survive — only the camera stops. */

@media (prefers-reduced-motion: reduce) {
  /* Scroll is already uncorrected and unsmoothed for everyone; nothing to
     disable here beyond making the intent explicit. */
  html { scroll-behavior: auto; }

  .film-stage__poster { opacity: 1 !important; transition: none; }
  .film-stage__video { display: none; }

  .card,
  .film-stage__poster { transition-duration: 1ms; }
}

/* Keyboard focus has to stay visible over a moving background. */
:focus-visible {
  outline: calc(2 * var(--u)) solid var(--ink);
  outline-offset: calc(3 * var(--u));
  border-radius: calc(4 * var(--u));
}
