:root{--blue:#1546d7;--blue-dark:#1038b1;--ink:#172128;--cream:#f6f3ed;--paper:#fffdf9;--muted:#5d686e;--line:#c9d0d0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.55}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Space Grotesk',Arial,sans-serif;line-height:1.05;letter-spacing:-.055em}a{color:inherit;text-underline-offset:.18em}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{width:min(100% - 64px,1320px);margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;z-index:100;left:12px;top:-100px;padding:10px 16px;background:var(--blue);color:#fff}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #ec8c38;outline-offset:4px}.site-header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid #e2e4e0}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:92px;gap:30px}.brand{display:inline-flex;flex-direction:column;text-decoration:none;font-family:'Space Grotesk',Arial,sans-serif;color:var(--blue);line-height:.91;white-space:nowrap}.brand>span{font-size:28px;font-weight:700;letter-spacing:-.085em}.brand-dot{color:var(--ink)}.brand small{font-size:10px;font-weight:700;letter-spacing:.3em;margin-top:8px}.nav{display:flex;align-items:center;gap:36px}.nav>a{text-decoration:none;font-size:14px;font-weight:700}.nav>a:not(.nav-call):hover,.footer-links a:hover,.footer-bottom a:hover{color:var(--blue)}.nav-call{display:flex;align-items:center;gap:35px;background:var(--ink);padding:15px 19px;color:#fff!important}.nav-call:hover{background:var(--blue)}.menu-toggle{display:none}.hero{min-height:610px;position:relative;display:flex;align-items:center;overflow:hidden;padding-block:74px 88px}.hero-copy{position:relative;z-index:1;max-width:940px}.hero-meta,.eyebrow{font-size:12px;font-weight:700;letter-spacing:.19em}.hero-meta{display:flex;align-items:center;gap:14px;color:var(--blue);margin-bottom:31px}.mini-line{height:1px;width:44px;background:var(--blue)}.hero h1{font-size:clamp(58px,7.5vw,116px);max-width:1040px;font-weight:600}.hero h1 em,.intro h2 em{font-style:normal;color:var(--blue)}.hero-copy>p{font-size:19px;line-height:1.55;max-width:620px;margin-top:29px;color:#45535a}.actions{display:flex;align-items:center;gap:31px;margin-top:35px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:18px 22px;text-decoration:none;font-size:15px;font-weight:700;min-height:60px;border:0;border-radius:0;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-blue{background:var(--blue);color:#fff}.button-blue:hover{background:var(--blue-dark)}.button-ink{background:var(--ink);color:#fff}.button-ink:hover{background:#000}.text-link{font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link span{margin-left:18px}.text-link:hover{color:var(--blue)}.hero-mark{position:absolute;right:-36px;bottom:-101px;font-size:clamp(170px,29vw,410px);font-family:'Space Grotesk';font-weight:700;letter-spacing:-.16em;line-height:1;color:#e8eaf3;white-space:nowrap;z-index:0;user-select:none}.hero-mark span{font-weight:400;margin-left:.12em}.hero-visual{position:relative;height:clamp(400px,49vw,690px);background:#d9c5aa;overflow:hidden}.hero-visual picture,.hero-visual img{display:block;width:100%;height:100%}.hero-visual img{object-fit:cover;object-position:center 50%}.hero-visual figcaption{position:absolute;bottom:12px;left:32px;color:#fff;background:#172128bd;padding:5px 9px;font-size:11px}.visual-tag{position:absolute;top:0;right:max(32px,calc((100% - 1320px)/2));padding:24px 30px;background:var(--blue);color:#fff;font-family:'Space Grotesk';font-size:23px;font-weight:600;line-height:1.08;letter-spacing:-.05em}.marquee-line{background:var(--blue);color:#fff;overflow:hidden}.marquee-line .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:68px;font-family:'Space Grotesk';font-size:14px;font-weight:700;letter-spacing:.13em;white-space:nowrap}.marquee-line i{font-style:normal;font-size:16px;opacity:.7}.intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;padding-block:137px 145px}.eyebrow{color:var(--blue)}.intro h2{font-size:clamp(42px,5vw,72px);font-weight:600;max-width:850px}.intro div>p{font-size:19px;color:var(--muted);max-width:560px;margin-top:35px}.services{background:var(--cream);padding:110px 0 132px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-bottom:60px}.section-head h2{font-size:clamp(44px,5.5vw,78px);margin-top:20px;font-weight:600}.section-head>p{max-width:280px;font-size:17px;color:var(--muted)}.service-list{border-top:1px solid #acb7b6}.service-row{display:grid;grid-template-columns:100px 1fr 50px;gap:32px;padding:31px 0 38px;border-bottom:1px solid #acb7b6;align-items:start}.service-number{font-family:'Space Grotesk';font-size:15px;color:var(--blue);font-weight:700;padding-top:9px}.service-row h3{font-size:clamp(32px,3.8vw,54px);font-weight:500}.service-row p{max-width:650px;color:var(--muted);margin-top:13px;font-size:17px}.service-arrow{font-size:28px;color:var(--blue)}.urgent{display:grid;grid-template-columns:105px 1fr auto;align-items:center;gap:38px;padding-block:90px}.urgent-symbol{width:86px;height:86px;border:2px solid var(--blue);border-radius:50%;display:grid;place-items:center;color:var(--blue);font-family:'Space Grotesk';font-size:52px;line-height:1}.urgent h2{font-size:clamp(34px,4vw,56px);margin-top:13px}.urgent p:last-child{color:var(--muted);margin-top:13px;font-size:17px;max-width:620px}.contact-section{background:#dfe6fd;padding:112px 0 123px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact-copy h2{font-size:clamp(56px,6vw,88px);margin-top:22px}.contact-copy h2 span,.legal h1 span{color:var(--blue)}.contact-copy>p:not(.eyebrow){max-width:430px;color:#4c5b66;font-size:18px;margin-top:30px}.contact-direct{display:flex;flex-direction:column;align-items:start;gap:9px;margin-top:59px}.contact-direct span{font-size:12px;font-weight:700;letter-spacing:.15em;color:var(--blue)}.contact-direct a:first-of-type{font-family:'Space Grotesk';font-size:31px;font-weight:600;letter-spacing:-.04em;text-decoration:none}.contact-direct a:last-of-type{font-size:16px}.quote-form{padding-top:4px}.quote-form label{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;color:#354454}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #788aa7;border-radius:0;color:var(--ink);margin:8px 0 30px;padding:13px 2px;font-size:16px;font-weight:400;letter-spacing:0;outline-offset:2px}.quote-form textarea{resize:vertical;min-height:110px}.quote-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5' fill='none' stroke='%23172128' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form-note,.form-fallback{font-size:13px;line-height:1.6;color:#4c5b66;max-width:510px}.form-note{margin-top:-4px;margin-bottom:24px}.form-fallback{margin-top:17px}.site-footer{background:var(--ink);color:#fff}.footer-top{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;padding-block:100px 113px}.footer-intro .eyebrow{color:#a6b9fa}.footer-intro h2{font-size:clamp(59px,7vw,100px);margin:24px 0 21px}.footer-phone{font-size:clamp(25px,3vw,40px);font-family:'Space Grotesk';font-weight:500;letter-spacing:-.04em;text-decoration:none;border-bottom:1px solid #8a9498}.footer-phone span{font-size:.7em;margin-left:20px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:12px}.footer-links>div{display:flex;flex-direction:column;align-items:start;gap:14px}.footer-links h3{font-family:'DM Sans';font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#abb4b7;margin-bottom:16px}.footer-links a{text-decoration:none}.footer-links a:hover{color:#a6b9fa}.footer-links p{color:#d0d7d9}.footer-bottom{border-top:1px solid #536066;min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#b6c0c3;font-size:13px}.footer-bottom div{display:flex;gap:22px}.footer-bottom a{text-decoration:none}.legal{padding-block:100px 140px}.legal h1{font-size:clamp(65px,9vw,130px);margin:18px 0 27px}.legal-lead{font-size:clamp(20px,2.5vw,29px);max-width:700px;line-height:1.35}.legal-content{max-width:780px;margin:85px 0 0 auto}.legal-content section{border-top:1px solid var(--line);padding:25px 0 30px}.legal-content h2{font-size:31px;margin-bottom:13px}.legal-content p{color:#4b575d;font-size:17px}.legal-content a{color:var(--blue)}.legal-date{font-size:13px!important;margin-top:28px}.not-found{min-height:670px;padding-block:90px 110px}.error-code{font-family:'Space Grotesk';font-weight:700;color:var(--blue);font-size:clamp(150px,27vw,390px);line-height:.8;letter-spacing:-.12em;margin:34px 0 26px}.error-code span{color:#c6d0f4}.not-found h1{font-size:clamp(37px,4vw,57px);max-width:700px}.not-found>p:not(.eyebrow){font-size:18px;color:var(--muted);margin-top:20px;max-width:600px}
@media(max-width:1000px){.wrap{width:min(100% - 48px,1320px)}.hero{min-height:550px}.hero h1{font-size:clamp(60px,8vw,85px)}.contact-grid{gap:6vw}.urgent{grid-template-columns:80px 1fr;gap:22px}.urgent .button{grid-column:2;justify-self:start}.footer-top{gap:35px}.nav{gap:20px}}
@media(max-width:700px){.wrap{width:min(100% - 36px,1320px)}.header-inner{min-height:76px}.brand>span{font-size:24px}.brand small{font-size:8px}.menu-toggle{display:flex;align-items:center;gap:5px;background:transparent;border:0;padding:14px 0 14px 14px;color:var(--ink)}.menu-toggle span:not(.menu-word){width:22px;height:2px;background:var(--ink);display:block;position:absolute;right:55px;transform:translateY(-4px);transition:transform .2s}.menu-toggle span:nth-child(2){transform:translateY(4px)}.menu-toggle[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){transform:rotate(-45deg)}.menu-word{font-size:14px;font-weight:700;padding-left:29px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px 18px 26px;box-shadow:0 16px 25px #1521281a;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a{padding:16px 8px;border-top:1px solid #e1e4e2;font-size:17px}.nav .nav-call{margin-top:12px;padding:15px;border:0}.hero{min-height:0;padding-block:67px 82px}.hero-meta{font-size:10px;letter-spacing:.13em;margin-bottom:23px}.mini-line{width:25px}.hero h1{font-size:clamp(49px,12vw,77px);line-height:1.02}.hero-copy>p{font-size:17px;margin-top:22px}.hero-mark{font-size:190px;bottom:-52px;right:-30px}.actions{gap:22px;margin-top:28px}.button{width:auto;min-height:56px;padding:16px 18px}.hero-visual{height:420px}.hero-visual img{object-position:62% center}.hero-visual figcaption{left:12px;bottom:10px;right:12px;width:max-content;max-width:calc(100% - 24px);font-size:10px}.visual-tag{right:18px;padding:17px 19px;font-size:18px}.marquee-line .wrap{width:max-content;min-height:56px;gap:17px;font-size:12px}.marquee-line .wrap span:last-child,.marquee-line .wrap i:last-of-type{display:none}.intro{display:block;padding-block:89px 98px}.intro h2{font-size:clamp(43px,9vw,61px);margin-top:27px}.intro div>p{font-size:17px;margin-top:25px}.services{padding:85px 0 92px}.section-head{display:block;padding-bottom:43px}.section-head h2{font-size:clamp(44px,9vw,62px)}.section-head>p{margin-top:25px;max-width:460px}.service-row{grid-template-columns:35px 1fr 20px;gap:13px;padding:23px 0 26px}.service-number{font-size:12px}.service-row h3{font-size:clamp(30px,6.5vw,44px)}.service-row p{font-size:15px;margin-top:9px}.service-arrow{font-size:19px}.urgent{grid-template-columns:65px 1fr;gap:12px;padding-block:76px}.urgent-symbol{width:52px;height:52px;font-size:32px}.urgent h2{font-size:37px}.urgent p:last-child{font-size:15px}.urgent .button{grid-column:1/-1;margin-top:16px}.contact-section{padding:84px 0 95px}.contact-grid{display:block}.contact-copy h2{font-size:clamp(59px,12vw,82px)}.contact-copy>p:not(.eyebrow){font-size:17px;margin-top:20px}.contact-direct{margin-top:29px}.quote-form{margin-top:58px}.form-row{grid-template-columns:1fr;gap:0}.quote-form input,.quote-form select,.quote-form textarea{margin-bottom:24px}.footer-top{display:block;padding-block:80px 85px}.footer-intro h2{font-size:68px}.footer-links{margin-top:65px;gap:20px}.footer-bottom{padding-block:22px;display:grid;grid-template-columns:1fr 1fr}.footer-bottom>span:last-child{grid-column:1/-1}.legal{padding-block:78px 105px}.legal-content{margin-top:68px}.not-found{min-height:0;padding-block:86px 120px}.error-code{font-size:clamp(150px,42vw,250px)}}
.contact-direct a,.legal-content a{overflow-wrap:anywhere}
@media(max-width:700px){.menu-toggle{position:relative}.menu-toggle span:not(.menu-word){left:14px;right:auto}}
@media(max-width:400px){.hero h1{font-size:48px}.hero-visual{height:350px}.footer-links{grid-template-columns:1fr 1fr}.footer-intro h2{font-size:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Hero: copper route with one moving water trace and a restrained gauge. */
.hero-pipe{position:absolute;z-index:0;right:-105px;top:25px;width:min(49vw,650px);height:auto;pointer-events:none;overflow:visible}
.hero-pipe path{stroke-linecap:round;stroke-linejoin:round}
.pipe-shadow{stroke:#764f3d;stroke-width:30;opacity:.16;transform:translate(2px,5px)}
.pipe-copper{stroke:#a76b4e;stroke-width:27}
.pipe-core{stroke:#dfb08c;stroke-width:19}
.pipe-highlight{stroke:#f4d4ba;stroke-width:2;opacity:.85;transform:translateY(-7px)}
.pipe-flow{stroke:var(--blue);stroke-width:6;stroke-dasharray:130 870;animation:water-through-pipe 9s linear infinite}
.pipe-collar{stroke:#935c43;stroke-width:3;opacity:.8}
.gauge-stem{stroke:#a76b4e;stroke-width:13}
.gauge-rim{fill:#b77b58;stroke:#83543d;stroke-width:3}
.gauge-face{fill:var(--paper);stroke:#edd0ba;stroke-width:2}
.gauge-ticks{stroke:#a76b4e;stroke-width:2;stroke-linecap:round}
.gauge-needle{transform-origin:505px 91px;animation:gauge-settle 12s ease-in-out infinite}
.gauge-needle path{stroke:var(--blue);stroke-width:3;stroke-linecap:round}
.gauge-needle circle{fill:var(--blue)}
@keyframes water-through-pipe{to{stroke-dashoffset:-1000}}
@keyframes gauge-settle{0%,18%,80%,100%{transform:rotate(-7deg)}42%,55%{transform:rotate(5deg)}}
@media(max-width:700px){.hero{padding-bottom:38px}.hero-pipe{position:relative;top:auto;right:auto;display:block;width:min(100%,460px);height:auto;margin:27px auto -70px}}
@media(prefers-reduced-motion:reduce){.pipe-flow,.gauge-needle{animation:none}.pipe-flow{stroke-dasharray:none;opacity:.65}.gauge-needle{transform:rotate(0)}}
