/* Local, script-free map: city coverage markers never imply branch offices. */
.contact-coverage{background:var(--soft);border-block:1px solid var(--rule);padding-block:54px}
.contact-coverage-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,1fr);gap:54px;align-items:center}
.coverage-map-frame{margin:0;min-width:0;border:1px solid #d4dcd7;border-radius:9px;background:#e4eef0;overflow:hidden}
.coverage-map-svg{display:block;width:100%;height:auto}
.coverage-map-water{fill:#e4eef0}
.coverage-map-land{fill:#f7f6eb;stroke:#c7cdc2;stroke-width:1.2;stroke-linejoin:round}
.coverage-map-water-label{font:italic 18px var(--display);fill:#71898f;letter-spacing:.05em}
.coverage-map-pin-halo{fill:#fff;opacity:.85}
.coverage-map-pin-marker{fill:var(--yellow);stroke:var(--ink);stroke-width:1.7}
.coverage-map-pin-center{fill:var(--ink)}
.coverage-map-pin-label{font:600 18px var(--display);fill:var(--ink);stroke:#f7f6eb;stroke-width:5;stroke-linejoin:round;paint-order:stroke fill}
.coverage-map-frame figcaption{display:flex;gap:10px;align-items:flex-start;padding:15px 19px;background:white;border-top:1px solid #d4dcd7;font-size:12px;line-height:1.6;color:var(--muted)}
.coverage-map-legend-dot{width:10px;height:10px;flex:0 0 10px;margin-top:4px;border-radius:50%;background:var(--yellow);border:1px solid var(--ink)}
.contact-coverage-copy{min-width:0}
.contact-coverage-copy .eyebrow{margin:0 0 13px}
.contact-coverage-copy h2{font-size:clamp(31px,3.2vw,44px);line-height:1.17;margin:0 0 17px;letter-spacing:-.04em}
.contact-coverage-copy>p:not(.eyebrow):not(.coverage-map-source){font-size:16px;line-height:1.7;max-width:46ch;margin:0 0 23px;color:var(--muted)}
.contact-coverage-copy h3{font:600 12px/1.5 var(--body);letter-spacing:.07em;text-transform:uppercase;margin:0 0 9px}
.contact-coverage-cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;list-style:none;margin:0;padding:0;font-size:13px;line-height:1.45}
.contact-coverage-cities li{min-width:0;border-bottom:1px solid #dfe3dd}
.contact-coverage-cities a,.contact-coverage-cities li>span{display:block;padding-block:8px;overflow-wrap:break-word}
.contact-coverage-cities a{text-decoration:none;text-underline-offset:4px}
.contact-coverage-cities a:hover{text-decoration:underline}
.contact-coverage-cities a:focus-visible,.contact-coverage-copy a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.contact-coverage-directory{font-size:13px;margin-top:23px;gap:18px}
.contact-coverage-copy .coverage-map-source{font-size:11px;line-height:1.6;color:var(--muted);margin:22px 0 0}
@media(max-width:1000px){.contact-coverage-layout{grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr);gap:30px}.coverage-map-pin-label{font-size:19px}}
@media(max-width:760px){.contact-coverage{padding-block:36px}.contact-coverage-layout{grid-template-columns:1fr;gap:28px}.contact-coverage-copy{display:contents}.contact-coverage-copy .eyebrow,.contact-coverage-copy h2,.contact-coverage-copy>p:not(.coverage-map-source){grid-row:auto}.coverage-map-frame{grid-row:4}.contact-coverage-copy .eyebrow{margin:0 0 -19px}.contact-coverage-copy h2{margin:0 0 -12px}.contact-coverage-copy>p:not(.eyebrow):not(.coverage-map-source){margin:0;max-width:none}.contact-coverage-copy h3{margin:0 0 -20px}.contact-coverage-cities{font-size:14px;gap:0 20px}.contact-coverage-cities a,.contact-coverage-cities li>span{padding-block:11px;min-height:43px}.contact-coverage-directory{margin-top:0}.contact-coverage-copy .coverage-map-source{margin:0}.coverage-map-frame figcaption{padding:13px 15px}.coverage-map-pin-label{font-size:21px;stroke-width:6}}
@media(prefers-reduced-motion:reduce){.contact-coverage *{scroll-behavior:auto}}
