/* Claremont Water Damage Restoration design system (clone of a live network look, tokens unchanged).
   Deep green + steel + orange (fills only) on white. Hind headings, EB Garamond body.
   Ledge dividers, ledge photo frames, trail-marker steps. */
@font-face{font-family:"Hind";src:url(../fonts/hind-500.woff2?v=fd24af41) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Hind";src:url(../fonts/hind-600.woff2?v=e9224cf8) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Hind";src:url(../fonts/hind-700.woff2?v=376d4202) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(../fonts/ebgaramond-400-700.woff2?v=f12bc30c) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --green:#2f5d4e; --green-deep:#22463a; --green-ink:#1d3a30;
  --steel:#6c7a86; --steel-ink:#3d4852; --steel-line:#c9d0d5;
  --orange:#d2691e; --on-orange:#121212;
  --white:#ffffff; --mist:#f3f5f6; --lime:#ece8df;
  --ink:#1b2126; --ink-2:#3a434b;
  --foot:#1c2b25;
  --sans:"Hind","Segoe UI",Arial,sans-serif;
  --serif:"EB Garamond",Georgia,"Times New Roman",serif;
  --gutter:22px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.65;font-weight:400}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-deep)}
h1,h2,h3,h4{font-family:var(--sans);color:var(--green-ink);line-height:1.2;margin:0 0 .5em;font-weight:700;letter-spacing:-.005em}
h1{font-size:clamp(2rem,4.2vw,3.05rem)}
h2{font-size:clamp(1.55rem,2.8vw,2.2rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.2em}
svg{width:1em;height:1em;fill:currentColor}
.btn svg,a[href^="tel:"] svg,.tag svg,.gbp svg,.textlink svg,.bc svg{width:1.1em;height:1.1em;flex:0 0 auto}
.wrap{max-width:1200px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--green);color:#fff;padding:10px 14px;z-index:200}
.skip-link:focus{left:10px}

/* ---------- top line + header ---------- */
.topline{background:var(--green-ink);color:#eef3f0;font-family:var(--sans);font-size:14px;font-weight:500}
.topline__row{display:flex;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:4px;flex-wrap:wrap}
.site-header{position:sticky;top:0;z-index:60;background:var(--white);border-bottom:1px solid var(--steel-line)}
.masthead{display:flex;align-items:center;gap:24px;min-height:78px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex:0 0 auto}
.brand__mark{width:46px;height:46px;flex:0 0 46px}
.brand__text{display:flex;flex-direction:column;line-height:1}
.brand__name{font-family:var(--sans);font-weight:700;font-size:25px;color:var(--green-ink);letter-spacing:.01em}
.brand__sub{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--ink-2);margin-top:4px;letter-spacing:.02em}
.nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav>a,.drop>a{font-family:var(--sans);font-weight:600;font-size:16.5px;color:var(--ink);text-decoration:none;padding:10px 12px;white-space:nowrap;display:inline-block}
.nav>a:hover,.drop>a:hover{color:var(--green)}
.drop{position:relative}
.drop>a::after{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:8px;position:relative;top:-3px}
.drop__menu{display:none;position:absolute;top:100%;left:0;min-width:300px;background:var(--white);border:1px solid var(--steel-line);border-top:4px solid var(--orange);padding:8px 0;max-height:min(72vh,560px);overflow-y:auto;overscroll-behavior:contain;z-index:70}
.drop__menu a{display:block;padding:8px 18px;font-family:var(--sans);font-weight:500;font-size:16px;color:var(--ink);text-decoration:none}
.drop__menu a:hover{background:var(--mist);color:var(--green-deep)}
.drop.is-open>.drop__menu{display:block}
@media (min-width:1021px){.drop:hover>.drop__menu{display:block}}
.menu-close{display:none}
.mast-cta{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.mast-phone{display:inline-flex;align-items:center;gap:10px;background:var(--green);color:#fff;text-decoration:none;padding:9px 16px;border-radius:2px;font-family:var(--sans)}
.mast-phone svg{width:22px;height:22px}
.mast-phone__txt{display:flex;flex-direction:column;line-height:1.1}
.mast-phone__num{font-weight:700;font-size:19px;white-space:nowrap}
.mast-phone small{font-size:13px;font-weight:500;color:#e4eee9}
.mast-phone:hover{background:var(--green-deep)}
.nav-toggle{display:none;width:46px;height:46px;border:1px solid var(--steel-line);background:var(--white);border-radius:2px;padding:0;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink)}

/* ---------- buttons, kicker, tags, links ---------- */
.kicker{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--green-deep);margin-bottom:12px}
.kicker::before{content:"";width:14px;height:14px;background:var(--orange);flex:0 0 14px}
.kicker--light{color:#ffffff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--sans);font-weight:700;font-size:17px;text-decoration:none;padding:13px 22px;border-radius:2px;border:2px solid transparent;cursor:pointer;line-height:1.2;text-align:left}
.btn--green{background:var(--green);color:#fff}
.btn--green:hover{background:var(--green-deep)}
.btn--white{background:#fff;color:var(--green-ink);border-color:#fff}
.btn--white:hover{background:var(--lime)}
.btn--ghost{background:transparent;color:#fff;border-color:#fff}
.btn--lg{padding:15px 24px}
.btn--block{display:flex;width:100%}
.btn--stack svg{width:26px;height:26px}
.btn__txt{display:flex;flex-direction:column}
.btn__num{font-size:1.35rem;font-weight:700;letter-spacing:.01em}
.btn--lg .btn__num{font-size:1.55rem}
.btn__sub{font-size:14.5px;font-weight:500;opacity:.95}
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--steel-line);border-left:5px solid var(--orange);color:var(--ink);font-family:var(--sans);font-weight:600;font-size:15px;padding:7px 12px;border-radius:2px}
.tag svg{color:var(--green)}
.textlink{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-weight:700;font-size:16px;color:var(--green-deep);text-decoration:underline;text-underline-offset:3px}
.textlink--light{color:#fff}
.gbp{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:600;font-size:16px;color:var(--green-deep);border:1px solid var(--steel-line);padding:8px 14px;border-radius:2px;text-decoration:none;background:#fff}
.gbp:hover{border-color:var(--green)}
.gbp--light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.bc{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--ink-2);margin-bottom:14px}
.bc a{color:var(--green-deep)}
.email{overflow-wrap:anywhere}

/* ---------- ledge motif ---------- */
.ledge{line-height:0}
.ledge svg{display:block;width:100%;height:42px}
.ledge--steel path:last-child{fill:#3d4852}
.ledge--foot path:last-child{fill:#1c2b25}
.ledgeframe{position:relative;margin:0 16px 22px 0}
.ledgeframe::before{content:"";position:absolute;left:16px;top:16px;right:-16px;bottom:-16px;background:var(--lime);border:1px solid var(--steel-line)}
.ledgeframe::after{content:"";position:absolute;left:36px;right:-16px;bottom:-22px;height:8px;background:var(--orange)}
.ledgeframe>img,.ledgeframe>iframe{position:relative;z-index:1;width:100%;border:1px solid var(--steel-line)}
.ledgeframe>img{object-fit:cover}
.tm{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;background:var(--orange);color:var(--on-orange);font-family:var(--sans);font-weight:700;font-size:18px;border-radius:2px}

/* ---------- bands ---------- */
.band{padding-top:72px;padding-bottom:72px}
.band--mist{background:var(--mist)}
.band--green{background:var(--green);color:#fff}
.band--green h2,.band--green h3{color:#fff}
.band--green p{color:#ffffff}
.head{max-width:780px;margin-bottom:34px}
.head p{color:var(--ink-2)}
.head--center{margin-left:auto;margin-right:auto;text-align:center}
.head--center .kicker{justify-content:center}

/* ---------- homepage hero ---------- */
.hero{padding-top:52px;padding-bottom:54px;background:var(--white)}
.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}
.hero__promise{font-size:1.2rem;color:var(--ink);max-width:40em}
.hero__media .ledgeframe>img{aspect-ratio:3/2;height:auto}

/* ---------- basement band ---------- */
.bsmt{display:grid;grid-template-columns:1.5fr .8fr;gap:44px;align-items:center}
.bsmt__lead{font-size:1.1rem}
.bsmt__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:22px}
.bsmt__col{border-top:4px solid var(--orange);padding-top:16px}
.bsmt__col p{font-size:17.5px}
.bsmt__ic{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;background:rgba(255,255,255,.14);border-radius:2px;margin-bottom:10px}
.bsmt__ic svg{width:24px;height:24px;color:#fff}
.bsmt__photo{margin:0;border:6px solid #fff}
.bsmt__photo img{width:100%;aspect-ratio:16/10;object-fit:cover}

/* ---------- services rows ---------- */
.svrows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 26px}
.svrow{display:flex;gap:18px;align-items:stretch;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--steel-line);border-top:3px solid var(--steel);padding:12px;border-radius:2px;min-width:0}
.svrow:hover{border-top-color:var(--orange)}
.svrow__img{flex:0 0 150px;width:150px}
.svrow__img img{width:150px;height:120px;object-fit:cover}
.svrow__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.svrow__title{font-family:var(--sans);font-weight:700;font-size:19px;color:var(--green-ink);line-height:1.25}
.svrow__desc{font-size:17px;color:var(--ink);line-height:1.5}
.svrow__go{margin-top:auto;display:inline-flex;align-items:center;gap:4px;font-family:var(--sans);font-weight:700;font-size:15px;color:var(--green-deep)}
.svrow__go svg{width:14px;height:14px}

/* ---------- first steps row ---------- */
.fsrow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:2px solid var(--steel)}
.fs{padding:22px 18px 6px 0;position:relative}
.fs .tm{display:flex;margin-top:-40px;margin-bottom:14px}
.fs h3{font-size:1.05rem;margin-bottom:6px}
.fs p{font-size:17px;color:var(--ink);margin:0}

/* ---------- dry-out ---------- */
.dry{display:grid;grid-template-columns:.7fr 1.3fr;gap:54px;align-items:start}
.dry__photo{margin:0 16px 22px 0}
.dry__side{display:flex;flex-direction:column;gap:18px;max-width:400px}
.dry__photo{max-width:380px}
.dry__photo img{aspect-ratio:4/3}
.spec-table{width:100%;border-collapse:collapse;margin:10px 0 24px}
.spec-table th{font-family:var(--sans);font-weight:700;font-size:17px;color:var(--green-ink);text-align:left;vertical-align:top;padding:14px 16px 14px 0;width:36%;border-top:1px solid var(--steel-line)}
.spec-table th .tm{width:30px;height:30px;flex-basis:30px;font-size:16px;margin-right:10px;vertical-align:middle}
.spec-table td{padding:14px 0;border-top:1px solid var(--steel-line);font-size:17.5px;color:var(--ink)}
.gear-wrap h3{font-size:1.05rem}
.gear{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gear li{font-family:var(--sans);font-weight:600;font-size:16px;background:var(--mist);border:1px solid var(--steel-line);padding:6px 12px;border-radius:2px;color:var(--ink)}
.gear--center{justify-content:center;margin-top:28px}

/* ---------- creek band ---------- */
.creek{background:var(--steel-ink);color:#fff;padding-bottom:70px}
.creek__grid{display:grid;grid-template-columns:1.4fr .7fr;gap:48px;align-items:center;padding-top:42px}
.creek h2{color:#fff}
.creek p,.creek li{color:#ffffff}
.creek__list{padding-left:1.1em}
.creek__list li{margin-bottom:.6em}
.creek__list li::marker{color:var(--orange)}
.creek__links{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.creek__photo{margin:0;border:6px solid #fff}
.creek__photo{max-width:360px}
.creek__photo img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* ---------- why ---------- */
.why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.why__card{background:#fff;border:1px solid var(--steel-line);border-top:6px solid var(--orange);padding:22px 20px}
.why__ic{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;background:var(--mist);border-radius:2px;margin-bottom:12px}
.why__ic svg{width:24px;height:24px;color:var(--green)}
.why__card p{font-size:17.5px;margin:0}

/* ---------- categories ---------- */
.cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cat{background:#fff;border:1px solid var(--steel-line);border-left:10px solid var(--steel);padding:22px 22px 18px;position:relative}
.cat--2{border-left-color:var(--orange)}
.cat--3{border-left-color:var(--green-ink)}
.cat__n{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--mist);font-family:var(--sans);font-weight:700;font-size:20px;color:var(--green-ink);margin-bottom:10px;border:1px solid var(--steel-line)}
.cat p{font-size:17.5px}

/* ---------- cost ledger ---------- */
.answer{font-size:1.18rem;max-width:52em;border-left:5px solid var(--orange);padding-left:18px}
.pl-wrap{overflow-x:auto}
.pl{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--steel-line);margin:6px 0 18px}
.pl caption{text-align:left;font-family:var(--sans);font-weight:600;font-size:15px;color:var(--ink-2);padding:0 0 8px;caption-side:top}
.pl thead th{background:var(--lime);font-family:var(--sans);font-weight:700;font-size:16px;color:var(--green-ink);text-align:left;padding:12px 16px}
.pl tbody th{font-family:var(--sans);font-weight:700;font-size:17px;color:var(--ink);text-align:left;padding:14px 16px;border-top:1px solid var(--steel-line)}
.pl td{padding:14px 16px;border-top:1px solid var(--steel-line);font-size:17.5px;color:var(--ink)}
.pl__range{font-family:var(--sans);font-weight:700;font-size:19px!important;color:var(--green-deep)!important;white-space:nowrap}
.note{font-size:17px;color:var(--ink-2)}

/* ---------- insurance ---------- */
.claim{display:grid;grid-template-columns:1.3fr 1fr;gap:44px;align-items:start}
.claim__list{list-style:none;padding:0}
.claim__list li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.claim__list svg{width:22px;height:22px;flex:0 0 22px;color:var(--green);margin-top:4px}
.claim__note{background:#fff;border:1px solid var(--steel-line);border-left:6px solid var(--orange);padding:24px}
.claim__note p{margin:0;font-size:17.5px}

/* ---------- gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gal__item{margin:0;overflow:hidden;border:1px solid var(--steel-line)}
.gal__item img{width:100%;height:210px;object-fit:cover;object-position:50% 35%}
.gal__item--0,.gal__item--5,.gal__item--6,.gal__item--7{grid-column:span 2}

/* ---------- coverage ---------- */
.cov{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}
.cov__map{margin:0 16px 22px 0}
.cov__map iframe{display:block;background:var(--lime)}
.reach{background:#fff;border:1px solid var(--steel-line);border-top:6px solid var(--green);padding:24px}
.reach h3{font-size:1.25rem}
.reach p{font-size:17.5px}
.reach__g{margin:16px 0 0}
.agroups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:34px}
.agroup{border-top:3px solid var(--steel);padding-top:12px}
.agroup h3{font-size:1.05rem}
.agroup p{font-size:17px;margin:0}
.zipline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;font-family:var(--sans)}
.zipline__lbl{font-weight:700;font-size:15px;color:var(--green-ink);text-transform:uppercase;letter-spacing:.08em}
.zip{background:#fff;border:1px solid var(--steel-line);border-bottom:3px solid var(--orange);padding:5px 12px;font-weight:700;font-size:16px;color:var(--ink)}
.zipline__near{font-family:var(--serif);font-size:17px;color:var(--ink)}
.cov-mini{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.cov-mini__note p{font-size:17.5px}

/* ---------- local risk ---------- */
.local{display:grid;grid-template-columns:1.3fr .8fr;gap:48px;align-items:center}
.risk{list-style:none;padding:0}
.risk li{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.risk svg{width:24px;height:24px;flex:0 0 24px;color:var(--green);margin-top:3px}
.local__photo{margin:0 16px 22px 0}
.local__photo img{aspect-ratio:3/2}

/* ---------- FAQ ---------- */
.faq{max-width:900px}
.faq__strip{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border-top:1px solid var(--steel-line);border-right:1px solid var(--steel-line);border-bottom:1px solid var(--steel-line);border-left:6px solid var(--orange);padding:16px 20px;margin-bottom:22px;flex-wrap:wrap}
.faq__strip p{margin:0;font-size:17.5px;flex:1 1 320px}
.faq__list details{border-top:1px solid var(--steel-line)}
.faq__list details:last-child{border-bottom:1px solid var(--steel-line)}
.faq__list summary{font-family:var(--sans);font-weight:700;font-size:18.5px;color:var(--green-ink);padding:16px 36px 16px 0;cursor:pointer;list-style:none;position:relative;line-height:1.35}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:26px;color:var(--green)}
.faq__list details[open] summary::after{content:"\2212"}
.faq__a p{margin:0 0 18px;color:var(--ink)}

/* ---------- closer ---------- */
.closer{background:var(--green);color:#fff;padding-bottom:64px}
.closer__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding-top:40px}
.closer h2{color:#fff}
.closer p{color:#ffffff}
.closer__act{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.closer__meta{font-family:var(--sans);font-size:16.5px;margin:0}

/* ---------- inner page hero ---------- */
.p-hero{background:var(--mist);padding-top:44px;padding-bottom:40px}
.p-hero__lead{font-size:1.15rem;max-width:44em}
.p-hero .btn,.p-hero .gbp{margin-top:6px}

/* ---------- service page ---------- */
.sv-hero{background:var(--mist);padding-top:40px;padding-bottom:46px;border-bottom:1px solid var(--steel-line)}
.sv-hero__grid{display:grid;grid-template-columns:.95fr 1.05fr;grid-template-areas:"media copy";gap:48px;align-items:center}
.sv-hero__copy{grid-area:copy}
.sv-hero__media{grid-area:media}
.sv-hero__media .ledgeframe>img{aspect-ratio:7/5}
.sv-hero__lead{font-size:1.15rem}
.specs{background:var(--white);padding-top:26px;padding-bottom:6px}
.specs__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.spec{border:1px solid var(--steel-line);border-top:5px solid var(--orange);padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.spec__k{font-family:var(--sans);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.07em;color:var(--green-deep)}
.spec__v{font-size:17px;color:var(--ink);line-height:1.4}
.svbody{display:grid;grid-template-columns:1.65fr 1fr;gap:48px;align-items:start}
.prose h2{margin-top:1.3em;font-size:clamp(1.4rem,2.4vw,1.8rem)}
.prose h2:first-child{margin-top:0}
.prose a{color:var(--green-deep);text-decoration:underline;text-underline-offset:2px}
.prose li{margin-bottom:.35em}
.bk-callout{background:var(--mist);border-left:6px solid var(--orange);padding:16px 20px;margin:1.2em 0}
.bk-callout p{margin:0}
.svaside{position:sticky;top:110px;display:flex;flex-direction:column;gap:18px}
.svaside__box{border:1px solid var(--steel-line);border-top:5px solid var(--steel);padding:20px}
.svaside__h{font-size:1.2rem;margin-bottom:14px}
.firststeps{list-style:none;padding:0;margin:0}
.firststeps li{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.firststeps .tm{width:30px;height:30px;flex-basis:30px;font-size:16px}
.firststeps b{font-family:var(--sans);font-size:17px;color:var(--green-ink)}
.firststeps p{margin:2px 0 0;font-size:16.5px;line-height:1.5}
.svaside__box--green{background:var(--green);border-color:var(--green);border-top-color:var(--orange);color:#fff}
.svaside__box--green h3{color:#fff}
.facts{list-style:none;padding:0;margin:0 0 16px}
.facts li{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;font-size:16.5px;line-height:1.5;color:#ffffff}
.facts svg{width:20px;height:20px;flex:0 0 20px;margin-top:3px;color:#fff}
.trail{list-style:none;padding:0;margin:0}
.trail--row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;position:relative}
.trail--row::before{content:"";position:absolute;left:18px;right:18px;top:17px;height:2px;background:var(--steel)}
.trail__item{position:relative}
.trail__item .tm{position:relative;z-index:1;margin-bottom:14px}
.trail__body h3{font-size:1.1rem;margin-bottom:6px}
.trail__body p{font-size:17px;margin:0}
.relcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.relcard{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--steel-line);padding:10px;text-decoration:none;color:var(--green-ink);min-width:0}
.relcard__img{flex:0 0 96px}
.relcard__img img{width:96px;height:72px;object-fit:cover}
.relcard__t{font-family:var(--sans);font-weight:700;font-size:17px;flex:1 1 auto;min-width:0}
.relcard__go svg{width:18px;height:18px;color:var(--orange)}

/* ---------- about / contact / area / legal / sitemap / tools ---------- */
.split{display:grid;grid-template-columns:1.2fr .9fr;gap:48px;align-items:center}
.split__photo{margin:0 16px 22px 0}
.cards4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.info-card{border:1px solid var(--steel-line);border-top:5px solid var(--orange);padding:20px;min-width:0}
.info-card h3{display:flex;align-items:center;gap:8px}
.info-card h3 svg{width:20px;height:20px;color:var(--green)}
.info-card p{font-size:17px}
.info-card__big{font-family:var(--sans);font-weight:700;font-size:1.3rem;color:var(--green-deep);text-decoration:none}
.area-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.area-card{border:1px solid var(--steel-line);padding:20px;min-width:0}
.area-card .tm{margin-bottom:12px}
.area-card__zip{font-family:var(--sans);font-weight:700;font-size:15px;color:var(--green-deep);margin-bottom:6px}
.area-card p{font-size:17px}
.legal{max-width:860px}
.legal h2{font-size:1.4rem;margin-top:1.4em}
.sitemap-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.sitemap-groups h2{font-size:1.2rem}
.sitemap-groups ul{padding-left:1.1em}
.sitemap-groups li{margin-bottom:6px;font-size:17px}
.tool{display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:start}
.calc{border:1px solid var(--steel-line);padding:24px;min-width:0}
.calc__field{margin-bottom:18px}
.calc__field label{display:block;font-family:var(--sans);font-weight:700;font-size:17px;color:var(--green-ink);margin-bottom:6px}
.calc__field select{width:100%;max-width:100%;font-family:var(--serif);font-size:18px;padding:10px 12px;border:1px solid var(--steel);border-radius:2px;background:#fff;color:var(--ink)}
.calc__out{background:var(--green);color:#fff;padding:24px;min-width:0}
.calc__out h3{color:#fff}
.calc__out p{color:#ffffff;font-size:17px}
.calc__result{font-family:var(--sans);font-weight:700;font-size:2rem;margin:4px 0 10px;color:#fff}
.calc__note{margin-top:14px;font-size:16px}
.tool__how{max-width:860px;margin-top:40px}
.tool__how a{color:var(--green-deep)}

/* ---------- map strip + footer + callbar ---------- */
.map-strip{line-height:0;border-top:1px solid var(--steel-line)}
.map-strip iframe{display:block}
.site-footer{background:var(--foot);color:#e9efec}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;padding-top:40px;padding-bottom:26px}
.foot-name{display:block;font-family:var(--sans);font-weight:700;font-size:21px;color:#fff;margin-bottom:10px}
.site-footer p{font-size:16.5px;color:#e9efec}
.site-footer h3{color:#fff;font-size:1.05rem}
.site-footer a{color:#fff}
.foot-list{list-style:none;padding:0;margin:0}
.foot-list li{margin-bottom:8px;font-size:16.5px}
.foot-list a{text-decoration:none}
.foot-list a:hover{text-decoration:underline}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;border-top:1px solid rgba(255,255,255,.2);padding-top:16px;font-family:var(--sans);font-size:15px}
.foot-disc{padding-bottom:20px;margin-top:10px}
.foot-disc a{font-family:var(--sans);font-size:15px}
.callbar{display:none}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .nav>a,.drop>a{padding:10px 8px;font-size:16px}
  .masthead{gap:16px}
}
@media (max-width:1020px){
  .nav-toggle{display:inline-flex}
  .nav{display:none;position:fixed;inset:0;z-index:120;background:var(--green-ink);flex-direction:column;align-items:stretch;gap:0;padding:70px 24px 90px;overflow-y:auto;margin:0}
  body.is-menu{overflow:hidden}
  body.is-menu .nav{display:flex}
  body.is-menu .site-header{z-index:130}
  .menu-close{display:inline-flex;position:absolute;top:14px;right:16px;width:46px;height:46px;align-items:center;justify-content:center;background:transparent;border:2px solid #fff;border-radius:2px;cursor:pointer;color:#fff}
  .menu-close svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round}
  .nav>a,.drop>a{color:#fff;font-size:19px;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.18);display:block}
  .drop{position:static}
  .drop__menu{position:static;border:0;background:transparent;min-width:0;max-height:none;padding:4px 0 10px 12px}
  .drop__menu a{color:#eef3f0;font-size:17px;padding:9px 4px}
  .drop__menu a:hover{background:transparent;color:#fff}
  .nav>a:hover,.drop>a:hover,.drop.is-open>a{color:#fff}
  .mast-phone small{display:none}
  .hero__grid,.bsmt,.dry,.creek__grid,.claim,.cov,.cov-mini,.local,.closer__grid,.split,.tool,.svbody{grid-template-columns:1fr}
  .sv-hero__grid{grid-template-columns:1fr;grid-template-areas:"copy" "media"}
  .svaside{position:static}
  .why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .agroups{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fsrow{grid-template-columns:repeat(2,minmax(0,1fr));border-top:0;gap:18px}
  .fs{border-top:2px solid var(--steel);padding-right:0}
  .foot-grid{grid-template-columns:1fr 1fr}
  .cards4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dry__photo,.local__photo,.split__photo{max-width:460px}
  .creek__photo{max-width:340px}
  .bsmt__photo{max-width:460px}
}
@media (max-width:760px){
  :root{--gutter:18px}
  body{font-size:18px;padding-bottom:62px}
  .band{padding-top:52px;padding-bottom:52px}
  .topline{display:none}
  .masthead{min-height:66px;gap:10px}
  .brand__mark{width:40px;height:40px;flex-basis:40px}
  .brand__name{font-size:21px}
  .brand__sub{font-size:12.5px}
  .mast-phone{padding:8px 10px}
  .mast-phone__num{font-size:16px}
  .mast-phone svg{width:18px;height:18px}
  .hero{padding-top:30px}
  .svrows,.bsmt__cols,.why,.cats,.agroups,.relcards,.area-cards,.sitemap-groups,.cards4,.specs__row{grid-template-columns:1fr}
  .specs__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svrow__img{flex-basis:108px;width:108px}
  .svrow__img img{width:108px;height:96px}
  .fsrow{grid-template-columns:1fr}
  .trail--row{grid-template-columns:1fr;gap:18px}
  .trail--row::before{left:17px;right:auto;top:18px;bottom:18px;width:2px;height:auto}
  .trail__item{display:flex;gap:14px}
  .gal{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gal__item img{height:150px}
  .gal__item--0,.gal__item--5,.gal__item--6,.gal__item--7{grid-column:auto}
  .gal__item--0,.gal__item--7{grid-column:span 2}
  .spec-table th,.spec-table td{display:block;width:auto;padding-right:0}
  .spec-table td{border-top:0;padding-top:0}
  .pl thead{display:none}
  .pl,.pl tbody,.pl tr,.pl th,.pl td{display:block;width:100%}
  .pl tr{border-top:1px solid var(--steel-line);padding:10px 14px}
  .pl caption{display:block;width:auto;padding:10px 14px 4px}
  .pl tbody th,.pl td{border:0;padding:4px 0}
  .foot-grid{grid-template-columns:1fr}
  .callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--green);border-top:4px solid var(--orange);padding-bottom:env(safe-area-inset-bottom,0)}
  .callbar a{display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;text-decoration:none;font-family:var(--sans);font-weight:700;font-size:17px;padding:12px 10px}
  .callbar svg{width:20px;height:20px}
  .btn--lg .btn__num{font-size:1.35rem}
  .faq__strip .btn{width:100%}
  .ledgeframe{margin-right:12px}
  .ledgeframe::before{right:-12px}
  .ledgeframe::after{right:-12px}
}
@media (max-width:400px){
  .brand__sub{display:none}
  .brand__name{font-size:20px}
  .mast-phone{padding:7px 8px}
  .mast-phone__num{font-size:15px}
  .specs__row{grid-template-columns:1fr}
}

/* ---- claremont-ca additions: components the donor never had (town hubs, service areas, blog), donor language ---- */
.cov__more{margin:18px 0 0}
.local__event{font-size:17px;color:var(--ink-2);border-left:5px solid var(--orange);padding-left:14px;margin-top:18px}
.zipline .tag{font-size:14px;padding:5px 10px}
.zipline a.tag{color:var(--green-deep);text-decoration:none}
.reach .tags{margin:8px 0 16px}
.bk-callout .btn{margin-top:12px}
.relcard--plain{color:var(--ink-2)}
.relcard__img--icon{display:flex;align-items:center;justify-content:center;width:96px;height:72px;background:var(--mist)}
.relcard__img--icon svg{width:30px;height:30px;color:var(--green)}
.relcards--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.post-wrap{max-width:760px}
.post-meta{font-family:var(--sans);font-size:15px;color:var(--ink-2);margin:0}
.post-empty{font-size:1.1rem}
.post-list{list-style:none;padding:0;margin:0}
.post-card{border-bottom:1px solid var(--steel-line);padding:18px 0}
.post-card h2{font-size:1.35rem;margin:.2em 0 .3em}
.post-card h2 a{color:var(--green-ink);text-decoration:none}
.post-card p{margin:0;font-size:17px}
.article{max-width:680px;margin:0 auto}
.art-fig{margin:0 0 22px}
.art-fig img{display:block;width:100%;height:auto;border:1px solid var(--steel-line)}
.art-lede{font-size:1.15rem}
.takeaways{background:var(--mist);border-left:6px solid var(--green);padding:18px 22px;margin:0 0 24px}
.takeaways h2{font-size:1.25rem;margin-bottom:.4em}
.takeaways ul{list-style:none;padding:0;margin:0}
.takeaways li{display:flex;gap:10px;align-items:flex-start;margin-bottom:8px;font-size:17.5px}
.takeaways svg{width:20px;height:20px;flex:0 0 20px;margin-top:4px;color:var(--green)}
.toc{border:1px solid var(--steel-line);padding:14px 20px;margin:0 0 26px}
.toc__h{font-family:var(--sans);font-weight:700;color:var(--green-ink);margin:0 0 6px}
.toc ol{margin:0;padding-left:20px;font-size:17px}
.toc a,.art-sec p a,.art-list a,.art-lede a,.takeaways li a{color:var(--green-deep);text-decoration:underline;text-underline-offset:2px}
.art-sec{margin-bottom:10px}
.art-sec h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-top:1.2em}
.art-sec h3{font-size:1.2rem;margin-top:1em}
.art-list{padding-left:22px}
.art-list li{margin-bottom:.35em}
.art-call{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;background:var(--green);color:#fff;border-top:5px solid var(--orange);padding:20px 22px;margin:26px 0}
.art-call p{margin:0;color:#fff}
.art-call__h{font-family:var(--sans);font-weight:700;font-size:1.2rem}
.related-pages{margin-top:34px}
.related-pages h2{font-size:1.35rem}
@media (max-width:760px){
  .relcards--2{grid-template-columns:1fr}
  .art-call{display:block}
  .art-call .btn{margin-top:12px;width:100%}
}
.prose .bk-callout a.btn--green{color:#fff;text-decoration:none}
@media (max-width:400px){
  .brand{gap:8px}
  .brand__mark{width:34px;height:34px;flex-basis:34px}
  .brand__name{font-size:18px}
  .mast-cta{gap:6px}
  .mast-phone{gap:6px}
  .mast-phone svg{width:18px;height:18px}
  .nav-toggle{width:42px;height:42px}
}
