:root {
  --brand-primary: #023570;
  --brand-primary-dark: #041f42;
  --brand-accent: #f0930c;
  --brand-accent-dark: #cc7900;
  --font-heading: 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Office / region pages and the Service Area town lists */
.office-cards { display: grid; gap: 16px; align-self: start; }
.office-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 22px 24px; box-shadow: var(--shadow); }
.office-card h3 { color: var(--brand-primary); margin-bottom: 8px; }
.office-card p { margin-bottom: 10px; }
.office-card a[href^="tel:"] { color: var(--brand-primary); font-weight: 700; text-decoration: none; }
.office-addr { color: var(--ink); font-weight: 600; }
.office-dir { color: var(--brand-primary); font-weight: 700; text-decoration: none; }
.office-dir:hover { text-decoration: underline; }
.region-intro { align-items: start; }
.area-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 24px; }
.area-group { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; }
.area-group h3 { color: var(--brand-primary); }
.area-group h3 a { text-decoration: none; }
.area-group h4 { font-family: var(--font-heading); font-size: 15px; margin: 14px 0 4px; color: var(--ink); }
.area-group p { font-size: 15px; }
.area-office { font-weight: 700; color: var(--brand-accent-dark) !important; }
.area-list { list-style: none; padding: 0; margin: 0; font-size: 15px; }
.area-list li { padding: 8px 0; border-top: 1px solid var(--border); color: var(--ink-soft); }
.area-list li strong { color: var(--ink); }
.area-more { text-align: center; margin: 28px 0 0; }
.area-more a, .area-group p a { color: var(--brand-primary); font-weight: 700; }
.region-services { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 24px; }
.region-services h3 { font-size: 17px; color: var(--brand-primary); }
.region-services ul { list-style: none; padding: 0; margin: 0; }
.region-services li { padding: 4px 0; }
.region-services a { color: var(--ink-soft); }
.region-services a:hover { color: var(--brand-primary); }
.remove-card h3 a { text-decoration: none; color: inherit; }
.foot-locations li a { color: #fff; text-decoration: none; }
.foot-locations li a:hover { text-decoration: underline; }
.area-groups.area-columns { display: block; columns: 2 400px; column-gap: 24px; }
.area-groups.area-columns .area-group { break-inside: avoid; margin-bottom: 24px; }
.hero.no-card .hero-breadcrumb { justify-content: center; text-align: center; }
