/* noshake 2026-10-24: no looping/shaking motion; subtle one-time fades only */
.blob,.hero .blob,.scene .fc,.asm-in,.ticker div,.hl,.grad,.hero-eyebrow i,.hcard,.phone,.card3d,.hcard .bar i,.m2-hero-media,.m2-marq{animation:none!important}
.phone,.card3d{transform:none!important}
.hv{display:none!important}
.ticker{overflow:hidden}.ticker div{transform:none!important}
.asm-in{flex-wrap:wrap;justify-content:center;width:auto!important}
.hero2-in>*,.gl-hero>*{animation:nsFade .6s ease both!important}
@keyframes nsFade{from{opacity:0}to{opacity:1}}
.rv{transform:none!important}
.card,.fcard,.step,.kit{transform:none!important}
.hstill{margin:0;align-self:center;justify-self:center;max-width:460px;width:100%;border-radius:18px;overflow:hidden;box-shadow:0 24px 50px -24px rgba(15,23,42,.45);position:relative;z-index:1}
.hstill img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.hero2 .hstill{position:absolute;right:4%;top:50%;translate:0 -50%;max-width:380px}
@media(max-width:900px){.hero2 .hstill{position:static;translate:none;margin:24px auto 0;max-width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
