:root{--red:#e71922;--red-dark:#b70d16;--ink:#071018;--ink-soft:#111d26;--muted:#64717c;--line:#e1e6ea;--paper:#fff;--soft:#f4f6f8;--max:1180px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{min-height:82px;padding:13px clamp(20px,4vw,58px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid rgba(7,16,24,.08);box-shadow:0 8px 28px rgba(7,16,24,.08);position:sticky;top:0;z-index:30}.brand img{width:235px;max-height:56px;display:block}.header-actions{display:flex;align-items:center;gap:15px}.phone{font-size:14px;font-weight:900}.button{min-height:50px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;font-size:14px;font-weight:900;text-transform:uppercase;border:0;border-radius:8px;cursor:pointer}.button:hover{background:var(--red-dark)}.button-dark{background:var(--ink)}.button-outline{background:transparent;border:1px solid rgba(255,255,255,.4)}
.hero{min-height:660px;background:#071018;color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,7,11,.97),rgba(3,7,11,.84) 52%,rgba(3,7,11,.26)),url("/assets/service-sewer-repair-new.png") center/cover no-repeat}.water-heater-page .hero:before{background:linear-gradient(90deg,rgba(3,7,11,.97),rgba(3,7,11,.8) 52%,rgba(3,7,11,.2)),url("/assets/service-water-heater-photo.webp") center/cover no-repeat}.boiler-page .hero:before{background:linear-gradient(90deg,rgba(3,7,11,.97),rgba(3,7,11,.8) 52%,rgba(3,7,11,.2)),url("/assets/boiler.png") center/cover no-repeat}.hero-inner{min-height:660px;display:grid;align-items:center;position:relative}.hero-copy{max-width:790px;padding:76px 0}.eyebrow,.kicker{margin:0 0 17px;color:var(--red);font-size:13px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero h1{max-width:920px;margin:0 0 25px;font-size:clamp(49px,6.5vw,86px);line-height:.95;letter-spacing:-.06em}.hero-copy>p:not(.eyebrow){max-width:750px;color:rgba(255,255,255,.88);font-size:clamp(18px,1.6vw,22px);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.proof-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:27px}.proof-row span{padding:11px 14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-left:3px solid var(--red);border-radius:6px;font-size:12px;font-weight:800}
.section{padding:clamp(66px,7vw,94px) 0}.section h2{margin:0 0 20px;font-size:clamp(38px,4.8vw,58px);line-height:1;letter-spacing:-.055em}.section p{color:var(--muted);line-height:1.72}.answer-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(36px,7vw,88px);align-items:start}.direct-answer{padding:32px;border-left:5px solid var(--red);background:var(--soft);font-size:17px}.signal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.signal{padding:25px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--red)}.signal h3{margin:0 0 9px;font-size:20px}.signal p{margin:0;font-size:14px}
.dark{background:var(--ink);color:#fff}.dark .section-heading p,.dark .step p{color:rgba(255,255,255,.68)}.section-heading{max-width:790px;margin:0 auto 38px;text-align:center}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:27px 24px;background:var(--ink-soft);border:1px solid rgba(255,255,255,.1);border-top:3px solid var(--red)}.step-num{color:var(--red);font-weight:900}.step h3{margin:12px 0 9px;font-size:20px}
.compare-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(36px,7vw,82px);align-items:start}.choices{display:grid;gap:14px}.choice{padding:22px;border:1px solid var(--line);border-left:4px solid var(--red)}.choice h3{margin:0 0 7px;font-size:19px}.choice p{margin:0;font-size:14px}.related{background:var(--soft)}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.related-card{padding:25px;background:#fff;border:1px solid var(--line)}.related-card strong{display:block;margin-bottom:7px;font-size:18px}.related-card span{color:var(--muted);font-size:13px}.related-card:hover{border-color:var(--red)}
.request{background:linear-gradient(145deg,#f7f8fa,#edf1f4);scroll-margin-top:94px}.request-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(38px,6vw,80px);align-items:center}.request-card{padding:clamp(24px,3vw,38px);display:grid;grid-template-columns:1fr 1fr;gap:15px;background:#fff;border:1px solid var(--line);border-top:6px solid var(--red)}.request-card label{display:grid;gap:7px;color:#34404a;font-size:12px;font-weight:800}.request-card input,.request-card textarea{min-height:50px;padding:12px 14px;background:#f8f9fa;border:1px solid #d8dee3;border-radius:8px}.request-card textarea{min-height:105px;resize:vertical}.wide{grid-column:1/-1}.honeypot{position:absolute;left:-10000px}.form-message{min-height:22px;margin:0;font-size:13px;font-weight:800}.request-points{display:grid;gap:12px;margin-top:25px;padding-top:22px;border-top:1px solid #d8dee3;font-size:14px;font-weight:800}
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(38px,7vw,88px)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:23px 0;cursor:pointer;font-size:15px;font-weight:900;list-style:none}summary::-webkit-details-marker{display:none}details p{margin:0;padding:0 25px 23px 0;font-size:14px}
.final-cta{padding:46px max(20px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;background:var(--red);color:#fff}.final-cta h2{margin:0 0 8px;font-size:clamp(31px,4vw,48px);letter-spacing:-.04em}.final-cta p{margin:0}.site-footer{padding:42px 0;background:#050a0f;color:rgba(255,255,255,.72)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner img{width:220px;padding:5px 9px;background:#fff;border-radius:5px}.footer-inner span{font-size:12px}
@media(max-width:920px){.answer-grid,.compare-grid,.request-grid,.faq-grid{grid-template-columns:1fr}.steps,.related-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.site-header{min-height:68px;padding:10px 16px}.brand img{width:165px}.header-actions .button{display:none}.phone{font-size:12px}.hero,.hero-inner{min-height:620px}.hero:before{background:linear-gradient(90deg,rgba(3,7,11,.97),rgba(3,7,11,.72)),url("/assets/service-sewer-repair-new.png") 62% center/cover no-repeat}.hero h1{font-size:clamp(44px,14vw,63px)}.hero-actions,.hero-actions .button{width:100%}.signal-grid,.steps,.related-grid,.request-card,.final-cta{grid-template-columns:1fr}.wide{grid-column:auto}.footer-inner{align-items:flex-start;flex-direction:column}}
