:root{
/* Motion doctrine (SPEC-1 §4.3): one continuous motion per element, real mass in still air.
   NO elastic/back/overshoot easing anywhere. Slow is on-brand. */
--ease-exhale:cubic-bezier(.22,.55,.18,1); /* @kind other */   /* default arrival — long gentle tail */
--ease-drift:cubic-bezier(.35,.1,.25,1); /* @kind other */     /* ambient position drift */
--ease-fade:cubic-bezier(.33,0,.2,1); /* @kind other */        /* opacity-only */
--dur-quick:.5s; /* @kind other */      /* hovers, small state changes */
--dur-soft:.9s; /* @kind other */       /* reveals, underline blooms */
--dur-slow:1.6s; /* @kind other */      /* section entrances, hairline draws */
--dur-breath:9s; /* @kind other */      /* blush gradients breathing */
--dur-drift:22s; /* @kind other */      /* ambient petal / background drift */
--reveal-rise:18px;   /* max translate for entrance reveals — subtle */
}
@media (prefers-reduced-motion:reduce){
:root{--dur-quick:0s; /* @kind other */ --dur-soft:0s; /* @kind other */ --dur-slow:0s; /* @kind other */}
}
