/* A north-up location card. Keep street names and directions quiet and legible. */
#city-map{position:relative;width:100%;min-width:0;height:auto;aspect-ratio:auto;perspective:none;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none;color:#243d35}
#city-map .cb-map-figure{margin:0;border:1px solid #fff7;border-radius:24px;background:#fffdf4;box-shadow:0 18px 50px #103c3c24;overflow:hidden}
#city-map .cb-map-frame{position:relative;width:100%;aspect-ratio:11/9;overflow:hidden;isolation:isolate;background:#eaece3}
#city-map .cb-map-art{display:block;width:100%;height:100%;position:absolute;inset:0}
#city-map .cb-map-heading{position:absolute;z-index:2;left:22px;top:21px;display:grid;gap:5px;padding:10px 13px;border-radius:8px;background:#fffdf4ed;box-shadow:0 2px 8px #243d3508}
#city-map .cb-map-heading>span{font:800 9px/1.2 Archivo,Arial,sans-serif;letter-spacing:.08em}
#city-map .cb-map-heading strong{font:900 19px/1 Archivo,Arial,sans-serif;letter-spacing:-.035em}
#city-map .cb-map-north{position:absolute;right:20px;top:21px;display:grid;justify-items:center;gap:3px;width:30px;padding:7px 0;border-radius:20px;background:#fffdf4e8;color:#405648;font:800 10px/1 Archivo,Arial,sans-serif}
#city-map .cb-map-north b{font:500 25px/1 Arial,sans-serif}
#city-map .cb-map-marker{position:absolute;z-index:4;left:50%;top:50%;width:0;height:0;pointer-events:none}
#city-map .cb-map-marker::after{content:'';position:absolute;width:22px;height:8px;left:-11px;top:-2px;border-radius:50%;background:#80233425;z-index:-1}
#city-map .cb-map-pin{position:absolute;display:block;left:-24px;bottom:0;width:48px;height:60px;overflow:visible;filter:drop-shadow(0 3px 4px #48202c24)}
#city-map .cb-map-pin path{fill:var(--red,#b41232);stroke:#fffdf4;stroke-width:3;stroke-linejoin:round}
#city-map .cb-map-pin circle{fill:#fffdf4}
#city-map .cb-map-label{position:absolute;bottom:69px;left:0;transform:translateX(-50%);display:grid;gap:5px;min-width:180px;padding:12px 17px;border:1px solid #b412321f;border-radius:11px;background:#fffdf4;color:var(--red,#b41232);box-shadow:0 5px 16px #243d3518;text-align:center;white-space:nowrap}
#city-map .cb-map-label strong{font:900 18px/1 Archivo,Arial,sans-serif;letter-spacing:-.04em}
#city-map .cb-map-label>span{font:600 12px/1.2 Archivo,Arial,sans-serif;color:#3a493b}
#city-map .cb-map-label b{color:var(--red,#b41232);font-weight:900}
#city-map .cb-map-street{position:absolute;z-index:2;padding:2px 5px;background:#fffef8c9;border-radius:3px;font:600 12px/1.25 Archivo,Arial,sans-serif;white-space:nowrap;transform:translate(-50%,-50%) rotate(-88deg);color:#5b6859;pointer-events:none}
#city-map .cb-map-landmark{position:absolute;z-index:2;margin-left:9px;transform:translateY(-50%);font:700 12px/1.25 Archivo,Arial,sans-serif;color:#3e5848;white-space:nowrap;text-shadow:0 1px #fff,1px 0 #fff,-1px 0 #fff,0 -1px #fff;pointer-events:none}
#city-map .cb-map-landmark::before{content:'';position:absolute;left:-12px;top:50%;width:6px;height:6px;border:2px solid #fffdf4;border-radius:50%;background:#4b7255;transform:translateY(-50%)}
#city-map .cb-map-scale{position:absolute;left:22px;bottom:20px;min-width:26px;border:solid #6c7768;border-width:0 1px 2px;height:6px;color:#50604c;text-align:center;font:600 10px/1.2 Arial,sans-serif}
#city-map .cb-map-scale span{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);white-space:nowrap}
#city-map .cb-map-loading{position:absolute;z-index:6;inset:0;display:grid;place-items:center;margin:0;padding:40px;text-align:center;color:#334d3f;background:#eaece3;font:600 14px/1.6 Archivo,Arial,sans-serif}
#city-map .cb-map-loading[hidden]{display:none}
#city-map .cb-map-details{display:grid;gap:20px;padding:25px 26px 22px;border-top:1px solid #dce1d4}
#city-map .cb-map-destination{display:flex;align-items:center;gap:14px;text-align:left}
#city-map .cb-map-house{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:12px;background:var(--red,#b41232);color:#fffdf4;font:900 27px/1 Archivo,Arial,sans-serif;letter-spacing:-.05em}
#city-map .cb-map-destination>div{display:grid;gap:6px;min-width:0}
#city-map .cb-map-destination strong{font:800 clamp(17px,1.25vw,22px)/1.2 Archivo,Arial,sans-serif;letter-spacing:-.035em;color:#263e34}
#city-map .cb-map-destination>div>span{font:500 12px/1.45 Archivo,Arial,sans-serif;color:#576453}
#city-map .cb-map-route{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:63px;padding:13px 20px;border:0;border-radius:11px;background:var(--yellow,#ffbd11);color:#571626;font:900 13px/1.3 Archivo,Arial,sans-serif;text-align:left;text-decoration:none;transition:background .2s}
#city-map .cb-map-route small{display:block;margin-top:4px;font-size:12px;font-weight:500;text-transform:none}
#city-map .cb-map-route svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
#city-map .cb-map-route:hover{background:#f6cd5e}
#city-map .cb-map-route:focus-visible{outline:3px solid #b41232;outline-offset:4px}
#city-map .cb-map-credit{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;padding:0 26px 19px;color:#5c6759;font:500 10px/1.5 Arial,sans-serif}
#city-map .cb-map-credit a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
 #city-map .cb-map-figure{border-radius:19px}
 #city-map .cb-map-heading{display:none}
 #city-map .cb-map-heading>span{font-size:8px}
 #city-map .cb-map-heading strong{font-size:15px}
 #city-map .cb-map-north{right:14px;top:14px}
 #city-map .cb-map-label{bottom:53px;min-width:154px;padding:10px 12px;gap:4px}
 #city-map .cb-map-label strong{font-size:16px}
 #city-map .cb-map-label>span{font-size:11px}
 #city-map .cb-map-pin{left:-19px;width:38px;height:48px}
 #city-map .cb-map-street,#city-map .cb-map-landmark{font-size:11px}
 #city-map .cb-map-scale{left:16px;bottom:17px}
 #city-map .cb-map-details{padding:20px;gap:17px}
 #city-map .cb-map-house{width:46px;height:46px;font-size:25px}
 #city-map .cb-map-destination{gap:12px}
 #city-map .cb-map-destination strong{font-size:17px}
 #city-map .cb-map-destination>div>span{font-size:11px}
 #city-map .cb-map-credit{padding:0 20px 17px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){#city-map .cb-map-route{transition:none}}
/* Keep the location panel at a readable scale on large monitors. */
.location-section .map-column{width:100%;max-width:640px;justify-self:end}
.location-copy address{font-size:clamp(21px,1.7vw,29px);line-height:1.4}
@media(min-width:851px){.location-section{padding-inline:max(5vw,calc((100vw - 1580px)/2));gap:clamp(40px,5vw,96px)}}
@media(max-width:850px){.location-section .map-column{justify-self:center}}
