/* A gesture moves the whole page; native snapping docks the next scene. */
html.journey-docked{scroll-snap-type:y mandatory;scroll-padding:0;overscroll-behavior-y:none}
.journey-docked .chapter{height:100vh;height:100svh;min-height:0;display:flex;align-items:flex-start;scroll-snap-align:start;scroll-snap-stop:always}
.journey-docked .chapter-inner,.journey-docked .final-chapter .chapter-inner{position:relative;width:min(1460px,calc(100% - 15vw));min-height:100vh;min-height:100svh;margin:0 auto;padding:clamp(112px,14vh,170px) 0 100px;display:flex;align-items:flex-start}
.journey-docked .chapter-copy,.journey-docked .final-chapter .chapter-copy{padding:0;opacity:1}
.journey-docked .painted-scene,.journey-docked .painted-scene.active,.journey-docked .painted-scene.passed{transform:none;transition:opacity 1.35s ease}
.journey-docked .painted-scene img{transform:scale(1.035);will-change:auto}
.journey-docked .chapter-text{opacity:1}
.journey-docked .chapter[data-theme="light"] .chapter-text{color:#263b4b}

/* The sixth page is a paper epilogue, separate from the painted story. */
.journey-info{position:relative;min-height:100vh;min-height:100svh;padding:140px 7.5vw 90px;scroll-snap-align:start;scroll-snap-stop:always;background:#f6f0e3;color:#253b4c}
.journey-info-visible .journey-header{background:linear-gradient(180deg,#f6f0e3 76%,#f6f0e300)}
.journey-info-visible .scene-effects .ambient-particle{animation-play-state:paused!important}
.info-layout{max-width:1220px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.15fr;gap:9%}
.info-intro h2{font:clamp(39px,4vw,61px)/1.13 var(--serif);letter-spacing:-1.6px;margin:0}
.info-intro h2 em{color:#92703f}
.info-intro>p:not(.chapter-kicker){max-width:345px;margin:27px 0 0;font-size:15px;line-height:1.85;color:#415463}
.info-intro .journey-cta{font-size:20px;gap:20px;margin-top:30px}
.story-faq{border-top:1px solid #b6a78d}
.story-faq details{border-bottom:1px solid #cfc3ae}
.story-faq summary{position:relative;list-style:none;padding:21px 36px 21px 0;cursor:pointer;font-size:16px;line-height:1.5;font-weight:500}
.story-faq summary::-webkit-details-marker{display:none}
.story-faq summary::after{content:"+";position:absolute;right:3px;top:16px;font:26px/1.5 var(--serif);color:#92703f}
.story-faq details[open] summary::after{content:"−"}
.story-faq details>p{font-size:14px;line-height:1.85;color:#415463;margin:0;padding:0 30px 22px 0;max-width:610px}
.journey-docked .journey-footer{position:relative;inset:auto;max-width:1220px;margin:65px auto 0;padding:20px 0 0;border-top:1px solid #b6a78d;background:none;color:#253b4c;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;letter-spacing:0}
.journey-docked .journey-footer>span{font-size:12px}
.journey-docked .journey-footer>div{gap:25px;margin:0}
.journey-docked .journey-footer button{font-size:13px;min-height:44px;padding:8px 0;color:#253b4c}
.journey-route a:nth-child(2),.journey-route a:nth-child(5){--route-arc:10px;--route-arc-mobile:-5px}
.journey-route a:nth-child(3),.journey-route a:nth-child(4){--route-arc:16px;--route-arc-mobile:-8px}

@media(max-width:1100px) and (min-width:701px){
 .journey-docked .chapter-inner,.journey-docked .final-chapter .chapter-inner{width:calc(100% - 13vw);padding-top:112px}
 .journey-info{padding:125px 6.5vw 85px}
 .info-layout{gap:6%}
 .info-intro .journey-cta{font-size:18px}
}
@media(max-width:700px){
 .journey-docked .chapter-inner,.journey-docked .final-chapter .chapter-inner{width:calc(100% - 48px);padding:max(110px,15svh) 0 90px}
 .journey-docked .chapter[data-chapter="0"] .chapter-text{max-width:100%;padding:0;margin-left:0;background:none;color:#23394b;font-weight:500;text-shadow:none}
 .journey-docked .scroll-invitation{opacity:1;color:#23394b;background:none;padding:0;border:0;border-radius:0;font-size:11.5px;font-weight:600;line-height:1.6;letter-spacing:.2px;gap:11px;margin-top:22px;text-shadow:none}
 .journey-docked .scroll-line{height:26px;opacity:1}
 .journey-info{padding:116px 24px 85px}
 .info-layout{display:block}
 .info-intro h2{font-size:39px;letter-spacing:-1.2px}
 .info-intro .chapter-kicker{font-size:9px;letter-spacing:1.3px}
 .info-intro>p:not(.chapter-kicker){font-size:14px;margin-top:20px}
 .info-intro .journey-cta{font-size:18px;margin-top:22px}
 .story-faq{margin-top:38px}
 .story-faq summary{font-size:15px;padding-block:18px}
 .story-faq summary::after{top:13px}
 .story-faq details>p{font-size:13px;padding-right:14px}
 .journey-docked .journey-footer{margin-top:38px;padding-top:18px;display:block;font-size:11px}
 .journey-docked .journey-footer>span{font-size:11px}
 .journey-docked .journey-footer>div{display:flex;gap:20px;flex-wrap:wrap;margin-top:5px}
 .journey-docked .journey-footer button{font-size:12px}
}
@media(max-width:380px){.journey-docked .chapter-inner,.journey-docked .final-chapter .chapter-inner{width:calc(100% - 40px);padding-top:max(102px,15svh)}.journey-info{padding-inline:20px}.info-intro h2{font-size:35px}}
@media(max-height:650px){
 .journey-docked .chapter-inner,.journey-docked .final-chapter .chapter-inner{padding-top:100px}
 .journey-docked .chapter-kicker{margin-bottom:14px}
 .journey-docked .chapter h1,.journey-docked .chapter h2{font-size:clamp(30px,4vw,42px);line-height:1.1}
 .journey-docked .chapter-text{font-size:13px;line-height:1.6;margin-top:16px}
 .journey-docked .final-chapter .chapter-text{font-size:12px;line-height:1.6;margin-top:16px}
 .journey-docked .journey-cta{font-size:17px;margin-top:16px}
 .journey-docked .final-caption{font-size:9px;margin-top:8px}
 .journey-docked .scroll-invitation{margin-top:18px}
}
@media(max-height:500px){
 .journey-docked .chapter{height:auto;min-height:100svh}
 .journey-docked .chapter-inner,.journey-docked .final-chapter .chapter-inner{padding-top:88px;padding-bottom:95px}
}
@media(prefers-reduced-motion:reduce){.journey-docked .painted-scene{transition:none!important}}

/* Letter-level contrast leaves the artwork visible, including on a small phone. */
@media(max-width:700px){
 .journey-docked .final-chapter .journey-cta{color:#23394b;border-bottom-color:#23394bb3;font-size:19px;margin-top:18px;gap:20px;text-shadow:none}
 .journey-docked .final-chapter .final-caption{color:#23394b;opacity:1;font-size:11.5px;font-weight:600;line-height:1.65;margin-top:9px;max-width:100%;text-shadow:none}
}
@media(max-width:380px){.journey-docked .final-chapter .journey-cta{font-size:18px;gap:16px}.journey-docked .final-chapter .final-caption{font-size:11px}}
/* Paint once, crossfade only the visible artwork, and keep mobile geometry stable. */
.journey-docked .painted-scene,.journey-docked .painted-scene.passed{visibility:hidden;will-change:auto;transition:opacity 1.1s ease,visibility 0s 1.1s}
.journey-docked .painted-scene.active{visibility:visible;will-change:opacity;transition:opacity 1.1s ease,visibility 0s}
.journey-docked .stage-grain{display:none}
.journey-playback{backdrop-filter:none;background:#f6f0e3ed}
.journey-docked .chapter *{text-shadow:none!important}
@media(max-width:700px){
 .journey-docked .chapter-inner,.journey-docked .final-chapter .chapter-inner{padding-top:104px}
 .journey-docked .chapter h1,.journey-docked .chapter h2{font-size:34px;line-height:1.1}
 .journey-docked .chapter-kicker{font-size:10px;line-height:1.5;margin-bottom:18px}
 .journey-docked .chapter .chapter-text,.journey-docked .final-chapter .chapter-text{font-size:13.5px;line-height:1.7;margin-top:16px;font-weight:400;opacity:1}
 .journey-docked .chapter[data-chapter="0"] .chapter-text{font-weight:400}
 .journey-docked .chapter[data-theme="light"] .chapter-text{color:#243b4b}
 .journey-docked .chapter[data-theme="dark"] .chapter-text{color:#f8efdd}
 .journey-docked .scroll-invitation{font-size:11.5px;font-weight:500;line-height:1.6;margin-top:20px;color:#243b4b}
 .journey-docked .final-chapter .journey-cta{color:#243b4b;font-size:18px;margin-top:16px}
 .journey-docked .final-chapter .final-caption{color:#243b4b;font-size:11px;font-weight:500;line-height:1.65;margin-top:8px}
}
@media(max-width:380px){
 .journey-docked .chapter-inner,.journey-docked .final-chapter .chapter-inner{padding-top:100px}
 .journey-docked .chapter h1,.journey-docked .chapter h2{font-size:32px}
 .journey-docked .chapter .chapter-text,.journey-docked .final-chapter .chapter-text{font-size:13px}
 .journey-docked .final-chapter .final-caption{font-size:10.5px}
}
@media(max-width:700px) and (max-height:650px){
 .journey-docked .painted-scene[data-layer="0"]::after,.journey-docked .painted-scene[data-layer="2"]::after,.journey-docked .painted-scene[data-layer="4"]::after{background:linear-gradient(180deg,#f6f0e366 0%,#f6f0e38c 59%,#f6f0e300 89%)}
}
