html{overflow-x:clip;scroll-padding-top:100px}
body{margin:0;font-family:'Segoe UI',system-ui,sans-serif}
.skip-link{position:fixed;top:8px;left:12px;z-index:1000;padding:12px 20px;background:#fff;color:#071b18;transform:translateY(-160%)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid var(--accent,#087566);outline-offset:5px}
.reveal{opacity:1!important;transform:none!important}
.foot-nav{flex-wrap:wrap}
body.light .btn.btn-ghost{color:var(--fg)!important;background:transparent}
body.light .tl-item h3,body.light .step h3{color:var(--fg)}
footer a:hover{color:var(--accent)!important}
.consent{display:block!important;line-height:1.7}
.consent input{margin-right:8px}

.rasti-trigger{display:block;border:0;background:transparent;cursor:pointer;max-width:100%;padding:0}
.rasti-trigger img{display:block}
.faq{max-width:1100px;margin:0 auto;padding:70px clamp(20px,5vw,56px)}
.faq h2{margin-bottom:24px}
.faq details{border-bottom:1px solid var(--card-border);padding:18px 0}
.faq summary{cursor:pointer;font-weight:700;min-height:32px}
.faq p{padding-top:12px;color:var(--muted);max-width:75ch}
.contact-result{max-width:700px;margin:10vh auto;padding:28px;line-height:1.7;color:#132825}
.contact-result a{color:#076759}
.motion-paused *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.motion-paused canvas{visibility:hidden}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.foot-nav{gap:14px!important}.hero-inner,.wrap,.container{min-width:0}.theme-dock-btn[data-tip]::after{left:auto;right:0;transform:none}.rasti-guide{min-width:0}}

/* Visible without JavaScript; reveal motion enabled only after observer setup. */
body.reveal-ready .reveal:not(.in){opacity:0!important;transform:translateY(26px)!important}
@media(prefers-reduced-motion:reduce){body.reveal-ready .reveal:not(.in){opacity:1!important;transform:none!important}}
.hero-benefit{max-width:760px;margin:0 auto 30px;padding:20px 24px;border:1px solid var(--accent);border-radius:18px;background:var(--bg2);text-align:left}
.hero-benefit h2{font-size:clamp(20px,2.2vw,28px);line-height:1.2;margin:0 0 10px;color:var(--accent);letter-spacing:-.02em}
.hero-benefit p{font-size:clamp(14px,1.3vw,16px);line-height:1.6;margin:0;color:var(--fg)}
@media(max-width:600px){.hero-benefit{padding:16px 18px;margin-bottom:24px}}
