/* ── motion ─────────────────────────────────────────────────────────────────
   Motion answers a user action, or it is the single orchestrated load reveal.
   Nothing loops, nothing parallaxes, nothing animates on scroll past the first
   screen. Durations are short enough to read as response, not as animation.  */
:root {
  --dur-instant: 90ms; /* @kind other */
  --dur-fast: 140ms; /* @kind other */
  --dur: 220ms; /* @kind other */
  --dur-reveal: 520ms; /* @kind other */
  --ease: cubic-bezier(0.2, 0, 0.2, 1); /* @kind other */
  --ease-out: cubic-bezier(0, 0, 0.25, 1); /* @kind other */
  --reveal-stagger: 60ms; /* @kind other */
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-instant: 0ms; /* @kind other */
    --dur-fast: 0ms; /* @kind other */
    --dur: 0ms; /* @kind other */
    --dur-reveal: 0ms; /* @kind other */
    --reveal-stagger: 0ms; /* @kind other */
  }
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
