/* A legible itinerary, with the artwork free to breathe between passages. */
.site-header{gap:28px}
.explore-button{margin-left:auto}
#journey-trail,#journey-trail:has(.trail-links a:nth-child(5)),#journey-trail.is-visible{
 position:relative;inset:auto;width:auto;max-width:360px;height:auto;transform:none;
 opacity:1;pointer-events:auto;border-radius:0;background:none;margin-left:auto;
 flex:0 1 360px;transition:none;color:inherit;display:block!important
}
#journey-trail[hidden]{display:none!important}
#journey-trail:not([hidden])+.explore-button{margin-left:0}
.chapter-menu{position:relative}
.chapter-menu>summary{display:flex;align-items:center;gap:13px;padding:12px 0;min-height:52px;cursor:pointer;list-style:none;font-size:17px;line-height:1.2}
.chapter-menu>summary::-webkit-details-marker{display:none}
.chapter-progress{width:21px;height:21px;flex:none;border-radius:50%;background:conic-gradient(var(--scene-accent) var(--trail-progress,0%),#8c74c533 0);mask:radial-gradient(circle,transparent 49%,#000 53%);-webkit-mask:radial-gradient(circle,transparent 49%,#000 53%)}
.chapter-current{flex:1;min-width:0;font-weight:400}
.chapter-count{font-size:13px;opacity:.65;white-space:nowrap}
.chapter-toggle{font-size:23px;transition:transform .25s;color:var(--scene-accent);margin-left:4px}
.chapter-menu[open] .chapter-toggle{transform:rotate(45deg)}
.chapter-options{position:absolute;right:-20px;top:calc(100% + 8px);width:350px;max-width:calc(100vw - 48px);padding:28px 26px 22px;border-radius:34px 41px 37px 43px;background:rgba(var(--scene-paper),.98);box-shadow:0 18px 60px #15122221;backdrop-filter:blur(16px);animation:chapter-open .2s ease both}
.chapter-options>p{font-size:14px;color:var(--scene-accent);margin:0 0 12px 2px}
#journey-trail .trail-links{position:static;inset:auto;display:flex;flex-direction:column;align-items:stretch;gap:2px}
#journey-trail .trail-links a,#journey-trail .trail-links a:nth-child(2n){position:relative;display:flex;width:auto;min-width:0;max-width:none;min-height:49px;height:auto;padding:12px 2px;gap:17px;justify-content:flex-start;align-items:baseline;font-size:21px;line-height:1.2;opacity:1;transition:color .2s;transform:none}
#journey-trail .trail-links a>span{font-size:13px;min-width:18px;opacity:.6}
#journey-trail .trail-links a:hover,#journey-trail .trail-links a[aria-current]{color:var(--scene-accent)}
#journey-trail .trail-links a[aria-current]:after{content:'';position:absolute;right:0;top:22px;width:5px;height:5px;border-radius:50%;background:currentColor}
.menu-is-open #journey-trail{visibility:hidden}
.near-footer #journey-trail{opacity:1;pointer-events:auto}
.chapter-options{max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#journey-trail .trail-links a,#journey-trail .trail-links a:nth-child(2n){flex-direction:row}
.flow-copy .disclosure{max-width:none;width:100%}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes chapter-open{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}

.opening-contents{display:flex;flex-wrap:wrap;gap:8px 26px;max-width:610px;margin-top:38px;position:relative;z-index:4}
.opening-contents a{display:inline-flex;align-items:baseline;gap:10px;min-height:44px;padding:10px 0;font-size:18px;color:var(--scene-accent)}
.opening-contents a span{font-size:12px;opacity:.65;transition:opacity .2s}
.opening-contents a:hover span{opacity:1}
.opening-contents a:hover{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:7px}
.approach-opening .opening-contents{max-width:760px}
.field-opening{padding-bottom:5vh}
.field-opening h1 em{max-width:16ch}
.field-intro{max-width:36ch}
.story-beat{min-height:120svh;padding-bottom:7vh}
.beat-arrival{height:20vh}
.beat-arrival:after{height:9vh;top:6vh;opacity:.6}
.beat-layout{min-height:70vh;align-items:center;column-gap:7vw}
.flow-copy h2{max-width:15ch;font-size:clamp(46px,4.7vw,77px);text-wrap:balance}
.chapter-label{font-size:18px;margin-bottom:23px;gap:14px}
.chapter-label>span{font-size:13px;opacity:.65}
.chapter-text{font-size:clamp(21px,1.72vw,26px);max-width:34ch}
.beat-media{padding-top:12px;align-self:center}
.photo-orbit:before{inset:-5%;opacity:.65}
.photo-orbit:after,.photo-satellites{display:none}
.photo-window{border-radius:45% 55% 51% 49% / 52% 47% 53% 48%;box-shadow:0 25px 75px #120a2224}
.media-left .photo-window{border-radius:52% 48% 45% 55% / 47% 55% 45% 53%}
.chapter-next{display:flex;align-items:center;gap:17px;width:fit-content;max-width:100%;margin-top:28px;min-height:58px;padding:8px 4px;color:var(--scene-accent);font-size:21px;line-height:1.3}
.chapter-next small{display:block;font-size:13px;color:inherit;opacity:.65;margin-bottom:3px}
.chapter-next-dot{display:block;width:9px;height:9px;flex:none;border-radius:50%;background:currentColor;box-shadow:0 0 0 8px #8c74c514;transition:box-shadow .3s,transform .3s}
.chapter-next:hover .chapter-next-dot{box-shadow:0 0 0 13px #8c74c519;transform:scale(1.1)}
.invitation{min-height:65svh;padding-top:12vh;padding-bottom:18vh}
.invitation h2{max-width:100%;font-size:clamp(80px,9vw,145px)}
.invitation p{margin:32px 0 20px;max-width:37ch;font-size:clamp(24px,2.3vw,34px);line-height:1.4}
.invitation>.text-action{margin-left:0}

@media(min-width:901px) and (max-width:1150px){
 .site-header{gap:22px}.brand{width:210px}#journey-trail{flex-basis:300px;max-width:300px}.chapter-menu>summary{font-size:16px;gap:10px}
 .field-intro{max-width:31ch}.flow-copy h2{font-size:4.8vw}.beat-layout{column-gap:6vw}
}
@media(max-width:900px){
 .site-header{gap:18px;flex-wrap:wrap;align-content:center}
 #journey-trail,#journey-trail:has(.trail-links a:nth-child(5)){order:3;flex:none;width:100%;max-width:none;margin:0;height:40px}
 #journey-trail:not([hidden])+.explore-button{margin-left:auto}
 .site-header:has(#journey-trail:not([hidden])){height:140px;row-gap:3px;background:linear-gradient(to bottom,rgba(var(--scene-paper),.98) 70%,rgba(var(--scene-paper),.88) 85%,rgba(var(--scene-paper),0));backdrop-filter:blur(4px);padding-top:10px;padding-bottom:12px}
 .chapter-menu>summary{font-size:16px;padding:8px 0;min-height:40px;gap:11px}
 .chapter-progress{height:17px;width:17px}.chapter-count{font-size:12px}.chapter-toggle{font-size:20px}
 .chapter-options{top:calc(100% + 6px);left:0;right:auto;width:100%;max-width:none;padding:23px 25px;border-radius:26px 33px 29px 35px}
 .chapter-options{max-height:calc(100dvh - 155px)}
 #journey-trail .trail-links a,#journey-trail .trail-links a:nth-child(2n){font-size:20px;min-height:47px;padding:11px 0}
 .field-opening{padding-top:176px;padding-bottom:4vh}
 .field-opening h1 em{max-width:17ch}
 .opening-contents{margin-top:27px;gap:2px 23px;max-width:100%}.opening-contents a{font-size:17px;gap:8px}
 .story-beat{min-height:0;padding-bottom:7vh}.beat-arrival{height:15svh}.beat-arrival:after{height:8svh;top:3svh}
 .beat-layout{display:flex;flex-direction:column;align-items:stretch;min-height:0;gap:0}
 .flow-copy{display:contents}.flow-copy .chapter-label{order:0}.flow-copy h2{order:1;font-size:clamp(39px,10.4vw,64px);max-width:17ch}
 .beat-media{order:2;width:90%;padding-top:0;margin:40px auto 8px}
 .flow-copy .chapter-text{order:3}.flow-copy .disclosure{order:4}.flow-copy .chapter-next{order:5}
 .chapter-text{font-size:21px;max-width:36ch}.chapter-next{font-size:20px;margin-top:23px}
 .invitation{min-height:0;padding-top:10vh;padding-bottom:16vh}.invitation h2{font-size:clamp(74px,17vw,120px)}.invitation p{font-size:25px;max-width:30ch;margin:28px 0 18px}
}
@media(max-width:370px){
 .site-header{column-gap:14px}.site-header .brand{width:145px}.site-header .explore-button{width:88px;min-width:88px;padding:11px 12px;gap:11px;font-size:14px}.site-header .explore-mark{width:13px}
 .chapter-text{font-size:20px}.flow-copy h2{font-size:39px}.invitation p{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.chapter-options{animation:none}.chapter-toggle,.chapter-next-dot{transition:none}}
.motion-paused .chapter-options{animation:none}
