body.theme-regional {
  --bg: #fffaf5; --surface-soft: #fffaf5; --ink: #1e293b;
  --body-text: #475569; --muted: #475569; --line: #efddce;
  --brand: #f97316; --brand-strong: #c2410c; --brand-soft: #ffedd5;
  --accent: #f97316; --shadow: 0 22px 60px rgba(130, 65, 22, .09);
}
.theme-regional :focus-visible { outline: 3px solid #f97316; outline-offset: 5px; }
.theme-regional [id] { scroll-margin-top: 112px; }
.theme-regional .brand-mark { background: var(--brand); color: var(--ink); }
.theme-regional .button-primary { color: var(--ink); }
.theme-regional .hero h1 strong { color: var(--brand-strong); }
.theme-regional .portal-return { margin-left: 18px; padding-left: 26px; border-left: 1px solid var(--line); font-size: .83rem; }
.local-hero { background: var(--surface-soft); }
.local-hero::before { display: none; }
.local-hero .hero-grid { gap: 72px; }
.local-hero h1 { font-size: clamp(36px, 3.4vw, 54px); line-height: 1.32; }
.local-hero .hero-copy { line-height: 1.85; }
.local-hero .button { gap: 18px; }
.local-hero-note { display: flex; gap: 18px; margin-top: 32px; color: var(--muted); font-size: .8rem; }
.local-hero-note span + span { border-left: 1px solid #ead3bf; padding-left: 18px; }
.local-board { padding: 32px; background: #fff; border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow); }
.board-heading { display: flex; justify-content: space-between; color: var(--brand-strong); font-size: .7rem; letter-spacing: .08em; font-weight: 700; }
.local-board h2 { font-size: 28px; line-height: 1.4; letter-spacing: -.04em; margin: 25px 0 8px; }
.local-board > p { color: var(--muted); font-size: .87rem; margin: 0 0 24px; }
.board-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.board-grid a { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 7px; min-height: 82px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); font-size: .8rem; font-weight: 700; line-height: 1.4; }
.board-grid a > span { color: #475569; font-size: .65rem; font-weight: 400; }
.board-grid a > b { position: absolute; right: 10px; top: 10px; color: var(--brand); font-weight: 400; }
.board-grid a:last-child { background: var(--brand-soft); color: var(--brand-strong); border-color: var(--brand); }
.board-grid a:last-child span, .board-grid a:last-child b { color: var(--brand-strong); }
.board-grid a:hover { box-shadow: inset 0 0 0 1px var(--brand); }
.board-bottom { display: flex; align-items: center; gap: 8px; margin-top: 21px; font-size: .73rem; color: var(--muted); }
.live-dot { width: 6px; height: 6px; background: var(--brand); border-radius: 50%; }
.section-index { color: var(--muted); font-size: .85rem; letter-spacing: .1em; }
.local-region-card { min-height: 230px; border-radius: 16px; padding: 25px 28px; }
.region-card-top { display: flex; align-items: center; justify-content: space-between; color: var(--brand); }
.region-number { font-size: .75rem; }
.local-region-card h3 { font-size: 1.35rem; margin: 14px 0 4px; }
.region-places { margin-top: 18px; padding-top: 14px; border-top: 1px solid #f3e7dc; font-size: .78rem; color: var(--muted); }
.local-region-card .card-foot { font-size: .78rem; }
.sample-label { font-size: .75rem; color: var(--muted); padding: 6px 12px; border: 1px solid var(--line); border-radius: 6px; white-space: nowrap; }
.theme-regional .article-card { border-radius: 16px; }
.theme-regional .card-body { height: 100%; display: flex; flex-direction: column; padding: 26px; }
.theme-regional .card-body h3 { font-size: 1.14rem; line-height: 1.6; }
.theme-regional .card-body h3 a::after { content: ''; }
.theme-regional .article-card p { -webkit-line-clamp: 3; }
.local-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid #f3e7dc; }
.local-card-bottom > span { color: var(--muted); font-size: .75rem; }
.local-card-bottom a { white-space: nowrap; font-size: .78rem; }
.result-count { font-size: .82rem; color: var(--muted); margin: -8px 0 22px; }
.local-topics { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.local-topics a { padding: 26px 24px; position: relative; }
.local-topics a + a { border-left: 1px solid var(--line); }
.local-topics a > span { font-size: .75rem; color: var(--muted); }
.local-topics h3 { margin: 20px 0 8px; font-size: 1.15rem; }
.local-topics p { font-size: .85rem; color: var(--muted); margin: 0; }
.local-topics b { position: absolute; top: 24px; right: 24px; color: var(--brand); }
.local-topics a:hover { background: var(--surface-soft); }
.local-footer { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.local-footer p { color: var(--muted); font-size: .85rem; }
.local-footer nav { display: flex; flex-wrap: wrap; gap: 24px; font-size: .83rem; }
.theme-regional .page-hero { padding: 64px 0; background: var(--surface-soft); }
.theme-regional .page-hero h1 { line-height: 1.35; }
.theme-regional .page-hero .eyebrow { margin: 0 0 18px; color: var(--brand-strong); }
.representative { margin-top: 30px; font-size: .82rem; }
.representative .article-meta { margin-top: 12px; }
.region-side-nav { display: grid; gap: 3px; }
.region-side-nav a { padding: 8px 12px; border-radius: 8px; font-size: .88rem; }
.region-side-nav a[aria-current], .region-side-nav a:hover { color: var(--brand-strong); background: var(--brand-soft); }
.theme-regional .article-shell .answer-box { margin-top: 0; }
.theme-regional .answer-box p { margin: 0; }
.business-block { margin-top: 45px; padding: 28px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-soft); }
.business-block h2, .article-content .business-block h2 { font-size: 1.3rem; margin: 20px 0 12px; }
.business-block h3, .article-content .business-block h3 { font-size: 1.1rem; margin: 0 0 10px; }
.business-block p { font-size: .88rem; }
.sample-note, .article-content .sample-note { color: var(--muted); font-size: .8rem; }
.article-end { margin-top: 46px; padding-top: 25px; border-top: 1px solid var(--line); }
.theme-regional .toc a.is-active { color: var(--brand-strong); font-weight: 700; }
@media (max-width: 1100px) {
  .local-hero .hero-grid { gap: 40px; }
  .local-board { max-width: 620px; width: 100%; }
  .theme-regional .portal-return { padding-left: 0; margin-left: 0; border: 0; }
  .local-region-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .local-topics { grid-template-columns: repeat(3,minmax(0,1fr)); border: 0; gap: 12px; }
  .local-topics a, .local-topics a + a { border: 1px solid var(--line); border-radius: 12px; }
}
@media (max-width: 700px) {
  .local-hero h1 { font-size: 34px; }
  .desktop-break { display: none; }
  .local-board { padding: 22px; border-radius: 20px; }
  .local-board h2 { font-size: 25px; }
  .board-grid a { padding: 10px; font-size: .77rem; min-height: 84px; }
  .board-grid a > b { right: 8px; top: 7px; }
  .local-region-grid { grid-template-columns: 1fr; }
  .local-region-card { min-height: 210px; }
  .local-topics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .local-topics a { padding: 22px 18px; }
  .local-topics a:last-child { grid-column: 1 / -1; }
  .local-footer { align-items: flex-start; flex-direction: column; }
  .theme-regional .page-hero { padding: 48px 0; }
  .theme-regional .page-hero h1 { font-size: 32px; }
  .business-block { padding: 22px; }
}
