.map-page{max-width:1800px;margin:auto;padding:42px 4% 80px}
.map-hero{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:30px}
.map-hero h1{margin:10px 0 0;color:var(--red);font:700 clamp(36px,4.5vw,66px)/1.05 var(--display);letter-spacing:-.035em;text-transform:none}
.map-hero-copy{max-width:520px}
.map-hero-copy>p{margin:0 0 18px;font-size:18px;line-height:1.5}
.map-actions,.map-help-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1.5px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font:700 14px var(--font);cursor:pointer;text-decoration:none}
.outline-button:hover{background:var(--ink);color:#fff;text-decoration:none}
.map-shell{padding:clamp(14px,2.5vw,34px);border:1px solid var(--line);border-top:5px solid var(--red);border-radius:12px;background:#fff}
.map-title-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}
.map-title-row h2{margin:4px 0 0;font-size:28px}
.map-title-row>p{margin:0;font-size:16px;text-align:right}
.map-orientation{margin:0 0 18px;padding:12px 16px;background:#f5f3ee;border-left:4px solid var(--red);font-size:16px;line-height:1.5}
.map-scroll{max-width:100%;overflow-x:auto;border:1px solid #e5e0d7;border-radius:8px;background:#fff;scrollbar-color:var(--red) #ece8e1;scrollbar-width:thin;overscroll-behavior-inline:contain;touch-action:pan-x pan-y}
.map-scroll:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.park-plan{display:block;width:100%;min-width:1000px;height:auto}
.map-swipe{margin:10px 0 0;color:#546969;font-size:14px;text-align:center}
.map-note{display:flex;gap:16px;align-items:baseline;margin-top:18px;padding:16px 18px;background:#f5f3ee;border-radius:6px;font-size:15px;line-height:1.5}
.map-note strong{flex-shrink:0}
.map-details{margin-top:18px;border-top:1px solid var(--line);padding-top:18px;font-size:16px}
.map-details summary{cursor:pointer;font-weight:700;text-underline-offset:4px;text-decoration:underline}
.map-details dl{display:grid;grid-template-columns:140px 1fr;gap:12px 18px;margin-bottom:0}
.map-details dt{font-weight:700}.map-details dd{margin:0}
.map-help{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:center;margin-top:36px;padding:clamp(28px,4vw,50px);border-radius:12px;background:var(--ink);color:#fff}
.map-help h2{margin:10px 0;color:#fff;font-size:clamp(28px,3vw,42px)}
.map-help p{max-width:700px}
.map-help .outline-button{border-color:#fff;color:#fff}
.map-help .outline-button:hover{background:#fff;color:var(--ink)}
.map-help-links{align-items:stretch;flex-direction:column}
.map-help-links>a{width:100%}.map-help-links>a:last-child{padding:10px 0;text-align:center;text-decoration:underline;text-underline-offset:5px}
@media(min-width:1650px){.map-swipe{display:none}}
@media(max-width:900px){.map-hero{align-items:start;flex-direction:column;gap:18px}.map-hero-copy{max-width:none}.map-help{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.map-page{padding:28px 4% 50px}.map-shell{padding:12px}.map-title-row{align-items:start;flex-direction:column;gap:8px}.map-title-row>p{text-align:left}.map-note{flex-direction:column;gap:4px}.map-details dl{grid-template-columns:1fr;gap:4px}.map-details dd{margin-bottom:10px}.map-actions{align-items:stretch}.map-actions>*{flex:1}.map-help{padding:28px 22px}}
@page{size:landscape;margin:.3in}
@media print{
*{print-color-adjust:exact;-webkit-print-color-adjust:exact}
header,footer,.map-hero,.map-title-row,.map-orientation,.map-help,.map-swipe,.map-details{display:none!important}
.map-page{max-width:none;padding:0}.map-shell{padding:0;border:0;background:white}.map-scroll{overflow:visible;border:0}.park-plan{width:100%;min-width:0;max-height:6.8in}.map-note{margin:4px 0 0;padding:6px 10px;font-size:10px;background:white}.map-note strong{display:none}.map-note span{width:100%;text-align:center}.park-plan,.map-note{break-inside:avoid}
}

/* The illustrated map retains its full labels; pan or open full-size to read details. */
.landscape-plan{min-width:1400px;max-width:none;border:0;box-shadow:none;padding:0;background:#faf9f3;object-fit:contain}
@media print{.landscape-plan{min-width:0;width:100%;max-height:6.8in;object-fit:contain}}
