/* Editorial county cluster maps; approved pilot styling, scoped to each mount point. */
.ec-map{container:ec-map / inline-size;color:#353b3a;font-family:inherit;background:#fffdf9;border:1px solid #deddd6;border-radius:3px;overflow:hidden}
.ec-map *{box-sizing:border-box}
.ec-map .ec-map-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:21px 26px;border-bottom:1px solid #e4e2db;background:#f9f8f4}
.ec-map .ec-map-intro p{margin:0;font-size:.87rem;line-height:1.65;color:#59605d;max-width:46ch}
.ec-map .ec-map-edition{display:flex;align-items:center;gap:10px;font-size:.7rem;line-height:1.55;color:#676459;white-space:nowrap;font-weight:650}
.ec-map-edition svg{width:28px;height:25px;flex-shrink:0;color:#8c705c}
.ec-map .ec-map-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:stretch}
.ec-map .ec-map-visual{min-width:0;padding:20px 20px 24px}
.ec-map .ec-map-stage{position:relative;aspect-ratio:640/590;background:#f6f5ef;overflow:hidden;border:1px solid #e5e3d9}
.ec-map .ec-map-geography{display:block;width:100%;height:auto;overflow:hidden}
.ec-map .ec-map-context-county{fill:#f0f0e9;stroke:#dcddd4;stroke-width:1;vector-effect:non-scaling-stroke}
.ec-map .ec-map-county{--ep-fill:#d3d0c8;cursor:pointer;outline:none}
.ec-map .ec-map-star{--ep-fill:#adb792}.ec-map .ec-map-mature{--ep-fill:#afa0b6}.ec-map .ec-map-transforming{--ep-fill:#c19174}.ec-map .ec-map-latent{--ep-fill:#d3d0c8}
.ec-map .ec-map-county>path{fill:var(--ep-fill);stroke:#fffdf9;stroke-width:1.6;vector-effect:non-scaling-stroke;transition:filter .15s,stroke .15s,stroke-width .15s}
.ec-map .ec-map-county:hover>path{filter:brightness(1.05);stroke:#554b41;stroke-width:1.4}
.ec-map .ec-map-county.is-selected>path{stroke:#65503d;stroke-width:2.3}
.ec-map .ec-map-county:focus-visible>path{stroke:#302b24;stroke-width:3.5;stroke-dasharray:4 3}
.ec-map .ec-map-county text{pointer-events:none;fill:#303631;font-family:inherit;paint-order:stroke;stroke:var(--ep-fill);stroke-width:2px;stroke-linejoin:round}
.ec-map .ec-map-county-name{font-size:21px;font-weight:750;letter-spacing:.025em}
.ec-map .ec-map-county-status{font-size:15px;font-weight:500;letter-spacing:0}
.ec-map .ec-map-inset{position:absolute;top:12px;left:12px;width:88px;padding:7px;margin:0;border:1px solid #e0dfd7;border-radius:2px;background:#fbfaf6e8}
.ec-map .ec-map-inset svg{display:block;width:100%;height:auto}
.ec-map .ec-map-inset-context{fill:#ebece6;stroke:#d1d4cb;stroke-width:.5}
.ec-map .ec-map-inset-member{fill:#a0a991;stroke:#fffdf9;stroke-width:.7}
.ec-map .ec-map-inset figcaption{margin:3px 0 0;padding:0;text-align:center;font-size:.57rem;font-weight:650;line-height:1.5;color:#696f63;background:none;border:0;letter-spacing:.02em}
.ec-map .ec-map-north{position:absolute;right:14px;bottom:15px;display:flex;flex-direction:column;align-items:center;gap:4px;color:#707166;font-size:.58rem;font-weight:700;line-height:1}
.ec-map .ec-map-north svg{width:14px;height:24px;fill:none;stroke:#707166;stroke-width:1.2}
.ec-map .ec-map-legend{display:flex;flex-wrap:wrap;gap:10px 17px;margin:18px 0 20px;padding:0;list-style:none}
.ec-map .ec-map-legend li{display:flex;align-items:center;gap:7px;margin:0;padding:0;font-size:.72rem;font-weight:600;line-height:1.6;color:#585c53}
.ec-map .ec-map-legend i,.ec-map .ec-map-status i{display:block;width:10px;height:10px;flex-shrink:0;background:var(--ep-fill);border:1px solid #777b7040;border-radius:1px}
.ec-map .ec-map-county-buttons{display:flex;flex-wrap:wrap;gap:7px}
.ec-map .ec-map-county-buttons button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d3d7cd;border-radius:2px;background:#fffdf9;color:#566051;padding:10px 12px;min-height:42px;font-family:inherit;font-size:.74rem;font-weight:650;line-height:1.5;cursor:pointer}
.ec-map .ec-map-county-buttons button>span{font-size:.8rem;line-height:1;color:#868b7d}
.ec-map .ec-map-county-buttons button[aria-pressed=true]{background:#e9ede2;border-color:#8b987b;color:#33432f;box-shadow:inset 0 -2px #8b987b}
.ec-map .ec-map-county-buttons button:hover{background:#f2f2ec}
.ec-map .ec-map-profile{min-width:0;padding:30px 28px 27px;border-left:1px solid #e3e1d8;background:#fffdf9}
.ec-map .ec-map-profile-head{border-bottom:1px solid #e4e2d9;padding-bottom:22px;margin-bottom:22px}
.ec-map .ec-map-kicker{margin:0 0 8px;color:#8a7761;font-size:.65rem;font-weight:650;letter-spacing:.07em;line-height:1.5}
.ec-map .ec-map-profile h3{font-family:inherit;font-size:clamp(1.5rem,2.6cqi,1.95rem);line-height:1.25;letter-spacing:-.035em;font-weight:650;color:#363d35;margin:0 0 14px;padding:0;border:0;overflow-wrap:normal;word-break:normal}
.ec-map .ec-map-status{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:600;line-height:1.5;color:#62665e}
.ec-map .ec-map-key-role{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid #e4e2d9}
.ec-map .ec-map-key-role h4{font-size:.7rem;font-weight:700;line-height:1.5;margin:0 0 8px;color:#6e736a;letter-spacing:.025em}
.ec-map .ec-map-key-role p{font-size:.93rem;line-height:1.65;margin:0;color:#424c40;font-weight:600;max-width:40ch}
.ec-map .ec-map-narrative p{font-size:.86rem;line-height:1.9;color:#5b635a;margin:0 0 1em;max-width:53ch}
.ec-map .ec-map-narrative p:last-child{margin-bottom:0}
.ec-map .ec-map-category-note{padding:17px 25px;margin:0;border-top:1px solid #e3e1d8;border-bottom:1px solid #e3e1d8;background:#f7f7f2;font-size:.73rem;line-height:1.65;color:#6b6d61}
.ec-map .ec-map-sources{padding:0 25px;background:#fbfaf6}
.ec-map .ec-map-sources summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;padding:16px 0;color:#666c60;font-size:.73rem;font-weight:650;line-height:1.6}
.ec-map .ec-map-sources summary::-webkit-details-marker{display:none}.ec-map .ec-map-sources summary:after{content:'+';font-size:1.2rem;line-height:1;font-weight:400}.ec-map .ec-map-sources[open] summary:after{content:'−'}
.ec-map .ec-map-sources>div{padding:0 0 21px}
.ec-map .ec-map-sources p{font-size:.73rem;line-height:1.75;margin:0 0 11px;color:#686f62;max-width:90ch}
.ec-map .ec-map-sources a{font-size:.72rem;font-weight:650;line-height:1.7;color:#617253;text-decoration:underline;text-underline-offset:4px}
.ec-map button:focus-visible,.ec-map summary:focus-visible,.ec-map a:focus-visible{outline:2px solid #8c7051;outline-offset:4px}
.ec-map .ec-map-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@container ec-map (max-width:800px){.ec-map .ec-map-intro{align-items:flex-start;flex-direction:column;gap:10px;padding:21px 23px}.ec-map .ec-map-layout{grid-template-columns:1fr}.ec-map .ec-map-visual{padding:22px 24px}.ec-map .ec-map-stage{max-width:600px;margin-inline:auto}.ec-map .ec-map-profile{border-left:0;border-top:1px solid #e3e1d8;padding:27px 27px 29px}.ec-map .ec-map-profile-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 20px;padding-bottom:18px;margin-bottom:19px}.ec-map .ec-map-kicker{grid-column:1/-1;margin:0}.ec-map .ec-map-profile h3{font-size:1.7rem;margin:0}.ec-map .ec-map-status{align-self:center}.ec-map .ec-map-key-role{padding-bottom:17px;margin-bottom:19px}.ec-map .ec-map-key-role p,.ec-map .ec-map-narrative p{max-width:75ch}.ec-map .ec-map-narrative p{font-size:.9rem;line-height:1.9}}
@container ec-map (max-width:470px){.ec-map .ec-map-intro{padding:19px 18px}.ec-map .ec-map-intro p{font-size:.8rem}.ec-map .ec-map-edition{font-size:.67rem;gap:8px}.ec-map-edition svg{width:24px;height:22px}.ec-map .ec-map-visual{padding:17px 15px 21px}.ec-map .ec-map-inset{width:61px;padding:4px;left:7px;top:7px}.ec-map .ec-map-inset figcaption{font-size:.43rem}.ec-map .ec-map-county-name{font-size:24px}.ec-map .ec-map-county-status{font-size:18px}.ec-map .ec-map-legend{gap:9px 13px;margin:15px 0 17px}.ec-map .ec-map-legend li{font-size:.68rem;gap:6px}.ec-map .ec-map-legend i{width:9px;height:9px}.ec-map .ec-map-county-buttons{gap:7px}.ec-map .ec-map-county-buttons button{font-size:.72rem;padding:9px 10px;flex:1 1 calc(33.3% - 7px);gap:9px}.ec-map .ec-map-profile{padding:23px 20px 26px}.ec-map .ec-map-profile-head{gap:8px 15px}.ec-map .ec-map-profile h3{font-size:1.45rem}.ec-map .ec-map-status{font-size:.7rem}.ec-map .ec-map-key-role p{font-size:.88rem}.ec-map .ec-map-narrative p{font-size:.85rem}.ec-map .ec-map-category-note{padding:16px 18px;font-size:.7rem}.ec-map .ec-map-sources{padding-inline:18px}}
@container ec-map (max-width:290px){.ec-map .ec-map-profile-head{grid-template-columns:1fr;gap:10px}.ec-map .ec-map-status{grid-column:1}.ec-map .ec-map-county-buttons button{flex-basis:calc(50% - 7px)}.ec-map .ec-map-inset{width:51px}.ec-map .ec-map-inset figcaption{font-size:.38rem}.ec-map .ec-map-legend{gap:8px 12px}.ec-map .ec-map-legend li{font-size:.63rem}.ec-map .ec-map-north{right:8px;bottom:9px}}
@media(prefers-reduced-motion:reduce){.ec-map *{transition:none!important;scroll-behavior:auto!important}}
@media print{.ec-map{box-shadow:none;break-inside:auto}.ec-map .ec-map-layout{grid-template-columns:1fr 1fr}.ec-map .ec-map-stage,.ec-map .ec-map-county,.ec-map .ec-map-legend,.ec-map .ec-map-status{-webkit-print-color-adjust:exact;print-color-adjust:exact}.ec-map .ec-map-county-buttons,.ec-map .ec-map-sources summary:after{display:none}.ec-map .ec-map-profile{border-top:0;border-left:1px solid #ddd;padding:20px}.ec-map .ec-map-intro{display:block}.ec-map .ec-map-edition{margin-top:8px}.ec-map .ec-map-geography{break-inside:avoid}}

/* The state inset belongs beside the legend, never over a county polygon. */
.ec-map .ec-map-map-footer{display:grid;grid-template-columns:minmax(0,1fr) 65px;gap:17px;align-items:center;margin:14px 0 18px}
.ec-map .ec-map-map-footer .ec-map-legend{margin:0;align-content:center}
.ec-map .ec-map-map-footer .ec-map-inset{position:static;width:65px;padding:0;border:0;background:transparent;margin:0}
.ec-map .ec-map-map-footer .ec-map-inset figcaption{font-size:.48rem}
@container ec-map (max-width:470px){.ec-map .ec-map-map-footer{grid-template-columns:minmax(0,1fr) 58px;gap:12px;margin:13px 0 17px}.ec-map .ec-map-map-footer .ec-map-inset{width:58px}.ec-map .ec-map-map-footer .ec-map-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.ec-map .ec-map-map-footer .ec-map-legend li{font-size:.65rem;gap:6px}.ec-map .ec-map-map-footer .ec-map-inset figcaption{font-size:.44rem}}
@container ec-map (max-width:290px){.ec-map .ec-map-map-footer{grid-template-columns:minmax(0,1fr) 47px;gap:10px}.ec-map .ec-map-map-footer .ec-map-inset{width:47px}.ec-map .ec-map-map-footer .ec-map-legend{grid-template-columns:1fr;gap:6px}.ec-map .ec-map-map-footer .ec-map-legend li{font-size:.65rem}.ec-map .ec-map-map-footer .ec-map-inset figcaption{font-size:.4rem}}

/* Emerging is present in the original renewable, tourism, and aerospace classifications. */
.ec-map .ec-map-emerging{--ep-fill:#be9aaa}
