/* ============================================================
   NUKON USA — MOTION
   Easings are LOCKED. Durations and intensity are per-project: raise
   --motion-scale for a more cinematic demo, drop it for a restrained one.
   ============================================================ */
:root {
  /* LOCKED easings */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --ease-in-out:   cubic-bezier(0.65, 0, 0.35, 1); /* @kind other */
  /* DERIVED */
  --ease-out-soft: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */

  --motion-scale: 1; /* @kind other */

  --dur-instant: 90ms; /* @kind other */
  --dur-fast:    140ms; /* @kind other */
  --dur-base:    250ms; /* the exemplar button transition. @kind other */
  --dur-slow:    450ms; /* @kind other */
  --dur-reveal:  700ms; /* @kind other */
  --dur-cinematic: 1200ms; /* @kind other */

  --dur-action: 200ms; /* the button-state duration. @kind other */
  --ease-out-css: ease-out; /* @kind other */

  /* composed transitions */
  --t-action: var(--dur-action) var(--ease-out-css); /* @kind other */
  --t-hover: var(--dur-base) var(--ease-out-expo); /* @kind other */
  --t-press: var(--dur-instant) var(--ease-in-out); /* @kind other */
  --t-reveal: var(--dur-reveal) var(--ease-out-expo); /* @kind other */

  /* scroll-reveal defaults */
  --reveal-shift: 24px; /* @kind spacing */
  --reveal-stagger: 70ms; /* @kind other */
}

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