/* Lightweight motion: transforms and opacity only, so scrolling stays smooth. */
.scroll-progress{position:fixed;inset:0 0 auto;z-index:100;height:3px;background:linear-gradient(90deg,#ffd31d,#22d3ee,#159fd6);transform:scaleX(0);transform-origin:left;will-change:transform}.site-header{transition:box-shadow .25s ease,background-color .25s ease}.site-header.is-scrolled{background:rgba(255,255,255,.94);box-shadow:0 12px 32px rgba(15,23,42,.09);backdrop-filter:blur(12px)}
.motion-ready .reveal{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.motion-ready .reveal.reveal-left{transform:translateX(-32px)}.motion-ready .reveal.reveal-right{transform:translateX(32px)}.motion-ready .reveal.is-visible{opacity:1;transform:none;will-change:auto}.hero-copy>*{animation:hero-in .72s cubic-bezier(.2,.8,.2,1) both}.hero-copy>*:nth-child(2){animation-delay:.1s}.hero-copy>*:nth-child(3){animation-delay:.19s}.hero-copy>*:nth-child(4){animation-delay:.28s}@keyframes hero-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.slides:before,.static-hero:before{animation:grid-drift 18s linear infinite}.slides:after,.static-hero:after{content:"";position:absolute;width:420px;height:420px;right:-90px;top:-150px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,0) 68%);animation:ambient-drift 8s ease-in-out infinite alternate;pointer-events:none}.device{animation:device-float 5.5s ease-in-out infinite}.service-chip{animation:chip-float 3.8s ease-in-out infinite}.chip-two{animation-delay:-1.3s}.chip-three{animation-delay:-2.5s}@keyframes grid-drift{to{background-position:42px 42px}}@keyframes ambient-drift{to{transform:translate(-60px,55px) scale(1.12)}}@keyframes device-float{0%,100%{transform:perspective(800px) rotateY(-8deg) translateY(0)}50%{transform:perspective(800px) rotateY(-5deg) translateY(-12px)}}@keyframes chip-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.button{position:relative;overflow:hidden;isolation:isolate}.button:after{content:"";position:absolute;inset:-30% auto -30% -55%;width:34%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .55s ease;z-index:-1}.button:hover:after{left:125%}.service-card,.media-grid figure{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease}.service-card:hover,.media-grid figure:hover{transform:translateY(-7px);border-color:#badcf1;box-shadow:0 20px 42px rgba(15,80,125,.12)}.service-card .icon{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}.service-card:hover .icon{transform:rotate(-5deg) scale(1.08);box-shadow:0 9px 20px rgba(21,159,214,.2)}
@supports(content-visibility:auto){main>.section,main>.tinted,footer{content-visibility:auto;contain-intrinsic-size:auto 720px}}
.menu-bars{width:20px;display:grid;gap:4px}.menu-bars i{display:block;width:100%;height:2px;border-radius:3px;background:currentColor;transition:transform .25s ease,opacity .2s ease}.menu-toggle[aria-expanded="true"] .menu-bars i:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-bars i:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] .menu-bars i:last-child{transform:translateY(-6px) rotate(-45deg)}
.mobile-bottom-nav{display:none}
.wa-assistant{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.wa-launcher{min-width:60px;height:60px;padding:0 18px;border:2px solid #fff;border-radius:999px;background:#25d366;color:#063d20;box-shadow:0 14px 32px rgba(13,99,48,.3);display:flex;align-items:center;gap:9px;font:inherit;font-weight:800;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s}.wa-launcher:hover{transform:translateY(-2px);background:#20c55b;box-shadow:0 18px 38px rgba(13,99,48,.36)}.wa-launcher svg,.wa-avatar svg{width:30px;height:30px;fill:currentColor}.wa-panel{width:min(365px,calc(100vw - 32px));max-height:min(610px,calc(100vh - 105px));overflow:auto;border:1px solid #dbe4ed;border-radius:18px;background:#fff;box-shadow:0 24px 65px rgba(15,23,42,.22);opacity:0;visibility:hidden;transform:translateY(12px) scale(.97);transform-origin:bottom right;transition:opacity .2s,transform .2s,visibility .2s}.wa-panel.open{opacity:1;visibility:visible;transform:none}.wa-panel>header{position:sticky;top:0;display:flex;align-items:center;gap:11px;padding:16px;background:linear-gradient(135deg,#075e54,#128c7e);color:#fff;z-index:1}.wa-panel>header>div:nth-child(2){display:grid}.wa-panel>header span{font-size:.75rem;color:#d1fae5}.wa-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#25d366}.wa-panel>header button{margin-left:auto;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.5rem;cursor:pointer}.wa-body{padding:16px;background:#f3f8f5}.wa-message,.wa-answer{padding:12px 14px;border-radius:12px 12px 12px 3px;background:#fff;border:1px solid #e2e8f0;color:#334155;font-size:.9rem;line-height:1.5}.wa-questions{display:grid;gap:8px;margin:14px 0}.wa-questions button{padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0f172a;text-align:left;font:inherit;font-size:.86rem;font-weight:650;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.wa-questions button:hover,.wa-questions button:focus-visible{border-color:#25a95b;background:#effcf4;transform:translateX(2px)}.wa-answer{background:#dcfce7;border-color:#bbf7d0;color:#14532d}.wa-continue{display:flex;justify-content:center;margin:14px 16px 16px;padding:12px;border-radius:10px;background:#25d366;color:#073b1a;text-decoration:none;font-weight:800}.wa-continue:hover{background:#20c55b}
@media(max-width:640px){.wa-assistant{right:14px;bottom:14px}.wa-launcher{width:56px;min-width:56px;height:56px;padding:0;justify-content:center}.wa-launcher span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.wa-panel{width:calc(100vw - 28px)}}
@media(max-width:900px){body{padding-bottom:68px}body.nav-open{overflow:hidden}main>.section,main>.tinted,footer{content-visibility:visible}.menu-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-width:94px;position:relative;z-index:72}.site-header nav{display:flex!important;position:fixed!important;inset:72px 12px auto!important;width:auto;max-height:calc(100dvh - 156px);overflow-y:auto;z-index:70;flex-direction:column;gap:5px!important;padding:12px!important;border:1px solid #dce7ef;border-radius:0 0 18px 18px;background:rgba(255,255,255,.98);box-shadow:0 24px 50px rgba(15,23,42,.2),0 100vh 0 100vh rgba(8,28,45,.35);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px) scale(.985);transform-origin:top;transition:opacity .22s ease,transform .22s ease,visibility .22s ease}.site-header nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.site-header nav a{display:flex;align-items:center;min-height:52px;padding:12px 16px!important;border-radius:10px;color:#1e293b;font-size:.92rem!important}.site-header nav a:after{display:none!important}.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a.active{background:#eaf7fd;color:#087cab}.site-header nav a.active:before{content:"";width:4px;height:22px;margin-right:10px;border-radius:8px;background:#159fd6}.mobile-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(6,1fr);left:0;right:0;bottom:0;z-index:65;min-height:66px;padding:6px max(4px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));border-top:1px solid #dbe5ec;background:rgba(255,255,255,.97);box-shadow:0 -10px 30px rgba(15,23,42,.12);backdrop-filter:blur(14px)}.mobile-bottom-nav a{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:10px;color:#64748b;text-decoration:none;font-size:.62rem;font-weight:750;line-height:1.15;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-bottom-nav svg{width:21px;height:21px;fill:currentColor}.mobile-bottom-nav svg,.mobile-bottom-nav a>span{pointer-events:none}.mobile-bottom-nav a.active{color:#087cab;background:#eaf7fd}.mobile-bottom-nav a.active:after{content:"";position:absolute;top:-6px;width:30px;height:3px;border-radius:0 0 4px 4px;background:#159fd6;pointer-events:none}.wa-assistant{bottom:max(80px,calc(72px + env(safe-area-inset-bottom)))}}
@media(max-width:640px){.slides:after,.static-hero:after{width:260px;height:260px}.motion-ready .reveal{transform:translateY(18px)}.site-header nav{inset-inline:8px!important}.menu-toggle{min-width:48px;width:48px;padding:0}.menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.page-hero{padding:44px 0}.page-hero h1{font-size:clamp(2rem,9vw,2.45rem);line-height:1.12}.page-hero p:not(.eyebrow){font-size:1rem;line-height:1.6}.section{padding-block:46px}.category-nav{position:sticky;top:72px;z-index:24;width:100%;padding:10px 16px;background:rgba(255,255,255,.96);box-shadow:0 8px 20px rgba(15,23,42,.07);scroll-snap-type:x proximity}.category-nav a{scroll-snap-align:start}.service-detail{padding:20px;border-radius:14px}.service-summary{gap:13px}.service-summary .icon{width:44px;height:44px;flex:0 0 44px}.service-detail h2{font-size:1.45rem;margin-top:4px}.service-detail .actions{display:grid}.service-detail .actions .button{width:100%}.booking-form{padding:20px 16px}.field input,.field select,.field textarea{min-height:48px;font-size:16px}.empty{padding:34px 18px}.share-block,.draft-box{padding:22px 18px}.cta{padding:46px 0}.footer-grid{gap:24px}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal,.hero-copy>*,.slides:before,.static-hero:before,.slides:after,.static-hero:after,.device,.service-chip,.wa-panel,.wa-launcher,.wa-questions button{animation:none!important;transition:none!important;transform:none!important}.motion-ready .reveal{opacity:1}.scroll-progress{display:none}}

.site-loader{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;background:#fff;opacity:1;visibility:visible;transition:opacity .28s ease,visibility .28s ease}
.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-mark{display:grid;justify-items:center;gap:14px;color:#17366d;font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.loader-mark img{width:180px;height:auto;filter:drop-shadow(0 14px 24px rgba(15,48,92,.16));animation:loader-pulse 1.15s ease-in-out infinite}
.loader-mark:after{content:"";width:72px;height:3px;border-radius:999px;background:linear-gradient(90deg,#0f326f,#22a9df);animation:loader-bar 1.15s ease-in-out infinite}
.business-strip{background:#0c2d59;color:#dbeafe;font-size:.78rem;font-weight:700}
.business-strip .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.business-strip a{color:#fff;text-decoration:none}.strip-phones{display:flex;align-items:center;gap:9px}.strip-phones i{opacity:.55}
.service-photo{width:100%;height:clamp(210px,32vw,360px);margin-bottom:24px;border-radius:12px;object-fit:cover;object-position:center;box-shadow:0 12px 28px rgba(15,23,42,.1)}
@keyframes loader-pulse{50%{transform:translateY(-4px) scale(1.025)}}
@keyframes loader-bar{0%,100%{transform:scaleX(.28);opacity:.45}50%{transform:scaleX(1);opacity:1}}
@media(max-width:900px){.mobile-bottom-nav{grid-template-columns:repeat(5,1fr)}}
@media(max-width:640px){.business-strip .container{min-height:38px;justify-content:center}.business-strip .container>span:first-child{display:none}.loader-mark img{width:150px}.service-photo{height:220px}}
@media(prefers-reduced-motion:reduce){.loader-mark img,.loader-mark:after{animation:none}}
