@media(prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.js .reveal.is-visible{opacity:1;transform:none}.hero-content{animation:hero-enter .8s ease both}@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Floating accents and staggered entrances */
@media(prefers-reduced-motion:no-preference){
 .js .reveal{transform:translateY(36px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.25,1)}
 .js .reveal.is-visible{transform:translateY(0)}
 .reveal.delay-1{transition-delay:.08s}.reveal.delay-2{transition-delay:.16s}.reveal.delay-3{transition-delay:.24s}
 .float-media.is-visible{animation:media-float 7s ease-in-out 1s infinite}
 .value.is-visible svg{animation:accent-float 5s ease-in-out infinite}
 .value:nth-child(even) svg{animation-delay:1.3s}
 .video-caption-mark{animation:beacon-pulse 2.8s ease-in-out infinite}
 .service-card{transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .35s,border-color .3s}
 .service-card:hover{transform:translateY(-10px)}
 .service-card:hover .card-image img{transform:scale(1.06)}
 .contact-method{transition:transform .35s,box-shadow .35s,border-color .35s}
 .contact-method:hover{transform:translateY(-6px);border-bottom-color:var(--orange);box-shadow:0 18px 35px color-mix(in srgb, var(--primary-blue) 7.06%, transparent)}
 .btn:after,.link:after,.method-arrow{transition:transform .3s}
 .btn:hover:after,.link:hover:after,.contact-method:hover .method-arrow{transform:translate(3px,-3px)}
 .hero-explore>span{animation:explore-float 2.5s ease-in-out infinite}
 .contact-hero-lines{animation:orbit-float 12s ease-in-out infinite}
 @keyframes media-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
 @keyframes accent-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
 @keyframes beacon-pulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb, var(--orange) 31.37%, transparent)}50%{box-shadow:0 0 0 6px transparent}}
 @keyframes explore-float{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
 @keyframes orbit-float{0%,100%{transform:translate(0,0)}50%{transform:translate(-12px,8px)}}
}
@media(max-width:640px){.float-media.is-visible{animation:none}.reveal.delay-1,.reveal.delay-2,.reveal.delay-3{transition-delay:0s}}

@media(prefers-reduced-motion:no-preference){.js .service-card.is-visible:hover{transform:translateY(-10px)}.js .contact-method.is-visible:hover{transform:translateY(-6px)}}

/* The highlighted solutions strip now has a visible floating flight. */
@media(prefers-reduced-motion:no-preference){
 .solution-float{animation:solution-flight 5.8s ease-in-out infinite;animation-play-state:paused}
 .solution-float:nth-child(3){animation-delay:-1.45s}.solution-float:nth-child(4){animation-delay:-2.9s}.solution-float:nth-child(5){animation-delay:-4.35s}
 .sector-band.motion-running .solution-float{animation-play-state:running}
 .sector-band .solution-float:hover,.sector-band .solution-float:focus-within{animation-play-state:paused}
 .sector-band.is-in-view .solution-link{animation:solution-arrive .75s cubic-bezier(.2,.75,.25,1) backwards}
 .sector-band.is-in-view .solution-float:nth-child(3) .solution-link{animation-delay:.1s}.sector-band.is-in-view .solution-float:nth-child(4) .solution-link{animation-delay:.2s}.sector-band.is-in-view .solution-float:nth-child(5) .solution-link{animation-delay:.3s}
 .sector-band .solution-link{transition:transform .35s,box-shadow .35s,border-color .3s}
 .sector-band .solution-link:hover,.sector-band .solution-link:focus-visible{transform:translateY(-7px)}
 .solution-arrow{transition:transform .35s}
 .solution-link:hover .solution-arrow{transform:translate(3px,-3px)}
 .solution-link:hover .solution-icon svg{animation:solution-icon-flight 1.6s ease-in-out infinite}
 .value{transition:border-color .35s,box-shadow .35s,transform .35s}
 .js .value.is-visible:hover{transform:translateY(-5px);border-color:color-mix(in srgb, var(--orange) 31.37%, transparent);box-shadow:0 14px 28px color-mix(in srgb, var(--primary-blue) 3.92%, transparent)}
 @keyframes solution-flight{0%,100%{transform:translate(0,2px)}25%{transform:translate(2px,-4px)}50%{transform:translate(0,-9px)}75%{transform:translate(-2px,-3px)}}
 @keyframes solution-arrive{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
 @keyframes solution-icon-flight{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
}
@media(prefers-reduced-motion:reduce){.solution-float,.solution-link{animation:none!important;transform:none!important}}
