:root{--motion-fast:.15s;--motion-base:.22s;--motion-slow:.32s;--motion-ease-out:cubic-bezier(.22, 1, .36, 1);--motion-ease-in:cubic-bezier(.4, 0, 1, 1);--motion-standard:cubic-bezier(.4, 0, .2, 1)}[data-reveal]{transition:opacity var(--motion-slow) var(--motion-ease-out), transform var(--motion-slow) var(--motion-ease-out);will-change:opacity, transform}[data-reveal=hidden]{opacity:0;transform:translateY(16px)}[data-reveal=shown]{opacity:1;transform:none}.hover-lift{transition:transform var(--motion-base) var(--motion-ease-out), box-shadow var(--motion-base) var(--motion-ease-out)}.hover-lift:hover{transform:translateY(-4px)}.press-scale{transition:transform var(--motion-fast) var(--motion-ease-out)}.press-scale:active{transform:scale(.97)}@keyframes motion-fade-in-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes motion-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.animate-in-up{animation:motion-fade-in-up var(--motion-slow) var(--motion-ease-out) both}.animate-scale-in{animation:motion-scale-in var(--motion-base) var(--motion-ease-out) both}.route-enter{animation:motion-fade-in-up var(--motion-base) var(--motion-ease-out) both}@media (prefers-reduced-motion:reduce){[data-reveal],.hover-lift,.press-scale,.animate-in-up,.animate-scale-in,.route-enter{transition:none!important;animation:none!important}[data-reveal=hidden]{opacity:1!important;transform:none!important}}
