/* Planning content: service area map, emergency guide, sample reviews, careers */
.map-layout { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: clamp(var(--space-6),4vw,var(--space-12)); align-items: start; }
.map-figure { background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-lg); padding: var(--space-4); }
.county-map { width: 100%; height: auto; max-height: 80vh; }
.map-county path { fill: var(--color-accent-highlight); stroke: var(--color-control-border); stroke-width: 1.5; stroke-linejoin: round; cursor: pointer; transition: fill var(--transition-interactive); }
.map-county:hover path { fill: var(--color-surface-offset-2); }
.map-county:focus { outline: none; }
.map-county:focus-visible path { fill: var(--color-surface-offset-2); stroke: var(--color-accent); stroke-width: 4; }
.map-label { font: 600 17px var(--font-body); fill: var(--color-text); paint-order: stroke; stroke: var(--color-accent-highlight); stroke-width: 4px; pointer-events: none; }
.map-figure figcaption { margin-top: var(--space-3); font-size: var(--text-xs); color: var(--color-text-muted); }
.map-group { margin-top: var(--space-5); padding-top: var(--space-3); border-top: 1px solid var(--color-divider); }
.map-group h3 { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 500; }
.map-group ul { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); }
.map-group a { display: inline-flex; align-items: center; min-height: 44px; }
.map-group li a { padding: var(--space-1) var(--space-3); border: 1px solid var(--color-control-border); border-radius: var(--radius-full); font-size: var(--text-sm); text-decoration: none; }
.danger-panel { border: 2px solid var(--color-error); background: var(--color-error-bg); border-radius: var(--radius-lg); padding: clamp(var(--space-5),3vw,var(--space-8)); }
.danger-panel h2 { font-family: var(--font-display); font-size: var(--text-xl); font-weight: 500; color: var(--color-text); }
.danger-panel p, .danger-panel li { color: var(--color-text); margin-top: var(--space-3); }
.danger-panel ul { padding-left: var(--space-6); }
.steps-list { counter-reset: s; display: flex; flex-direction: column; gap: var(--space-3); margin-top: var(--space-5); }
.steps-list li { counter-increment: s; position: relative; padding: var(--space-4) var(--space-4) var(--space-4) var(--space-12); background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-md); font-size: var(--text-sm); }
.steps-list li::before { content: counter(s); position: absolute; left: var(--space-4); font-family: var(--font-display); font-size: var(--text-lg); color: var(--color-accent); }
.dont-list li { margin-top: var(--space-2); }
.sample-review { position: relative; }
.sample-review blockquote { font-family: var(--font-display); font-size: var(--text-lg); margin-top: var(--space-4); color: var(--color-text); }
.sample-tag { display: inline-block; padding: var(--space-1) var(--space-3); border: 1px dashed var(--color-control-border); border-radius: var(--radius-full); font-size: var(--text-xs); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--color-text); }
.role-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-4); margin-block: var(--space-6); }
.role-list li { padding: var(--space-5); background: var(--color-surface); border: 1px solid var(--color-divider); border-radius: var(--radius-md); font-size: var(--text-sm); color: var(--color-text-muted); }
.role-list strong { display: block; color: var(--color-text); font-size: var(--text-base); }
@media (max-width: 820px) { .map-layout, .role-list { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .map-county path { transition: none; } }

/* Access: map focus and state must survive forced colors and print */
@media (forced-colors: active) {
  .map-county path { fill: Canvas; stroke: CanvasText; transition: none; }
  .map-county:hover path { stroke: Highlight; stroke-width: 3; }
  .map-county:focus-visible path { fill: Canvas; stroke: Highlight; stroke-width: 6; stroke-dasharray: 14 6; }
  .map-label { fill: CanvasText; stroke: Canvas; }
}
@media print {
  .map-county path { cursor: auto; fill: #fff; stroke: #000; transition: none; }
  .map-label { fill: #000; stroke: #fff; }
  .map-figure { break-inside: avoid; }
}
