/* Milwaukee Foundation & Waterproofing — civic ledger, two-column sticky-left-rail.
   Design system: Spectral (serif headings/wordmark) + Schibsted Grotesk (sans body/UI).
   Sturdy Midwest palette, hairline ruled ledgers, square corners, one brick accent.
   Deliberately unlike every sibling site (which are band-stack / card / editorial). */

/* ---------- fonts ---------- */
@font-face{font-family:'Spectral';src:url(../fonts/spectral-400.woff2?v=6ec19007) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Spectral';src:url(../fonts/spectral-600.woff2?v=ccd396b9) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Spectral';src:url(../fonts/spectral-700.woff2?v=456f29ac) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Schibsted Grotesk';src:url(../fonts/schibsted-grotesk.woff2?v=c5e9a990) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}

/* ---------- tokens ---------- */
:root{
  --ink:#16202A;         /* body ink, ~13:1 on ground */
  --navy:#1B3A5B;        /* dark ground / headings */
  --navy-2:#14304b;
  --brick:#A6452B;       /* one warm accent (buttons/ticks) */
  --brick-ink:#8A3A24;   /* darker accent for small text on light (>=4.5:1) */
  --ground:#F4F1EA;      /* page paper */
  --panel:#FFFFFF;       /* cards/table/rail */
  --line:#D3CCBC;        /* hairline rules */
  --line-2:#E4DECF;
  --tint:#ECE7DB;        /* zebra / faint band */
  --ink-2:#3B4650;       /* secondary text, still >=7:1 on light */
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);
  font-family:'Schibsted Grotesk',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:'Spectral',Georgia,serif;color:var(--navy);line-height:1.2;margin:0 0 .5em;font-weight:700}
h1{font-size:2rem;letter-spacing:-.01em}
h2{font-size:1.5rem}
h3{font-size:1.15rem}
p{margin:0 0 1em}
img{max-width:100%;height:auto;display:block}
a{color:var(--brick-ink)}
.prose a,.explain a,.cost__answer a,.review p a,.foot-nap a,.nap__row a{text-decoration:underline}
[hidden]{display:none!important}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:8px 14px;z-index:200}
.skip-link:focus{left:8px;top:8px}

/* ---------- top header (horizontal, full-width nav) ---------- */
.site-head{position:sticky;top:0;z-index:120;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(22,32,42,.05)}
.head__row{max-width:1200px;margin:0 auto;padding:11px 24px;display:flex;align-items:center;gap:26px}
.brand{display:flex;gap:11px;align-items:center;text-decoration:none;flex:none}
.brand__mark{flex:none}
.brand__name{font-family:'Spectral',serif;font-weight:700;color:var(--navy);font-size:1.14rem;line-height:1.04;display:block}
.brand__sub{display:block;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;color:var(--brick-ink);font-weight:700;margin-top:3px}

/* horizontal primary nav + click-pinned dropdowns (<details>) */
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav>a,.drop>summary{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;font-weight:600;color:var(--navy);text-decoration:none;font-size:.95rem;cursor:pointer;white-space:nowrap;border-radius:3px}
.nav>a:hover,.drop>summary:hover{color:var(--brick-ink);background:var(--tint)}
.drop{position:relative}
.drop>summary{list-style:none}
.drop>summary::-webkit-details-marker{display:none}
.drop>summary::after{content:"";width:6px;height:6px;border-right:2px solid var(--brick);border-bottom:2px solid var(--brick);transform:rotate(45deg);margin-top:-3px;flex:none}
.drop[open]>summary::after{transform:rotate(-135deg);margin-top:1px}
.drop__menu{position:absolute;top:100%;left:0;min-width:282px;max-height:min(72vh,560px);overflow-y:auto;overscroll-behavior:contain;
  background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--brick);border-radius:0 0 3px 3px;
  box-shadow:0 14px 32px rgba(22,32,42,.16);padding:6px;z-index:130}
