/* Reserve separate rows for the heading, drawing surface and controls. */
#scene .scene-transition{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;transform-origin:50% 50%}#scene .scene-transition[hidden]{display:none}.labels.is-changing .place-label{pointer-events:none}#life-toggle[hidden]{display:none}#life-toggle{font-size:12px}#life-toggle[aria-pressed=true]{background:#d9e6c9}#life-toggle:disabled{opacity:.65}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.collection-stats{font-size:12px;line-height:1.7;color:#62745f;margin-top:15px}.collection-stats strong{color:var(--ink)}.collection-stats span{margin:0 5px}
.discovery-catalog{margin:0 26px 28px;padding-top:3px}.discovery-catalog h3,.landmark-details h3{font:500 22px/1.2 Fraunces,Georgia,serif;margin:0 0 10px}.discovery-catalog>p{font-size:13px;line-height:1.5;color:var(--muted);margin:0 0 15px}.discovery-catalog label{display:block;font-size:12px;margin-bottom:8px}.discovery-catalog input,.discovery-catalog select{font:inherit;font-size:14px;color:var(--ink);width:100%;padding:12px;border:1px solid #b6c5ad;background:#fffdf7;border-radius:8px;outline-offset:3px}.discovery-catalog input{margin-bottom:8px}.discovery-catalog select{margin-bottom:15px}.discovery-catalog .catalog-count{font-size:11px;letter-spacing:.2px;margin-bottom:4px}.catalog-row{display:grid;grid-template-columns:30px 1fr 14px;gap:10px;width:100%;align-items:center;text-align:left;background:none;padding:13px 0;border-bottom:1px solid var(--line)}.catalog-row strong{font:500 17px/1.2 Fraunces,Georgia,serif;display:block}.catalog-row small{font-size:11px;line-height:1.4;color:var(--muted);display:block;margin-top:5px}.catalog-icon{color:#8b753b;font-size:23px;text-align:center}.catalog-row:hover strong{color:#a25d34}.more-discoveries{width:100%;padding:12px;margin-top:13px;font-size:12px;background:#e8edde;border-radius:8px}.more-discoveries[hidden]{display:none}.empty-results{font-size:14px;color:var(--muted);line-height:1.6}
.landmark-link{padding:8px 10px;background:#e9eede;border-radius:6px;font-size:12px}.landmark-link:hover{background:#d8e2ca}.landmark-summary h2{font-size:32px}.landmark-summary .landmark-location{font-size:12px;color:#997039;margin:0 0 16px}.landmark-details{padding:0 26px 24px}.miniature-badge{display:inline-block;padding:7px 10px;background:#eee6ce;border-radius:6px;color:#876332;text-transform:uppercase;letter-spacing:1.4px;font-size:9px;margin-bottom:15px}.landmark-details ul{padding-left:19px;margin:12px 0 17px}.landmark-details li{padding-left:4px;margin:10px 0;font-size:14px;line-height:1.5;color:#4d6959}.landmark-details p{font-size:14px;line-height:1.65;color:var(--muted)}.landmark-details .art-note{font-size:12px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line)}.visitor-button{display:block;text-align:center;background:var(--ink);color:#fff6dd;padding:14px 12px;border-radius:8px;text-decoration:none;font-size:14px;margin-top:18px}.landmark-details .checked-date{font-size:10px;margin-bottom:0}.landmark-next button{display:block;width:100%;text-align:left;line-height:1.5}.landmark-next .return-town{background:transparent;border:1px solid #bbc9ad;margin-top:16px}.map-panel[data-level=landmark] .map-heading h1{font-size:clamp(27px,2.6vw,39px)}
.map-panel{display:grid;grid-template-rows:auto minmax(280px,1fr) auto;min-height:690px}
.map-heading{position:relative;top:auto;left:auto;padding:25px 5% 16px;pointer-events:auto;z-index:1}
.map-heading h1,.map-panel.local .map-heading h1{font-size:clamp(27px,2.6vw,38px);line-height:1.13;letter-spacing:-1px;margin:10px 0 8px}
.map-heading h1:focus{outline:none}.map-heading p{font-size:14px;line-height:1.5}
.map-trail{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;margin-bottom:12px;color:#6d8068}
.map-trail button{background:none;border-bottom:1px solid #a0af97;padding:0;font-size:12px}.map-trail [aria-current=page]{font-weight:600;color:var(--ink)}
.map-stage{position:relative;min-height:0;overflow:hidden;isolation:isolate}#scene,.labels{position:absolute;inset:0}
.map-bottom{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;padding:10px 5% 16px}
.map-tools{position:static;transform:none;margin:0;max-width:100%;flex-wrap:wrap;justify-content:center}
.map-footer{position:static;width:100%;gap:15px;font-size:12px}.map-caption{position:static;width:100%;font-size:11px;line-height:1.5}#scene-status{top:50%}
.area-note{margin:0 26px 22px;padding:13px 15px;border-left:3px solid #a6b985;background:#ecf0e4;font-size:14px;line-height:1.5;color:#536d51}
.area-landmarks{padding:0 26px 24px}.area-landmarks h3{font:500 20px Fraunces,Georgia,serif;margin:22px 0 10px}
.landmark-row{display:flex;align-items:center;gap:10px;width:100%;padding:11px 0;background:none;text-align:left;border-top:1px solid var(--line);font-size:14px}
.landmark-row>span:first-child{color:#99733c;font-size:20px;width:26px;text-align:center}.landmark-row>span:last-child{margin-left:auto}
.region-intro h2{font-size:30px}.map-stage .place-label.local-label{font-size:13px}.map-stage .place-label.area-landmark{background:#fff1cf;color:#785a2d}
@media(min-width:1600px){.map-heading{top:auto;padding-top:28px}}
@media(max-width:1100px){.discovery-catalog{margin-left:21px;margin-right:21px}.landmark-details{padding-left:21px;padding-right:21px}}
@media(max-width:760px){.discovery-catalog{margin-left:24px;margin-right:24px}.landmark-details{padding-left:24px;padding-right:24px}.map-panel[data-level=landmark] .map-heading h1{font-size:29px}.map-panel[data-level=landmark]{grid-template-rows:auto 360px auto}}
@media(max-width:1100px){.map-panel{min-height:680px}.map-heading{top:auto;left:auto;padding:22px 5% 15px}.map-heading h1,.map-panel.local .map-heading h1{font-size:29px}.map-tools button{font-size:12px;padding:9px}.map-tools button:first-child{padding:9px 12px}}
@media(max-width:760px){.map-panel{height:auto;min-height:0;grid-template-rows:auto 390px auto}.map-heading{padding:24px 24px 12px;top:auto;left:auto}.map-heading h1,.map-panel.local .map-heading h1{font-size:29px;line-height:1.13}.map-heading p{font-size:14px}.map-heading .eyebrow{font-size:10px}.map-trail{font-size:12px;gap:6px}.map-bottom{padding:5px 20px 17px;gap:12px}.map-tools{gap:3px}.map-tools button{font-size:12px;padding:9px;min-width:33px}.map-footer{font-size:11px}.map-caption{font-size:10px}.area-note{margin-left:24px;margin-right:24px}.area-landmarks{padding-left:24px;padding-right:24px}.map-stage .place-label.local-label{font-size:11px}.map-stage .place-label.area-landmark{font-size:10px}}

/* Landmark cards show the same detailed composition as the main viewer. */
.attraction-main{display:block;padding:0}.attraction-main:focus-visible{outline:3px solid var(--ink);outline-offset:-4px;border-radius:10px}.attraction-heading{display:flex;align-items:center;gap:13px;padding:16px}.attraction-heading>span:last-child{min-width:0}.attraction-preview{position:relative;display:block;width:100%;aspect-ratio:8/5;background:#e8eddd;border-bottom:1px solid #d8dfd1;overflow:hidden}.attraction-preview[hidden],.attraction-preview img[hidden]{display:none}.attraction-preview img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .25s ease}.attraction-main:hover .attraction-preview img{transform:scale(1.025)}.preview-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:#62745f}.attraction-preview.is-ready .preview-loading{display:none}.attraction-preview:not([hidden])+.attraction-heading .attraction-icon{display:none}.attraction-title{display:block}

/* Give the model most of the viewport while keeping text and tools outside it. */
.masthead{height:72px}.explorer{min-height:calc(100dvh - 72px)}
.map-panel{height:calc(100dvh - 72px);min-height:540px;grid-template-rows:auto minmax(240px,1fr) auto}
.map-heading{padding:14px 24px 8px}.map-heading-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.map-trail{flex:1;margin:7px 0 4px;line-height:1.45}.map-heading h1,.map-panel.local .map-heading h1,.map-panel[data-level=landmark] .map-heading h1{font-size:clamp(26px,2.3vw,34px);margin:4px 0 5px;line-height:1.13}.map-heading p{font-size:14px;line-height:1.4}
[data-expand-view]{flex:none;padding:8px 12px;border:1px solid #b5c6ad;border-radius:8px;background:#f8faef;font-size:13px;line-height:1.3;white-space:nowrap}[data-expand-view]:hover{background:#e3ecd9}
.map-bottom{padding:8px 24px 12px;gap:7px}.map-tools{padding:4px;gap:3px}.map-tools button{padding:8px 10px;min-height:36px}.map-tools button:first-child{padding:8px 12px}.map-footer{line-height:1.4}.map-caption{line-height:1.3}#move-view[aria-pressed=true]{background:#d9e6c9}
body.viewer-expanded{overflow:hidden}#expanded-view{margin:0;padding:0;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;overflow:hidden;background:#e5eedf}#expanded-view::backdrop{background:#173e39}#expanded-view .map-panel{position:relative;top:0;width:100%;height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr) auto}#expanded-view .map-heading{padding:12px 24px 6px}#expanded-view .map-heading h1{font-size:28px}#expanded-view .map-bottom{padding-bottom:max(10px,env(safe-area-inset-bottom))}
@media(max-width:760px){.masthead{height:70px}.map-panel,.map-panel[data-level=landmark]{height:auto;min-height:0;grid-template-rows:auto clamp(420px,58dvh,620px) auto}.map-heading{padding:16px 20px 8px}.map-heading-top{gap:10px}.map-trail{font-size:12px}.map-heading h1,.map-panel.local .map-heading h1,.map-panel[data-level=landmark] .map-heading h1{font-size:27px}.map-bottom{padding:8px 16px 14px}.map-footer{font-size:11px}.map-tools button{font-size:12px;padding:8px}.map-tools button:first-child{padding:8px 10px}#expanded-view .map-heading{padding:10px 16px 5px}#expanded-view .map-heading h1{font-size:25px}}
@media(max-height:550px){#expanded-view .map-heading h1{font-size:23px}#expanded-view .map-heading p,#expanded-view .map-caption{display:none}#expanded-view .map-heading{padding-top:5px}#expanded-view .map-bottom{padding-top:4px;padding-bottom:5px;gap:4px}}
