.coverage-section{padding:clamp(48px,6vw,80px) 0;background:#fdfbf6;border-top:1px solid var(--border);scroll-margin-top:84px}
.coverage-section h2{font-family:'Playfair Display',serif;font-size:clamp(30px,3.5vw,44px);line-height:1.2;margin:0 0 12px}
.coverage-subtitle{color:var(--mid);font-size:17px;margin-bottom:30px;line-height:1.6}
.coverage-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:28px;align-items:start}
.coverage-map-card{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;min-width:0}
.coverage-map-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 20px;font-size:12px;font-weight:600;border-bottom:1px solid var(--border)}
.coverage-map-top i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:7px}
.coverage-map-top>span:last-child{color:var(--mid)}
.coverage-viewport{position:relative;height:450px;overflow:hidden;background:#f2f5f3;touch-action:pan-y}
.coverage-basemap{position:absolute;max-width:none;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.coverage-pins{position:absolute;inset:0;pointer-events:none}
.coverage-pin{position:absolute;width:44px;height:44px;transform:translate(-50%,-50%);border:0;background:transparent;border-radius:50%;padding:0;cursor:pointer;pointer-events:auto;color:var(--navy);font:600 12px 'DM Sans',sans-serif;z-index:2}
.coverage-pin::before{content:'';position:absolute;width:11px;height:11px;left:16px;top:16px;background:var(--navy);border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0d1b2a44}
.coverage-pin.is-cluster::before{width:32px;height:32px;left:6px;top:6px;background:var(--navy);border:2px solid #fff}
.coverage-pin.is-cluster span{position:relative;color:#fff;font-size:12px;line-height:44px}
.coverage-pin:hover::before,.coverage-pin:focus-visible::before,.coverage-pin.is-selected::before{background:#9a651c}
.coverage-pin.is-selected{z-index:4}
.coverage-label{position:absolute;font:600 11px 'DM Sans',sans-serif;color:#26333c;white-space:nowrap;background:#f2f5f3ed;padding:2px 4px;border-radius:3px;pointer-events:none;z-index:1}
.coverage-controls,.coverage-pan{position:absolute;display:flex;gap:4px;z-index:6;right:12px;top:12px}
.coverage-controls[hidden],.coverage-pan[hidden]{display:none}
.coverage-pan{top:auto;bottom:12px}
.coverage-controls button,.coverage-pan button{border:1px solid #d5dbd6;border-radius:7px;background:#fff;color:var(--navy);width:44px;height:44px;font:22px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 1px 3px #0d1b2a0d}
.coverage-controls button:hover,.coverage-pan button:hover{background:var(--cream)}
.coverage-controls button:disabled{opacity:.45;cursor:default}
.coverage-north{position:absolute;left:15px;top:19px;font-size:12px;font-weight:700;color:#65716c}
.coverage-tooltip{position:absolute;z-index:8;max-width:calc(100% - 20px);background:var(--navy);color:#fff;border-radius:7px;padding:8px 12px;font:500 13px 'DM Sans',sans-serif;pointer-events:none;box-shadow:0 3px 12px #0d1b2a22;white-space:normal}
.coverage-status{padding:14px 20px 0;font-size:13px;line-height:1.5;font-weight:600;min-height:38px}
#coverage-help{font-size:12px;line-height:1.65;color:var(--mid);margin:7px 20px 12px}
.coverage-attribution{font-size:12px;color:var(--mid);line-height:1.7;margin:0;padding:12px 16px;border-top:1px solid var(--border)}
.coverage-attribution a{text-decoration:underline;text-underline-offset:2px}
.coverage-directory h3{font-family:'Playfair Display',serif;font-size:23px;margin:0 0 8px}
.coverage-directory>p{color:var(--mid);font-size:13px;line-height:1.7;margin:0 0 18px}
.coverage-list{border-top:1px solid var(--border)}
.coverage-list summary{padding:17px 0;font-size:13px;font-weight:600;cursor:pointer;line-height:1.5}
.coverage-list summary span{font-size:11px;color:var(--mid);margin-left:6px}
.coverage-list ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:2px 6px;margin:0 0 14px;padding:0}
.coverage-list li{min-width:0}
.coverage-list button{display:block;width:100%;min-height:44px;text-align:left;border:0;border-radius:5px;background:transparent;font:400 12px/1.4 'DM Sans',sans-serif;color:var(--navy);padding:7px 8px;cursor:pointer}
.coverage-list button:hover,.coverage-list button[aria-pressed=true]{background:var(--cream2);color:#6e4813}
.coverage-directory .coverage-area-note{font-size:11px;margin:14px 0;line-height:1.7}
.coverage-contact{font-size:12px;font-weight:600;display:inline-block;line-height:1.6;padding:10px 0;border-bottom:1px solid var(--gold)}
.coverage-support{font-size:14px;line-height:1.85;color:var(--mid);max-width:790px;margin:25px 0 0}
@media(max-width:1000px){.coverage-layout{grid-template-columns:minmax(0,1fr)}.coverage-directory{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.coverage-directory h3,.coverage-directory>p,.coverage-contact{grid-column:1/-1}.coverage-viewport{height:450px}}
@media(max-width:540px){.coverage-viewport{height:360px}.coverage-subtitle{font-size:15px}.coverage-map-top{padding:15px 14px;font-size:11px}.coverage-directory{display:block}.coverage-layout{gap:24px}.coverage-status{padding-left:14px;padding-right:14px}#coverage-help{margin-left:14px;margin-right:14px}.coverage-attribution{padding-left:14px;padding-right:14px}.coverage-section .wrap{padding:0 20px}.coverage-controls{right:8px;top:8px}.coverage-pan{right:8px;bottom:8px}.coverage-label{font-size:10px}.coverage-list button{font-size:13px}}
.coverage-contact,.coverage-attribution a,.cov-note a{color:var(--navy)}.coverage-contact:hover,.cov-note a:hover{color:#865a20}

/* Keep map announcements available to assistive technology without adding visible copy. */
.coverage-section .coverage-sr-only{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.coverage-directory h3{margin-bottom:18px}
