/* Motion is progressive: content remains visible without JavaScript. */
.scroll-progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#c18a08,#ffd846,#fff1a1);transform:scaleX(0);transform-origin:left;pointer-events:none;box-shadow:0 0 12px #ffcc0066}
@media(prefers-reduced-motion:no-preference){
.reveal-ready{opacity:0;translate:0 32px;transition:opacity .75s ease,translate .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready[data-reveal="left"]{translate:-28px 0}.reveal-ready[data-reveal="right"]{translate:28px 0}.reveal-ready.is-revealed{opacity:1;translate:0 0}
.hero-copy>.eyebrow,.hero h1,.hero-copy>p,.hero-actions,.hero-note{animation:hero-enter .85s cubic-bezier(.2,.7,.2,1) both}.hero h1{animation-delay:.1s}.hero-copy>p{animation-delay:.2s}.hero-actions{animation-delay:.3s}.hero-note{animation-delay:.4s}.brand-hero{animation:hero-enter 1.1s .2s both}
@keyframes hero-enter{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
.problem-grid article,.steps article,.solution-grid article{isolation:isolate;position:relative;transition:opacity .75s ease,translate .85s cubic-bezier(.2,.7,.2,1),transform .35s ease,border-color .35s,box-shadow .35s;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms,0ms,0ms}
.problem-grid article:active,.solution-grid article:active{transform:scale(.99)}
.motion-active .step-icon{animation:icon-breathe 3.8s ease-in-out infinite}.motion-active .mini-local>span{animation:pin-float 3.5s ease-in-out infinite}.motion-active .mini-events b{animation:arrow-flow 2.8s ease-in-out infinite}.motion-active .mini-events b:nth-of-type(2){animation-delay:.35s}.motion-active .mini-check span{animation:check-glow 4.2s ease-in-out infinite}.motion-active .mini-check span:nth-child(2){animation-delay:.35s}.motion-active .mini-check span:nth-child(3){animation-delay:.7s}.motion-active .solution-preview{animation:preview-float 5s ease-in-out infinite}.motion-active .corner{animation:arrow-nudge 3s ease-in-out infinite}
@keyframes icon-breathe{0%,100%{transform:translateY(0);box-shadow:0 0 0 0 #ffc40000}50%{transform:translateY(-4px);box-shadow:0 0 18px #ffc40018}}
@keyframes pin-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(6deg)}}
@keyframes arrow-flow{0%,100%{opacity:.4;transform:translateX(-2px)}50%{opacity:1;transform:translateX(3px)}}
@keyframes check-glow{0%,75%,100%{color:#cfbf87}35%{color:#ffe279}}
@keyframes preview-float{0%,100%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-2deg) translateY(-5px)}}
@keyframes arrow-nudge{0%,70%,100%{transform:translate(0,0)}35%{transform:translate(3px,-3px)}}
.button.primary{position:relative;overflow:hidden}.button.primary:after{content:"";position:absolute;inset:-40% auto -40% -65%;width:35%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:skewX(-25deg);animation:button-shine 8s ease-in-out infinite;pointer-events:none}
@keyframes button-shine{0%,65%{left:-65%}85%,100%{left:145%}}
.faq-list details[open] p{animation:answer-open .4s ease both}@keyframes answer-open{from{opacity:0;translate:0 -7px}to{opacity:1;translate:0 0}}
.portrait img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.nav nav a{position:relative}.nav nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:#ffc400;transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav nav a:hover:after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.problem-grid article:hover,.steps article:hover,.solution-grid article:hover{transform:translateY(-7px);border-color:#b28a23;box-shadow:0 18px 40px #0005}.glow-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(280px circle at var(--glow-x,50%) var(--glow-y,50%),#ffd23a12,transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:-1}.glow-card:hover:after{opacity:1}.portrait:hover img{transform:scale(1.035)}}
@media(max-width:780px){.reveal-ready{translate:0 24px;transition-duration:.65s,.75s}.reveal-ready[data-reveal="left"]{translate:-15px 18px}.reveal-ready[data-reveal="right"]{translate:15px 18px}.reveal-ready.is-revealed{translate:0 0}.hero h1{animation-duration:.7s}}
}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1!important;translate:none!important}.scroll-progress{display:none}}
