/* Visitor and phone repairs, preserving the guided-path artwork and palette. */
img{max-width:100%}
:focus-visible{outline:3px solid currentColor;outline-offset:4px}
html{scroll-padding-top:110px}
[id]{scroll-margin-top:110px}
.arrival-art img{max-height:54vh}
.path-entrance h1{font-size:clamp(32px,4vw,46px);margin-bottom:18px}
.entrance-map{display:inline-flex;align-items:center;min-height:44px;margin-left:18px}
.real-life-section{max-width:1180px;margin:65px auto;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center;padding:0 6vw}
.real-life-picture img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}
.cast-picture img{height:320px;object-fit:contain}
.cast-picture:hover img{transform:none}
.journal-list img{height:260px;object-fit:contain;background:#e9e5da}
.journal-list h2{font-size:32px}
.files-hero{max-width:1150px;margin:25px auto 45px;padding:0 5vw}
.files-hero img{display:block;width:100%;height:auto}
.cabinet-layout.research-cabinet{grid-template-columns:1fr;max-width:960px}
.research-case{border:1px solid var(--line);background:#e6dbc2;padding:26px;margin-bottom:36px}
.research-case h2{font-size:36px}
.map-page .page-intro{padding-top:38px;padding-bottom:30px}
.map-page .page-intro h1{font-size:clamp(40px,5vw,68px)}
.map-page .map-welcome{margin-bottom:20px}
.map-controls .filter,.map-controls a{min-height:44px}
.landmark-dialog{width:min(1080px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:clamp(20px,4vw,40px);overscroll-behavior:contain}
.dialog-close{min-width:64px;min-height:44px}
.path-bottom{max-width:calc(100% - 24px);bottom:max(12px,env(safe-area-inset-bottom));}
.path-bottom a{min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center}
.footer{padding-bottom:calc(95px + env(safe-area-inset-bottom))}
@media(max-width:900px){
 .header-inner{gap:12px;padding:14px 5vw}
 .menu-toggle{min-width:64px;min-height:44px}
 .nav{max-height:calc(100dvh - 105px);overflow:auto;align-items:stretch;gap:4px}
 .nav a{display:flex;align-items:center;font-size:16px;min-height:44px}
}
@media(max-width:700px){
 .arrival-art img{max-height:none;object-fit:contain}
 .story-intro h1,.page-intro h1{font-size:clamp(36px,9vw,52px)}
 .real-life-section{grid-template-columns:1fr;gap:26px;margin:45px auto}
 .real-life-picture img{max-height:none}
 .entrance-map{margin:12px 0 0;display:flex}
 .map-controls .filter{flex:1 1 80px;min-height:44px}
 .map-landmark-list .filter{min-height:44px}
 .files-hero{padding:0 6vw}
 .file-list summary{padding:20px;font-size:22px}
 .file-paper{padding:5px 20px 24px}
 .research-case{padding:22px}
 .path-bottom{width:max-content;border-radius:24px}
 .path-bottom a{font-size:11px;padding:10px 12px;white-space:normal}
}
@media(max-width:430px){
 .header-inner .brand{font-size:22px}
 .brand small{font-size:8px;letter-spacing:1px;max-width:24ch}
 .cast-picture img{height:300px}
 .map-index{grid-template-columns:1fr}
 .field-counter .tally{font-size:34px}
}

/* Exact muddy footprint source: keep the surrounding earth and path stone. */
.foot-footer{display:block;width:min(320px,100%);margin:0 auto 48px;text-align:center;color:#e1ce99}
.foot-footer img{display:block;width:100%;height:auto;border:1px solid #ad8d51;border-radius:6px}
.foot-footer span{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:14px;border-bottom:1px solid #ad8d51}
.foot-footer:focus-visible{outline-offset:8px}
@media(max-width:700px){.foot-footer{width:min(280px,100%);margin-bottom:36px}}
