/* Boyette Water Damage Solutions - Riverview, FL. "Gulf Coast Airy" design system.
   Airy white/sky ground, gulf-navy ink, gulf-blue lead+links, one amber call CTA,
   thin keyline/underline accents, Marcellus display over Lexend body. */

@font-face{font-family:'Marcellus';src:url(../fonts/marcellus.woff2?v=d8d78c8d) format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Lexend';src:url(../fonts/lexend.woff2?v=2077a527) format('woff2');font-weight:100 900;font-style:normal;font-display:swap;}

:root{
  --surface:#F6FAFB; --card:#FFFFFF;
  --band-sky:#E8F1F4; --band-sand:#F4EEE2; --deep:#0C2A38;
  --ink:#12303D; --ink-2:#33505E; --ink-3:#52707C;
  --gulf:#0E6E8C; --gulf-deep:#0A5670;
  --amber:#E4762A; --amber-cta:#AF4E0C; --amber-deep:#A34E12;
  --sky-hi:#7FC8DE;
  --line:#D6E1E6; --line-2:#C4D3DA;
  --disp:'Marcellus', Georgia, 'Times New Roman', serif;
  --sans:'Lexend', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --wrap:1160px; --narrow:820px;
  --r:8px; --r-2:12px;
  --sh:0 10px 30px rgba(12,42,56,.10);
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--sans);
  font-size:17px;font-weight:450;line-height:1.65;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--gulf-deep);}
h1,h2,h3,h4{font-family:var(--disp);color:var(--ink);font-weight:400;line-height:1.15;margin:0 0 .5em;}
h1{font-size:clamp(2.1rem,4.8vw,3.3rem);letter-spacing:.2px;}
h2{font-size:clamp(1.65rem,3.2vw,2.35rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1rem;}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px;}
.wrap--narrow{max-width:var(--narrow);}
.section{padding:64px 0;}
.section--tint{background:var(--band-sky);}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--deep);color:#fff;padding:10px 16px;z-index:200;}
.skip-link:focus{left:12px;top:12px;}

/* ---------- section head + underline keyline ---------- */
.sec-head{max-width:760px;margin:0 0 34px;}
.sec-head--center{margin-inline:auto;text-align:center;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);
  font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gulf-deep);}
.eyebrow .tick,.tick{display:inline-block;width:22px;height:3px;border-radius:2px;background:var(--amber);}
.eyebrow--light{color:var(--sky-hi);}
.sec-head h2{margin:.5rem 0 0;position:relative;}
.sec-head h2::after{content:"";display:block;width:52px;height:3px;border-radius:2px;background:var(--amber);margin-top:14px;}
.sec-head--center h2::after{margin-inline:auto;}
.sec-head p{margin:16px 0 0;color:var(--ink-2);max-width:60ch;}
.sec-head--center p{margin-inline:auto;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;
  font-family:var(--sans);font-weight:700;text-decoration:none;border-radius:var(--r);
  padding:14px 22px;line-height:1.15;transition:transform .12s ease, background .15s ease;}
