@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#08090a;--surface:#111315;--white:#f4f5f5;--muted:#9b9fa4;--blue:#4bbdf1;--line:#2a2d30;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',Arial,sans-serif;overflow-x:hidden}body::selection{background:var(--blue);color:#000}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.065em}p{line-height:1.7}main{overflow:hidden}.top-progress{position:fixed;top:0;left:0;height:2px;background:var(--blue);width:0;z-index:110}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(22px,4vw,72px);position:relative;z-index:100;border-bottom:1px solid rgba(255,255,255,.1);background:#08090ae8;backdrop-filter:blur(20px)}.wordmark{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.065em;font-size:23px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}.wordmark>span:last-child{color:#adb4bb;font-weight:500}.mark{color:var(--blue);font-size:31px;margin-right:8px;line-height:1}.desktop-nav{display:flex;align-items:center;gap:clamp(12px,1.65vw,28px)}.desktop-nav a{font-size:12px;color:#aeb2b7;transition:color .25s}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:white}.header-call{font-size:12px;border:1px solid #35393d;padding:13px 16px;border-radius:100px;white-space:nowrap}.header-call span{color:var(--blue);margin-left:12px}.nav-toggle,.mobile-nav{display:none}.hero{position:relative;min-height:720px;display:flex;align-items:center;max-width:100%;isolation:isolate}.home-hero{min-height:min(840px,calc(100svh - 84px));background:radial-gradient(ellipse at 78% 47%,#10222d 0%,#08090a 48%)}.hero-copy{padding:95px clamp(24px,7vw,120px);width:65%;position:relative;z-index:3}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;display:flex;align-items:center;gap:13px;color:#c0c5c9;text-transform:uppercase}.blue-dot{height:7px;width:7px;background:var(--blue);border-radius:50%;display:inline-block;box-shadow:0 0 17px #4bbdf180;flex:none}.hero-title{font-size:clamp(58px,7.7vw,124px);line-height:1.06;font-weight:700;margin:31px 0;max-width:1000px;letter-spacing:-.075em}.hero-title em,.section-heading h2 span,.manifesto h2 em,.pool-quote h2 em,.drain-banner h2 em,.image-statement h2 em{font-style:normal;color:var(--blue)}.hero-lead{font-size:clamp(16px,1.3vw,19px);color:#aeb5bb;max-width:525px;line-height:1.8}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;border-radius:100px;min-height:54px;padding:15px 24px;font-weight:700;font-size:13px;border:1px solid transparent;transition:transform .3s,background .3s,color .3s}.button:hover{transform:translateY(-4px)}.button.primary{background:#f5f6f6;color:#090a0b}.button.primary:hover{background:var(--blue)}.button.outline{border-color:#5a626a;background:transparent;color:white}.button.outline:hover{border-color:var(--blue);color:var(--blue)}.hero-bottom{display:flex;justify-content:space-between;color:#858e96;font-size:10px;letter-spacing:.16em;max-width:550px;margin-top:90px}.water-sculpture{position:absolute;right:-6%;top:3%;width:55%;height:95%;perspective:900px;display:grid;place-items:center;pointer-events:none}.water-glow{position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#206d9250,transparent 66%);filter:blur(28px)}.ring{position:absolute;border:1px solid #80cffa36;border-radius:50%;width:65%;aspect-ratio:1;transform:rotateX(68deg) rotateZ(-23deg);box-shadow:0 0 30px #3c9dcc12}.ring-one{animation:orbit 14s linear infinite}.ring-two{width:85%;animation:orbit 19s linear infinite reverse}.ring-three{width:105%;animation:orbit 26s linear infinite}.liquid-core{width:clamp(210px,25vw,390px);height:clamp(310px,37vw,560px);border-radius:56% 44% 60% 40% / 65% 60% 40% 35%;transform:rotate(-20deg);background:radial-gradient(ellipse at 32% 22%,#e3faff 0%,#9ed4e4 8%,#2d657b 21%,#0b1e2c 43%,#6ec0db 67%,#081016 85%);box-shadow:inset 16px 5px 28px #ffffff77,inset -25px -30px 55px #000c,20px 35px 100px #000b,0 0 100px #49baf522;animation:float 7s ease-in-out infinite;position:relative;filter:saturate(.85)}.liquid-highlight{position:absolute;left:21%;top:13%;width:18%;height:34%;border-radius:50%;background:#ffffffb5;filter:blur(17px);transform:rotate(18deg)}.water-caption,.pool-label,.pool-depth,.pipe-text,.radar-label{position:absolute;font-size:10px;letter-spacing:.16em;color:#a8bdca}.water-caption{bottom:15%;right:18%}.water-caption span{color:var(--blue)}@keyframes float{50%{transform:translateY(-23px) rotate(-16deg)}}@keyframes orbit{to{transform:rotateX(68deg) rotateZ(337deg)}}.statement{display:grid;grid-template-columns:1fr 3fr;gap:30px;padding:125px clamp(24px,7vw,120px);border-bottom:1px solid var(--line)}.side-index,.service-no{font-size:11px;letter-spacing:.15em;color:var(--blue)}.statement p{font-family:Manrope,sans-serif;font-size:clamp(28px,3.5vw,58px);line-height:1.35;letter-spacing:-.055em;max-width:1000px;color:#8b9298}.statement strong{color:white;font-weight:600}.services-section,.section-shell,.pool-editorial,.drain-steps,.values{padding:125px clamp(24px,7vw,120px);max-width:1700px;margin:auto}.section-heading{margin-bottom:65px}.section-heading h2{font-size:clamp(42px,5.5vw,80px);line-height:1.15;margin:24px 0 0}.service-line{display:grid;grid-template-columns:65px 1fr 130px 40px;gap:20px;align-items:center;border-top:1px solid #30353a;padding:40px 12px;transition:padding .35s,background .35s}.service-line:last-child{border-bottom:1px solid #30353a}.service-line:hover{padding-left:32px;background:#12171a}.service-line h3{font-size:clamp(27px,3.2vw,50px);margin:0 0 7px}.service-line p{color:#89949d;margin:0;font-size:14px}.service-graphic{font-size:75px;color:var(--blue);text-align:center;line-height:1;opacity:.8}.graphic-radar{width:70px;height:70px;border:2px solid var(--blue);border-radius:50%;position:relative;justify-self:center}.graphic-radar::before,.graphic-radar::after{content:'';position:absolute;inset:15px;border:1px solid var(--blue);border-radius:50%}.graphic-radar::after{inset:30px;background:var(--blue)}.service-arrow{font-size:25px;color:var(--blue);transition:transform .3s}.service-line:hover .service-arrow{transform:translate(6px,-6px)}.image-statement{min-height:650px;position:relative;display:flex;align-items:center;background:linear-gradient(115deg,#08090a 15%,#101a20 100%)}.image-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#08090a,transparent 35%,#08090a55)}.image-statement-copy{position:relative;padding:110px clamp(24px,7vw,120px)}.image-statement h2,.cta-section h2{font-size:clamp(48px,6.5vw,94px);line-height:1.12;margin:28px 0}.image-statement p{color:#c3c5c6;max-width:400px}.cta-section{min-height:480px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 24px;position:relative;overflow:hidden}.cta-section h2{max-width:850px}.cta-orbit{position:absolute;border:1px solid #2c5365;width:550px;aspect-ratio:1;border-radius:50%;right:-320px;top:-100px;box-shadow:0 0 0 70px #102a3318,0 0 0 140px #102a3310}.footer{border-top:1px solid #262a2d;padding:70px clamp(24px,7vw,120px) 30px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:30px}.footer-top p{color:var(--muted);font-size:13px;margin:18px 0}.footer-phone{font-family:Manrope;font-size:clamp(20px,3vw,40px);letter-spacing:-.06em}.footer-bottom{border-top:1px solid #2b3033;margin-top:70px;padding-top:25px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;color:#838b91}.specialist{min-height:740px;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:70px clamp(24px,7vw,120px)}.specialist-copy{align-self:center;z-index:2}.specialist .hero-title{font-size:clamp(50px,6vw,92px)}.specialist .hero-lead{max-width:490px}.specialist .button{margin-top:20px}.leak-hero{background:radial-gradient(ellipse at 78% 45%,#0d1e27,#08090a 55%)}.radar-device{position:relative;align-self:center;justify-self:center;width:min(39vw,510px);aspect-ratio:1;border-radius:50%;border:1px solid #4bbdf14f;background:radial-gradient(circle,#122c38 0%,#081017 60%,transparent 72%);box-shadow:0 0 0 32px #4bbdf109,0 0 0 75px #4bbdf105,inset 0 0 90px #36a8df1b;overflow:hidden}.radar-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.8%,#5ecaff2b 50%,transparent 50.2%),linear-gradient(0deg,transparent 49.8%,#5ecaff2b 50%,transparent 50.2%)}.radar-circle{position:absolute;border:1px solid #61c4f136;border-radius:50%;inset:16%}.radar-circle.r2{inset:31%}.radar-circle.r3{inset:44%}.radar-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 270deg,#3bc1ff44 350deg,transparent 360deg);animation:scan 5s linear infinite}.radar-target{position:absolute;left:68%;top:32%;width:9px;height:9px;border-radius:50%;background:#e5fbff;box-shadow:0 0 0 9px #4bbdf122,0 0 25px var(--blue)}.radar-label{bottom:14%;left:20%;right:20%;display:flex;justify-content:space-between;font-size:8px}.radar-label span{color:var(--blue)}@keyframes scan{to{transform:rotate(360deg)}}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.method-card{border:1px solid #292f33;background:#101315;min-height:330px;padding:28px;display:flex;flex-direction:column;transition:transform .4s,border-color .4s}.method-card:hover{transform:translateY(-12px);border-color:#4bbdf188}.method-card>span,.pool-card-num{color:var(--blue);font-size:12px}.method-icon{font-size:52px;color:#b9ddea;margin:auto 0}.method-card h3{font-size:23px;letter-spacing:-.04em;margin:0 0 12px}.method-card p{font-size:13px;color:var(--muted);margin:0}.horizontal-feature{padding:100px clamp(24px,7vw,120px);display:grid;grid-template-columns:1fr 1.1fr;gap:90px;background:#101214}.horizontal-feature h2{font-size:clamp(44px,5vw,78px);line-height:1.13;margin-top:24px}.symptom-list>div{padding:23px 0;border-bottom:1px solid #33383b;display:flex;align-items:center;gap:25px;color:var(--blue);font-size:12px}.symptom-list strong{font-size:clamp(16px,1.7vw,25px);color:white;font-weight:500;flex:1}.symptom-list span{font-size:20px}.pool-hero{background:radial-gradient(ellipse at 77% 48%,#102c39,#08090a 56%)}.pool-scene{position:relative;align-self:center;justify-self:center;width:min(40vw,540px);height:430px;perspective:850px}.pool-rim{position:absolute;inset:18% 4%;border:25px solid #9caeb9;border-radius:42px;transform:rotateX(54deg) rotateZ(-17deg);box-shadow:18px 35px 10px #000b,0 0 0 5px #202b31,inset 0 0 50px #000;overflow:hidden;background:#102b3d}.pool-water{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 38% 22%,#79d6e9,#226d8b 33%,#0a2637 80%)}.pool-water:before{content:'';position:absolute;inset:-50%;background:repeating-radial-gradient(ellipse at 20% 30%,transparent 0 19px,#e6ffff36 20px 22px,transparent 24px 46px);animation:ripple 12s linear infinite}.pool-shimmer{position:absolute;inset:-50%;background:repeating-linear-gradient(110deg,transparent 0 20px,#c2f8ff1a 22px 24px,transparent 26px 50px);animation:watermove 9s linear infinite}.pool-shimmer.second{transform:rotate(60deg);opacity:.4}@keyframes watermove{to{translate:80px 40px}}@keyframes ripple{to{transform:scale(1.2) rotate(20deg)}}.pool-label{left:3%;bottom:0}.pool-depth{right:4%;top:5%}.pool-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pool-card{padding:35px;border:1px solid #31373a;min-height:310px;display:flex;flex-direction:column;justify-content:space-between;transition:background .3s,transform .3s}.pool-card:hover{background:#101c22;transform:translateY(-8px)}.pool-card h3{font-size:30px;margin:auto 0 12px}.pool-card p{color:var(--muted);font-size:14px;margin:0}.pool-quote{padding:125px 12%;text-align:center;background:#101316}.pool-quote span{color:var(--blue);font-size:11px;letter-spacing:.2em}.pool-quote h2{font-size:clamp(37px,5vw,70px);line-height:1.25;margin:25px auto 0;max-width:900px}.drain-hero{background:radial-gradient(ellipse at 80% 48%,#1a2429,#08090a 55%)}.pipe-scene{position:relative;height:380px;align-self:center;perspective:800px}.pipe-outer{position:absolute;left:0;right:0;top:28%;height:150px;border:16px solid #818c93;border-radius:100px;transform:rotate(-12deg) rotateY(-20deg);background:#090d10;box-shadow:inset 0 15px 30px #000,15px 25px 35px #0009,0 0 60px #51b8e21b}.pipe-inner{position:absolute;inset:10px;border-radius:100px;overflow:hidden;background:linear-gradient(180deg,#06141d 0%,#144e6b 65%,#07151f 100%)}.flow-dot{position:absolute;top:45%;left:-20%;width:110px;height:22px;border-radius:50%;background:#4cc7fa;filter:blur(10px);animation:flow 3.2s linear infinite}.flow-dot.d2{animation-delay:.8s}.flow-dot.d3{animation-delay:1.6s}.flow-dot.d4{animation-delay:2.4s}@keyframes flow{to{left:120%}}.pipe-text{bottom:10%;left:12%}.pipe-text span{color:var(--blue)}.drain-timeline{border-top:1px solid #32383c}.drain-timeline article{display:grid;grid-template-columns:130px 1fr;padding:40px 0;border-bottom:1px solid #32383c;align-items:start}.drain-timeline article>span{font-size:48px;color:var(--blue);font-family:Manrope}.drain-timeline h3{font-size:35px;margin:0 0 10px}.drain-timeline p{color:var(--muted);margin:0}.drain-banner{padding:110px clamp(24px,7vw,120px);background:#11171a;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.drain-banner h2{font-size:clamp(42px,5vw,72px);line-height:1.15;margin:28px 0}.drain-banner p{color:var(--muted);max-width:470px}.camera-eye{width:min(30vw,380px);aspect-ratio:1;border-radius:50%;justify-self:center;border:30px solid #5b6972;box-shadow:inset 0 0 30px #000,0 0 0 15px #20282d,0 0 0 16px #536671,0 30px 60px #0009;display:grid;place-items:center;background:radial-gradient(circle,#49c9ff 0%,#0d364a 23%,#050a0d 40%,#10191f 60%)}.camera-eye div{width:22%;aspect-ratio:1;border-radius:50%;background:#86ddfa;filter:blur(4px);box-shadow:0 0 45px var(--blue);animation:pulse 3s ease-in-out infinite}@keyframes pulse{50%{opacity:.4;scale:.7}}.about-hero{min-height:750px;overflow:hidden;background:radial-gradient(ellipse at 80% 50%,#12232b,#08090a 65%)}.about-large-number{position:absolute;right:1%;top:0;font-family:Manrope;font-size:clamp(350px,45vw,800px);line-height:1;color:#4bbdf10b;font-weight:800;letter-spacing:-.15em;pointer-events:none}.about-hero-content{position:relative;padding:100px clamp(24px,7vw,120px);z-index:2}.about-hero .hero-title{max-width:950px}.manifesto{padding:140px clamp(24px,7vw,120px);display:grid;grid-template-columns:1fr 3fr;gap:50px;background:#101315}.manifesto-label{font-size:11px;letter-spacing:.2em;color:var(--blue)}.manifesto h2{font-size:clamp(42px,6vw,88px);line-height:1.15}.manifesto p{color:var(--muted);font-size:19px;max-width:630px}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.values-grid article{border-top:1px solid #3a4246;padding-top:25px}.values-grid article>span{color:var(--blue);font-size:12px}.values-grid h3{font-size:30px;margin:75px 0 10px}.values-grid p{color:var(--muted);font-size:14px}.contact-hero{padding:115px clamp(24px,7vw,120px) 85px;background:radial-gradient(ellipse at 90% 20%,#11232c,#08090a 60%)}.contact-hero .hero-title{font-size:clamp(55px,7vw,105px)}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:7%;padding:40px clamp(24px,7vw,120px) 150px}.contact-index,.form-heading>span{font-size:11px;color:var(--blue);letter-spacing:.16em}.contact-info h2{font-size:clamp(35px,4vw,65px);line-height:1.15;margin:45px 0}.contact-phone{font-family:Manrope;font-size:clamp(23px,3vw,40px);letter-spacing:-.06em;border-bottom:1px solid #55616a;padding-bottom:14px;display:flex;justify-content:space-between;gap:20px}.contact-phone span{color:var(--blue)}.contact-region{display:flex;gap:12px;align-items:center;margin:40px 0;font-size:14px}.contact-rule{height:1px;background:var(--line)}.contact-info>p{color:var(--muted);max-width:400px;margin-top:25px}.contact-form{background:#111416;border:1px solid #2b3135;padding:clamp(24px,3.4vw,52px)}.form-heading h2{font-size:37px;margin:12px 0 40px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:11px;color:#b2bac0;letter-spacing:.07em;text-transform:uppercase;margin-bottom:22px}input:not([type=checkbox]),select,textarea{display:block;width:100%;background:#090b0d;color:white;border:1px solid #353d42;padding:16px 15px;margin-top:10px;border-radius:3px;outline:none;font-size:14px;letter-spacing:normal;min-width:0}input:focus,select:focus,textarea:focus{border-color:var(--blue)}textarea{resize:vertical}select option{background:#111}.consent{display:flex;align-items:start;gap:12px;text-transform:none;letter-spacing:0;line-height:1.6}.consent input{accent-color:var(--blue);margin-top:4px}.form-notice{color:var(--muted);font-size:12px;margin:20px 0 0}.reveal{opacity:0;transform:translateY(36px);transition:opacity .85s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.hero-copy,.specialist-copy,.about-hero-content,.contact-hero{animation:entrance 1s ease both}@keyframes entrance{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.desktop-nav{gap:12px}.desktop-nav a{font-size:11px}.header-call{display:none}.hero-copy{width:68%}.method-grid,.values-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.site-header{height:70px}.desktop-nav{display:none}.nav-toggle{display:flex;width:42px;height:42px;border:1px solid #3b444b;border-radius:50%;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px}.nav-toggle span{height:1px;width:17px;background:white;transition:transform .3s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;top:70px;left:0;right:0;z-index:99;background:#0b0e10;flex-direction:column;padding:0 25px;max-height:0;overflow:hidden;transition:max-height .4s,padding .4s}.mobile-nav.open{max-height:500px;padding:18px 25px 25px;border-bottom:1px solid #313b40}.mobile-nav a{padding:14px 0;border-bottom:1px solid #242a2d;display:flex;justify-content:space-between}.mobile-nav span{color:var(--blue)}.hero,.specialist{display:flex;flex-direction:column;min-height:auto;padding:0}.home-hero{min-height:850px;justify-content:start}.hero-copy{width:100%;padding:95px 25px 0}.hero-title{font-size:clamp(49px,10vw,79px)}.hero-bottom{margin-top:55px}.water-sculpture{width:100%;height:410px;top:auto;bottom:0;right:0;opacity:.8}.liquid-core{width:200px;height:290px}.ring{width:45%}.ring-two{width:60%}.ring-three{width:75%}.water-caption{bottom:6%}.statement,.manifesto{grid-template-columns:1fr;padding:90px 25px}.services-section,.section-shell,.pool-editorial,.drain-steps,.values{padding:90px 25px}.section-heading{margin-bottom:40px}.service-line{grid-template-columns:35px 1fr 26px;padding:30px 0}.service-graphic{display:none}.service-line h3{font-size:clamp(26px,5vw,38px)}.service-line p{font-size:12px}.image-statement{min-height:600px}.image-statement-copy{padding:100px 25px}.specialist{padding:85px 25px 55px;gap:40px}.specialist-copy{align-self:stretch}.specialist .hero-title{font-size:clamp(48px,9vw,74px)}.radar-device{width:min(75vw,420px)}.pool-scene{width:min(90vw,520px);height:350px}.pipe-scene{width:100%;height:300px}.horizontal-feature,.drain-banner{grid-template-columns:1fr;gap:30px;padding:90px 25px}.pool-cards{grid-template-columns:1fr}.pool-card{min-height:240px}.camera-eye{width:240px;margin:30px auto}.about-hero{min-height:660px}.about-hero-content{padding:100px 25px}.contact-hero{padding:90px 25px 40px}.contact-layout{grid-template-columns:1fr;padding:30px 25px 100px;gap:60px}.footer{padding:65px 25px 30px}}@media(max-width:520px){.wordmark{font-size:20px}.mark{font-size:25px}.home-hero{min-height:810px}.hero-copy{padding-top:70px}.hero-title{font-size:clamp(45px,11vw,60px)}.hero-lead{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.water-sculpture{height:340px}.liquid-core{width:155px;height:230px}.statement p{font-size:30px}.section-heading h2{font-size:42px}.service-line h3{font-size:26px}.method-grid,.values-grid{grid-template-columns:1fr}.method-card{min-height:270px}.values-grid h3{margin-top:35px}.field-grid{grid-template-columns:1fr;gap:0}.footer-top{flex-direction:column}.pool-scene{height:270px}.pool-rim{border-width:15px}.pipe-outer{height:105px}.drain-timeline article{grid-template-columns:70px 1fr}.drain-timeline article>span{font-size:30px}.drain-timeline h3{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
/* Dedicated WebGL editorial scenes */
.webgl-showcase{padding:100px clamp(22px,7vw,110px) 120px;background:#090a0c;position:relative;isolation:isolate}.webgl-heading{max-width:900px;margin:0 auto 35px;text-align:center}.webgl-kicker{font-size:10px;letter-spacing:.24em;color:#66c8f5;font-weight:700}.webgl-heading h2{font-size:clamp(38px,5.5vw,78px);line-height:1.1;margin:18px 0}.webgl-heading p{color:#aeb5bd;font-size:15px}.webgl-stage{height:clamp(400px,60vw,680px);max-width:1320px;margin:auto;border:1px solid #30363c;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#17222b 0%,#0b1016 42%,#060709 80%);border-radius:12px;touch-action:pan-y}.webgl-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.webgl-stage canvas:active{cursor:grabbing}.webgl-fallback{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#91b9c9;font-size:10px;letter-spacing:.3em}.fallback-orbit{position:absolute;width:min(45%,330px);aspect-ratio:1;border:1px solid #59bfee77;border-radius:50%;box-shadow:0 0 70px #3abcf321,inset 0 0 80px #3abcf31c;animation:orbit 12s linear infinite}.webgl-stage.ready .webgl-fallback{display:none}.webgl-hud{position:absolute;left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;gap:16px;color:#a6b1bc;pointer-events:none;font-size:10px;letter-spacing:.13em}.webgl-status{color:#67c9f7}.webgl-controls{position:absolute;right:24px;top:24px}.webgl-reset{background:#101923d9;border:1px solid #496171;color:#eef8ff;padding:12px 16px;border-radius:99px;font-size:12px}.webgl-reset:hover{border-color:#7ed5ff}.webgl-stage.error .webgl-status{color:#f2b5a9}@media(max-width:700px){.webgl-showcase{padding:75px 16px}.webgl-stage{height:460px}.webgl-hud{font-size:9px;left:12px;right:12px;bottom:16px}.webgl-hud span:last-child{display:none}.webgl-controls{right:12px;top:12px}}

/* Studio V3: independent service page editorial compositions */
.studio-editorial{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:clamp(25px,6vw,120px);max-width:1400px;margin:0 auto;padding:clamp(65px,10vw,150px) clamp(24px,6vw,90px);border-top:1px solid #25303b}.studio-index{font-size:11px;letter-spacing:.24em;color:#66bce7;font-weight:700}.studio-editorial h2{font-size:clamp(32px,5vw,78px);line-height:1.06;letter-spacing:-.055em;margin:0 0 24px;color:#f4f6f7;max-width:850px}.studio-editorial p{font-size:clamp(16px,1.5vw,20px);line-height:1.7;color:#a9b1bb;max-width:650px}.studio-editorial a{display:inline-flex;margin-top:24px;border-bottom:1px solid #60c3f2;padding-bottom:12px;color:#e9f6ff;text-decoration:none;gap:25px}.webgl-stage{isolation:isolate}.webgl-stage.ready .webgl-fallback{opacity:0;visibility:hidden;pointer-events:none}.webgl-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y}.webgl-stage .webgl-status{color:#64d0ff}@media(max-width:700px){.studio-editorial{grid-template-columns:1fr;gap:22px}}

/* V5: readable explanations, predictable controls and mobile spacing. */
:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.webgl-controls{display:flex;gap:8px;flex-wrap:wrap;left:20px;right:20px;justify-content:flex-end}
.webgl-controls button{background:#101923ed;border:1px solid #496171;color:#eef8ff;padding:11px 15px;border-radius:30px;font-size:12px;min-height:44px}
.webgl-heading{max-width:900px}.webgl-heading p{max-width:720px;margin:20px auto;line-height:1.8}
.webgl-stage{height:540px}.webgl-stage canvas{touch-action:pan-y}
.scene-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1320px;margin:24px auto 0}
.scene-legend p{border-top:1px solid #354450;padding:18px 0;font-size:14px;margin:0;color:#c7d2da}.scene-legend span{display:block;color:var(--blue);font-size:11px;margin-bottom:9px;letter-spacing:.16em}
.scene-note{font-size:12px;color:#aeb5bd;max-width:1320px;margin:0 auto}.webgl-status{letter-spacing:.06em}
.method-icon{flex:1;display:flex;align-items:center;min-height:115px;margin:0}.method-card h3{min-height:58px}
#requestSummary{margin-top:32px;border-top:1px solid #394650;padding-top:24px}#requestSummary textarea{margin-bottom:18px}#requestSummary .button{margin:6px 0;gap:15px}#requestSummary[hidden]{display:none}
@media(max-width:800px){.home-hero{min-height:0}.hero-copy{padding-bottom:30px}.water-sculpture{position:relative;top:auto;bottom:auto;min-height:320px;height:320px;flex:none;margin-top:10px}.hero-bottom{margin-top:36px}.webgl-stage{height:420px}.webgl-hud{bottom:15px}.webgl-controls{left:12px;right:12px;top:12px;gap:6px}.scene-legend{grid-template-columns:1fr;gap:0}.scene-legend p{padding:15px 0}.scene-legend span{display:inline;margin-right:12px}.webgl-controls button{font-size:11px;padding:10px 12px}.method-card h3{min-height:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-iteration-count:1!important}}

/* Homepage: an explained, interactive network diagram. */
.home-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:3vw;padding:75px clamp(24px,5vw,84px);min-height:calc(100svh - 84px)}
.home-hero .hero-copy{width:auto;padding:0}.home-hero .hero-title{font-size:clamp(58px,6.7vw,108px)}.home-hero .hero-bottom{margin-top:55px}.home-hero .hero-lead{max-width:520px}
.diagnostic-scene{width:100%;min-width:0;border:1px solid #29404c;background:linear-gradient(145deg,#10232fbb,#0a1118);border-radius:18px;overflow:hidden;align-self:center;box-shadow:0 25px 90px #0004}
.diagnostic-top{display:flex;justify-content:space-between;gap:12px;padding:22px 22px 0;font-size:9px;letter-spacing:.14em;color:#a4b9c5}.diagnostic-tag{color:#73d3fc;white-space:nowrap}.diagnostic-map{display:block;width:100%;height:auto;margin:10px 0 0}.water-route{animation:network-flow 3s linear infinite}.diagnostic-scan,.diagnostic-target{opacity:0;transition:opacity .5s}.diagnostic-leak{opacity:.35;transition:opacity .5s}.diagnostic-scene[data-step="2"] .diagnostic-scan,.diagnostic-scene[data-step="2"] .diagnostic-leak,.diagnostic-scene[data-step="3"] .diagnostic-leak,.diagnostic-scene[data-step="3"] .diagnostic-target{opacity:1}.diagnostic-scene[data-step="2"] .leak-halo{animation:leak-signal 2.4s ease-out infinite;transform-origin:333px 280px}.diagnostic-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 22px}.diagnostic-steps button{border:1px solid #344b58;border-radius:8px;padding:13px 8px;background:#0b151c;color:#acbec9;min-height:48px;text-align:left;font-size:12px;transition:background .25s,color .25s}.diagnostic-steps span{font-size:9px;margin-right:8px;color:#66c9f3}.diagnostic-steps button[aria-pressed="true"]{background:#193646;border-color:#66c9f3;color:white}.diagnostic-description{padding:18px 22px 0;margin:0;min-height:78px;font-size:13px;color:#c2d0d9;line-height:1.6}.diagnostic-disclaimer{display:block;font-size:10px;line-height:1.5;color:#90a7b4;padding:10px 22px 22px}
@keyframes network-flow{to{stroke-dashoffset:-96}}@keyframes leak-signal{to{transform:scale(2.2);opacity:0}}
@media(max-width:1050px){.home-hero{gap:25px;padding:65px 28px}.home-hero .hero-title{font-size:clamp(52px,6.7vw,75px)}.diagnostic-top{font-size:8px;padding:18px 16px 0}.diagnostic-steps{padding:0 16px;gap:5px}.diagnostic-steps span{display:block;margin-bottom:4px}.diagnostic-description{min-height:100px;padding:16px 16px 0}}
@media(max-width:800px){.home-hero{grid-template-columns:1fr;padding:65px 25px 45px;gap:45px}.home-hero .hero-copy{padding:0}.home-hero .hero-title{font-size:clamp(45px,10vw,76px)}.home-hero .hero-bottom{margin-top:34px}.diagnostic-scene{max-width:560px;justify-self:center}.diagnostic-description{min-height:85px}.diagnostic-top{font-size:8px}.diagnostic-steps span{display:inline}.diagnostic-disclaimer{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){.water-route,.leak-halo{animation:none!important}.diagnostic-scan,.diagnostic-target,.diagnostic-leak{transition:none}}

/* Clear contact flow and progressive enhancement. */
.reveal{opacity:1;transform:none}.reveal.reveal-ready:not(.visible){opacity:0;transform:translateY(36px)}
.skip-link{position:fixed;left:20px;top:12px;z-index:200;background:#f4f5f5;color:#08090a;padding:14px 22px;border-radius:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}
#contactForm{scroll-margin-top:30px}.form-heading h2{margin-bottom:20px}.form-intro{font-size:15px;line-height:1.7;color:#c0cbd3}.required-note{font-size:12px;color:#9eb2be;line-height:1.6;margin-bottom:30px}main:focus{outline:none}
@media(prefers-reduced-motion:reduce){.reveal.reveal-ready:not(.visible){opacity:1;transform:none}}

.footer-phone{font-size:clamp(17px,1.5vw,22px);letter-spacing:0;font-family:'DM Sans',Arial,sans-serif;white-space:nowrap}.footer-legal{display:flex;gap:14px 22px;flex-wrap:wrap;max-width:650px}.footer-legal a:hover{text-decoration:underline;color:#fff}.footer-bottom{align-items:center;margin-top:42px}
.explain-section{padding:90px clamp(24px,7vw,110px);background:#0a0e11}.explain-heading{max-width:950px;margin:0 auto 35px}.explain-heading h2{font-size:clamp(34px,4.7vw,64px);line-height:1.15;margin:24px 0}.explain-heading p{color:#acbdc8}.explainer{max-width:1100px;margin:auto;border:1px solid #344550;border-radius:14px;background:#101d26;overflow:hidden}.explainer svg{width:100%;display:block;height:auto;padding:20px}.diagram-label{font:13px Arial,sans-serif;fill:#e2edf3;letter-spacing:.7px}.diagram-small{font:12px Arial,sans-serif;fill:#b6cbd7}.diagram-zone{opacity:.45;transition:opacity .35s}.explainer[data-active="1"] .zone-1,.explainer[data-active="2"] .zone-2,.explainer[data-active="3"] .zone-3{opacity:1}.diagram-flow{animation:network-flow 4s linear infinite}.diagram-drip{animation:pulse 2s ease-in-out infinite}.explain-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:22px 28px 0;border-top:1px solid #30444f}.explain-buttons button{padding:16px 12px;border:1px solid #48616f;border-radius:8px;background:#0b171f;color:#cbdce5;font-size:14px;text-align:left;min-height:50px}.explain-buttons span{color:#65c9f1;margin-right:10px;font-size:11px}.explain-buttons button[aria-pressed="true"]{background:#234455;border-color:#6fd3fa;color:white}.explain-details{padding:24px 28px 0;min-height:104px;color:#d4e0e7}.explain-details p{margin:0;max-width:880px;line-height:1.7}.explain-note{font-size:11px;color:#9bb1bf;padding:12px 28px 24px;margin:0}.legal-page{max-width:1050px;margin:auto;padding:85px 25px 100px}.legal-page h1{font-size:clamp(38px,5vw,66px);line-height:1.1}.legal-page h2{font-size:25px;letter-spacing:-.025em;margin:38px 0 15px}.legal-page p,.legal-page li{color:#bdc9d2;line-height:1.8}.legal-page a{color:#78d0f6;text-decoration:underline}.legal-status{padding:20px 24px;background:#2b251a;border:1px solid #6c5734;border-radius:8px;color:#ebd4ae!important}.legal-page table{border-collapse:collapse;width:100%;font-size:14px}.legal-page td,.legal-page th{padding:15px;text-align:left;border-bottom:1px solid #344550;vertical-align:top}.legal-page td{color:#b9c8d1}.legal-page th{width:40%}.legal-page .pending{color:#f2ca8d}
@media(max-width:700px){.explain-section{padding:65px 16px}.explainer svg{padding:6px;min-height:240px}.explain-buttons{grid-template-columns:1fr;padding:15px 16px 0;gap:7px}.explain-buttons button{padding:12px}.explain-details{padding:18px 16px 0;min-height:130px;font-size:14px}.explain-note{padding:12px 16px 22px}.footer-legal{flex-direction:column;gap:14px}.legal-page table{font-size:12px}.legal-page td,.legal-page th{padding:12px 8px}.legal-page th{width:42%}}
@media(prefers-reduced-motion:reduce){.diagram-flow,.diagram-drip{animation:none}.diagram-zone{transition:none}}

.home-hero {
  background: radial-gradient(ellipse at center, #10222d 0%, #08090a 68%);
}
.home-hero .hero-copy {
  justify-self: center;
  width: min(100%, 1000px);
  text-align: center;
}
.home-hero .hero-lead {
  margin-inline: auto;
}
.home-hero .hero-actions {
  justify-content: center;
}
@media (max-width: 800px) {
  .home-hero {
    min-height: auto;
    padding-block: clamp(64px, 12vh, 100px);
  }
}

.site-header { position: sticky; top: 0; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.header-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 32px;
  font-size: 13px;
  white-space: nowrap;
}
.header-actions .header-call { gap: 8px; border-color: #4c7688; color: #f2faff; }
.header-call svg { color: #70d3ff; flex: none; }
.header-quote { background: #65cafa; color: #071016; padding: 0 17px; font-weight: 700; }
.header-quote:hover { background: #a6e4ff; }
.home-hero .hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 760px;
  margin-inline: auto;
  gap: 16px;
}
.home-hero .hero-actions .button { min-height: 66px; font-size: clamp(16px, 1.4vw, 19px); padding-inline: 30px; }
@media (max-width: 1180px) {
  .site-header { gap: 10px; padding-inline: 16px; }
  .header-call b { display: none; }
  .header-actions .header-call { width: 44px; padding: 0; }
}
@media (min-width: 801px) and (max-width: 960px) {
  .desktop-nav { gap: 8px; }
  .header-quote { padding-inline: 10px; }
}
@media (max-width: 800px) {
  .mobile-nav { position: fixed; max-height: 0; }
  .mobile-nav.open { max-height: calc(100dvh - 70px); overflow-y: auto; }
  .header-actions { margin-left: auto; }
}
@media (max-width: 600px) {
  .home-hero .hero-actions { grid-template-columns: 1fr; max-width: 420px; gap: 12px; }
  .home-hero .hero-actions .button { min-height: 58px; }
}
@media (max-width: 480px) {
  .site-header { gap: 6px; padding-inline: 8px; }
  .site-header .wordmark { font-size: 16px; gap: 1px; }
  .site-header .mark { font-size: 22px; margin-right: 3px; }
  .header-actions { gap: 4px; }
  .header-actions .header-quote { font-size: 11px; padding-inline: 9px; }
  .nav-toggle { flex: none; width: 36px; }
}

.phone-icon {
  width: 0.95em;
  height: 0.95em;
  min-width: 16px;
  min-height: 16px;
  margin-inline-end: 0.35em;
  vertical-align: -0.08em;
  color: #70d3ff;
  flex-shrink: 0;
}

.insurance-home {
  max-width: 1240px;
  margin: 0 auto;
  padding: 32px clamp(24px, 5vw, 84px);
}
.insurance-report {
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid #355363;
  border-left: 3px solid var(--blue);
  border-radius: 16px;
  background: #101b22;
}
.insurance-report h2 {
  color: var(--white);
  font-size: clamp(22px, 2vw, 28px);
  letter-spacing: -.035em;
  margin-bottom: 14px;
}
.insurance-report p {
  color: #c1cbd1;
  font-size: 15px;
  line-height: 1.75;
  margin: 0;
}
.contact-layout .insurance-report { margin-top: 28px; }

body[data-page="a-propos.html"] .values-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 25px);
}
body[data-page="a-propos.html"] .values-grid h3 {
  font-size: clamp(22px, 1.7vw, 28px);
  margin-top: 55px;
  overflow-wrap: anywhere;
}
@media (max-width: 1100px) {
  body[data-page="a-propos.html"] .values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  body[data-page="a-propos.html"] .values-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body[data-page="a-propos.html"] .values-grid h3 {
    margin-top: 35px;
  }
}

.house-detection { width: 100%; max-width: 610px; justify-self: center; }
.house-detection svg { display: block; width: 100%; height: auto; }
.house-water { animation: house-flow 4s linear infinite; }
.house-signal { animation: house-pulse 3s ease-in-out infinite; }
@keyframes house-flow { to { stroke-dashoffset: -96; } }
@keyframes house-pulse { 50% { opacity: .45; } }
.inspection-illustration {
  border: 1px solid #354751;
  border-radius: 16px;
  background: radial-gradient(ellipse at center, #142a36, #080e13);
  padding: clamp(12px, 3vw, 40px);
}
.inspection-illustration svg { display: block; width: 100%; max-width: 1050px; margin: auto; height: auto; }
@media (max-width: 800px) { .house-detection { max-width: 500px; } }
@media (prefers-reduced-motion: reduce) { .house-water, .house-signal { animation: none; } }

.floorplan-sweep {
  transform-origin: 298px 280px;
  animation: floorplan-scan 7s linear infinite;
}
@keyframes floorplan-scan { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .floorplan-sweep { animation: none; opacity: .4; }
}

.wordmark .metal-drop-mark {
  display: block;
  width: 25px;
  height: 40px;
  object-fit: contain;
  flex-shrink: 0;
  margin-right: 8px;
}
@media (max-width: 480px) {
  .wordmark .metal-drop-mark {
    width: 20px;
    height: 32px;
    margin-right: 4px;
  }
}
