.coverage-section{position:relative;padding:96px 0;background:var(--paper,#f7f8f5);overflow:hidden;isolation:isolate}
.coverage-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center;width:min(1180px,calc(100% - 40px));margin-inline:auto}
.coverage-card{width:100%;max-width:620px;min-width:0;margin-inline:auto;overflow:hidden;border:1px solid #d4dfcc;border-radius:20px;background:radial-gradient(ellipse at 50% 42%,#fff 0%,#f3f7ef 48%,#eaf0e3 100%);box-shadow:0 20px 55px #23391a10}
.coverage-stage{position:relative;width:100%;height:450px}
.coverage-scene,.coverage-fallback{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.coverage-fallback img{display:block;width:100%;height:100%;object-fit:contain}
.coverage-scene{visibility:hidden;overflow:visible}
.coverage-card.is-ready .coverage-scene{visibility:visible}
.coverage-card.is-ready .coverage-fallback{visibility:hidden}
.coverage-canvas{display:block;position:absolute;inset:0;width:100%;height:100%;color-scheme:only light}
.coverage-canvas[hidden]{display:none}
.coverage-card.is-canvas .coverage-scene{visibility:hidden}
.coverage-scene text{font-family:Arial,sans-serif;font-weight:550;letter-spacing:0;fill:#253c2d}
.coverage-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid #d4dfcc;color:#40583a}
.coverage-footer>span{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600}
.coverage-footer i{width:3px;height:3px;border-radius:50%;background:#81986a}
.coverage-controls{display:none;align-items:center;gap:7px}
.coverage-card.is-ready .coverage-controls{display:flex}
.coverage-controls button{display:grid;place-items:center;width:40px;height:40px;background:#f8fbf4;color:#40583a;border:1px solid #bccfb0;border-radius:50%;cursor:pointer;transition:background .2s,border-color .2s}
.coverage-controls button:hover{background:#e5efd9;border-color:#7b9864}
.coverage-controls button:focus-visible{outline:3px solid #7eae39;outline-offset:3px}
.coverage-controls svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.coverage-play-icon{display:none}
.coverage-card.is-paused .coverage-pause-icon{display:none}
.coverage-card.is-paused .coverage-play-icon{display:block}
.cities>a{font-size:12px;text-decoration:underline;text-underline-offset:4px;color:var(--lime)}
@media(min-width:1151px) and (max-width:1360px){.nav{gap:20px}}
@media(max-width:860px){.coverage-section{padding:78px 0}.coverage-layout{grid-template-columns:minmax(0,1fr);gap:40px}.coverage-copy{width:100%;max-width:620px;margin-inline:auto}}

@media(prefers-reduced-motion:reduce){.coverage-controls{display:none!important}}
@media print{.coverage-controls{display:none!important}.coverage-card{box-shadow:none}}

.coverage-copy{min-width:0}
.coverage-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 18px;color:#536e3f;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.coverage-eyebrow>span{width:30px;height:1px;background:var(--lime,#c2ee71)}
.coverage-copy h2{margin:0;color:var(--ink,#19241e);font-size:clamp(32px,4vw,52px);font-weight:750;letter-spacing:-.04em;line-height:1.12}
.coverage-copy>p{margin:20px 0 0;color:var(--muted,#687169);font-size:17px;line-height:1.75}
.coverage-places{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}
.coverage-places span,.coverage-places a{padding:8px 12px;border:1px solid #dce3d5;border-radius:6px;background:#eff3eb;color:#30482b;font-size:12px;font-weight:700;line-height:1.65}
.coverage-contact{display:inline-flex;align-items:center;color:#405e2e;font-size:14px;font-weight:800;text-underline-offset:5px}
.coverage-contact:hover{text-decoration:underline}
@media(max-width:600px){.coverage-section{padding:56px 0}.coverage-layout{width:calc(100% - 28px);gap:34px}.coverage-stage{height:520px}.coverage-footer{padding:10px 12px}.coverage-copy h2{font-size:34px}.coverage-copy>p{font-size:16px}.coverage-places{margin:24px 0}}

/* Every location shares the same resting colors; links keep an underline. */
.coverage-places a{text-decoration:underline;text-underline-offset:3px}
.coverage-places a:hover,.coverage-places a:focus-visible{background:#e1edcf;border-color:#7b985b}

/* Solid, high-contrast location labels on phones; desktop colors stay intact. */
@media(max-width:600px){
 .coverage-card{color-scheme:light}
 .coverage-scene [data-label]>rect{fill:#20352a;fill-opacity:1;stroke:#789b59;filter:none}
 .coverage-scene [data-label] text,.coverage-scene [data-label] tspan{fill:#f4f8ee}
 .coverage-places>a,.coverage-places>a:visited,.coverage-places>span{background:#20352a;color:#f4f8ee;border-color:#789b59;min-height:44px;display:inline-flex;align-items:center}
 .coverage-places>a:hover,.coverage-places>a:focus-visible{background:#304c35;color:#fff;border-color:#c2ee71}
 .coverage-places>a:focus-visible{outline:2px solid #405e2e;outline-offset:3px}
 .coverage-controls button{width:44px;height:44px}
}
