.region-map-section{background:#e9eef1}.region-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end;margin-bottom:42px}.region-heading>p{max-width:500px;font-size:1rem;line-height:1.8}.region-atlas{background:#122029;border:1px solid #2b414e;border-radius:22px;overflow:hidden;color:#fff;box-shadow:0 25px 65px #14252e26}.atlas-top{display:flex;align-items:center;gap:25px;padding:24px 32px;border-bottom:1px solid #ffffff12}.atlas-top>span{font-size:.875rem;font-weight:700;letter-spacing:.09em}.atlas-top>p{color:#adbdc6;font-size:.875rem}.atlas-origin{margin-left:auto;color:#ff9b72;white-space:nowrap}.atlas-viewport{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#57717f #142731;scrollbar-width:thin;background:radial-gradient(ellipse at 50% 38%,#314a553b,transparent 65%)}.atlas-viewport:focus-visible{outline:2px solid var(--orange);outline-offset:-4px}.atlas-scene{min-width:800px;position:relative;max-width:1200px;margin:auto}.region-map{display:block;width:100%;height:auto}.atlas-geography text{font-family:Arial,Helvetica,sans-serif;fill:#9eafb9;font-size:17px;letter-spacing:4px;opacity:.55}.atlas-geography .lake-label{fill:#bddeeb;font-size:25px;letter-spacing:6px;opacity:.85}.atlas-compass text{fill:#9eafb9;font-size:18px}.city-marker{cursor:pointer;outline:none}.city-leader{fill:none;stroke:#a0b6c1;stroke-width:1.1;stroke-opacity:.65}.city-shadow{fill:#051017;opacity:.65}.city-base{fill:#8096a0;stroke:#b9cdd5;stroke-width:.5}.city-face-left{fill:#6a8797}.city-face-right{fill:#385564}.city-face-top{fill:#b2c7d0}.city-line{fill:none;stroke:#d2e4eb;stroke-width:2}.city-tower{transform:translateY(0);transition:transform .25s ease;pointer-events:none}.city-monogram{fill:#16222b;font-size:10px;font-weight:800}.city-label rect{fill:#1a2d38;stroke:#64808f;stroke-width:1}.city-label text{fill:#edf4f7;font-size:20px;font-weight:600;font-family:Arial,Helvetica,sans-serif;letter-spacing:-.2px}.city-label text{pointer-events:none}.city-label .city-label-hit{fill:transparent;stroke:none}.city-hit{fill:transparent;stroke:none}.city-marker:hover .city-tower,.city-marker:focus-visible .city-tower{transform:translateY(-8px)}.city-marker:hover .city-label rect,.city-marker:focus-visible .city-label rect{fill:#334b5a;stroke:#ff9b72;stroke-width:2}.city-marker.is-active .city-face-top{fill:#ffbd92}.city-marker.is-active .city-face-left{fill:#ff773d}.city-marker.is-active .city-face-right{fill:#b94218}.city-marker.is-active .city-base{fill:#ff773d;stroke:#ffd0b0}.city-marker.is-active .city-label rect{fill:#ff773d;stroke:#ffb88d}.city-marker.is-active .city-label text{fill:#172025;font-weight:700}.city-marker.is-active .city-leader{stroke:#ff9b72;stroke-width:2;stroke-opacity:1}.city-marker:focus-visible .city-label rect{stroke:white;stroke-width:3}.atlas-mobile-hint{display:none}.atlas-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 32px;padding:26px 0;border-top:1px solid #ffffff1c}.city-detail{display:flex;align-items:center;gap:42px;min-width:0}.city-detail>div{min-width:225px}.city-detail span{display:block;color:#ff9b72;font-size:.875rem;font-weight:700;letter-spacing:.08em;margin-bottom:8px}.city-detail h3{font-size:1.9rem;line-height:1.15}.city-detail p{font-size:.9375rem;color:#b5c5cf;margin-top:8px;line-height:1.6}.city-detail>p{max-width:340px;margin:0}.atlas-bottom .button{max-width:310px;flex-shrink:0;text-align:center;border-radius:8px;font-size:.9375rem}.atlas-town-list{display:flex;flex-wrap:wrap;gap:9px;padding:0 32px 25px}.city-chip{background:#ffffff06;border:1px solid #ffffff25;color:#c2d2db;font-size:.875rem;min-height:44px;padding:9px 15px;border-radius:7px;transition:background .2s,border-color .2s}.city-chip:hover{border-color:#ff9b72;color:#fff}.city-chip[aria-pressed=true]{background:#ff773d1a;border-color:#ff9b72;color:#ffb58f}.atlas-footnote{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 32px;background:#0c1820;font-size:.875rem;color:#b3c3cc}.atlas-footnote>span:last-child{font-size:.75rem;color:#93a8b5}.atlas-footnote a{border-bottom:1px solid #69828f}.atlas-footnote a:hover{color:#ff9b72}.atlas-bottom .button:focus-visible,.city-chip:focus-visible{outline-color:#ffae85}
@media(max-width:1150px){.city-detail{gap:26px}.city-detail>p{max-width:260px}.city-detail>div{min-width:200px}.atlas-bottom .button{max-width:260px}.atlas-footnote{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:900px){.region-heading{gap:30px}.atlas-origin{display:none}.city-detail>p{display:none}.atlas-bottom{gap:20px}.atlas-top{justify-content:space-between}.atlas-scene{min-width:800px}.atlas-mobile-hint{display:block;font-size:.875rem;color:#b5c5cf;padding:12px 25px;border-top:1px solid #ffffff12}}
@media(max-width:600px){.region-heading{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.region-heading>p{font-size:1rem}.region-atlas{border-radius:15px}.atlas-top{padding:20px;align-items:flex-start;gap:12px;flex-direction:column}.atlas-top>p{font-size:.875rem}.atlas-viewport{max-height:none}.atlas-scene{min-width:800px}.atlas-bottom{margin:0 20px;flex-direction:column;align-items:stretch;padding:24px 0;gap:20px}.city-detail{display:block}.city-detail>p{display:block;max-width:100%;margin-top:14px;font-size:.9375rem}.city-detail h3{font-size:1.75rem}.atlas-bottom .button{max-width:none;width:100%}.atlas-town-list{padding:0 20px 22px;gap:8px}.city-chip{flex:1 1 auto;padding-inline:11px}.atlas-footnote{padding:18px 20px;line-height:1.65}.atlas-mobile-hint{padding:12px 20px}}
@media(prefers-reduced-motion:reduce){.city-tower,.city-chip{transition:none}.city-marker:hover .city-tower,.city-marker:focus-visible .city-tower{transform:none}}

.region-map .city-marker .city-label rect.city-label-hit{fill:transparent;stroke:none}

/* Keep labels readable as the map extends east into the Allgäu. */
.atlas-scene{min-width:1000px}
