.map-page{background:#07191c;color:var(--cream,#eee9dd)}
.map-header{max-width:1600px;margin:auto;padding:30px 5%;display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid #d9b78025}
.map-wordmark{font-family:Cormorant,Georgia,serif;font-size:24px;letter-spacing:.12em;text-decoration:none;color:#e9d6b4}
.map-header nav{display:flex;align-items:center;gap:30px;font:11px Manrope,sans-serif;letter-spacing:.04em}
.map-header nav a{text-decoration:none}.map-header [aria-current=page]{color:#d9b780;border-bottom:1px solid #d9b780;padding-bottom:5px}
.map-intro{max-width:1600px;margin:auto;padding:70px 5% 42px;display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:7%}
.map-intro h1{font:500 clamp(54px,6vw,96px)/.95 Cormorant,Georgia,serif;letter-spacing:-.03em;margin:25px 0 0}
.map-intro h1 em{color:#d9b780;font-weight:400}.map-intro-copy{max-width:390px;padding-bottom:8px}
.map-intro-copy p:first-child{font:28px/1.35 Cormorant,Georgia,serif;color:#e7ddcc}.map-intro-copy p+p{font:13px/1.9 Manrope,sans-serif;color:#b8c6bd;margin-top:18px}
.city-guide{max-width:1600px;margin:auto;padding:0 3%}.map-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 2% 15px;font:11px/1.6 Manrope,sans-serif;color:#bccac1}
.map-tools button{border:1px solid #d9b78070;padding:9px 15px;color:#ead4ae;background:#0d262a;border-radius:3px;font:inherit;cursor:pointer;min-height:44px}.map-tools button span{padding-left:10px}
.map-viewport{overflow:auto;border:1px solid #d9b78055;background:#0c2026;scrollbar-color:#a18b64 #07191c;border-radius:4px}
.map-viewport.is-enlarged{max-height:80vh}
.map-canvas{position:relative;width:100%;min-width:0;line-height:0}.city-image{display:block;width:100%;height:auto;max-width:none}.map-viewport.is-enlarged .map-canvas{width:180%;min-width:1100px}
.map-pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;min-width:44px;min-height:44px;text-decoration:none;z-index:1;line-height:1}
.map-pin>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#092328ed;border:1px solid #f2d5a3;box-shadow:0 2px 14px #000a;color:#fff2d7;font:600 15px Manrope,sans-serif}
.map-pin b{position:absolute;bottom:calc(100% + 4px);white-space:nowrap;background:#061b20f2;border:1px solid #c9a86b70;padding:8px 12px;color:#f4e1bf;font:12px Manrope,sans-serif;opacity:0;pointer-events:none;border-radius:3px}
.map-pin:hover,.map-pin:focus-visible{z-index:3}.map-pin:hover b,.map-pin:focus-visible b{opacity:1}.map-pin:hover>span,.map-pin:focus-visible>span{background:#b08c51;color:#04171c}
.map-caption{font:11px/1.8 Manrope,sans-serif;color:#a8b9b0;text-align:center;padding:16px 15px 27px;margin:0}
.places{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;padding:0 2%}.place{border-top:1px solid #c5a46a45;scroll-margin-top:30px;align-self:start}
.place summary{display:flex;gap:20px;align-items:center;padding:24px 0;cursor:pointer;list-style:none;font:31px/1.05 Cormorant,Georgia,serif;color:#f1e8d7}.place summary::-webkit-details-marker{display:none}
.place-number{font:11px Manrope,sans-serif;letter-spacing:.1em;color:#d9b780}.place small{display:block;font:9px/1.6 Manrope,sans-serif;letter-spacing:.12em;color:#a9bcb2;margin-top:9px}.place-plus{margin-left:auto;font:22px Manrope,sans-serif;color:#d9b780}.place[open] .place-plus{transform:rotate(45deg)}
.place-body{padding:0 28px 28px 40px;font:13px/1.95 Manrope,sans-serif;color:#c1cdc4}.place-body>p{margin:0 0 15px}.place-body .place-line{font:italic 24px/1.35 Cormorant,Georgia,serif;color:#e0c799}.place:target{border-color:#e5c082}.place-body .inline-link{font-size:11px}
.map-invitation{text-align:center;max-width:800px;margin:auto;padding:85px 26px 90px}.map-invitation blockquote{font:italic 44px/1.15 Cormorant,Georgia,serif;color:#ead9b9;margin:25px 0}.map-invitation>p:not(.eyebrow){font:13px/1.9 Manrope,sans-serif;color:#bdcac0;margin:20px 0 27px}.map-return{display:block;margin:24px auto 0;font:11px Manrope,sans-serif;color:#d9b780;text-underline-offset:5px}
.map-page a:focus-visible,.map-page button:focus-visible,.map-page summary:focus-visible,.map-viewport:focus-visible{outline:2px solid #f2d5a3;outline-offset:4px}
.map-teaser{padding:55px 6%;border-top:1px solid #d9b78025;border-bottom:1px solid #d9b78025;display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;background:#0a1d20}.map-teaser picture img{width:100%;height:auto;border:1px solid #d9b78050;border-radius:3px;display:block}.map-teaser h2{font:500 clamp(38px,4vw,63px)/1 Cormorant,Georgia,serif;margin:20px 0;color:#e8ddc8}.map-teaser h2 em{color:#d9b780;font-weight:400}.map-teaser p:not(.eyebrow){font:13px/1.9 Manrope,sans-serif;color:#bdcac0;margin-bottom:20px}.map-teaser .inline-link{color:#d9b780;font-size:12px}
@media(max-width:760px){.map-header{padding:20px;gap:16px;flex-wrap:wrap}.map-wordmark{font-size:21px}.map-header nav{gap:20px;font-size:10px}.map-intro{padding:40px 24px 25px;grid-template-columns:1fr;gap:25px}.map-intro h1{font-size:61px}.map-intro-copy{max-width:460px}.map-intro-copy p:first-child{font-size:25px}.map-intro-copy p+p{font-size:12px;margin-top:10px}.city-guide{padding:0 14px}.map-tools{font-size:10px;gap:10px}.map-tools p{max-width:180px}.map-tools button{white-space:nowrap}.map-caption{font-size:10px;padding:14px 14px 22px}.places{grid-template-columns:1fr;padding:0 12px}.place summary{font-size:29px;padding:21px 0}.place-body{padding-left:32px;padding-right:8px}.map-pins{display:none}.is-enlarged .map-pins{display:block}.map-invitation{padding:55px 25px 65px}.map-invitation blockquote{font-size:36px}.map-teaser{grid-template-columns:1fr;padding:40px 28px;gap:30px}.map-teaser h2{font-size:48px}}

.map-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.map-pin.is-selected>span{background:#e0bd7f;color:#07191c;box-shadow:0 0 0 5px #07191c99,0 0 24px #d9b78055}
.map-status{font:11px/1.6 Manrope,sans-serif;color:#d9b780;padding:0 2% 15px;margin:0}
.show-place{display:block;background:transparent;border:0;border-bottom:1px solid #d9b78066;color:#e0bd7f;padding:10px 0;font:11px Manrope,sans-serif;cursor:pointer;min-height:44px}
.show-place[hidden]{display:none}
@media(max-width:760px){.map-tools{align-items:flex-start;flex-direction:column}.map-tools p{max-width:none}.map-actions{justify-content:flex-start}.map-pins{display:block}.map-pin{display:none}.map-pin.is-selected,.is-enlarged .map-pin{display:grid}}
