/* Revision 14: local introduction, four-step process, insurance and questions,
   area confidence band, local guidance and service support.
   Loads after styles.css (and area-cards.css where present). Every selector is
   new or scoped to a new block; no accepted rule is changed. */

/* ---------- Homepage: compact local introduction (light band) ---------- */
.local-story{background:#fff;border-top:1px solid var(--line)}
.local-story-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr) minmax(0,.9fr);gap:56px;align-items:start;padding-block:64px}
.local-story-head .eyebrow{margin-bottom:14px}
.local-story h2{font-size:36px;line-height:1.12}
.local-story-copy p{font-size:16px;line-height:1.8;color:var(--muted)}
.local-story-copy p+p{margin-top:14px}
.local-story-link{display:inline-block;margin-top:20px;font-size:14px;font-weight:700;color:var(--red);text-decoration:underline;text-underline-offset:4px}
.local-story-link:hover{color:var(--red-dark)}
.local-story-facts{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.local-story-facts li{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.local-story-facts .signal-icon{width:24px;height:24px;margin-top:2px;color:var(--red)}
.local-story-facts strong{display:block;font-size:15px;line-height:1.4}
.local-story-facts span{display:block;margin-top:2px;font-size:12px;line-height:1.5;color:var(--muted)}

/* ---------- Homepage: review band, one line of context under each excerpt ---------- */
.review-context{max-width:470px;margin-top:18px;padding-top:15px;border-top:1px solid #ffffff1f;font-size:13px;line-height:1.7;color:#d9dcdf}
.review-context b{font-weight:700;color:#e3c772}

/* ---------- Homepage: four steps ---------- */
.process .section-heading>p{max-width:360px}
.steps.steps-four{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.steps-four h3{font-size:20px}

/* ---------- Homepage: insurance help beside the questions ---------- */
.assurance{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:start;margin-top:64px;padding-top:56px;border-top:1px solid var(--line)}
.insurance-card{padding:32px;background:#f3f4f5;border:1px solid #d9dcdf;border-top:4px solid var(--gold);border-radius:4px}
.insurance-card .eyebrow{font-size:10px;margin-bottom:12px}
.insurance-card h3{font-size:26px;line-height:1.2;margin-bottom:14px}
.insurance-card>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted)}
.assure-list{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid #d9dcdf}
.assure-list li{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #d9dcdf;font-size:15px;line-height:1.55;color:#30343a}
.assure-list li:last-child{border-bottom:0;padding-bottom:0}
.assure-list .signal-icon{width:20px;height:20px;margin-top:2px;color:#8a6a14}
.home-faq .eyebrow{margin-bottom:12px}
.home-faq h3{font-size:30px;line-height:1.15;letter-spacing:-.02em;margin-bottom:14px}
.home-faq details:first-of-type{border-top:1px solid var(--line)}
.home-faq summary{font-size:16px;line-height:1.5}
.home-faq details p{padding:0 25px 22px 0;font-size:15px;line-height:1.8;color:var(--muted)}

/* ---------- Area pages: process and proof band under the hero ---------- */
.area-confidence{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.area-confidence+.content-layout{border-top:0}
.area-confidence-inner{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:64px;align-items:center;padding-block:44px}
.area-confidence .eyebrow{font-size:10px;margin-bottom:10px}
.area-confidence h2{font-size:28px;line-height:1.2;margin-bottom:22px}
.mini-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:mini-step}
.mini-steps li{counter-increment:mini-step;margin:0;padding-top:13px;border-top:2px solid var(--line)}
.mini-steps li::before{content:"0" counter(mini-step);display:block;margin-bottom:7px;font-size:12px;color:#8c826e}
.mini-steps strong{display:block;font-size:15px;line-height:1.35}
.mini-steps span{display:block;margin-top:5px;font-size:13px;line-height:1.55;color:var(--muted)}
.area-proof{padding-left:28px;border-left:3px solid var(--gold)}
.area-proof blockquote{margin:0;font-size:22px;line-height:1.4;letter-spacing:-.01em}
.area-proof figcaption{margin-top:12px}
.area-proof figcaption strong{display:block;font-size:14px}
.area-proof figcaption span{display:block;font-size:12px;color:var(--muted)}
.area-proof-rating{margin-top:14px;font-size:12px;line-height:1.7;color:var(--muted)}
.area-proof-rating .stars{margin-right:8px;font-size:13px}
.area-proof-rating strong{color:var(--ink)}
.area-proof-source{text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.area-proof-source:hover{color:var(--red)}

/* ---------- Area pages: public-agency guidance below the service copy ---------- */
.local-guide{padding-block:60px;border-top:1px solid var(--line)}
.local-guide-head{max-width:760px;margin-bottom:30px}
.local-guide-head h2{font-size:34px;line-height:1.15;margin-bottom:14px}
.local-guide-head p:not(.eyebrow){font-size:16px;line-height:1.75;color:var(--muted)}
.local-guide-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.local-guide-grid.is-single{grid-template-columns:minmax(0,760px)}
.local-notes{border-top:1px solid var(--line)}
.local-note summary{align-items:flex-start;padding:18px 0}
.local-note summary h3{margin:0;font-size:19px;line-height:1.35;letter-spacing:-.005em}
.local-note-body{padding:0 20px 22px 0}
.local-note-body p,.local-note-body li{font-size:15px;line-height:1.8;color:var(--muted)}
.local-note-body p+p{margin-top:14px}
.local-guide .local-contacts{max-width:none;margin-bottom:14px}
/* Beside the notes the block is half width, so the official link sits under the text as it does on a phone. */
.local-guide-grid:not(.is-single) .local-contact{grid-template-columns:40px minmax(0,1fr)}
.local-guide-grid:not(.is-single) .local-contact-link{grid-column:2;justify-self:start;margin-top:6px}
.local-guide .local-contacts-checked{max-width:none;margin:0}
.local-guide .nearby-areas{margin-top:38px;padding-top:26px;border-top:1px solid var(--line)}

/* ---------- Fire, mold and commercial pages: insurance and process notes ---------- */
.service-support{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-bottom:60px}
.service-support-item{display:flex;align-items:flex-start;gap:18px;padding:24px 26px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:5px}
.service-support-item .signal-icon{width:28px;height:28px;margin-top:2px;color:var(--red)}
.service-support-item h3{font-size:20px;line-height:1.3;margin-bottom:8px}
.service-support-item p{font-size:15px;line-height:1.75;color:var(--muted)}

/* ---------- Focus ---------- */
.local-story-link:focus-visible,.area-proof-source:focus-visible{outline:3px solid #a68217;outline-offset:3px}

/* ---------- Tablet ---------- */
@media(max-width:1000px){
.local-story-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 44px;padding-block:54px}
.local-story-head{grid-column:1/-1}
.local-story h2{font-size:32px}
.steps.steps-four{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 30px}
.assurance{gap:40px;margin-top:54px;padding-top:46px}
.area-confidence-inner{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:38px}
.local-guide-grid{grid-template-columns:minmax(0,1fr);gap:36px}
.local-guide-grid.is-single{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:850px){
.assurance{grid-template-columns:minmax(0,1fr);gap:40px}
.service-support{grid-template-columns:minmax(0,1fr);gap:16px}
}

/* ---------- Mobile ---------- */
@media(max-width:620px){
.local-story-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding-block:44px}
.local-story h2{font-size:30px}
.local-story-copy p{font-size:15px}
.review-context{margin-top:15px;padding-top:13px}
.steps.steps-four{grid-template-columns:minmax(0,1fr);gap:27px}
.steps-four h3{font-size:21px}
.assurance{margin-top:40px;padding-top:36px;gap:34px}
.insurance-card{padding:25px 22px}
.insurance-card h3{font-size:24px}
.home-faq h3{font-size:27px}
.home-faq summary{font-size:15px}
.home-faq details p{font-size:14px;padding-right:10px}
.area-confidence-inner{padding-block:32px;gap:28px}
.area-confidence h2{font-size:25px;margin-bottom:18px}
.mini-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.area-proof{padding-left:20px}
.area-proof blockquote{font-size:20px}
.area-proof-source{white-space:normal}
.local-guide{padding-block:42px}
.local-guide-head h2{font-size:29px}
.local-guide-head p:not(.eyebrow){font-size:15px}
.local-note summary h3{font-size:18px}
.local-note-body{padding-right:0}
.service-support{padding-bottom:40px}
.service-support-item{padding:22px 20px;gap:14px}
.service-support-item h3{font-size:19px}
}
@media(max-width:360px){
.mini-steps{grid-template-columns:minmax(0,1fr)}
}
