/* Preserve the original Europe map and all its geography; refine its finish. */
.regions{background:linear-gradient(125deg,#14242a,#1b3035);gap:6%;align-items:center}
.regions h2{line-height:1.2}.regions h2 em{color:#d4b18b}
.region-map-wrap{padding:24px 20px 18px;border:1px solid #8aa6a22b;border-radius:18px;background:radial-gradient(ellipse at 53% 40%,#365f6138,transparent 70%),linear-gradient(145deg,#223d43,#14272e);box-shadow:0 25px 65px #07171d40,inset 0 1px #ffffff09;isolation:isolate}
.region-map-wrap:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;background-image:radial-gradient(#bbd0c813 .8px,transparent .8px);background-size:22px 22px}
.region-map-wrap svg{border-radius:8px}
.map-country{fill:#2c454b;stroke:#698486;stroke-width:.7;transition:fill .45s ease}
.map-country.germany{fill:#43615e;stroke:#d3b38a;stroke-width:1.45;filter:drop-shadow(0 5px 7px #061a1e55)}
.country-label{fill:#9eb6b0;letter-spacing:2.6px;font-size:12px}
.map-connections path{stroke:#d5b184;stroke-width:1.3;stroke-dasharray:2 9;stroke-linecap:round;opacity:.5;animation:refined-map-flow 22s linear infinite}
.marker-ring{fill:#1b3036;stroke:#d1aa7b;stroke-width:1.5;transition:fill .3s,stroke-width .3s}
.marker-core{fill:#d8b27d;transition:fill .3s,filter .3s}
.marker-pulse{fill:#dbb17d;opacity:0;animation:none}
.map-marker.selected .marker-pulse{animation:refined-map-pulse 3s ease-out infinite}
.map-marker.selected .marker-ring{fill:#715940;stroke:#efcca0;stroke-width:2}
.map-marker.selected .marker-core{fill:#fff0d5;filter:drop-shadow(0 0 5px #e5b778b3)}
.map-marker:hover .marker-ring,.map-marker:focus-visible .marker-ring{stroke-width:3;fill:#725d45}
.map-marker text{font-size:15px;fill:#dfe9e3;stroke:#1b3036;stroke-width:5px;font-weight:500;transition:fill .3s}
.map-marker.selected text{fill:#ffe2b8}
.region-buttons{gap:9px;margin-block:28px}.region-buttons button{border-radius:24px;border-color:#78918d66;padding:10px 16px;font-size:14px;transition:background .25s,color .25s,border-color .25s,transform .25s}
.region-buttons button:hover{background:#ffffff08;transform:translateY(-2px)}.region-buttons button.selected{background:#c9a37a;border-color:#c9a37a;color:#16272b;box-shadow:0 4px 14px #0a181d22}
.region-buttons button:focus-visible,#map-motion:focus-visible{outline:2px solid #e0ba8a;outline-offset:4px}
.region-detail{border-top-color:#819e963b;padding-top:25px}.region-detail h3{font-size:30px}.region-detail p{font-size:16px;line-height:1.8}.region-detail>span{font-size:12px}.region-detail .text-link{font-size:14px}
.map-footer{border-top-color:#a5bdb326;padding-top:18px;font-size:12px;color:#afc5bd}.map-footer button{border:1px solid #78918d66;border-radius:20px;padding:8px 12px;font-size:12px;color:#dfbd94}.map-credit{font-size:11px;color:#a5bbb4}
.region-map-wrap:not(.map-in-view) .map-connections path,.region-map-wrap:not(.map-in-view) .marker-pulse{animation-play-state:paused}
.map-paused *{animation-play-state:paused!important}
@keyframes refined-map-flow{to{stroke-dashoffset:-220}}
@keyframes refined-map-pulse{0%{transform:scale(.6);opacity:.4}75%,100%{transform:scale(2);opacity:0}}
@media(max-width:650px){.regions .region-map-wrap{width:100%;margin-inline:0;padding:14px 10px;border-radius:12px}.map-marker text{font-size:22px}.country-label{font-size:15px}.map-footer{padding-inline:6px}.region-detail h3{font-size:27px}.region-buttons button{padding:9px 14px}}
@media(prefers-reduced-motion:reduce){.regions *{animation:none!important;transition:none!important}.marker-pulse{opacity:0!important}.region-buttons button:hover{transform:none}}