.drop__menu a{display:block;padding:8px 12px;font-size:.9rem;font-weight:500;color:var(--ink);text-decoration:none;border-radius:3px}
.drop__menu a:hover{background:var(--tint);color:var(--brick-ink)}

/* header phone = the ONE CTA (prominent, real tel:) */
.head__cta{display:flex;align-items:center;gap:12px;flex:none;margin-left:6px}
.head__phone{display:flex;flex-direction:column;line-height:1.04;text-decoration:none;
  border:1px solid var(--line);border-top:3px solid var(--brick);border-radius:3px;padding:7px 16px;background:var(--panel)}
.head__phone b{font-family:'Spectral',serif;font-weight:700;color:var(--brick-ink);font-size:1.18rem;letter-spacing:.01em}
.head__phone small{font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-top:2px}
.head__menu{display:none}
.nav__close{display:none}

.callbtn{display:block;text-align:center;background:var(--brick);color:#fff;text-decoration:none;
  font-weight:700;border-radius:3px;padding:12px 14px;font-size:1.18rem;letter-spacing:.01em}
.callbtn small{display:block;font-weight:500;font-size:.72rem;letter-spacing:.04em;color:#F3E2DA;margin-top:2px}
.stars{color:var(--brick);letter-spacing:1px;font-size:.95rem}
.stars b,.rating b{color:var(--ink)}
.dot{width:9px;height:9px;border-radius:50%;background:#2f9e5b;box-shadow:0 0 0 3px rgba(47,158,91,.2);flex:none}

@media(max-width:1060px){
  .head__row{gap:14px;padding:11px 18px}
  .nav>a,.drop>summary{padding:9px 9px;font-size:.9rem;gap:6px}
}
@media(max-width:960px){
  .head__row{padding:10px 16px;gap:12px}
  .head__menu{display:inline-flex;align-items:center;justify-content:center;appearance:none;background:transparent;
    border:1px solid var(--line);border-radius:3px;color:var(--navy);width:44px;height:42px;font-size:1.4rem;line-height:1;cursor:pointer;flex:none;order:3}
  .head__cta{margin-left:auto}
  .head__phone{padding:6px 12px}
  .head__phone b{font-size:1.04rem}
  /* nav becomes a full-screen drawer; hidden (display:none) when closed so it
     never contributes to scroll width (banned: off-canvas translateX overflow) */
  .nav{display:none;position:fixed;inset:0;z-index:135;margin:0;flex-direction:column;align-items:stretch;justify-content:flex-start;
    background:var(--panel);padding:18px 20px 30px;gap:0;overflow-y:auto}
  body.is-menu .nav{display:flex;box-shadow:0 0 0 100vmax rgba(20,32,42,.5)}
  body.is-menu{overflow:hidden}
  .nav__close{display:block;margin:0 0 8px auto;background:transparent;border:1px solid var(--line);border-radius:3px;width:42px;height:40px;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--ink)}
  .nav>a,.drop>summary{width:100%;border-bottom:1px solid var(--line-2);border-radius:0;font-size:1.05rem;padding:14px 6px;background:transparent}
  .drop{width:100%}
  .drop>summary::after{margin-left:auto}
  .drop__menu{position:static;box-shadow:none;border:0;border-top:0;min-width:0;max-height:none;padding:2px 0 10px 14px}
  .drop__menu a{padding:10px 8px;font-size:.98rem}
}
@media(max-width:600px){
  /* phones: the prominent phone CTA is the sticky bottom call-bar, so the header
     row is just brand + hamburger (keeps the header from wrapping / overflowing) */
  .head__phone{display:none}
  .brand__name{font-size:1.05rem}
}

/* ---------- content column (full width, centered) ---------- */
.col{max-width:1200px;margin:0 auto;padding:0 24px 60px;background:var(--ground);min-width:0}
.col.page{max-width:920px}   /* service / tool / about / legal = focused editorial measure */
@media(max-width:960px){.col{padding:0 16px 48px}}

/* ---------- section scaffolding ---------- */
.sec{padding:30px 0;border-top:1px solid var(--line)}
.sec:first-of-type{border-top:0}
.sec__eyebrow{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brick-ink);font-weight:700;margin:0 0 6px}
.sec__head h2{margin-bottom:.15em}
.sec__head p{color:var(--ink-2);margin:0 0 .4em;max-width:60ch}
.rule{height:0;border:0;border-top:2px solid var(--navy);width:52px;margin:8px 0 18px}

