/* Native smooth scrolling preserves touch, wheel, anchors and browser history. */
html{scroll-behavior:smooth}
.motion-ready .reveal-target{transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),filter .75s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-pending{opacity:0;transform:translate3d(0,26px,0);filter:blur(7px)}
.motion-ready .is-revealed{opacity:1;transform:none;filter:none}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .25s cubic-bezier(.22,1,.36,1),background .25s,box-shadow .3s}
.button::after{content:'';position:absolute;inset:-35% auto -35% -70%;width:42%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.43),transparent);transform:skewX(-18deg);pointer-events:none;z-index:-1;opacity:0}
.button.cta-attention:not(:disabled){animation:cta-breathe 2.3s ease-in-out 2}
.button.cta-attention:not(:disabled)::after{animation:cta-sheen 3.9s ease-in-out 1}
@keyframes cta-breathe{0%,100%{box-shadow:0 0 0 0 rgba(118,180,74,0)}40%{box-shadow:0 0 0 8px rgba(118,180,74,.16),0 6px 22px rgba(52,92,27,.18)}75%{box-shadow:0 0 0 13px rgba(118,180,74,0)}}
@keyframes cta-sheen{0%,23%{left:-70%;opacity:0}30%{opacity:1}61%,100%{left:150%;opacity:0}}
@media(hover:hover){.button:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 7px 20px #2e4a2526;animation:none}.button:not(:disabled):hover::after{animation:cta-sheen 1.1s ease-out 1}.nav-cta{transition:background .25s,color .25s,transform .25s}.nav-cta:hover{background:#fff;color:#252a22;transform:translateY(-2px)}.filters button{transition:background .25s,color .25s,border-color .25s}.filters button:not(.active):hover{background:#e5e9df;border-color:#9ca58f}.plan{transition:box-shadow .3s,border-color .3s}.plan:hover{box-shadow:0 16px 35px #33291d14}.testimonial-card{transition:box-shadow .3s}.testimonial-card:hover{box-shadow:0 12px 25px #33291d0d}}
.button:not(:disabled):active{transform:translateY(0) scale(.98);animation:none}
.button:focus-visible{animation:none}
.button:focus-visible::after{animation:none}
.faq details[open]>p{animation:faq-open .35s ease-out both}
@keyframes faq-open{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
dialog[open]{animation:dialog-open .3s cubic-bezier(.22,1,.36,1)}
@keyframes dialog-open{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){.motion-ready .reveal-target{transition-duration:.6s,.6s,.5s;transition-delay:0ms}.motion-ready .reveal-pending{transform:translate3d(0,18px,0);filter:blur(4px)}.hero-content>h1{transition-delay:70ms!important}.hero-content>p{transition-delay:130ms!important}.hero-content>.hero-actions{transition-delay:190ms!important}}
@media print{.reveal-target,.reveal-pending{opacity:1!important;transform:none!important;filter:none!important}}


