:root{
  --navy:#0f2438;
  --blue:#1662c4;
  --blue-dark:#0d4a95;
  --accent:#e8551f;
  --grey-bg:#f5f7f9;
  --text:#28323b;
  --muted:#5b6b76;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Segoe UI',Arial,Helvetica,sans-serif;color:var(--text);line-height:1.6;background:#fff;}
img{max-width:100%;display:block;border-radius:8px;}
a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px;}
.topbar{background:var(--navy);color:#fff;font-size:14px;padding:6px 0;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;}
.topbar a{color:#fff;}
header.main{background:#fff;border-bottom:1px solid #e5e9ec;position:sticky;top:0;z-index:50;}
header.main .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;}
.logo{font-weight:700;font-size:20px;color:var(--navy);}
.logo span{color:var(--accent);}
nav.primary ul{list-style:none;display:flex;gap:26px;margin:0;padding:0;align-items:center;}
nav.primary{position:relative;}
nav.primary li{position:relative;}
nav.primary > ul > li > a{font-weight:600;color:var(--navy);font-size:15px;}
.dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;min-width:280px;box-shadow:0 12px 24px rgba(0,0,0,.12);border-radius:6px;padding:10px 0;z-index:60;max-height:420px;overflow-y:auto;}
nav.primary li:hover .dropdown{display:block;}
.dropdown a{display:block;padding:8px 18px;font-size:14px;color:var(--text);font-weight:400;}
.dropdown a:hover{background:var(--grey-bg);text-decoration:none;}
.call-btn{background:var(--accent);color:#fff !important;padding:11px 20px;border-radius:6px;font-weight:700;font-size:15px;white-space:nowrap;}
.call-btn:hover{background:#c9430f;text-decoration:none;}
.call-btn.small{padding:8px 14px;font-size:13px;}
.hero{background:linear-gradient(120deg,rgba(15,36,56,.92),rgba(15,36,56,.78)),url('../images/slab-leak-livingroom-fountain.jpg') center/cover no-repeat;color:#fff;padding:70px 0 60px;}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;}
.hero h1{font-size:clamp(28px,4vw,42px);margin:0 0 16px;line-height:1.2;}
.hero p.lead{font-size:18px;color:#dfe7ee;margin-bottom:22px;}
.hero .badges{display:flex;gap:14px;flex-wrap:wrap;margin:20px 0 26px;}
.hero .badges span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:8px 14px;border-radius:30px;font-size:13px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero-img img{border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.35);}
section{padding:56px 0;}
section.alt{background:var(--grey-bg);}
h2{font-size:clamp(24px,3vw,32px);color:var(--navy);margin-bottom:18px;}
h3{color:var(--navy);font-size:20px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.card{background:#fff;border:1px solid #e6ebee;border-radius:10px;padding:22px;box-shadow:0 4px 14px rgba(15,36,56,.05);}
.card h3{margin-top:0;}
ul.check{list-style:none;padding:0;margin:0;}
ul.check li{padding-left:28px;position:relative;margin-bottom:10px;}
ul.check li:before{content:"✔";position:absolute;left:0;color:var(--blue);font-weight:700;}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.service-card{background:#fff;border:1px solid #e6ebee;border-radius:10px;padding:20px;transition:transform .15s,box-shadow .15s;}
.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(15,36,56,.1);}
.service-card a.tt{font-weight:700;font-size:16px;color:var(--navy);}
.zip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.zip-pill{display:block;background:#fff;border:1px solid #dbe3e9;border-radius:8px;text-align:center;padding:14px 8px;font-weight:700;color:var(--navy);}
.zip-pill:hover{border-color:var(--blue);text-decoration:none;background:var(--grey-bg);}
.faq details{border-bottom:1px solid #e2e8ec;padding:14px 0;}
.faq summary{font-weight:700;cursor:pointer;color:var(--navy);font-size:16px;}
.faq p{margin:10px 0 0;color:var(--muted);}
.cta-band{background:var(--blue-dark);color:#fff;text-align:center;padding:46px 0;}
.cta-band h2{color:#fff;}
.cta-band .call-btn{font-size:20px;padding:16px 32px;}
footer{background:var(--navy);color:#cfd9e2;padding:50px 0 20px;font-size:14px;}
footer h4{color:#fff;font-size:15px;margin-bottom:14px;}
footer .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:30px;margin-bottom:30px;}
footer a{color:#cfd9e2;}
footer a:hover{color:#fff;}
footer ul{list-style:none;padding:0;margin:0;}
footer ul li{margin-bottom:8px;}
.partners{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:10px;}
.partners a{margin-right:18px;font-weight:600;}
.bottom-bar{border-top:1px solid rgba(255,255,255,.12);margin-top:20px;padding-top:16px;text-align:center;color:#8fa0ac;font-size:13px;}
.breadcrumb{font-size:13px;color:var(--muted);padding:14px 0;}
.breadcrumb a{color:var(--muted);}
.related-links{background:var(--grey-bg);border-radius:10px;padding:24px;}
.related-links ul{columns:2;list-style:disc;padding-left:20px;}
.emergency-strip{background:#fff4ef;border:1px solid #f4d9cd;padding:16px 20px;border-radius:8px;margin:24px 0;font-weight:600;color:#8a3517;}
@media (max-width:900px){
  nav.primary ul{display:none;}
  .hero .wrap{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .grid-3{grid-template-columns:1fr;}
}
