html,body.journey-app{height:100%;overflow:hidden}
.journey-app{background:#f2e8cd;color:#244956}
.journey-app-main{height:calc(100vh - var(--exhibit-header-height));height:calc(100dvh - var(--exhibit-header-height));position:relative;isolation:isolate}
.app-view{position:absolute;inset:0;overflow:hidden}
.app-view[hidden]{display:none!important}
.flight-page{background:#b4d7cc}
.view-switch{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:9px 21px;color:#244956;background:#fff4dedf;border:1px solid #6d908a50;border-radius:26px;font-size:16px;font-weight:650;box-shadow:0 3px 18px #42695a0b;text-decoration:none}
.view-switch>svg{width:22px;height:22px}.view-switch:hover{background:#fff7e6}.view-switch:focus-visible{outline:3px solid #b55f42;outline-offset:4px}
.flight-header{padding-top:25px}.flight-header h2{font-size:29px}.flight-header .eyebrow{letter-spacing:1.8px}
.flight-bird{left:26%;width:54%;top:33%;height:50%}
.flight-location{top:25%;max-width:48%}
.flight-route{top:25%;background:#f8f1d9dd}
.flight-footer{gap:13px;bottom:23px;padding:10px 15px}
#flight-restart{min-height:44px;padding:8px 11px;border-left:1px solid #a5b59b70;white-space:nowrap;font-size:14px}
#flight-pause{min-width:108px}.flight-footer>small{max-width:78px;font-size:10px;flex:none}
.arrival-actions{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:25px}
.arrival-actions .arrival-map,.arrival-actions #flight-replay{display:inline-flex;align-items:center;justify-content:center;min-width:125px;min-height:50px;padding:12px 24px;border-radius:25px;font-size:17px;margin:0}
.arrival-actions .arrival-map{background:#2f6270;color:#fff5db}.arrival-actions #flight-replay{background:transparent;color:#2f6270;border:1px solid #7e9e92}
#flight-retry{position:absolute;z-index:7;top:57%;left:50%;transform:translateX(-50%);min-height:48px;border-radius:25px;padding:10px 22px;background:#2f6270;color:#fff5db;font-size:16px}
#flight-retry[hidden]{display:none}
/* Map is a full page: it no longer depends on a scroll-timed opening. */
.journey-app .map-layer{opacity:1;pointer-events:auto}
.journey-app .map-story{opacity:1;pointer-events:auto;top:10%;left:4%;width:28%;transform:none}
.journey-app .map-viewport{top:1%;left:30%;right:-3%;bottom:5%}
.journey-app .map-instruments{opacity:1;pointer-events:auto;top:19%;right:4%}
.journey-app .destination-note{opacity:1;bottom:15%;right:6%;max-width:265px}
.journey-app .map-evidence-note{opacity:1;bottom:52px;left:37%;font-size:11px}
.journey-app .physical-texture{opacity:.85}
.journey-app .map-grid{opacity:.18}
.journey-app .route-shadow{opacity:.23}
.journey-app .map-story h2{font-size:clamp(40px,4.4vw,64px);line-height:1.2;margin:12px 0}
.journey-app .direction-list{margin-top:18px}.journey-app .direction-list button{min-height:67px;padding:10px 0}
.journey-app .flight-entry{min-height:64px;margin:12px 0 4px;font-size:16px}
.map-view-switch{position:absolute;right:4%;top:20px;z-index:22}
.map-page-footer{position:absolute;inset:auto 4% 0;min-height:41px;border-top:1px solid #789b8338;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:22;color:#6a8477}
.map-page-footer>small{font-size:10px}.map-page-footer>button{font-size:12px;min-height:41px}
@media(min-width:901px) and (max-width:1100px){.flight-bird{left:14%;width:65%;top:39%}}
@media(max-height:740px) and (min-width:851px){
 .journey-app .map-story{top:8%}.journey-app .map-story h2{font-size:39px;margin:9px 0}.journey-app .direction-list{margin-top:12px}.journey-app .direction-list button{min-height:58px;padding:8px 0}.journey-app .flight-entry{min-height:59px;padding:8px 14px}.journey-app .direction-list strong{font-size:15px}.journey-app .direction-list small{font-size:12px}
 .flight-header h2{font-size:26px}.flight-location h3{font-size:36px}
}
@media(max-width:850px){
 .flight-bird{left:12%;top:42%;width:80%;height:40%}.flight-header h2{font-size:24px}.flight-header .eyebrow{font-size:10px}
 .flight-location{top:23%;max-width:60%}.flight-route{top:26%;width:145px}
 .flight-footer{gap:9px;padding:9px 12px}#flight-restart{font-size:13px;padding:7px 9px}#flight-pause{min-width:95px;font-size:14px}
 .journey-app .map-story{inset:24px 5% 55px;width:auto;pointer-events:none!important}
 .journey-app .map-story h2{font-size:35px;line-height:1.35;margin:8px 0}.journey-app .map-story h2 br{display:none!important}
 .journey-app .map-fact-mobile{font-size:14px;max-width:90%;line-height:1.8;margin-top:8px}
 .journey-app .map-viewport{top:17%;left:-4%;right:-8%;bottom:30%}
 .journey-app .direction-list{top:auto;bottom:77px;left:0;right:0;margin:0;gap:18px;pointer-events:auto}
 .journey-app .direction-list button{min-height:88px}.journey-app .direction-list strong{font-size:14px}.journey-app .direction-list small{font-size:12px}
 .journey-app .flight-entry{position:absolute;left:0;bottom:5px;width:55%;min-height:62px;margin:0;pointer-events:auto}
 .journey-app .evidence-link{position:absolute;left:auto;right:0;top:auto;bottom:10px;width:40%;font-size:12px;pointer-events:auto;line-height:1.7}
 .journey-app .map-evidence-note{bottom:237px;left:5%;font-size:10px}
 .journey-app .map-instruments{top:23%;right:4%}.journey-app .destination-note{display:none}
 .map-view-switch{top:18px;right:5%;min-height:44px;font-size:14px;padding:7px 16px}
}
@media(max-width:600px){
 .flight-header{padding:19px 5%;gap:10px}.flight-header h2{font-size:20px;max-width:235px;line-height:1.5}.flight-header .eyebrow{font-size:9px;letter-spacing:1px}.view-switch{font-size:14px;padding:7px 13px;gap:7px;min-height:44px}.view-switch>svg{width:18px;height:18px}
 .flight-location{top:24%;max-width:90%}.flight-location h3{font-size:27px}.flight-location p{font-size:13px}
 .flight-bird{left:1%;width:98%;top:37%;height:35%}
 .flight-route{top:auto;bottom:150px;right:5%;width:90%;padding:10px 14px}
 .flight-footer{left:5%;right:5%;bottom:18px;padding:8px 12px;gap:5px 8px;flex-wrap:wrap}
 .flight-speed{flex:1;justify-content:space-around}.flight-speed button{font-size:13px;padding:6px 10px}#flight-pause{min-width:91px;font-size:13px}#flight-restart{order:3;min-height:37px;flex:none;border:0;padding:6px 4px;font-size:12px}.flight-progress{order:4;flex:1;flex-basis:0;min-width:70px;margin:0}#flight-percent{order:5;min-width:33px;font-size:11px}
 .flight-arrived{top:23%;padding:27px 18px}.flight-arrived h3{font-size:42px}.arrival-actions{gap:10px;margin-top:21px}.arrival-actions .arrival-map,.arrival-actions #flight-replay{font-size:15px;min-width:100px;padding:10px 17px}
 .journey-app .map-story{inset:20px 6% 55px}.journey-app .map-story>.eyebrow{font-size:9px;letter-spacing:1px;max-width:70%}.journey-app .map-story h2{font-size:28px;margin-top:9px;max-width:100%}.journey-app .map-fact-mobile{font-size:12px;line-height:1.7;max-width:100%}
 .journey-app .map-viewport{top:23%;left:-17%;right:-18%;bottom:34%}
 .journey-app .map-instruments{top:auto;bottom:34%;right:6%}.journey-app .map-instruments>button{width:85px;font-size:11px}
 .journey-app .direction-list{bottom:83px;gap:12px}.journey-app .direction-list button{min-height:102px;gap:6px}.journey-app .direction-list strong{font-size:13px}.journey-app .direction-list small{font-size:10px}
 .journey-app .flight-entry{bottom:5px;width:58%;font-size:14px;min-height:62px;padding:9px 11px}.journey-app .flight-entry>small{font-size:10px}
 .journey-app .evidence-link{bottom:10px;width:37%;font-size:11px;gap:8px}
 .journey-app .map-evidence-note{bottom:260px;font-size:9px;left:6%;max-width:91%;line-height:1.7}
 .map-view-switch{top:12px;right:6%;font-size:12px;min-height:40px;padding:6px 12px}.map-page-footer{left:6%;right:6%}.map-page-footer>small{font-size:8px}.map-page-footer>button{font-size:10px}
}