.btn svg{width:1.2em;height:1.2em;flex:none;fill:currentColor;}
.btn:hover{transform:translateY(-1px);}
.btn--call{background:var(--amber-cta);color:#fff;flex-direction:column;gap:2px;box-shadow:0 8px 20px rgba(191,90,22,.28);}
.btn--call .btn__num{font-size:1.28rem;font-weight:800;letter-spacing:.3px;}
.btn--call .btn__sub{font-size:.9rem;font-weight:600;opacity:.95;}
.btn--lg{padding:16px 30px;}
.btn--block{display:flex;width:100%;}

/* ---------- chips / stars ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.chip{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line-2);
  color:var(--ink);font-size:.92rem;font-weight:600;padding:8px 13px;border-radius:var(--r);}
.chip svg{width:16px;height:16px;fill:var(--gulf-deep);flex:none;}
.chip--rate{background:var(--deep);color:#fff;border-color:var(--deep);}
.chip--rate b{color:#fff;}
.stars{display:inline-flex;gap:2px;vertical-align:middle;}
.stars svg{width:16px;height:16px;fill:var(--amber);}
.chip--rate .stars svg{fill:#F6B44A;}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(246,250,251,.94);
  backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--line);}
.masthead{display:flex;align-items:center;gap:22px;padding-block:12px;}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;flex:none;}
.brand__mark{flex:none;}
.brand__text{display:flex;flex-direction:column;line-height:1.05;}
.brand__name{font-family:var(--disp);font-size:1.12rem;color:var(--ink);}
.brand__name span{color:var(--gulf-deep);}
.brand__tag{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);}
.nav{display:flex;align-items:center;gap:22px;margin-left:auto;}
.nav>a,.drop>a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.98rem;white-space:nowrap;}
.nav>a:hover,.drop>a:hover{color:var(--gulf-deep);}
.drop{position:relative;}
.drop>a{display:inline-flex;align-items:center;gap:5px;cursor:pointer;}
.drop>a::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;opacity:.7;}
.drop__menu{position:absolute;top:calc(100% + 10px);left:0;min-width:290px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-2);box-shadow:var(--sh);padding:10px;
  display:none;flex-direction:column;max-height:min(72vh,560px);overflow-y:auto;overscroll-behavior:contain;}
.drop.is-open .drop__menu{display:flex;}
.drop__menu a{padding:9px 12px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:.95rem;font-weight:500;}
.drop__menu a:hover{background:var(--band-sky);color:var(--gulf-deep);}
.mast-cta{display:flex;align-items:center;gap:12px;flex:none;}
.mast-phone{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink);
  border:1px solid var(--line-2);border-radius:var(--r);padding:8px 14px;background:#fff;}
.mast-phone__ic{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;
  background:var(--amber-cta);border-radius:7px;flex:none;}
.mast-phone__ic svg{width:16px;height:16px;fill:#fff;}
.mast-phone__b{display:flex;flex-direction:column;line-height:1.1;}
.mast-phone__b span{font-weight:800;font-size:1.06rem;color:var(--ink);}
.mast-phone__b small{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gulf-deep);}
.nav-toggle{display:none;width:46px;height:42px;border:1px solid var(--line-2);border-radius:var(--r);
  background:#fff;cursor:pointer;padding:0;flex-direction:column;gap:5px;align-items:center;justify-content:center;}
.nav-toggle span{width:22px;height:2px;background:var(--ink);border-radius:2px;}

/* ---------- home hero (light, airy split, real photo right) ---------- */
.hero{background:linear-gradient(160deg,var(--band-sky) 0%,var(--surface) 62%);border-bottom:1px solid var(--line);}
.hero__wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-block:60px;}
.hero__copy{min-width:0;}
.hero__promise{font-size:1.16rem;color:var(--ink-2);max-width:46ch;margin:18px 0 0;}
.hero__rate{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:20px 0 6px;color:var(--ink-2);font-weight:600;}
.hero__rate b{color:var(--ink);font-size:1.1rem;}
.hero__oc{color:var(--gulf-deep);font-weight:700;}
.hero__cta{margin-top:20px;}
.hero__media{margin:0;position:relative;}
.hero__media img{width:100%;border-radius:var(--r-2);border:6px solid #fff;box-shadow:var(--sh);object-fit:cover;aspect-ratio:4/3;}

/* ---------- trust ribbon ---------- */
.statbar{border-bottom:1px solid var(--line);background:#fff;}
.statbar__wrap{display:flex;flex-wrap:wrap;align-items:center;gap:26px;padding-block:20px;}
.stat{display:flex;flex-direction:column;line-height:1.1;}
.stat__n{font-family:var(--disp);font-size:1.7rem;color:var(--gulf-deep);}
.stat__l{font-size:.86rem;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;}
.statbar__logos{margin-left:auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.statbar__logos img{height:30px;width:auto;}

/* ---------- services grid (image-forward cards) ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.svc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-top:3px solid var(--gulf);border-radius:var(--r-2);overflow:hidden;text-decoration:none;
  transition:box-shadow .15s ease, transform .12s ease;min-width:0;}
.svc-card:hover{box-shadow:var(--sh);transform:translateY(-2px);}
.svc-card__media{aspect-ratio:16/10;overflow:hidden;background:var(--band-sky);}
.svc-card__media img{width:100%;height:100%;object-fit:cover;}
.svc-card__b{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;}
.svc-card__t{font-family:var(--disp);font-size:1.22rem;color:var(--ink);}
.svc-card__p{font-size:1rem;color:var(--ink-2);margin:0;}
.svc-card__go{margin-top:4px;display:inline-flex;align-items:center;gap:6px;color:var(--gulf-deep);font-weight:700;font-size:.95rem;}
.svc-card__go svg{width:16px;height:16px;}

/* ---------- why (home + service) ---------- */
.pillars,.why-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pillar,.why-item{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r-2);padding:22px;min-width:0;}
.pillar__ic,.why-item__ic{display:inline-flex;width:46px;height:46px;flex:none;align-items:center;justify-content:center;
  background:var(--band-sky);border-radius:10px;}
.pillar__ic svg,.why-item__ic svg{width:24px;height:24px;fill:var(--gulf-deep);}
.pillar h3,.why-item h3{margin:.1rem 0 .35rem;font-size:1.16rem;}
.pillar p,.why-item p{margin:0;color:var(--ink-2);font-size:1rem;}

/* ---------- cost + insurance ---------- */
.cost-answer,.cost__answer{font-size:1.14rem;color:var(--ink);max-width:70ch;margin:0 0 26px;font-weight:500;}
.pricecards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pricecard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--line-2);border-radius:var(--r-2);padding:22px;min-width:0;}
.pricecard--feat{border-top-color:var(--amber);box-shadow:var(--sh);}
.pricecard h3{font-size:1.14rem;margin:0 0 6px;}
.pricecard__p{font-family:var(--disp);font-size:1.55rem;color:var(--gulf-deep);margin:0 0 10px;}
.pricecard ul{margin:0;padding-left:18px;}
.pricecard li{font-size:1rem;color:var(--ink-2);margin-bottom:5px;}
.pricecard p{font-size:1rem;color:var(--ink-2);margin:0;}
.pricecard .cover{display:inline-block;margin-top:12px;font-size:.9rem;font-weight:700;color:var(--gulf-deep);}
.cost-note{margin:22px 0 0;color:var(--ink-2);font-size:1rem;}
.cost__grid{display:grid;grid-template-columns:1.35fr 1fr;gap:34px;align-items:start;}
.insure{background:#fff;border:1px solid var(--line);border-radius:var(--r-2);padding:26px;}
.insure h3{font-size:1.2rem;}
.insure p{color:var(--ink-2);font-size:1rem;}
.carriers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px;align-items:center;}
.carrier{display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:10px;min-height:52px;}
.carrier img{max-height:26px;width:auto;}

