.area-list a {display:inline-block;border:1px solid currentColor;border-radius:999px;padding:8px 14px;color:inherit;text-underline-offset:4px}
.regional-intro {max-width:68ch}
.regional-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px}
.regional-card {border-top:1px solid #667780;padding:24px 0}
.regional-card h3 {margin:0 0 12px;font-size:1.35rem}
.regional-card p {line-height:1.75;margin:0}
.regional-notes {max-width:76ch;line-height:1.85;padding-left:22px}
.regional-notes li {margin:0 0 16px;padding-left:8px}
.regional-faq {max-width:900px}
.regional-faq details {padding:22px 0;border-bottom:1px solid #b8c1c4}
.regional-faq summary {cursor:pointer;font-size:1.15rem;font-weight:600;line-height:1.5}
.regional-faq details p {line-height:1.8;max-width:75ch;margin:16px 0 0}
.regional-breadcrumb {font-size:.85rem;margin-bottom:22px}
.regional-breadcrumb a {color:inherit;text-underline-offset:4px}
.regional-evidence-link {display:inline-block;margin-top:22px;color:inherit;font-weight:600;text-underline-offset:5px}
.regional-caption {line-height:1.7;max-width:75ch}
.regional-contact {margin-top:24px;line-height:1.8}
.regional-contact a {color:inherit;text-underline-offset:4px}
.quote-form.is-submitted > :not(.form-status) {display:none}
.quote-form.is-submitted .form-status {display:block;padding:28px;border:2px solid currentColor;border-radius:8px;font-size:1.25rem;line-height:1.7;margin:0}
.quote-form.is-submitted .form-status::before {content:'Request sent';display:block;font-weight:700;font-size:1.65rem;margin-bottom:12px}
.quote-form.is-submitted .form-status:focus-visible {outline:3px solid #fff;outline-offset:5px}
.project-stages {display:grid;gap:48px}
.project-stage {display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center}
.project-stage img {width:100%;height:auto;border-radius:8px}
.project-stage p {line-height:1.8}
.project-stage h3 {font-size:1.6rem;margin-top:0}
@media(max-width:700px){.regional-grid,.project-stage{grid-template-columns:1fr}.regional-grid{gap:0}.regional-notes{padding-left:18px}.regional-card{padding:20px 0}.project-stages{gap:36px}}
/* Form cards have a white background inside the dark estimate section. */
.quote-form .form-status {color:#22333d}
.quote-form.is-submitted .form-status {background:#f5f1e8;border-color:#c28b50}
.quote-form.is-submitted .form-status:focus-visible {outline-color:#22333d}
.hero > .section-shell {padding-top:clamp(48px,6vw,88px);padding-bottom:clamp(48px,6vw,88px)}
.review-card--photo .review-byline {display:flex;align-items:center;gap:12px;text-align:left}
.review-avatar {width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.review-grid:has(.review-card--photo:only-child) {grid-template-columns:minmax(0,640px);justify-content:center}

/* Review trust signals: top banner + rating badge (hero CTAs and the estimate form). */
.promo-banner {background:var(--dark);color:var(--on-dark);text-align:center;font-size:.82rem;font-weight:600;padding:9px 16px}
.promo-banner a {color:inherit;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;max-width:100%}
.promo-banner a:hover {text-decoration:underline}
.promo-banner-short {display:none}
.promo-banner-stars {color:var(--mud-soft);letter-spacing:.1em}
.rating-badge {display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:9px 16px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink);font-size:.85rem;font-weight:700;line-height:1;text-decoration:none}
/* Hug the text even where a parent layout stretches its children (e.g. the hero column). */
.hero-copy .rating-badge, .rating-badge {width:fit-content;max-width:100%;align-self:flex-start;justify-self:start}
.rating-badge:hover {text-decoration:underline}
.rating-badge-stars {color:var(--mud-ink);letter-spacing:.1em;font-size:.85em}
.rating-badge--on-dark {border-color:var(--dark-line);color:var(--on-dark)}
.rating-badge--on-dark .rating-badge-stars {color:var(--mud-soft)}
@media(max-width:480px){
  .promo-banner-full {display:none}
  .promo-banner-short {display:inline}
  .rating-badge {font-size:.8rem;padding:8px 12px;gap:6px}
}

/* Designer credit at the bottom of the footer. */
.site-credit {font-size:.92rem;color:var(--muted)}
.footer-links .site-credit a {color:inherit;font-weight:400;text-decoration:none;text-underline-offset:3px}
.footer-links .site-credit a:hover {color:var(--ink);text-decoration:underline}
.site-credit-logo {display:inline-block;height:.78em;width:2.24em;vertical-align:-.02em;margin:0 .14em 0 .08em}
.footer-links .site-credit a.site-credit-link:hover {text-decoration:none;box-shadow:0 1px 0 currentColor}
