/* One native reading scroll, one connected shoreline. */
html, body { height:100%; overflow:hidden; }
#journey-stage { position:fixed; inset:0; pointer-events:none; overflow:hidden; opacity:0; background:#f0eee3; }
#journey-stage svg { display:block; width:100%; height:100%; }
#motion-surface { transition:none; }
body:not([data-chapter="intro"]) #motion-surface { opacity:1; }
body .vignette { background:transparent; }
#chapter-content { position:fixed; inset:92px 0 76px; height:auto; overflow-y:auto; overflow-x:hidden; overscroll-behavior-y:contain; overflow-anchor:none; scrollbar-width:thin; scrollbar-color:#17677855 transparent; scroll-behavior:auto; outline:none; z-index:2; }
#chapter-content.dialog-locked { overflow:hidden; }
.chapter { position:relative; inset:auto; overflow:visible; min-height:100%; width:100%; padding:48px 0 72px; display:flex; align-items:center; scroll-margin-top:0; }
.chapter:last-child { min-height:100%; }
.chapter.is-active, .chapter.is-active .reveal, .chapter.is-active .title-band { animation:none; }
.scene-cut { display:none !important; }
.chapter-art { display:none; }
.story-spread,.story-reverse,.growth-spread { display:block; min-height:0; padding:0 0 0 9%; width:100%; margin:0; }
.story-copy { display:block; max-width:505px; width:40%; min-width:0; padding:30px 22px 30px 0; position:relative; }
.reading-wash { position:fixed; inset:0; pointer-events:none; opacity:var(--journey-blend,0); background:linear-gradient(0deg,#f0eee34d,transparent 9%),linear-gradient(90deg,#f0eee3 6%,#f0eee3f7 24%,#f0eee3dd 34%,#f0eee300 57%); }
.story-copy .display-title { font-size:clamp(35px,3.7vw,54px); }
.story-lead { font-size:14px; line-height:1.85; }
.growth-intro { font-size:13px; }
.growth-spread .display-title { font-size:clamp(35px,3.4vw,49px); }
.career-panel { min-height:248px; }
.intro { align-items:flex-start; padding-top:0; }
.intro-content { min-height:0; width:100%; padding:42px 9% 60px; }
.intro .edge-note { display:none; }
.intro .scene-caption { display:none; }
.journey-caption { position:fixed; right:5%; bottom:106px; z-index:1; font-size:7px; letter-spacing:1.8px; color:#164453; display:flex; gap:12px; align-items:center; pointer-events:none; }
.journey-caption::before { content:""; width:34px; height:1px; background:currentColor; }
.scroll-invitation { margin-top:23px; font-size:8px; letter-spacing:2px; color:var(--muted); display:flex; gap:12px; align-items:center; }
.scroll-invitation span { font-size:16px; color:var(--accent); }
.masthead { background:linear-gradient(#f0eee3 40%,#f0eee3d9 75%,#f0eee300); }
.navigation-bar { background:linear-gradient(transparent,#f0eee3d9 60%); }
#journey-stage .ripple { animation:journey-water-flow 9s ease-in-out infinite alternate; }
#journey-stage #journey-dc-mall-gardens .ripple { animation-name:chapter-ripple; }
@keyframes journey-water-flow { from { translate:-12px -1px; opacity:.72; } to { translate:16px 3px; opacity:1; } }
#journey-stage .sway { transform-box:fill-box; transform-origin:center bottom; animation:chapter-sway 5s ease-in-out infinite alternate; }
#journey-stage .sway:nth-child(even) { animation-delay:-2s; }
#journey-near-grass-plane .sway { animation-name:journey-grass-sway; animation-duration:7.8s; }
@keyframes journey-grass-sway { from { rotate:-1.2deg; } to { rotate:1.6deg; } }
#journey-stage .drift-cloud { animation:chapter-cloud 15s ease-in-out infinite alternate; }
#journey-stage .boat-drift { animation:chapter-boat 7s ease-in-out infinite alternate; }
#journey-stage .signal-pulse { animation:chapter-glow 5s ease-in-out infinite; }
body.motion-paused #journey-stage *, body.page-hidden #journey-stage * { animation-play-state:paused !important; }
@media (min-width:1800px) { .story-copy { max-width:620px; }.story-lead { font-size:17px; }.story-note,.career-panel p { font-size:14px; } }
@media (max-width:1050px) and (min-width:761px) { .story-spread { padding-left:6%; }.story-copy { width:46%; padding-right:15px; }.story-copy .display-title { font-size:36px; }.story-lead { font-size:13px; } }
@media (max-width:760px) {
  #chapter-content { top:76px; bottom:70px; padding-bottom:36dvh; mask-image:linear-gradient(transparent,black 13px,black calc(100% - 36dvh - 20px),transparent calc(100% - 36dvh)); }
  #journey-stage { top:auto; bottom:70px; height:36dvh; }
  .chapter,.chapter:last-child { min-height:calc(64dvh - 146px); padding:30px 7% 90px; align-items:flex-start; }
  .intro { padding:28px 7% 85px; }
  .intro-content { padding:0; min-height:0; }
  .hero-title { font-size:42px; }
  .story-spread,.story-reverse,.growth-spread { display:block; padding:0; }
  .story-copy { display:block; width:100%; max-width:none; padding:0; }
  .reading-wash { opacity:1; background:linear-gradient(#f0eee3 0%,#f0eee3 57%,#f0eee300 64%); }
  .intro-content { position:relative; }

  .story-copy .display-title { font-size:36px; margin:13px 0 20px; }
  .story-lead,.growth-intro { font-size:13px; line-height:1.8; margin-bottom:17px; }
  .story-note { font-size:12px; margin-bottom:20px; }
  .story-actions { margin-top:20px; }
  .growth-spread .growth-intro { margin-bottom:18px; }
  .growth-spread .milestone-instruction { margin-bottom:9px; }
  .growth-spread .career-tabs { margin-bottom:20px; }
  .career-panel { min-height:0; margin-bottom:15px; }
  .career-panel h3 { font-size:27px; }
  .career-panel p { font-size:12px; }
  .journey-caption { bottom:86px; font-size:6px; right:7%; }
  .scroll-invitation { font-size:7px; margin-top:21px; }
  .ai-selection { margin:20px 0; }
}
@media (max-height:650px) and (min-width:761px) { #chapter-content { top:80px; bottom:76px; }.chapter { padding-top:20px; padding-bottom:50px; }.story-copy { padding-top:10px; }.intro-content { padding-top:12px; } }
@media (prefers-reduced-motion:reduce) { #journey-stage * { animation:none !important; } }
@media print { html,body { height:auto; overflow:visible; } }
