.dh-geo-atlas{border:1px solid #c8ddd7;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 18px 60px #062d3210;margin:0 0 42px;font-family:Inter,system-ui,sans-serif}
.dh-map-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;background:#f3f7f1;border-bottom:1px solid #d3e4e1}
.dh-map-header>div{display:grid;gap:4px}.dh-map-header>div>span{font-size:.65rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#658279}.dh-map-header strong{font-size:1.1rem;color:#082f34}.dh-map-hint{font-size:.73rem;color:#587477;max-width:220px;line-height:1.5;text-align:right}
.dh-map-surface{position:relative;height:570px;background:#d8ebeb;isolation:isolate;overflow:hidden}
.dh-map-canvas{position:absolute;inset:0;opacity:0;transition:opacity .3s;outline:none;min-width:0}
.dh-geo-atlas.is-ready .dh-map-canvas{opacity:1}.dh-map-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.dh-map-fallback svg{height:100%;width:100%;max-width:100%;object-fit:contain}.dh-geo-atlas.is-ready .dh-map-fallback{visibility:hidden}
.dh-map-toolbar{position:absolute;z-index:3;left:18px;top:18px;display:flex;gap:4px;padding:5px;border:1px solid #cadbd7;border-radius:14px;background:#ffffffed;box-shadow:0 6px 24px #082f3420;max-width:calc(100% - 82px)}
.dh-map-toolbar button{border:0;border-radius:10px;background:transparent;color:#244f4b;padding:8px 12px;font:inherit;font-size:.76rem;font-weight:750;min-height:38px;cursor:pointer}.dh-map-toolbar button[aria-pressed="true"]{background:#082f34;color:#fff}
.dh-map-status{position:absolute;z-index:3;bottom:34px;left:18px;margin:0!important;padding:6px 10px;font-size:.65rem;color:#214d48;background:#ffffffdc;border-radius:8px;pointer-events:none;max-width:calc(100% - 40px)}
.dh-map-places{display:flex;flex-wrap:wrap;gap:9px;padding:22px 26px 0;background:#fff}
.dh-map-places button{border:1px solid #ccded7;background:#fff;color:#254e4b;border-radius:999px;font:inherit;font-size:.82rem;font-weight:700;padding:9px 14px;min-height:44px;cursor:pointer;transition:.18s}.dh-map-places button:hover{background:#edf7f5}.dh-map-places button[aria-pressed="true"]{background:#087f8c;color:#fff;border-color:#087f8c}
.dh-map-details{padding:24px 26px 30px;background:#fff;color:#082f34}.dh-map-details>[data-map-type]{display:block;font-size:.67rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#087f8c;margin-bottom:10px}.dh-map-details h3{margin:0 0 12px!important}.dh-map-details strong{display:block;margin:0 0 9px;color:#44807a;font-size:.92rem}.dh-map-details>[data-map-copy]{font-size:.95rem;margin:0!important}.dh-map-details>.dh-map-detail-note{border-top:1px solid #d9e8e3;padding-top:15px;margin:18px 0 0!important;font-size:.73rem;color:#6d8581;line-height:1.65}
.dh-geo-atlas .maplibregl-canvas{outline:none}.dh-geo-atlas .maplibregl-ctrl-group{border:1px solid #cadbd7;border-radius:12px;overflow:hidden;box-shadow:0 5px 18px #082f3418}.dh-geo-atlas .maplibregl-ctrl-group button{width:38px;height:38px}.dh-geo-atlas .maplibregl-ctrl-attrib{font-size:9px;line-height:1.45;background:#ffffffd9;max-width:100%;padding:4px 7px}.dh-geo-atlas .maplibregl-ctrl-attrib a{color:#315b59!important}.dh-geo-atlas .maplibregl-ctrl-scale{color:#244f4b;border-color:#244f4b;background:#ffffffbe;font-size:10px}.dh-geo-atlas :focus-visible{outline:3px solid #36b8b8;outline-offset:3px}
@media(max-width:780px){.dh-geo-atlas{border-radius:22px}.dh-map-header{padding:18px;display:block}.dh-map-hint{display:block;text-align:left;max-width:none;margin-top:8px}.dh-map-surface{height:420px}.dh-map-toolbar{left:10px;top:10px;max-width:calc(100% - 62px)}.dh-map-toolbar button{padding:7px 9px;font-size:.7rem}.dh-map-places{padding:18px 18px 0;gap:8px}.dh-map-places button{font-size:.76rem;padding:8px 12px}.dh-map-details{padding:22px 18px}.dh-map-status{left:10px;bottom:42px;max-width:calc(100% - 70px);font-size:.6rem}.dh-geo-atlas .maplibregl-ctrl-top-right{top:0;right:0}.dh-geo-atlas .maplibregl-ctrl-group button{width:32px;height:35px}}
@media print{.dh-map-canvas,.dh-map-toolbar,.dh-map-places{display:none}.dh-map-fallback{visibility:visible!important}.dh-map-surface{height:400px}}
@media(prefers-reduced-motion:reduce){.dh-map-canvas,.dh-map-places button{transition:none}}

.dh-map-fallback{position:absolute}.dh-vector-controls{position:absolute;top:12px;right:12px;display:grid;z-index:4;border:1px solid #cadbd7;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 5px 18px #082f3418}.dh-vector-controls button{width:36px;height:36px;border:0;border-bottom:1px solid #e2ebe6;background:#fff;color:#234e4b;font:600 20px system-ui;cursor:pointer}.dh-vector-controls button:last-child{border-bottom:0}.dh-map-toolbar button:disabled{opacity:.6;cursor:default}
/* The geographic map is visible before JS and does not depend on WebGL. */
.dh-geo-atlas:not(.is-ready) .dh-map-canvas{visibility:hidden;pointer-events:none}
.dh-geo-atlas:not(.is-ready) .dh-map-fallback{visibility:visible!important}
.dh-geo-atlas.is-ready .dh-map-canvas{visibility:visible;pointer-events:auto}
.dh-geo-atlas.is-ready .dh-map-fallback{visibility:hidden!important;pointer-events:none}
.dh-map-fallback svg{display:block;overflow:hidden}
.dh-map-touch-toggle{display:none;position:absolute;bottom:12px;left:12px;z-index:4;min-height:40px;padding:8px 12px;border:1px solid #c1d6ce;border-radius:10px;background:#fffffff2;color:#234e4b;font:700 12px system-ui;box-shadow:0 4px 16px #082f3415;cursor:pointer}
.dh-map-touch-toggle[aria-pressed="true"]{background:#082f34;color:#fff}
.dh-map-surface:fullscreen{height:100dvh;width:100vw}
.dh-geo-atlas .dh-map-fallback-credit{display:block;font-size:9px}
.dh-geo-atlas.is-ready .dh-map-fallback-credit{display:none}
@media(max-width:780px){.dh-map-surface{height:390px}.dh-map-header{padding:16px 18px}.dh-map-hint{font-size:.7rem}.dh-map-touch-toggle{display:block}.dh-map-status{bottom:62px;max-width:calc(100% - 26px)}.dh-map-toolbar{max-width:calc(100% - 62px)}.dh-map-toolbar button{padding-inline:8px}.dh-map-details{padding:18px}.dh-geo-atlas{margin-bottom:26px}}
.dh-geo-atlas[data-map-selection] .dh-map-status::before{content:"";display:inline-block;width:18px;height:3px;background:#e06f4d;vertical-align:middle;margin-right:7px;border-radius:2px}
.dh-geo-atlas .dh-map-fallback-credit{pointer-events:auto;font-size:8px}
.dh-geo-atlas .dh-map-fallback-credit a{color:inherit;text-decoration:none}
.dh-geo-atlas .dh-map-fallback-credit a:hover{text-decoration:underline}

@media(max-width:780px){.dh-map-touch-toggle{bottom:32px}.dh-map-status{bottom:82px}.dh-geo-atlas .dh-map-fallback-credit{bottom:5px;max-width:calc(100% - 20px);line-height:1.45}}

/* Rich locality profiles: scientific context first, map mechanics second. */
.dh-map-details>[data-map-copy].dh-place-profile{font-size:inherit;margin:18px -2px 0!important}
.dh-place-intro{margin:0 0 20px!important;max-width:72ch;color:#234d50;font-size:.9rem;line-height:1.7}
.dh-place-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dh-place-fact{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;margin:0;padding:16px;border:1px solid #d6e6e0;border-radius:17px;background:linear-gradient(145deg,#f8fbf8,#f0f7f4);box-shadow:0 7px 20px #123d3710}
.dh-place-fact-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#dff4ef;color:#087f8c}
.dh-place-fact:nth-child(3n+2) .dh-place-fact-icon{background:#e7f1f4;color:#357a84}
.dh-place-fact:nth-child(3n) .dh-place-fact-icon{background:#fff0e9;color:#c75f43}
.dh-place-fact-icon svg{width:22px;height:22px}
.dh-place-fact-label{display:block;margin:1px 0 5px;color:#66817c;font-size:.58rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.dh-place-fact strong{display:block;margin:0 0 6px!important;color:#0a393d;font-size:.87rem;line-height:1.3}
.dh-place-fact p{margin:0!important;color:#4d6969;font-size:.7rem;line-height:1.62}
.dh-place-rhythm{margin:14px 0 0;padding:17px;border-radius:18px;background:#093d42;color:#fff}
.dh-place-rhythm h4{display:flex;align-items:center;gap:9px;margin:0 0 13px!important;color:#8de4df;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase}
.dh-place-rhythm h4 svg{width:20px;height:20px}
.dh-place-rhythm>div{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-radius:12px;overflow:hidden;background:#ffffff22}
.dh-place-rhythm article{padding:13px 14px;background:#0e4b50}
.dh-place-rhythm article strong{margin:0 0 4px!important;color:#fff;font-size:.75rem}
.dh-place-rhythm article p{margin:0!important;color:#d2e8e5;font-size:.66rem;line-height:1.55}
.dh-place-origin{position:relative;margin:14px 0 0;padding:15px 17px 15px 48px;border:1px solid #f0c8b9;border-radius:16px;background:#fff7f2;color:#5b4d47}
.dh-place-origin::before{content:"i";position:absolute;left:16px;top:16px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e06f4d;color:#fff;font:800 13px/1 system-ui}
.dh-place-origin strong{margin:0 0 4px!important;color:#9a492f;font-size:.72rem}
.dh-place-origin p{margin:0!important;font-size:.67rem;line-height:1.58}
.dh-map-details>.dh-map-detail-note{display:none}
@media(max-width:780px){
 .dh-map-details>[data-map-copy].dh-place-profile{margin-top:16px!important}
 .dh-place-intro{font-size:.83rem;line-height:1.65;margin-bottom:16px!important}
 .dh-place-facts{grid-template-columns:1fr;gap:10px}
 .dh-place-fact{grid-template-columns:36px minmax(0,1fr);gap:11px;padding:14px;border-radius:15px}
 .dh-place-fact-icon{width:36px;height:36px;border-radius:11px}
 .dh-place-fact-icon svg{width:20px;height:20px}
 .dh-place-fact strong{font-size:.82rem}
 .dh-place-fact p{font-size:.68rem}
 .dh-place-rhythm{padding:14px}
 .dh-place-rhythm>div{grid-template-columns:1fr}
 .dh-place-origin{padding:14px 14px 14px 45px}
}
