/* Motion spec from the Brand Scoping & Messaging Kit.
   The signature is ASYMMETRY: react fast, settle slow, roughly 4:1 at every
   scale. Living tissue flinches quickly and relaxes slowly; mechanical systems
   are symmetric. Nothing bounces, springs, wobbles, or elastics — no easing
   curve may exceed 1 on the y axis. */
:root{
/* Seven durations */
--duration-micro:120ms; /* @kind other */      /* hover tint, focus ring, checkbox */
--duration-react:180ms; /* @kind other */      /* any direct response to input — the fast half */
--duration-standard:320ms; /* @kind other */   /* card reveal, tooltip, accordion, menu */
--duration-settle:780ms; /* @kind other */     /* return to rest — the slow half */
--duration-narrative:2600ms; /* @kind other */ /* figure step, mechanism morph */
--duration-ambient-hold:10s; /* @kind other */ /* rest between ambient transitions */
--duration-breath:57s; /* @kind other */       /* always-on life sign */

/* Four curves */
--ease-standard:cubic-bezier(.4,0,.2,1); /* @kind other */
--ease-enter:cubic-bezier(0,0,.2,1); /* @kind other */
--ease-exit:cubic-bezier(.4,0,1,1); /* @kind other */
--ease-settle:cubic-bezier(.16,1,.3,1); /* @kind other */

/* Composed: put the SETTLE on the base state and the REACT on :hover, so the
   two directions carry different durations. That is the signature in CSS. */
--transition-settle:background-color var(--duration-settle) var(--ease-settle),color var(--duration-settle) var(--ease-settle),border-color var(--duration-settle) var(--ease-settle),transform var(--duration-settle) var(--ease-settle),opacity var(--duration-settle) var(--ease-settle); /* @kind other */
--transition-react:background-color var(--duration-react) var(--ease-enter),color var(--duration-react) var(--ease-enter),border-color var(--duration-react) var(--ease-enter),transform var(--duration-react) var(--ease-enter),opacity var(--duration-react) var(--ease-enter); /* @kind other */
--transition-micro:background-color var(--duration-micro) var(--ease-enter),box-shadow var(--duration-micro) var(--ease-enter); /* @kind other */

/* Stagger — move as a population, never in lockstep. */
--stagger-ui:50ms; /* @kind other */
--stagger-particle-ratio:.45; /* @kind other */
}

/* Reduced motion is not optional here: vestibular sensitivity is
   over-represented among people with neurological injury and disease, which is
   the population Axo exists to serve. Ambient motion STOPS and renders one
   still frame; functional transitions collapse to opacity under 100ms. */
@media (prefers-reduced-motion:reduce){
:root{
--duration-micro:80ms; /* @kind other */
--duration-react:80ms; /* @kind other */
--duration-standard:80ms; /* @kind other */
--duration-settle:80ms; /* @kind other */
--duration-narrative:0ms; /* @kind other */
--transition-settle:opacity 80ms linear; /* @kind other */
--transition-react:opacity 80ms linear; /* @kind other */
--transition-micro:opacity 80ms linear; /* @kind other */
--stagger-ui:0ms; /* @kind other */
}
*,*::before,*::after{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:80ms!important;scroll-behavior:auto!important}
}
