/* Progressive motion layer: content stays visible and indexable without JavaScript. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-fast:240ms;--motion-slow:760ms}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.scroll-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;z-index:10000;pointer-events:none;transform:scaleX(0);transform-origin:left;background:var(--blue,var(--teal,#2563eb));will-change:transform}
.motion-ready .motion-reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity var(--motion-slow) var(--motion-ease),transform var(--motion-slow) var(--motion-ease)}
.motion-ready .motion-reveal.motion-in{opacity:1;transform:none}
.motion-ready .motion-stagger>*{opacity:0;transform:translate3d(0,22px,0);transition:opacity 650ms var(--motion-ease),transform 650ms var(--motion-ease);transition-delay:calc(var(--motion-order,0) * 75ms)}
.motion-ready .motion-stagger.motion-in>*{opacity:1;transform:none}
.motion-ready .hero-text>* ,.motion-ready .header-inner>*{animation:motion-enter 780ms var(--motion-ease) both;animation-delay:calc(var(--motion-order,0) * 95ms)}
@keyframes motion-enter{from{opacity:0;transform:translate3d(0,24px,0)}to{opacity:1;transform:none}}
.hero-photo-col{position:relative}.hero-photo-col::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(37,99,235,.2),transparent 48%);mix-blend-mode:multiply;pointer-events:none;transform:translateX(-100%);animation:photo-wash 1.2s var(--motion-ease) .25s both}
.hero-photo-col img{animation:photo-settle 1.4s var(--motion-ease) both}
@keyframes photo-wash{to{transform:translateX(100%)}}@keyframes photo-settle{from{opacity:.35;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
.icp-card,.testi-card,.blog-card,.lm-card,.teaser-card,.who-card,.comm-box,.section,.intro,.callout,.warning{transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) ease,border-color var(--motion-fast) ease}
.icp-card:hover,.testi-card:hover,.blog-card:hover,.lm-card:hover,.teaser-card:hover,.who-card:hover,.comm-box:hover{transform:translate3d(0,-6px,0);box-shadow:0 18px 38px rgba(10,10,10,.1)}
.btn-primary,.btn-ghost,.btn-lm,.btn,.nav-cta{position:relative;overflow:hidden;transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-fast) ease,background-color var(--motion-fast) ease!important}
.btn-primary::after,.btn-ghost::after,.btn-lm::after,.btn::after,.nav-cta::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.18);transform:translateX(-105%) skewX(-18deg);transition:transform 520ms var(--motion-ease);pointer-events:none}
.btn-primary:hover,.btn-ghost:hover,.btn-lm:hover,.btn:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(10,10,10,.22)}
.btn-primary:hover::after,.btn-ghost:hover::after,.btn-lm:hover::after,.btn:hover::after,.nav-cta:hover::after{transform:translateX(105%) skewX(-18deg)}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--amber,#e8820c);outline-offset:4px}
.faq-icon{transition:transform 320ms var(--motion-ease)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.scroll-progress{display:none}.motion-ready .motion-reveal,.motion-ready .motion-stagger>*,.motion-ready .hero-text>*,.motion-ready .header-inner>*,.hero-photo-col img,.hero-photo-col::after{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.icp-card:hover,.testi-card:hover,.blog-card:hover,.lm-card:hover,.teaser-card:hover,.who-card:hover,.comm-box:hover,.btn-primary:hover,.btn-ghost:hover,.btn-lm:hover,.btn:hover,.nav-cta:hover{transform:none}}
@media(max-width:700px){body::after{display:none}.motion-ready .motion-stagger>*{transition-delay:calc(var(--motion-order,0) * 35ms)}}
