/* cycle™ — Motion
   Motion is the brand's native language (a three.js studio). It is precise,
   weighted and confident — never bouncy or playful. Long, eased glides;
   depth-of-field reveals; mono-to-overshoot only on signature moments. */
:root {
  /* —— Durations —— */
  --d-instant: 80ms;
  --d-fast:    160ms;
  --d-base:    280ms;
  --d-slow:    520ms;
  --d-cine:    900ms;
  --d-scroll:  1200ms;

  /* —— Easing —— */
  --e-out:      cubic-bezier(0.16, 1, 0.30, 1);
  --e-in-out:   cubic-bezier(0.65, 0, 0.35, 1);
  --e-in:       cubic-bezier(0.55, 0, 1, 0.45);
  --e-emphasis: cubic-bezier(0.34, 1.2, 0.30, 1);

  /* —— Composed transitions —— */
  --t-hover:  all var(--d-fast) var(--e-out);
  --t-base:   all var(--d-base) var(--e-out);
  --t-cine:   transform var(--d-cine) var(--e-out), opacity var(--d-cine) var(--e-out);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --d-instant: 0ms; --d-fast: 0ms; --d-base: 0ms;
    --d-slow: 0ms; --d-cine: 0ms; --d-scroll: 0ms;
  }
}