/* ---------- hero (real image + simple CRO-first copy) ---------- */
.hero{padding:28px 0 10px;border-top:0}
.hero__wrap{display:grid;grid-template-columns:1fr minmax(300px,440px);gap:40px;align-items:center}
.hero h1{font-size:2.45rem;max-width:15ch;margin-bottom:.2em}
.hero__sub{font-size:1.12rem;color:var(--ink);max-width:46ch;margin:0 0 18px}
.hero__cta{display:inline-flex;align-items:center;gap:11px;background:var(--brick);color:#fff;text-decoration:none;
  font-weight:700;border-radius:3px;padding:15px 24px;font-size:1.22rem;letter-spacing:.01em}
.hero__cta:hover{background:#94371f}
.hero__cta small{display:block;font-weight:500;font-size:.7rem;letter-spacing:.05em;color:#F3E2DA;margin-top:2px}
.hero__cta svg{width:1.05em;height:1.05em;fill:currentColor;flex:none}
.hero__trust{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:18px;font-size:.92rem;color:var(--ink)}
.hero__trust span{display:inline-flex;align-items:center;gap:7px}
.hero__trust b{color:var(--ink)}
.hero__trust svg{width:15px;height:15px;fill:var(--brick-ink);flex:none}
.hero__media{margin:0;border:1px solid var(--line);border-top:4px solid var(--brick);border-radius:3px;overflow:hidden;background:var(--panel)}
.hero__media img{width:100%;height:100%;max-height:380px;object-fit:cover;display:block}
@media(max-width:860px){
  .hero{padding:20px 0 6px}
  .hero__wrap{grid-template-columns:1fr;gap:20px}
  .hero__media{order:-1;max-width:600px}
  .hero h1{font-size:2rem}
}
.lead{font-size:1.1rem;color:var(--ink);max-width:62ch}
.mh-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:16px}
/* ---------- interior page title (about / contact / legal / service-area) ---------- */
.masthead{padding:30px 0 10px;border-top:0}
.masthead h1{font-size:2.1rem;max-width:20ch;margin-bottom:.25em}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700;border-radius:3px;padding:11px 18px;font-size:1rem;cursor:pointer;border:1px solid transparent}
.btn svg{width:1.1em;height:1.1em;flex:none}
.btn--call{background:var(--brick);color:#fff}
.btn--call:hover{background:#94371f}
.btn--ghost{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn--ghost:hover{background:var(--navy);color:#fff}
.btn--lg{padding:14px 22px;font-size:1.08rem}

/* ---------- proof strip ---------- */
.proof{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--panel)}
.proof__cell{padding:14px 14px;border-left:1px solid var(--line-2)}
.proof__cell:first-child{border-left:0}
.proof__n{font-family:'Spectral',serif;font-weight:700;font-size:1.55rem;color:var(--navy);display:block;line-height:1}
.proof__l{font-size:.82rem;color:var(--ink-2);margin-top:4px}
@media(max-width:620px){.proof{grid-template-columns:1fr 1fr}.proof__cell:nth-child(3){border-left:0}}

/* ---------- SERVICES: image card grid (every card its own photo) ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svc-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:3px;overflow:hidden;
  background:var(--panel);text-decoration:none;color:var(--ink);transition:box-shadow .15s ease,transform .15s ease}
.svc-card:hover{box-shadow:0 10px 24px rgba(22,32,42,.13);transform:translateY(-2px)}
.svc-card__img{width:100%;height:152px;object-fit:cover;display:block}
.svc-card__body{padding:13px 15px 15px;display:flex;flex-direction:column;flex:1;border-top:3px solid var(--brick)}
.svc-card__name{font-family:'Spectral',serif;font-weight:700;color:var(--navy);font-size:1.08rem;line-height:1.16;margin:0 0 5px}
.svc-card__cov{font-size:.92rem;color:var(--ink);margin:0 0 12px;flex:1}
.svc-card__go{font-weight:700;color:var(--brick-ink);font-size:.86rem;display:inline-flex;align-items:center;gap:5px}
.svc-card__go svg{width:14px;height:14px;fill:currentColor}
@media(max-width:820px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.svc-grid{grid-template-columns:1fr}.svc-card__img{height:180px}}

/* ---------- steps ---------- */
.steps{border:1px solid var(--line);border-radius:3px;background:var(--panel)}
.step{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start;padding:14px 16px;border-top:1px solid var(--line-2)}
.step:first-child{border-top:0}
.step__n{width:40px;height:40px;border-radius:3px;background:var(--navy);color:#fff;font-family:'Spectral',serif;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.step h3{margin:2px 0 .2em}
.step p{margin:0;font-size:.95rem;color:var(--ink)}

/* ---------- explainer ---------- */
.explain h3{margin-top:1.1em}
.explain p,.explain li{color:var(--ink)}
.explain ul{padding-left:1.1em;margin:0 0 1em}
.explain li{margin:.3em 0}
.callout{border:1px solid var(--line);border-left:4px solid var(--brick);background:var(--panel);border-radius:3px;padding:16px 18px;margin:18px 0}
.callout h3{margin:0 0 .3em}
.callout p{margin:0;color:var(--ink)}

/* ---------- coverage ---------- */
.cov-map{width:100%;height:320px;border:1px solid var(--line);border-radius:3px}
.cov-cap{font-size:.8rem;color:var(--ink-2);margin:6px 0 16px;display:flex;align-items:center;gap:6px}
.cov-cap svg{width:15px;height:15px;fill:var(--brick)}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 14px}
.chip{background:var(--panel);border:1px solid var(--line);border-radius:3px;padding:4px 10px;font-size:.86rem;color:var(--ink)}
.nbhd h3{font-size:.95rem;margin:14px 0 6px}
.zipgrid{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.zip{font-family:'Schibsted Grotesk',monospace;font-size:.8rem;background:var(--tint);border:1px solid var(--line-2);border-radius:3px;padding:3px 8px;color:var(--ink)}
.cov-note{font-size:.92rem;color:var(--ink);margin-top:8px}

/* ---------- recent work ---------- */
.work__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.work__item{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--panel)}
.work__item img{width:100%;height:120px;object-fit:cover}
@media(max-width:620px){.work__grid{grid-template-columns:1fr 1fr}}
.case{border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:3px;background:var(--panel);padding:14px 16px;margin-top:12px}
.case h3{font-size:1rem;margin:0 0 .3em}
.case__meta{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brick-ink);font-weight:700;margin-bottom:6px}
.case p{margin:0;font-size:.94rem;color:var(--ink)}

/* ---------- reviews ---------- */
.review{border:1px solid var(--line);border-left:4px solid var(--brick);border-radius:3px;background:var(--panel);padding:14px 16px;margin-top:12px}
.review p{margin:0 0 8px;font-size:.98rem;color:var(--ink)}
.review__by{font-size:.85rem;color:var(--ink-2)}
.review__by b{color:var(--ink)}
.review__by .stars{margin-right:8px}

/* ---------- cost ---------- */
.cost__answer{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--navy);border-radius:3px;padding:14px 16px;font-size:1.02rem;color:var(--ink);margin-bottom:14px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tier{border:1px solid var(--line);border-radius:3px;background:var(--panel);padding:14px}
.tier h3{font-size:1rem;margin:0 0 .2em}
.tier__p{font-family:'Spectral',serif;font-weight:700;color:var(--brick-ink);font-size:1.3rem}
.tier p{font-size:16px;color:var(--ink);margin:.3em 0 0}
@media(max-width:620px){.tiers{grid-template-columns:1fr}}

/* ---------- faq ---------- */
.faqcol{columns:2;column-gap:20px}
.faq-item{break-inside:avoid;border:1px solid var(--line);border-radius:3px;background:var(--panel);margin:0 0 10px}
.faq-item summary{cursor:pointer;font-weight:700;color:var(--navy);padding:12px 14px;list-style:none;font-family:'Spectral',serif}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";float:right;color:var(--brick);font-weight:700}
.faq-item[open] summary::after{content:"–"}
.faq-item>div{padding:0 14px 12px}
.faq-item p{margin:0;font-size:.96rem;color:var(--ink)}
@media(max-width:720px){.faqcol{columns:1}}

/* ---------- insurance ---------- */
.logos{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:10px}
.logos img{height:30px;width:auto;max-height:30px;opacity:.9}
.logos img.iicrc{height:38px;max-height:38px}

/* ---------- dispatch (dark) ---------- */
.dispatch{background:var(--navy);color:#F4F1EA;border-radius:3px;padding:22px 22px;margin-top:26px;
  display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:center}
.dispatch h2,.dispatch h3{color:#fff}
.dispatch .sec__eyebrow{color:#EBBBA6}
.dispatch p{color:#E6E0D5}
.dispatch .callbtn{margin-top:10px}
.nap{border:1px solid rgba(255,255,255,.25);border-radius:3px;padding:14px 16px}
.nap__name{font-family:'Spectral',serif;font-weight:700;color:#fff;display:block;margin-bottom:6px}
.nap__row{display:flex;gap:8px;align-items:flex-start;color:#E6E0D5;font-size:.92rem;margin:6px 0}
.nap__row svg{width:16px;height:16px;fill:#EBBBA6;flex:none;margin-top:3px}
.nap__row a{color:#fff}
@media(max-width:700px){.dispatch{grid-template-columns:1fr}}

/* ---------- callridge (thin brick strip) ---------- */
.callridge{background:var(--brick);color:#fff;border-radius:3px;padding:12px 16px;margin:22px 0;font-weight:600;font-size:1rem}
.callridge a{color:#fff;text-decoration:underline}

/* ---------- service / tool article (two-column: mini content) ---------- */
.bc{font-size:.82rem;color:var(--ink-2);margin:24px 0 10px}
.bc a{color:var(--brick-ink);text-decoration:none}
.art__hero{width:100%;max-width:none;height:320px;object-fit:cover;border:1px solid var(--line);border-top:4px solid var(--brick);border-radius:3px;margin:0 0 14px}
.art h1{font-size:2rem;max-width:20ch}
.trust-row{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}
.trust-chip{border:1px solid var(--line);border-radius:3px;padding:4px 10px;font-size:.82rem;color:var(--ink);background:var(--panel)}
.ataglance{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:3px;background:var(--panel);margin:16px 0}
.ataglance__item{padding:12px 14px;border-left:1px solid var(--line-2)}
.ataglance__item:first-child{border-left:0}
.ataglance__k{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brick-ink);font-weight:700}
.ataglance__v{display:block;font-size:.92rem;color:var(--ink);margin-top:3px}
@media(max-width:620px){.ataglance{grid-template-columns:1fr 1fr}.ataglance__item:nth-child(3){border-left:0}}
.prose{max-width:66ch}
.prose h2{margin-top:1.2em}
.prose p,.prose li{color:var(--ink);font-size:1.02rem}
.prose ul{padding-left:1.1em}
.prose li{margin:.35em 0}
.quote{border:1px solid var(--line);border-left:4px solid var(--brick);border-radius:3px;background:var(--panel);padding:14px 16px;margin:20px 0;max-width:66ch}
.quote p{margin:0 0 8px;font-style:italic;color:var(--ink)}
.quote cite{font-style:normal;font-weight:700;font-size:.85rem;color:var(--ink-2)}
.callcard{border:1px solid var(--line);border-top:3px solid var(--brick);border-radius:3px;background:var(--panel);padding:16px;margin:18px 0;max-width:66ch}
.callcard p{margin:0 0 10px;color:var(--ink)}
.related-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:8px}
.related-list a{border:1px solid var(--line);border-radius:3px;background:var(--panel);padding:12px 14px;text-decoration:none;color:var(--navy);font-family:'Spectral',serif;font-weight:700;font-size:.98rem}
.related-list a span{display:block;font-family:'Schibsted Grotesk',sans-serif;font-weight:600;font-size:.8rem;color:var(--brick-ink);margin-top:4px}
@media(max-width:620px){.related-list{grid-template-columns:1fr}}

/* ---------- tools ---------- */
.tool{border:1px solid var(--line);border-radius:3px;background:var(--panel);padding:18px}
.tool__grid{display:grid;gap:16px}
.optgroup{border-top:1px solid var(--line-2);padding-top:12px}
.optgroup:first-child{border-top:0;padding-top:0}
.field,.optgroup__legend{display:block;font-weight:700;color:var(--navy);margin-bottom:8px;font-family:'Spectral',serif}
.tool select{width:100%;padding:10px;border:1px solid var(--line);border-radius:3px;font:inherit;color:var(--ink);background:var(--ground)}
.opt-row{display:flex;flex-wrap:wrap;gap:8px}
.opt{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:3px;padding:8px 12px;font-size:.92rem;background:var(--ground)}
.opt input{accent-color:var(--brick)}
.tool__result{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.result{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.result .k{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brick-ink);font-weight:700}
.result__value{font-family:'Spectral',serif;font-weight:700;font-size:1.7rem;color:var(--navy)}
.tool-note{font-size:16px;color:var(--ink-2);margin:10px 0}

/* ---------- about / contact helpers ---------- */
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:10px 0}
.card{border:1px solid var(--line);border-radius:3px;background:var(--panel);padding:16px}
.card h3{margin:0 0 .3em}
.card p{margin:0;color:var(--ink);font-size:.96rem}
@media(max-width:620px){.cards2{grid-template-columns:1fr}}
.gbp-badge{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--brick-ink);font-weight:700;text-decoration:none;font-size:.92rem}
.gbp-badge svg{width:18px;height:18px;fill:var(--brick-ink)}

/* ---------- footer ---------- */
.site-footer{background:var(--navy);color:#E6E0D5;margin-top:10px}
.site-footer .wrap{max-width:1200px;margin:0 auto;padding:30px 22px 20px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:24px}
.site-footer h3{color:#fff;font-size:.95rem;margin:0 0 8px}
.foot-list{list-style:none;margin:0;padding:0}
.foot-list li{margin:5px 0}
.foot-list a{color:#E6E0D5;text-decoration:none;font-size:.9rem}
.foot-list a:hover{color:#fff;text-decoration:underline}
.foot-nap{font-size:16px;color:#E6E0D5;margin-top:12px}
.foot-nap a{color:#fff}
.site-footer .brand__name{color:#fff}
.site-footer .brand__sub{color:#EBBBA6}
.site-footer .gbp-badge{color:#EBBBA6}
.site-footer .gbp-badge svg{fill:#EBBBA6}
.foot-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:20px;padding-top:14px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:.8rem;color:#C9C2B5}
.disclaimer-note{margin:10px 0 0;font-size:.8rem}
.disclaimer-note a{color:#EBBBA6}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* ---------- sticky mobile call bar (bottom) ---------- */
.callbar{display:none}
@media(max-width:999px){
  .callbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:110;background:var(--brick);text-align:center;padding:11px}
  .callbar a{color:#fff;text-decoration:none;font-weight:700;display:inline-flex;gap:8px;align-items:center}
  .callbar svg{fill:#fff}
  .col{padding-bottom:70px}
}
