/* The objects are the places: a large, legible foreground along one route. */
:root{--ivory:#f1ece1;--muted:#b0bccc}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.world-vignette{background:linear-gradient(90deg,#070e19c9 0%,#080f1a5c 41%,#080f1a00 70%),linear-gradient(0deg,#080f1a77,transparent 22%,transparent 80%,#080f1a44)}
.world-word,.horizon-label{display:none}
.scene.has-exhibit .scene-copy{width:44%;max-width:610px}
.scene.has-exhibit h2{font-size:clamp(52px,5.7vw,94px);line-height:.99;letter-spacing:-.055em}
.scene.has-exhibit .scene-company{font-size:clamp(18px,1.65vw,25px);line-height:1.3;margin-top:28px;max-width:95%}
.scene.has-exhibit .scene-proof{font-size:16px;line-height:1.65;max-width:440px}
.scene.has-exhibit .eyebrow{font-size:10px;line-height:1.5;max-width:96%}
.exhibit{right:4.8%;left:auto;top:24%;bottom:148px;width:46%;max-width:660px;filter:none;perspective:1400px;display:flex;flex-direction:column;min-height:0}
.exhibit-visual{height:auto;flex:1 1 auto;min-height:0;max-height:350px}
.exhibit-kicker,.exhibit-choices,.exhibit-description{flex:0 0 auto}
.academic-note{display:none}
.enhanced .exhibit{transform:perspective(1800px) translate3d(calc(var(--scene-d)*260px),calc(var(--scene-abs)*26px),calc(var(--scene-abs)*-500px)) rotateY(calc(var(--scene-d)*-24deg));transform-origin:50% 50%;will-change:transform}
.exhibit-kicker{font-size:10px;letter-spacing:.14em;margin-bottom:18px;color:#d6af85}
.exhibit-choices{margin-top:18px}
.exhibit-choices button{font-size:13px;min-height:44px}
.exhibit-description{font-size:14px;line-height:1.5;color:#c4cfdd;min-height:42px;max-width:500px;margin-top:11px}
.journey-phase{font-size:10px;gap:14px}.journey-phase>span:first-child{font-size:9px}
.passage-caption{left:11%;top:36%;width:70%;max-width:850px}
.passage-caption small{font-size:11px;letter-spacing:.14em}
.passage-caption p{font-size:clamp(34px,4.3vw,68px);line-height:1.1;max-width:840px}
.look-hint{font-size:9px;color:#b5c1d2a6}
.journey-rail button[aria-current=step] small{color:#e5c09a}
@media(min-width:761px) and (max-height:800px){
 .exhibit{top:22%}.exhibit-kicker{margin-bottom:13px}
 .exhibit-choices{margin-top:12px}.exhibit-description{margin-top:8px}
 .scene.has-exhibit h2{font-size:min(5.45vw,76px)}
 .scene.has-exhibit .scene-company{margin-top:23px;font-size:20px}
 .scene.has-exhibit .scene-proof{font-size:14px;line-height:1.6}
 .final-scene h2{font-size:clamp(44px,5vw,62px)}
}
@media(max-width:1100px) and (min-width:761px){
 .scene.has-exhibit .scene-copy{width:44%}.scene.has-exhibit h2{font-size:5.4vw}
 .scene.has-exhibit .scene-company{font-size:18px}
 .scene.has-exhibit .eyebrow{font-size:9px}
 .exhibit{width:45%;right:4%}
 .exhibit-description{font-size:13px}.exhibit-choices button{font-size:12px}
}
@media(max-width:760px){
 .world-vignette{background:linear-gradient(180deg,#080f1abf 0%,#080f1a99 31%,#080f1a22 62%,#080f1a88 100%)}
 .enhanced .scene.has-exhibit{display:flex;flex-direction:column;align-items:stretch;padding-top:calc(clamp(100px,14dvh,116px) + env(safe-area-inset-top,0px));padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))}
 .scene.has-exhibit .scene-copy{width:100%;max-width:560px}
 .scene.has-exhibit h2{font-size:clamp(31px,9vw,44px);line-height:.99}
 .scene.has-exhibit .eyebrow{font-size:8px;line-height:1.5;margin-bottom:15px}
 .scene.has-exhibit .scene-company{font-size:16px;line-height:1.3;margin-top:12px;max-width:100%}
 html:not(.reading-layout) .scene.has-exhibit .scene-proof{display:none}
 .scene.has-exhibit .detail-link,.scene.has-exhibit .subtle-link{font-size:12px;min-height:44px;margin-top:6px;padding:8px 0}
 .scene.has-exhibit .scene-copy{flex:0 0 auto}
 .scene .exhibit,.scene .exhibit-coaching{position:relative;inset:auto;width:100%;max-width:none;flex:1 1 auto;min-height:0;margin:14px 0 0}
 .exhibit-visual{height:auto;max-height:280px;min-height:0}
 html:not(.reading-layout) .folio p{display:none}
 .exhibit-kicker{font-size:9px;margin-bottom:11px;letter-spacing:.09em}
 .exhibit-choices{margin-top:9px;gap:17px}
 .exhibit-choices button{font-size:12px;min-height:44px}
 .exhibit-description{font-size:12px;line-height:1.45;min-height:52px;margin-top:7px;max-width:none;overflow-wrap:break-word}
 .enhanced .exhibit{transform:perspective(1000px) translate3d(calc(var(--scene-d)*-22px),calc(var(--scene-d)*-90px),calc(var(--scene-abs)*-220px)) rotateX(calc(var(--scene-d)*12deg))}
 .journey-phase{font-size:9px;top:calc(80px + env(safe-area-inset-top,0px));gap:10px}.journey-phase>span:first-child{font-size:8px}
 .passage-caption{left:7%;top:28%;width:86%}.passage-caption small{font-size:9px;line-height:1.5}.passage-caption p{font-size:38px;line-height:1.14;margin-top:18px}
 .masthead{height:calc(73px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}
 .experience-hud{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .travel-buttons{bottom:calc(24px + env(safe-area-inset-bottom,0px))}
 .journey-rail{bottom:calc(46px + env(safe-area-inset-bottom,0px))}
 .opening h1,.running h2,.final-scene h2{font-size:clamp(34px,10.5vw,52px)}
 .record-time{font-size:clamp(54px,16vw,86px)}
}
@media(max-width:760px) and (max-height:760px){
 .scene.has-exhibit .eyebrow{margin-bottom:11px;font-size:8px}
 .exhibit-kicker{font-size:8px;margin-bottom:8px}
 .exhibit-choices{margin-top:7px}.exhibit-description{margin-top:5px;line-height:1.4;min-height:34px}
 .journey-phase{font-size:8px}.journey-phase>span:first-child{font-size:7px}
}
@media(max-width:760px) and (max-height:700px){
 html:not(.reading-layout) .exhibit-kicker{display:none}
 .scene .exhibit{margin-top:10px}
}
@media(min-width:521px) and (max-width:760px){
 .scene:not(.has-exhibit) .scene-copy{width:58%}
 .opening .journey-intro,.opening .enter-action{max-width:100%}
 .opening-portrait,.running-portrait{width:31%;height:43%;bottom:145px}
 .opening-note{display:none}
}
@media(max-width:360px){
 .header-actions{gap:8px;font-size:11px}.header-actions>a{font-size:11px}
 #map-toggle{min-width:84px;padding-inline:9px}.map-label{font-size:11px}
 .contact-links{gap:12px}
}
.quiet-motion .exhibit{transform:none!important}
@media(prefers-reduced-motion:reduce){.enhanced .exhibit{transform:none!important}}
