/* Three destinations, one contextual path from a zone to its stamp. */
.mobile-nav:before { width:calc((100% - 12px)/3); }
.mobile-nav button { font-size:11px; gap:4px; }
.explore-heading { margin:4px 0 18px; }
.explore-heading h1 { font-size:29px; line-height:1.14; letter-spacing:-1.1px; }
.explore-heading p { margin-top:9px; font-size:13px; line-height:1.55; color:#5c718c; max-width:32ch; }
.explore-progress { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border:1px solid #fff; border-radius:18px; background:#ffffff75; color:#657a91; font-size:12px; box-shadow:var(--rim); }
.explore-progress b { color:#234d7b; font-weight:700; }
.progress-dots { display:flex; gap:5px; }
.progress-dots i { width:7px; height:7px; border-radius:50%; background:#cedbee; }.progress-dots i.filled { background:#2455ef; }
.explore-switch { display:flex; width:100%; gap:4px; padding:4px; margin:19px 0 14px; border-radius:17px; background:#dce6f575; border:1px solid #e2eaf7; }
.explore-switch button { flex:1; min-height:42px; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:13px; font-size:12px; color:#5b718d; }.explore-switch button .icon { width:17px; height:17px; }
.explore-switch button.active { background:#fff; color:#234da1; box-shadow:0 2px 6px #314e7610; font-weight:650; }
.explore-zones { display:flex; flex-direction:column; gap:11px; }
.explore-zone { display:flex; width:100%; min-height:79px; align-items:center; gap:13px; text-align:left; padding:14px 15px; border:1px solid #fff; background:linear-gradient(120deg,#ffffffb8,#f9fcff6e); box-shadow:var(--rim),0 5px 13px #4b6e9606; border-radius:22px; }
.explore-zone-icon { flex:0 0 46px; width:46px; height:46px; display:grid; place-items:center; color:var(--zone); background:linear-gradient(135deg,#fff,var(--wash)); border:1px solid #fff; border-radius:15px; box-shadow:0 3px 7px #17354d0b; }.explore-zone-icon .icon { width:24px; height:24px; }
.explore-zone-copy { min-width:0; flex:1; }.explore-zone-copy strong { display:block; font-family:var(--heading); font-size:15px; letter-spacing:-.3px; font-weight:650; }.explore-zone-copy small { display:block; margin-top:5px; font-size:11px; color:#68809a; }
.explore-zone-number { display:inline-block; min-width:19px; margin-right:7px; color:var(--zone); font-size:10px; font-weight:700; letter-spacing:.4px; font-variant-numeric:tabular-nums; vertical-align:1px; }
.explore-zone-end { color:#7890aa; }.explore-zone-end .icon { width:17px; height:17px; }.explore-zone.is-collected .explore-zone-end { color:#24846b; }.explore-zone.is-collected .explore-zone-copy small { color:#24846b; }
.explore-footnote { margin-top:19px; display:flex; align-items:flex-start; justify-content:center; gap:8px; font-size:11px; color:#607893; line-height:1.6; }.explore-footnote .icon { width:16px; height:16px; flex-shrink:0; margin-top:1px; }
.explore-map { margin-bottom:13px; }.explore-map .map-card { min-height:225px; border-radius:24px; border:1px solid #fff; background:#ffffff65; }.explore-map .pavilion { height:210px; width:calc(100% + 20px); margin:4px 0 0 -10px; }.explore-map .map-bottomline { display:none; }.explore-map .map-status { display:none; }.map-qualifier { font-size:10px; color:#68809a; text-align:center; margin:9px 0 0; }
.map-zone.selected .zone-label rect { stroke:#2455ef; stroke-width:2.5; }.map-zone.selected .zone-slab { filter:drop-shadow(0 5px 7px #385dfa55); }
.map-zone-number { display:none; }
.explore-map .zone-label { display:none; }
.explore-map .map-zone-number { display:inline; cursor:pointer; }
.explore-map .map-zone-number circle { fill:#fff; stroke:currentColor; stroke-width:2; vector-effect:non-scaling-stroke; }
.explore-map .map-zone-number text { fill:currentColor; font-size:23px; font-weight:750; letter-spacing:0; font-variant-numeric:tabular-nums; }
.explore-map .map-zone.selected .map-zone-number circle,
.explore-map .map-zone:focus-visible .map-zone-number circle { stroke:#2455ef; stroke-width:3; fill:#edf3ff; }
.explore-map .map-zone.selected .map-zone-number text,
.explore-map .map-zone:focus-visible .map-zone-number text { fill:#1744c9; }
.back-button { display:inline-flex; min-height:44px; align-items:center; gap:8px; color:#436b99; font-size:13px; margin:-5px 0 10px; padding:0 6px 0 0; }.back-button>.icon { width:16px; height:16px; transform:rotate(180deg); }
.zone-detail-art { height:140px; position:relative; display:grid; place-items:center; isolation:isolate; border:1px solid #fff; border-radius:28px; background:radial-gradient(ellipse at 85% 15%,var(--wash),transparent 65%),linear-gradient(135deg,#ffffffb3,#d7e7fa8c); overflow:hidden; }
.zone-detail-art>span { width:82px; height:82px; display:grid; place-items:center; border:1px solid #fff; border-radius:25px; color:var(--zone); background:linear-gradient(135deg,#fff9,var(--wash)); box-shadow:inset 0 1px 1px #fff,0 12px 22px #244d6f18; transform:rotate(-7deg); }.zone-detail-art .icon { width:44px; height:44px; stroke-width:1.4; }
.zone-detail-art i { position:absolute; width:160px; height:160px; border:1px solid #fff9; border-radius:50%; z-index:-1; }.zone-detail-art i:last-child { width:215px; height:215px; }
.zone-detail-number { margin-top:22px; font-size:10px; color:var(--zone); letter-spacing:1.2px; font-weight:700; }.zone-detail h1 { margin-top:8px; font-size:32px; letter-spacing:-1px; line-height:1.15; }.zone-detail-description { color:#5d7490; font-size:13px; line-height:1.65; margin-top:12px; }
.zone-location { display:flex; align-items:center; gap:10px; margin:17px 0; padding:12px 0; border-top:1px solid #cedbef; border-bottom:1px solid #cedbef; }.zone-location>.icon { flex-shrink:0; width:19px; height:19px; color:#5a7c9c; }.zone-location>span { flex:1; font-size:12px; font-weight:600; }.zone-location small { display:block; font-size:10px; color:#6f86a0; font-weight:400; margin-top:4px; }.zone-location .text-button { font-size:11px; }
.zone-arrival { padding:20px; background:#ffffff80; border:1px solid #fff; border-radius:24px; box-shadow:var(--rim); }.zone-arrival h2 { font-size:19px; letter-spacing:-.5px; }.zone-arrival p { margin:7px 0 17px; font-size:12px; color:#657c96; line-height:1.5; }.zone-arrival .primary-button { width:100%; }.zone-arrival>small { display:block; text-align:center; font-size:10px; color:#6e839c; margin-top:11px; }
.stamp-alternative { display:flex; min-height:44px; margin:0 auto; align-items:center; justify-content:center; font-size:12px; color:#446ba6; text-decoration:underline; text-underline-offset:4px; }
.stamp-steps { display:none; }.stamp-dialog .demo-hint { margin-top:5px; }.stamp-dialog .stamp-description { min-height:42px; }.stamp-dialog .scanner { margin-top:18px; }.stamp-dialog .scan-status { margin-bottom:10px; }.stamp-dialog .scan-status.complete { margin-bottom:22px; }
@media(max-width:360px) { .explore-heading h1 { font-size:27px; }.explore-zone { gap:11px; padding:13px; }.explore-zone-copy strong { font-size:14px; }.explore-zone-copy small { font-size:10px; }.zone-detail h1 { font-size:29px; }.zone-arrival { padding:17px; }.zone-location { gap:7px; }.zone-location>span { font-size:11px; }.zone-location .text-button { font-size:10px; }.zone-detail-art { height:120px; } }
