/* DC VA MD Mold — dcvamdmold.com */
:root{
  --ink:#0a1a20; --ink-2:#12303a; --slate:#3f5b64; --mute:#6d858d;
  --line:#dde6e8; --paper:#f4f8f8; --white:#fff;
  --teal:#0d8f7e; --teal-d:#0a6d61; --teal-l:#e6f4f1;
  --amber:#c4630c; --amber-l:#fdf1e3;
  --red:#b3261e;
  --radius:14px; --radius-s:9px;
  --shadow:0 1px 2px rgba(10,26,32,.06),0 8px 28px rgba(10,26,32,.08);
  --shadow-l:0 2px 6px rgba(10,26,32,.08),0 24px 60px rgba(10,26,32,.16);
  --wrap:1160px;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --serif:'Source Serif 4',Georgia,'Times New Roman',serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--white);
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--teal-d)}
h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.1rem,5vw,3.5rem);letter-spacing:-.03em}
h2{font-size:clamp(1.65rem,3.4vw,2.5rem)}
h3{font-size:1.2rem;letter-spacing:-.01em}
p{margin:0 0 1.1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:800px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- urgency strip + header ---------- */
.urgent{background:var(--ink);color:#cfe3e4;font-size:.82rem;letter-spacing:.02em;
  padding:8px 0;text-align:center}
.urgent b{color:#fff;font-weight:600}
.urgent .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#3ddc97;
  margin-right:7px;vertical-align:middle;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:20px;padding:12px 24px;max-width:var(--wrap);margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:0 0 auto}
.logo svg{flex:0 0 auto}
.logo b{font-size:1.06rem;font-weight:800;letter-spacing:-.03em;display:block;line-height:1.1}
.logo span{font-size:.68rem;color:var(--mute);letter-spacing:.09em;text-transform:uppercase;font-weight:600}
nav{margin-left:auto;display:flex;align-items:center;gap:26px}
nav a{color:var(--slate);text-decoration:none;font-size:.93rem;font-weight:500}
nav a:hover{color:var(--teal-d)}
.callbtn{display:inline-flex;align-items:center;gap:8px;background:var(--teal);color:#fff;
  text-decoration:none;font-weight:700;padding:11px 18px;border-radius:999px;font-size:.97rem;
  box-shadow:0 2px 10px rgba(13,143,126,.3);white-space:nowrap}
.callbtn:hover{background:var(--teal-d);color:#fff}
@media(max-width:940px){nav a.nl{display:none}}
@media(max-width:420px){.logo span{display:none}.bar{padding:10px 16px;gap:10px}.callbtn{padding:10px 14px;font-size:.9rem}}

/* ---------- hero ---------- */
.hero{background:
   radial-gradient(1000px 480px at 88% -8%,rgba(13,143,126,.16),transparent 62%),
   linear-gradient(180deg,#08191f 0%,#0f2b34 100%);
  color:#e8f1f2;padding:64px 0 72px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:rgba(255,255,255,.09)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;color:#7fe3cd;
  background:rgba(13,143,126,.16);border:1px solid rgba(61,220,151,.28);
  padding:6px 13px;border-radius:999px;margin-bottom:20px}
.hero h1{color:#fff;margin-bottom:18px}
.hero h1 em{font-style:normal;color:#5fd9c0}
.hero .sub{font-size:1.13rem;color:#b9d2d5;max-width:33em;margin-bottom:26px}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px;padding:0;list-style:none}
.chips li{font-size:.85rem;color:#d3e7e8;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.13);padding:7px 13px;border-radius:8px;font-weight:500}
.chips li::before{content:"✓";color:#5fd9c0;font-weight:700;margin-right:7px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn-big{display:inline-flex;align-items:center;gap:10px;background:var(--teal);color:#fff;
  text-decoration:none;font-weight:700;font-size:1.06rem;padding:15px 26px;border-radius:11px;
  box-shadow:0 6px 22px rgba(13,143,126,.36)}
.btn-big:hover{background:#12a893;color:#fff}
.btn-ghost{display:inline-flex;align-items:center;gap:9px;color:#cfe3e4;text-decoration:none;
  font-weight:600;padding:15px 20px;border:1px solid rgba(255,255,255,.22);border-radius:11px}
.btn-ghost:hover{border-color:#5fd9c0;color:#fff}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:36px}.hero{padding:44px 0 52px}}

/* ---------- form card ---------- */
.formcard{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-l);
  padding:26px;color:var(--ink);position:relative}
.formcard .fh{font-size:1.28rem;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}
.formcard .fs{font-size:.9rem;color:var(--mute);margin:0 0 18px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:flex;flex-direction:column;gap:5px}
.field.full{grid-column:1/-1}
label{font-size:.79rem;font-weight:700;color:var(--slate);letter-spacing:.03em;text-transform:uppercase}
input,select,textarea{font-family:inherit;font-size:1rem;color:var(--ink);
  border:1.5px solid var(--line);border-radius:var(--radius-s);padding:11px 13px;background:#fff;width:100%}
textarea{min-height:78px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(13,143,126,.14)}
.submit{grid-column:1/-1;margin-top:6px;background:var(--amber);color:#fff;border:0;
  font-family:inherit;font-size:1.05rem;font-weight:700;padding:15px;border-radius:11px;cursor:pointer;
  box-shadow:0 6px 18px rgba(196,99,12,.3)}
.submit:hover{background:#a9550a}
.submit:disabled{opacity:.6;cursor:default}
.fineprint{grid-column:1/-1;font-size:.78rem;color:var(--mute);margin:8px 0 0;line-height:1.5}
.formnote{display:flex;gap:9px;align-items:flex-start;background:var(--amber-l);
  border-left:3px solid var(--amber);padding:10px 13px;border-radius:6px;font-size:.85rem;
  color:#7a3f08;margin:0 0 18px}
.formmsg{grid-column:1/-1;font-size:.92rem;font-weight:600;padding:12px 14px;border-radius:9px;display:none}
.formmsg.ok{display:block;background:var(--teal-l);color:var(--teal-d)}
.formmsg.err{display:block;background:#fdeceb;color:var(--red)}
@media(max-width:520px){.fgrid{grid-template-columns:1fr}.formcard{padding:20px}}

/* ---------- sections ---------- */
section{padding:78px 0}
section.alt{background:var(--paper);border-block:1px solid var(--line)}
.kicker{font-size:.76rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
  color:var(--teal-d);margin:0 0 12px}
.lede{font-size:1.14rem;color:var(--slate);max-width:44em}
.sechead{max-width:46em;margin-bottom:42px}
@media(max-width:900px){section{padding:56px 0}}

/* ---------- symptom checklist ---------- */
.checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 26px;padding:0;list-style:none}
.checklist li{margin:0}
.chk{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1.5px solid var(--line);
  border-radius:var(--radius-s);padding:14px 15px;cursor:pointer;transition:border-color .14s,background .14s;height:100%}
.chk:hover{border-color:#a9c7c9}
.chk input{width:19px;height:19px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--teal);cursor:pointer}
.chk .ct{font-weight:600;font-size:.97rem;display:block;line-height:1.35}
.chk .cd{font-size:.83rem;color:var(--mute);display:block;margin-top:3px;line-height:1.45}
.chk.on{border-color:var(--teal);background:var(--teal-l)}
@media(max-width:820px){.checklist{grid-template-columns:1fr}}

.readout{background:var(--ink-2);color:#dcecec;border-radius:var(--radius);padding:24px 26px;
  display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.readout .score{flex:0 0 auto;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.08);border:2px solid #5fd9c0;font-size:1.5rem;font-weight:800;color:#fff}
.readout .rt{flex:1 1 260px;min-width:0}
.readout .rt strong{display:block;font-size:1.12rem;color:#fff;margin-bottom:3px}
.readout .rt span{font-size:.94rem;color:#a9c6c8}
.readout a{flex:0 0 auto}
.readout.warn .score{border-color:#f0a02e;color:#fff}
.readout.hot .score{border-color:#ff7a6b;color:#fff}

/* ---------- insurance ---------- */
.ins-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start}
.ins-steps{list-style:none;margin:0;padding:0;counter-reset:s}
.ins-steps li{position:relative;padding:0 0 22px 52px;counter-increment:s}
.ins-steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:34px;height:34px;
  border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;
  font-weight:800;font-size:.95rem}
.ins-steps li::after{content:"";position:absolute;left:17px;top:36px;bottom:2px;width:1.5px;background:var(--line)}
.ins-steps li:last-child{padding-bottom:0}
.ins-steps li:last-child::after{display:none}
.ins-steps strong{display:block;font-size:1.05rem;margin-bottom:2px}
.ins-steps span{color:var(--slate);font-size:.97rem}
.covered{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.covered h3{margin-bottom:14px;font-size:1.05rem}
.covered ul{list-style:none;margin:0 0 20px;padding:0}
.covered li{font-size:.94rem;padding:7px 0 7px 27px;position:relative;color:var(--slate);border-bottom:1px solid var(--paper)}
.covered li:last-child{border-bottom:0}
.covered li::before{position:absolute;left:0;top:7px;font-weight:800}
.covered .yes li::before{content:"✓";color:var(--teal)}
.covered .no li::before{content:"✕";color:#c0554e}
@media(max-width:900px){.ins-grid{grid-template-columns:1fr;gap:30px}}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.step .n{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;
  background:var(--teal-l);color:var(--teal-d);font-weight:800;margin-bottom:12px;font-size:.95rem}
.step h3{margin-bottom:7px}
.step p{margin:0;color:var(--slate);font-size:.95rem}
@media(max-width:960px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.steps{grid-template-columns:1fr}}

/* ---------- water intrusion / upsell ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.cause-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.cause-list li{background:#fff;border:1px solid var(--line);border-left:3px solid var(--amber);
  border-radius:var(--radius-s);padding:15px 17px;box-shadow:var(--shadow)}
.cause-list strong{display:block;font-size:1rem;margin-bottom:2px}
.cause-list span{font-size:.92rem;color:var(--slate)}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:32px}}

/* ---------- areas ---------- */
.regions{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.region{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s}
.region:hover{transform:translateY(-3px);box-shadow:var(--shadow-l);border-color:#b7d5d3}
.region h3{color:var(--ink);margin-bottom:8px}
.region p{color:var(--slate);font-size:.94rem;margin:0 0 14px}
.region .go{color:var(--teal-d);font-weight:700;font-size:.92rem}
.taglist{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:26px 0 0;list-style:none}
.taglist li{font-size:.87rem;color:var(--slate);background:#fff;border:1px solid var(--line);
  padding:6px 12px;border-radius:999px}
@media(max-width:900px){.regions{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:0}
.faq summary{cursor:pointer;list-style:none;padding:20px 44px 20px 0;font-weight:650;
  font-size:1.06rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:8px;top:17px;font-size:1.5rem;
  font-weight:400;color:var(--teal);line-height:1}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 44px 22px 0;color:var(--slate);margin:0}

/* ---------- callout / final cta ---------- */
.cta{background:linear-gradient(135deg,#0b2129 0%,#124e4a 100%);color:#e6f2f2;
  border-radius:18px;padding:48px 44px;text-align:center}
.cta h2{color:#fff}
.cta p{color:#b6d3d3;max-width:38em;margin:0 auto 26px}
.cta .row{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
@media(max-width:640px){.cta{padding:34px 22px}}

/* ---------- legal / region blocks ---------- */
.legalbox{background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal);
  border-radius:var(--radius);padding:26px 28px;box-shadow:var(--shadow)}
.legalbox h3{margin-bottom:10px}
.legalbox p{margin:0;color:var(--slate)}
.crumbs{font-size:.85rem;color:#9fc0c2;margin-bottom:14px}
.crumbs a{color:#cfe3e4;text-decoration:none}
.crumbs a:hover{text-decoration:underline}

/* ---------- footer ---------- */
footer{background:var(--ink);color:#9db6ba;padding:56px 0 90px;font-size:.92rem}
.fgrid2{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px}
footer h4{color:#fff;font-size:.8rem;letter-spacing:.11em;text-transform:uppercase;margin:0 0 14px}
footer a{color:#bcd2d5;text-decoration:none;display:block;padding:4px 0}
footer a:hover{color:#5fd9c0}
footer .brandline{color:#e4eff0;font-weight:700;font-size:1.05rem;margin-bottom:8px;letter-spacing:-.02em}
.legal{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;font-size:.82rem;color:#7c979b}
.legal p{margin:0 0 6px}
@media(max-width:820px){.fgrid2{grid-template-columns:1fr 1fr;gap:26px}}
@media(max-width:480px){.fgrid2{grid-template-columns:1fr}}

/* ---------- mobile sticky call bar ---------- */
.mobilebar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:rgba(10,26,32,.97);backdrop-filter:blur(10px);padding:10px 12px;
  gap:10px;border-top:1px solid rgba(255,255,255,.12)}
.mobilebar a{flex:1;text-align:center;text-decoration:none;font-weight:700;padding:13px 8px;
  border-radius:10px;font-size:.97rem}
.mobilebar .c{background:var(--teal);color:#fff}
.mobilebar .f{background:rgba(255,255,255,.1);color:#dcecec;border:1px solid rgba(255,255,255,.16)}
@media(max-width:780px){.mobilebar{display:flex}}
