/* Motion system: native scrolling, progressive enhancement, reduced-motion support. */
:root{--ease-out:cubic-bezier(.16,1,.3,1)}
header{transition:background .4s,box-shadow .4s}header.scrolled{background:#0b0d0ff5;box-shadow:0 10px 40px #0005}
.header-inner>a:first-child,.footer-main>a:first-child{display:block;background:var(--white);padding:8px 14px;border-radius:3px;flex-shrink:0}.logo{width:240px;height:85px;object-fit:contain}
nav>a:not(.btn){position:relative;padding:8px 0}nav>a:not(.btn)::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}nav>a.active::after,nav>a:hover::after{transform:scaleX(1)}
.scroll-progress{position:absolute;bottom:-1px;left:0;height:2px;background:var(--orange);width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none;will-change:transform}
.btn{position:relative;isolation:isolate;overflow:hidden;border-radius:4px;transition:background .25s,border-color .25s,color .25s,transform .25s var(--ease-out)}.btn::before{display:none;content:none}.btn:hover{transform:translateY(-1px);box-shadow:none}.btn:active{transform:translateY(0) scale(.985)}.btn svg{transition:transform .3s var(--ease-out)}.btn:hover svg:last-child{transform:translateX(3px)}.btn.outline:hover{border-color:#ffffff70;color:var(--white)}
.hero-visual{isolation:isolate}.hero-visual::before{pointer-events:none}.hero-copy h1{line-height:1.12}.hero-note .dot,.visual-label .dot{box-shadow:0 0 0 5px #fa5a0215}.availability{transition:transform .6s var(--ease-out)}.hero-visual:hover .availability{transform:translateY(-6px)}
.service-card{position:relative;isolation:isolate;overflow:hidden;border-radius:8px;transition:transform .6s var(--ease-out),border-color .4s,background .4s,box-shadow .5s}.service-card::before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(420px circle at var(--pointer-x,50%) var(--pointer-y,30%),#fa5a0225,transparent 70%);transition:opacity .5s}.service-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}.service-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px #0005}.service-card:hover::before,.service-card:focus-within::before{opacity:1}.service-card:hover::after,.service-card:focus-within::after{transform:scaleX(1)}.card-top svg{transition:transform .6s var(--ease-out)}.service-card:hover .card-top svg{transform:rotate(-10deg) scale(1.12)}.service-card a svg{transition:transform .4s}.service-card a:hover svg{transform:translateX(6px)}
.region-panel{border-radius:8px;background:#fff5}.region-list a{transition:color .25s,padding .4s,background .3s}.region-list a:hover,.region-list a.selected{padding-left:10px;color:#ae3d00;background:#fa5a020b}.region-list a span{transition:transform .4s}.region-list a:hover span{transform:translate(3px,-3px)}.region-feedback{border-left:2px solid var(--orange);padding:12px 15px;background:#fa5a0209;min-height:65px}.region-cta{margin-top:12px;display:inline-flex;gap:15px;align-items:center;font-size:11px;font-weight:bold;color:#ae3d00}
.steps article{position:relative}.steps article::before{content:'';position:absolute;top:-1px;left:0;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease-out)}.steps article.in-view::before{transform:scaleX(1)}.step-number{transition:transform .5s}.steps article:hover .step-number{transform:translateX(6px)}
.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.in-view){opacity:0}.motion-ready .reveal.reveal-up:not(.in-view){transform:translateY(24px)}.motion-ready .reveal.reveal-left:not(.in-view){transform:translateX(-30px)}.motion-ready .reveal.reveal-right:not(.in-view){transform:translateX(30px)}.motion-ready .reveal{transition:opacity .62s var(--ease-out),transform .72s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}
.faq details{transition:border-color .3s}.faq details[open]{border-color:var(--orange)}.faq summary{transition:color .3s,padding .3s}.faq summary:hover,.faq details[open] summary{color:var(--orange);padding-left:8px}.faq summary span{transition:transform .4s var(--ease-out)}
.contact{position:relative;isolation:isolate;overflow:hidden}.contact::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.15;background:repeating-linear-gradient(115deg,transparent 0 100px,#030304 101px 102px,transparent 103px 170px)}.contact-symbol{width:70px;height:55px;object-fit:contain;display:block;margin-bottom:22px}.contact h2{max-width:650px}.contact .btn:focus-visible{outline-color:var(--black)}
dialog[open]{animation:dialog-enter .4s var(--ease-out)}dialog[open]::backdrop{animation:backdrop-enter .3s ease-out}dialog{border-radius:12px;box-shadow:0 30px 100px #0008}.notice-close{width:44px;height:44px}.menu-toggle{border-radius:4px;transition:border-color .3s,background .3s}.menu-toggle[aria-expanded=true]{border-color:var(--orange);background:#fa5a0215}
@keyframes dialog-enter{from{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:none}}@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}@keyframes menu-enter{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(max-width:800px){.header-inner>a:first-child{padding:4px 9px}.logo{width:225px;height:78px}nav.open{animation:menu-enter .35s var(--ease-out)}.service-card:hover{transform:none}.motion-ready .reveal.reveal-up:not(.in-view),.motion-ready .reveal.reveal-left:not(.in-view),.motion-ready .reveal.reveal-right:not(.in-view){transform:translateY(24px)}.contact-symbol{width:58px}.mobile-contact a{transition:background .3s}.mobile-contact a:active{background:#ff7730;color:#030304}}
.header-inner{height:116px}.header-inner .logo{height:72px}.footer-main .logo{height:72px}
@media(max-width:800px){.header-inner{height:94px;gap:15px}.header-inner .logo{width:clamp(175px,54vw,225px);height:70px}.header-inner>a:first-child{max-width:calc(100% - 57px)}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal:not(.in-view){opacity:1;transform:none}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.service-card:hover,.btn:hover{transform:none}}
.error-brand{display:inline-block;background:var(--white);padding:12px;border-radius:4px}
