@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes scanMove{0%,100%{transform:translateY(0);opacity:.55}50%{transform:translateY(300px);opacity:1}}
@keyframes ringRotate{to{transform:rotate(360deg)}}
@keyframes cardConfirm{0%{transform:scale(.985)}50%{transform:scale(1.006);box-shadow:0 0 0 5px rgba(255,210,31,.12)}100%{transform:scale(1)}}
@keyframes pulseRail{0%,100%{opacity:.35;transform:scaleX(.4)}50%{opacity:1;transform:scaleX(1)}}
.history-scan{animation:scanMove 5.4s ease-in-out infinite}.is-flashing{animation:cardConfirm .55s var(--ease)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-marquee>div,.history-scan,.workflow-ring,.status-dot,.is-flashing{animation:none!important}.js .reveal{opacity:1;transform:none;transition:none}.magnetic,.surface-tilt{transform:none!important;transition:none!important}}