/* ---------- process rail ---------- */
.process__rail{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;}
.pstep{background:#fff;border:1px solid var(--line);border-radius:var(--r-2);padding:22px;min-width:0;}
.pstep__n{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;
  font-family:var(--disp);font-size:1.2rem;background:var(--deep);color:#fff;border-radius:50%;margin-bottom:12px;}
.pstep__b h3{font-size:1.1rem;margin:0 0 .35rem;}
.pstep__b p{margin:0;color:var(--ink-2);font-size:1rem;}

/* ---------- reviews ---------- */
.reviews__grid{display:grid;grid-template-columns:.85fr 2fr;gap:30px;align-items:start;}
.agg{background:var(--deep);color:#fff;border-radius:var(--r-2);padding:28px;text-align:center;}
.agg__score{font-family:var(--disp);font-size:3rem;line-height:1;}
.agg__score span{font-size:1.3rem;color:var(--sky-hi);}
.agg__stars{margin:10px 0;}
.agg__stars .stars svg{fill:#F6B44A;width:20px;height:20px;}
.agg__count{color:#CFE0E7;font-weight:600;}
.agg__note{color:#B9D2DB;font-size:1rem;margin:10px 0 0;}
.reviews__rail,.rev2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;min-width:0;}
.review{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gulf);border-radius:var(--r-2);padding:22px;min-width:0;}
.review__stars .stars svg{width:17px;height:17px;}
.review blockquote{margin:12px 0 14px;font-size:1.03rem;color:var(--ink);line-height:1.6;}
.review__meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.9rem;}
.review__meta .who{font-weight:800;color:var(--ink);}
.review__meta .where{color:var(--gulf-deep);font-weight:600;}
.review__meta .date{color:var(--ink-3);}

/* ---------- recent work / cases ---------- */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.case{background:#fff;border:1px solid var(--line);border-radius:var(--r-2);overflow:hidden;min-width:0;}
.case img{width:100%;aspect-ratio:3/2;object-fit:cover;}
.case__b{padding:18px 20px 22px;}
.case__b h3{font-size:1.16rem;margin:0 0 4px;}
.case__meta{display:block;font-size:.9rem;font-weight:700;color:var(--gulf-deep);margin-bottom:10px;text-transform:uppercase;letter-spacing:.05em;}
.case__b p{font-size:1rem;color:var(--ink-2);margin:0 0 8px;}
.case__b p b{color:var(--ink);}
.filmstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px;}
.film{margin:0;}
.film img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-2);border:1px solid var(--line);}

/* ---------- coverage ---------- */
.cov__full{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:start;}
.cov__compact{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;}
.cov__map{margin:0;border-radius:var(--r-2);overflow:hidden;border:1px solid var(--line);background:#fff;}
.cov__map figcaption{padding:12px 16px;border-top:1px solid var(--line);}
.cov__pin{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);font-size:.95rem;font-weight:600;}
.cov__pin svg{width:16px;height:16px;fill:var(--gulf-deep);flex:none;}
.zips h3,.cov__note h3{font-size:1.2rem;}
.zipgrid{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0;}
.zip{display:inline-flex;background:#fff;border:1px solid var(--line-2);border-radius:6px;padding:7px 12px;font-weight:700;color:var(--gulf-deep);font-size:.95rem;}
.zips__note,.cov__note p{color:var(--ink-2);font-size:1rem;}
.cov__all{display:inline-flex;align-items:center;gap:6px;color:var(--gulf-deep);font-weight:700;text-decoration:underline;}
.cov__all svg{width:16px;height:16px;}
.nbhds{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:32px;}
.nbhd h3{font-size:1.05rem;margin:0 0 10px;color:var(--gulf-deep);}
.nbhd .chips{margin:0;}
.nbhd .chip{background:var(--surface);border-color:var(--line);font-size:.86rem;padding:6px 10px;}

/* ---------- local conditions ---------- */
.risk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.risk{background:#fff;border:1px solid var(--line);border-radius:var(--r-2);padding:22px;border-top:3px solid var(--amber);min-width:0;}
.risk h3{font-size:1.12rem;}
.risk p{margin:0;color:var(--ink-2);font-size:1rem;}
.authlinks{margin-top:26px;font-size:1rem;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;}
.authlinks span{font-weight:700;color:var(--ink);}
.authlinks a{color:var(--gulf-deep);text-decoration:underline;font-weight:600;}

/* ---------- faq ---------- */
.faq__grid{display:grid;grid-template-columns:.9fr 1.5fr;gap:34px;align-items:start;}
.faq__card{margin-top:22px;background:var(--deep);color:#fff;border-radius:var(--r-2);padding:24px;}
.faq__card h3{color:#fff;font-size:1.2rem;}
.faq__card p{color:#CFE0E7;font-size:1rem;}
.faq__num{display:block;font-family:var(--disp);font-size:1.5rem;margin:6px 0 14px;color:#fff;}
.faq__list{min-width:0;}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px;overflow:hidden;}
.faq-item summary{cursor:pointer;padding:16px 18px;font-family:var(--disp);font-size:1.12rem;color:var(--ink);list-style:none;position:relative;padding-right:44px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--gulf-deep);}
.faq-item[open] summary::after{content:"\2212";}
.faq-item div{padding:0 18px 16px;}
.faq-item p{margin:0;color:var(--ink-2);font-size:1.02rem;}

/* ---------- editorial prose (service guide, legal, about) ---------- */
.prose{color:var(--ink);}
.prose h2{margin-top:2rem;}
.prose h2:first-child{margin-top:0;}
.prose h3{margin-top:1.4rem;font-size:1.2rem;}
.prose p{font-size:1.06rem;color:var(--ink);line-height:1.7;}
.prose ul{margin:0 0 1.1rem;padding-left:22px;}
.prose li{font-size:1.06rem;color:var(--ink);margin-bottom:8px;line-height:1.6;}
.prose a{color:var(--gulf-deep);text-decoration:underline;}
.prose--legal p,.prose--legal li{color:var(--ink-2);}
.prose .btn{text-decoration:none;}
.prose .btn--call,.prose .btn--call .btn__num,.prose .btn--call .btn__sub{color:#fff;}
.callcard{background:var(--band-sand);border:1px solid #E4D6BC;border-left:3px solid var(--amber);border-radius:var(--r-2);padding:22px;margin:1.6rem 0;}
.callcard p{margin:0 0 14px;font-size:1.06rem;color:var(--ink);}
.bk-callout{background:var(--band-sky);border:1px solid var(--line);border-radius:var(--r-2);padding:22px;margin:1.6rem 0;}
.bk-callout h3{margin:0 0 .4rem;font-size:1.15rem;}
.bk-callout p{margin:0;color:var(--ink-2);}
.svc-quote{margin:1.8rem 0 0;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gulf);border-radius:var(--r-2);padding:22px;}
.svc-quote p{font-size:1.08rem;color:var(--ink);font-style:italic;margin:0 0 10px;}
.svc-quote cite{font-style:normal;font-weight:700;color:var(--ink);font-size:.95rem;}
.svc-quote cite span{color:var(--gulf-deep);}

/* ---------- facts strip ---------- */
.facts{padding:22px 0;}
.ataglance{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;background:var(--deep);border-radius:var(--r-2);padding:24px;}
.prose .ataglance{margin:1.6rem 0;}
.ataglance__item{display:flex;flex-direction:column;gap:4px;border-left:2px solid var(--sky-hi);padding-left:14px;}
.ataglance__k{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sky-hi);}
.ataglance__v{font-family:var(--disp);font-size:1.2rem;color:#fff;}

/* ---------- what-to-do checklist ---------- */
.checklist{list-style:none;margin:0;padding:0;}
.checklist--do{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.checklist li{display:flex;gap:12px;align-items:flex-start;font-size:1.05rem;color:var(--ink);}
.checklist .ck{display:inline-flex;width:28px;height:28px;flex:none;align-items:center;justify-content:center;
  background:var(--band-sky);border-radius:50%;}
.checklist .ck svg{width:16px;height:16px;fill:var(--gulf-deep);stroke:var(--gulf-deep);}
.whatdo__cta{margin-top:20px;font-size:1.05rem;color:var(--ink);}
.whatdo__cta a{font-weight:800;color:var(--gulf-deep);text-decoration:none;}

/* ---------- related rows ---------- */
.rel-rows{display:grid;gap:12px;}
.rel-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;text-decoration:none;}
.rel-row:hover{border-color:var(--gulf);}
.rel-row__t{font-family:var(--disp);font-size:1.16rem;color:var(--ink);}
.rel-row__go{display:inline-flex;align-items:center;gap:6px;color:var(--gulf-deep);font-weight:700;font-size:.92rem;white-space:nowrap;}
.rel-row__go svg{width:16px;height:16px;}

/* ---------- call strip ---------- */
.callstrip{background:var(--band-sand);border-block:1px solid #E7DAC0;}
.callstrip .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-block:16px;font-weight:600;color:var(--ink);font-size:1.05rem;}
.callstrip .tick{margin-right:2px;}
.callstrip a{margin-left:auto;font-family:var(--disp);font-size:1.3rem;color:var(--gulf-deep);text-decoration:none;font-weight:400;}

/* ---------- dispatch band ---------- */
.cta-band{background:var(--deep);color:#fff;padding:56px 0;}
.cta-band__grid{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:center;}
.cta-band h2{color:#fff;}
.cta-band__copy p{color:#CFE0E7;font-size:1.08rem;max-width:52ch;}
.cta-band .btn--call{margin-top:8px;}
.nap{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-2);padding:22px;}
.nap__name{display:block;font-family:var(--disp);font-size:1.3rem;color:#fff;margin-bottom:12px;}
.nap__row{display:flex;align-items:center;gap:10px;color:#E4EEF2;margin-bottom:10px;font-size:1.02rem;}
.nap__row:last-child{margin-bottom:0;}
.nap__row svg{width:18px;height:18px;fill:var(--sky-hi);flex:none;}
.nap__row a{color:#fff;text-decoration:none;font-weight:700;}
.nap--light{background:#fff;border:1px solid var(--line);}
.nap--light .nap__name{color:var(--ink);}
.nap--light .nap__row{color:var(--ink-2);}
.nap--light .nap__row svg{fill:var(--gulf-deep);}
.nap--light .nap__row a{color:var(--gulf-deep);}

/* ---------- page hero (about/contact/service-area/tools/legal) ---------- */
.page-hero{background:linear-gradient(160deg,var(--band-sky) 0%,var(--surface) 60%);border-bottom:1px solid var(--line);}
.page-hero__wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;padding-block:52px;}
.page-hero__wrap--solo,.page-hero--solo .page-hero__wrap{grid-template-columns:1fr;}
.page-hero__copy{min-width:0;}
.page-hero__lead{font-size:1.14rem;color:var(--ink-2);max-width:52ch;margin:16px 0 22px;}
.page-hero__media{margin:0;}
.page-hero__media img{width:100%;border-radius:var(--r-2);border:6px solid #fff;box-shadow:var(--sh);object-fit:cover;aspect-ratio:4/3;}
.bc{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.9rem;color:var(--ink-3);margin-bottom:14px;}
.bc a{color:var(--gulf-deep);text-decoration:none;font-weight:600;}
.bc svg{width:14px;height:14px;stroke:var(--ink-3);}
.gbp{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--gulf-deep);font-weight:700;text-decoration:none;border:1px solid var(--line-2);border-radius:var(--r);padding:9px 14px;background:#fff;}
.gbp svg{width:16px;height:16px;fill:var(--gulf-deep);}
.gbp--light{background:#fff;}

/* service page hero shares .spage-hero */
.spage-hero{background:linear-gradient(160deg,var(--band-sky) 0%,var(--surface) 60%);border-bottom:1px solid var(--line);}
.spage-hero__wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding-block:52px;}
.spage-hero__copy{min-width:0;}
.spage-hero__lead{font-size:1.14rem;color:var(--ink-2);max-width:50ch;margin:16px 0 22px;}
.spage-hero__media{margin:0;}
.spage-hero__media img{width:100%;border-radius:var(--r-2);border:6px solid #fff;box-shadow:var(--sh);object-fit:cover;aspect-ratio:4/3;}

/* ---------- contact / service-area ---------- */
.contact-cols{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start;}
.call-panel{background:var(--deep);color:#fff;border-radius:var(--r-2);padding:30px;}
.call-panel h2{color:#fff;}
.call-panel p{color:#CFE0E7;font-size:1.03rem;}
.call-panel .btn--call{margin:8px 0 14px;}
.call-panel__email{font-size:1rem;}
.call-panel__email .email{color:#fff;font-weight:700;overflow-wrap:anywhere;}
.call-panel .gbp{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff;}
.call-panel .gbp svg{fill:var(--sky-hi);}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-2);padding:26px;}
.contact-card h3{font-size:1.2rem;}
.contact-card__note{color:var(--ink-2);font-size:1rem;}
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.area{background:#fff;border:1px solid var(--line);border-radius:var(--r-2);padding:22px;border-top:3px solid var(--gulf);min-width:0;}
.area__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;}
.area__head h3{margin:0;font-size:1.14rem;}
.area__zip{display:inline-flex;align-items:center;gap:5px;font-size:.86rem;font-weight:700;color:var(--gulf-deep);white-space:nowrap;}
.area__zip svg{width:14px;height:14px;fill:var(--gulf-deep);}
.area p{margin:0;color:var(--ink-2);font-size:1rem;}

/* ---------- tools ---------- */
.tool-intro{max-width:760px;margin-bottom:26px;}
.tool-intro h2{margin-top:0;}
.tool-intro p{color:var(--ink-2);font-size:1.06rem;}
.tool{display:grid;grid-template-columns:1.5fr 1fr;gap:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r-2);padding:26px;align-items:start;}
.tool__grid{display:grid;gap:20px;min-width:0;}
.optgroup{display:flex;flex-direction:column;gap:10px;min-width:0;}
.optgroup__legend,.field{font-family:var(--disp);font-size:1.1rem;color:var(--ink);}
.field{display:block;margin-bottom:6px;}
select{font-family:var(--sans);font-size:1rem;padding:12px 14px;border:1px solid var(--line-2);border-radius:var(--r);background:#fff;color:var(--ink);width:100%;max-width:100%;}
.opt-row{display:flex;flex-direction:column;gap:8px;}
.opt-row--col{gap:10px;}
.opt{display:flex;align-items:flex-start;gap:10px;font-size:1.02rem;color:var(--ink);}
.opt input{margin-top:4px;flex:none;width:18px;height:18px;accent-color:var(--gulf);}
.opt label{cursor:pointer;}
.tool__result{background:var(--band-sky);border:1px solid var(--line);border-radius:var(--r-2);padding:22px;position:sticky;top:90px;}
.result-readout .k{font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gulf-deep);}
.result__value{font-family:var(--disp);font-size:1.9rem;color:var(--ink);margin:6px 0 14px;}
.tool-note{font-size:.98rem;color:var(--ink-2);margin:0 0 14px;}
.tool .btn--call{width:100%;}

/* ---------- sitemap page ---------- */
.sitemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.sitemap-col h2{font-size:1.25rem;}
.sitemap-col ul{list-style:none;margin:0;padding:0;}
.sitemap-col li{margin-bottom:9px;}
.sitemap-col a{color:var(--gulf-deep);text-decoration:none;font-weight:600;font-size:1.03rem;}
.sitemap-col a:hover{text-decoration:underline;}

/* ---------- footer + callbar ---------- */
.map-embed{line-height:0;border-top:1px solid var(--line);}
.site-footer{background:var(--deep);color:#D7E5EB;padding:52px 0 90px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px;}
.foot-brand p{color:#BFD4DC;font-size:1rem;}
.foot-name{display:block;font-family:var(--disp);font-size:1.3rem;color:#fff;margin-bottom:10px;}
.foot-name span{display:block;font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sky-hi);margin-top:4px;}
.foot-sub{color:#BFD4DC;font-size:1rem;}
.foot-nap{color:#D7E5EB;font-size:1rem;}
.foot-nap a{color:#fff;font-weight:700;text-decoration:none;}
.foot-nap .email{color:#D7E5EB;overflow-wrap:anywhere;}
.site-footer h3{color:#fff;font-size:1.05rem;margin:0 0 12px;}
.foot-list{list-style:none;margin:0;padding:0;}
.foot-list li{margin-bottom:9px;}
.foot-list a{color:#CFE0E7;text-decoration:none;font-size:1rem;}
.foot-list a:hover{color:#fff;text-decoration:underline;}
.foot-brand .gbp{margin-top:14px;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff;}
.foot-brand .gbp svg{fill:var(--sky-hi);}
.foot-bottom{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:.92rem;color:#AEC7D0;}
.foot-disc{margin:14px 0 0;font-size:.92rem;}
.foot-disc a{color:#AEC7D0;text-decoration:underline;}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--amber-cta);box-shadow:0 -6px 20px rgba(12,42,56,.22);display:none;}
.callbar a{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;color:#fff;font-weight:800;text-decoration:none;font-size:1.08rem;}
.callbar svg{width:20px;height:20px;fill:#fff;}
.callbar small{font-weight:600;opacity:.92;}

/* ============ RESPONSIVE ============ */
@media (max-width:1080px){
  .foot-grid{grid-template-columns:1.4fr 1fr 1fr;}
  .foot-brand{grid-column:1 / -1;}
}
@media (max-width:979px){
  .nav{position:fixed;inset:0;margin:0;flex-direction:column;align-items:stretch;justify-content:flex-start;
    gap:0;background:var(--surface);padding:88px 24px 32px;overflow-y:auto;z-index:120;display:none;}
  body.is-menu .nav{display:flex;}
  body.is-menu{overflow:hidden;}
  .nav>a,.drop>a{padding:15px 4px;border-bottom:1px solid var(--line);font-size:1.1rem;}
  .drop{width:100%;}
  .drop>a::after{margin-left:auto;}
  .drop__menu{position:static;display:none;box-shadow:none;border:none;border-radius:0;padding:0 0 8px 10px;min-width:0;max-height:none;}
  .drop.is-open .drop__menu{display:flex;}
  .drop__menu a{font-size:1rem;padding:11px 8px;}
  .nav-toggle{display:flex;order:3;}
  .mast-cta{margin-left:auto;}
  body.is-menu .site-header{background:var(--surface);backdrop-filter:none;z-index:130;}
  body.is-menu .brand,body.is-menu .mast-cta{position:relative;z-index:125;}
  .callbar{display:block;}
  .site-footer{padding-bottom:52px;}
  .hero__wrap,.spage-hero__wrap,.page-hero__wrap{grid-template-columns:1fr;gap:26px;}
  .hero__media,.spage-hero__media,.page-hero__media{order:-1;}
  .hero__media img,.spage-hero__media img,.page-hero__media img{aspect-ratio:16/10;border-width:5px;}
  .cost__grid,.reviews__grid,.faq__grid,.cov__full,.cov__compact,.contact-cols,.cta-band__grid,.tool{grid-template-columns:1fr;}
  .svc-grid,.pillars,.why-row,.pricecards,.pricecards--3,.process__rail,.cases,.filmstrip,.nbhds,.risk-grid,.areas-grid,.sitemap-grid,.carriers{grid-template-columns:repeat(2,1fr);}
  .reviews__rail,.rev2{grid-template-columns:1fr;}
  .statbar__logos{margin-left:0;width:100%;}
}
@media (max-width:640px){
  .section{padding:46px 0;}
  .wrap{padding-inline:18px;}
  .svc-grid,.pillars,.why-row,.pricecards,.pricecards--3,.process__rail,.cases,.filmstrip,.nbhds,.risk-grid,.areas-grid,.sitemap-grid,.ataglance,.checklist--do,.carriers,.foot-grid{grid-template-columns:1fr;}
  .foot-brand{grid-column:auto;}
  .carriers{grid-template-columns:repeat(2,1fr);}
  .callstrip .wrap{flex-direction:column;align-items:flex-start;}
  .callstrip a{margin-left:0;}
  .sec-head h2::after{margin-inline:0;}
  .statbar__wrap{gap:18px 26px;}
  .brand__tag{display:none;}
}
@media (max-width:620px){
  .masthead{gap:10px;}
  .brand{flex:0 1 auto;min-width:0;}
  .brand__text{min-width:0;}
  .brand__name{font-size:.98rem;white-space:normal;line-height:1.12;}
  .mast-phone{padding:0;border:none;background:none;}
  .mast-phone__b{display:none;}
  .mast-phone__ic{width:44px;height:44px;}
}
@media (max-width:380px){
  .wrap{padding-inline:15px;}
  .btn--call .btn__num{font-size:1.16rem;}
  .mast-phone__b span{font-size:.98rem;}
}
