@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color:#173f3f;font-synthesis:none;text-rendering:optimizelegibility;--ink:#173f3f;--cream:#f7f1e6;--paper:#fffaf1;--copper:#e96f47;--yellow:#f2bd62;--line:#173f3f2b;background:#f7f1e6;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}body,button,input{font-family:inherit}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}.site-header{grid-template-columns:1fr auto 1fr;align-items:center;max-width:1240px;height:96px;margin:0 auto;padding:0 24px;display:grid}.brand{grid-template-columns:42px auto;justify-self:start;align-items:center;line-height:1;display:grid;position:relative}.brand-mark{background:var(--copper);border-radius:50%;grid-row:1/span 2;justify-content:center;align-items:center;width:34px;height:34px;margin-right:9px;display:flex;position:relative}.brand-mark:before,.brand-mark:after,.brand-mark span{border:3px solid var(--cream);content:"";border-radius:50%;width:8px;height:8px;position:absolute}.brand-mark:before{left:6px}.brand-mark:after{right:6px}.brand-mark span{border-left-color:#0000;border-right-color:#0000;width:20px;height:20px}.brand-name{letter-spacing:-.8px;font-family:Manrope,sans-serif;font-size:19px;font-weight:800}.brand-name i{color:var(--copper);font-family:Georgia,serif}.brand-trade{letter-spacing:3.4px;text-transform:uppercase;margin-top:5px;font-size:8px;font-weight:700}nav{gap:38px;display:flex}nav a{font-size:14px;font-weight:600}nav a:hover{color:var(--copper)}.header-phone{justify-self:end;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.header-phone>svg{color:var(--copper)}.header-phone small{letter-spacing:1px;opacity:.6;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:600;display:block}.hero{background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(450px,.9fr);max-width:1440px;min-height:650px;margin:0 auto;display:grid;overflow:hidden}.hero-copy{align-self:center;padding:80px 40px 80px max(30px,50vw - 620px)}.eyebrow,.kicker{color:var(--copper);letter-spacing:2px;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:800;display:flex}.pulse{background:#56a66c;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 4px #56a66c26}h1,h2,h3{margin:0;font-family:Manrope,sans-serif}h1{letter-spacing:-5px;margin:24px 0 28px;font-size:clamp(56px,6.2vw,88px);font-weight:800;line-height:.95}h1 em{color:var(--copper);font-family:Georgia,serif;font-weight:400}.hero-intro{opacity:.76;max-width:520px;margin:0;font-size:18px;line-height:1.65}.hero-actions{align-items:center;gap:28px;margin:38px 0;display:flex}.button{border-radius:4px;align-items:center;gap:10px;padding:16px 22px;font-size:14px;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex}.button-primary{background:var(--ink);box-shadow:5px 5px 0 var(--yellow);color:#fff}.button-primary:hover{box-shadow:3px 3px 0 var(--yellow);transform:translate(2px,2px)}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:8px;padding:7px 0;font-size:14px;font-weight:700;display:inline-flex}.trust-row{border-top:1px solid var(--line);align-items:center;gap:14px;max-width:450px;padding-top:24px;display:flex}.avatars{display:flex}.avatars span{border:2px solid var(--paper);color:#fff;background:#d9b38b;border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;margin-left:-7px;font-size:8px;font-weight:700;display:flex}.avatars span:first-child{background:#6f8f8d;margin-left:0}.avatars span:last-child{background:#d97a5b}.trust-row p{align-items:center;gap:7px;margin:0;display:flex}.trust-row strong{font-size:15px}.stars{color:var(--copper);letter-spacing:1px;font-size:11px}.trust-row small{opacity:.62;font-size:11px}.hero-visual{background:var(--yellow);isolation:isolate;min-height:650px;position:relative;overflow:hidden}.hero-visual:before{content:"";background-image:radial-gradient(#173f3f1f 1px,#0000 1px);background-size:10px 10px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#0000 20%,#000);mask-image:linear-gradient(120deg,#0000 20%,#000)}.sun{border:2px dashed #173f3f59;border-radius:50%;width:410px;height:410px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sun:before{content:"";background:#fffaf140;border-radius:50%;position:absolute;inset:32px}.pipe-art{z-index:2;width:100%;height:94%;position:absolute;bottom:-20px;right:-10px}.experience-stamp{background:var(--paper);text-align:center;z-index:3;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:130px;height:130px;display:flex;position:absolute;bottom:44px;right:34px;transform:rotate(7deg);box-shadow:0 15px 30px #173f3f26}.experience-stamp strong{color:var(--copper);font-family:Georgia,serif;font-size:42px;line-height:.9}.experience-stamp span{text-transform:uppercase;margin-top:7px;font-size:9px;font-weight:700;line-height:1.3}.scribble{color:var(--ink);font-family:Georgia,serif;font-size:17px;font-style:italic;position:absolute;top:32px;left:28px;transform:rotate(-8deg)}.services{max-width:1240px;margin:0 auto;padding:110px 24px 120px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:48px;display:flex}.section-heading h2,.coverage-copy h2,.hours-section h2{letter-spacing:-2.6px;margin-top:16px;font-size:clamp(37px,4vw,54px);line-height:1.05}.service-grid{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.service-card{min-height:355px;padding:38px 34px 34px;position:relative}.service-card+.service-card{border-left:1px solid var(--line)}.service-number{opacity:.5;font-family:Georgia,serif;font-size:13px;font-style:italic;position:absolute;top:25px;left:30px}.service-icon{background:var(--yellow);border-radius:50%;justify-content:center;align-items:center;width:68px;height:68px;margin:28px 0;display:flex}.service-card:nth-child(2) .service-icon{background:#d6e4da}.service-card:nth-child(3) .service-icon{background:#f1cbbd}.service-card h3{letter-spacing:-.6px;margin-bottom:13px;font-size:22px}.service-card p{opacity:.67;max-width:290px;margin:0 0 25px;font-size:14px;line-height:1.65}.service-card a{align-items:center;gap:8px;font-size:12px;font-weight:800;display:inline-flex}.service-card a:hover{color:var(--copper)}.coverage-section{padding:0 24px 110px}.coverage-card{background:var(--ink);color:var(--cream);grid-template-columns:1fr 1.1fr;max-width:1192px;min-height:510px;margin:0 auto;display:grid;overflow:hidden}.coverage-copy{align-self:center;padding:65px 68px}.kicker-light{color:var(--yellow)}.coverage-copy>p{opacity:.7;max-width:390px;font-size:14px;line-height:1.6}form{margin-top:31px}label{letter-spacing:1.4px;text-transform:uppercase;margin-bottom:9px;font-size:10px;font-weight:700;display:block}.input-row{display:flex}input{background:var(--cream);color:var(--ink);border:0;border-radius:3px 0 0 3px;outline:none;width:100%;min-width:0;padding:16px;font-size:14px}input:focus{box-shadow:inset 0 0 0 3px var(--yellow)}.input-row button{background:var(--copper);color:#fff;cursor:pointer;border:0;border-radius:0 3px 3px 0;align-items:center;gap:8px;padding:0 18px;font-size:13px;font-weight:700;display:flex}.coverage-result{color:#aee2b6;align-items:center;gap:7px;margin:13px 0 0;display:flex;opacity:1!important;font-size:12px!important}.map{background:#234b4b;justify-content:center;align-items:center;min-height:510px;display:flex;position:relative;overflow:hidden}.map:after{content:"";border:1px solid #f7f1e621;border-radius:50%;width:370px;height:370px;position:absolute}.map svg{z-index:1;width:100%;height:100%;position:relative}.map-note{background:var(--cream);color:var(--ink);z-index:2;padding:7px 12px;font-family:Georgia,serif;font-size:13px;font-style:italic;position:absolute;bottom:28px;right:27px;transform:rotate(-4deg)}.hours-section{grid-template-columns:.85fr 1.15fr;align-items:start;gap:100px;max-width:1100px;margin:0 auto;padding:0 24px 120px;display:grid}.hours-list{border-top:1px solid var(--line)}.hours-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 4px;font-size:14px;display:flex}.hours-list span{opacity:.67}.hours-list strong{font-size:14px}.hours-list .emergency-row{background:#f1cbbd;border:0;margin-top:14px;padding:17px 16px}.emergency-row span{opacity:1;align-items:center;gap:11px;display:flex}footer{color:var(--cream);background:#102f30;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:62px max(24px,50vw - 596px);display:grid}.brand-footer .brand-mark{background:var(--yellow)}.brand-footer .brand-mark:before,.brand-footer .brand-mark:after,.brand-footer .brand-mark span{border-color:var(--ink);border-left-color:var(--ink);border-right-color:var(--ink)}footer>div:first-child>p{opacity:.6;margin:17px 0 0;font-family:Georgia,serif;font-size:14px;font-style:italic}.footer-call{text-align:right;justify-self:end}.footer-call span{letter-spacing:1.5px;opacity:.6;text-transform:uppercase;margin-bottom:8px;font-size:10px;display:block}.footer-call strong{color:var(--yellow);align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:24px;display:flex}.footer-meta{opacity:.5;border-top:1px solid #f7f1e624;grid-column:1/-1;justify-content:space-between;padding-top:22px;font-size:10px;display:flex}.work-gallery{grid-template-columns:.8fr 1.15fr .75fr;align-items:end;gap:18px;max-width:1192px;margin:0 auto;padding:0 24px 110px;display:grid}.gallery-heading{align-self:center;padding-right:30px}.gallery-heading h2{letter-spacing:-2.5px;margin-top:16px;font-size:clamp(36px,3.5vw,50px);line-height:1.04}.gallery-heading p{opacity:.66;max-width:300px;margin:24px 0 0;font-size:14px;line-height:1.7}.gallery-photo{margin:0;position:relative;overflow:hidden}.gallery-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#0c2627cc);position:absolute;inset:0}.gallery-photo img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.gallery-photo:hover img{transform:scale(1.025)}.gallery-photo-large{height:430px}.gallery-photo-small{height:335px}.gallery-photo figcaption{color:#fff;z-index:1;font-family:Manrope,sans-serif;font-size:15px;font-weight:700;position:absolute;bottom:22px;left:22px;right:22px}@media (width<=900px){.work-gallery{grid-template-columns:1fr 1fr;align-items:stretch}.gallery-heading{grid-column:1/-1;padding:0 0 25px}.gallery-heading p{max-width:520px}.gallery-photo-large,.gallery-photo-small{height:390px}}@media (width<=560px){.work-gallery{grid-template-columns:1fr;padding-bottom:80px}.gallery-heading{grid-column:auto}.gallery-photo-large{height:390px}.gallery-photo-small{height:250px}}@media (width<=900px){.site-header{grid-template-columns:1fr auto}nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:75px 40px}.hero-visual{min-height:560px}.service-grid{grid-template-columns:1fr}.service-card{min-height:270px}.service-card+.service-card{border-left:0;border-top:1px solid var(--line)}.coverage-card{grid-template-columns:1fr}.hours-section{grid-template-columns:1fr;gap:55px}}@media (width<=560px){.site-header{height:78px}.header-phone span{display:none}.header-phone{background:var(--copper);color:#fff;border-radius:50%;padding:10px}.hero-copy{padding:60px 24px}h1{letter-spacing:-3.4px;font-size:52px}.hero-actions{flex-direction:column;align-items:flex-start}.trust-row p{flex-direction:column;align-items:flex-start;gap:2px}.hero-visual{min-height:460px}.sun{width:320px;height:320px}.experience-stamp{width:105px;height:105px;bottom:22px;right:18px}.services{padding-top:80px;padding-bottom:80px}.service-card{padding-left:20px;padding-right:20px}.coverage-section{padding:0 0 80px}.coverage-copy{padding:52px 24px}.map{min-height:390px}.hours-section{padding-bottom:80px}.hours-list>div{flex-direction:column;align-items:flex-start;gap:7px}.hours-list .emergency-row{align-items:flex-start}footer{grid-template-columns:1fr;padding-bottom:35px}.footer-call{text-align:left;justify-self:start}.footer-meta{flex-direction:column;gap:8px}}
