@keyframes orbit-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-11px)}}
@keyframes pulse-ring{0%{opacity:.6;transform:scale(.95)}80%,100%{opacity:0;transform:scale(1.3)}}
@keyframes marquee{to{transform:translateX(-50%)}}
@keyframes loading-line{from{transform:scaleX(.05)}to{transform:scaleX(1)}}
@keyframes slide-in{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.23,1,.32,1),transform .8s cubic-bezier(.23,1,.32,1)}.js-motion .reveal.is-visible{opacity:1;transform:none}.js-motion .services-grid .service-card{animation:slide-in .5s both}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.js-motion .reveal{opacity:1!important;transform:none!important}}
