/* ── Motion ──────────────────────────────────────────────────────────────
   Slow, weighted, deliberate. Nothing bounces. Nothing springs. Curves are
   heavily eased-out so movement decelerates into place like a camera settling. */

:root {
  --ease-cinema: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1); /* @kind other */
  --ease-enter: cubic-bezier(0.22, 1, 0.36, 1); /* @kind other */
  --ease-exit: cubic-bezier(0.7, 0, 0.84, 0); /* @kind other */

  --dur-instant: 120ms; /* @kind other */
  --dur-fast: 240ms; /* @kind other */
  --dur-base: 420ms; /* @kind other */
  --dur-slow: 720ms; /* @kind other */
  --dur-cinema: 1200ms; /* @kind other */
  --dur-reveal: 1600ms; /* @kind other */

  --stagger: 90ms; /* @kind other */

  --transition-hover: color var(--dur-fast) var(--ease-standard), background-color var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), opacity var(--dur-fast) var(--ease-standard); /* @kind other */
  --transition-image: transform var(--dur-cinema) var(--ease-cinema), filter var(--dur-slow) var(--ease-cinema); /* @kind other */
  --transition-reveal: opacity var(--dur-slow) var(--ease-enter), transform var(--dur-slow) var(--ease-enter); /* @kind other */

  /* Parallax depth planes (translateY multipliers against scroll) */
  --parallax-far: 0.12; /* @kind other */
  --parallax-mid: 0.24; /* @kind other */
  --parallax-near: 0.4; /* @kind other */
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 1ms; /* @kind other */
    --dur-base: 1ms; /* @kind other */
    --dur-slow: 1ms; /* @kind other */
    --dur-cinema: 1ms; /* @kind other */
    --dur-reveal: 1ms; /* @kind other */
    --stagger: 0ms; /* @kind other */
    --image-hover-scale: 1; /* @kind other */
  }
}
