/* Original animated outdoor scenes. Essential copy is always visible. */
.immersive-site { --sun:#efdfac; }
.immersive-site .site-header { background:#e8ecdb; border-bottom-color:#bcccb5; }
.immersive-site .header-inner { min-height:5.4rem; }
.immersive-hero { min-height:1050px; min-height:max(850px, calc(100svh - 5.4rem)); position:relative; isolation:isolate; overflow:clip; background:#c8d9bd; }
.world-scene { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.world-art { height:100%; width:100%; display:block; }
.hero-atmosphere-copy { position:relative; padding:4.2rem 1.5rem 20rem; text-align:center; margin:0 auto; max-width:80rem; }
.hero-atmosphere-copy h1 { font-size:clamp(4.8rem,8.8vw,9rem); letter-spacing:-.065em; line-height:.89; margin:1.5rem 0 1.6rem; color:#143d30; }
.hero-atmosphere-copy h1 span,.hero-atmosphere-copy h1 em { display:block; }
.hero-atmosphere-copy h1 em { font-weight:400; }
.hero-atmosphere-copy .eyebrow { letter-spacing:.28em; color:#254f3d; }
.hero-statement { font-size:1.13rem; color:#173f31; line-height:1.5; }
.hero-atmosphere-copy .button-row { justify-content:center; gap:.7rem; margin-top:1.6rem; }
.hero-atmosphere-copy .button-link { background:#173f31; border-color:#173f31; color:#fff7db; border-radius:100px; }
.hero-atmosphere-copy .button-secondary { background:#f1eccf; border-color:#365e47; border-radius:100px; color:#183d32; }
.hero-atmosphere-copy .access-note { color:#173f31; font-size:.75rem; margin:1rem auto 0; width:fit-content; padding:.35rem .7rem; background:#eeebd1; border-radius:100px; }
.hero-atmosphere-copy .access-note a { color:#173f31; }
.scene-caption { position:absolute; bottom:5rem; left:3rem; right:3rem; color:#e6eed6; display:flex; justify-content:flex-end; gap:2rem; font-size:.65rem; text-transform:uppercase; letter-spacing:.14em; }
.scene-caption a { color:#e6eed6; text-decoration:none; font-size:.7rem; }
.scene-cloud { animation:clouds-drift 42s ease-in-out infinite alternate; }
.cloud-two { animation-duration:55s; animation-direction:alternate-reverse; }
.scene-sun { animation:sun-breathe 18s ease-in-out infinite alternate; transform-origin:1240px 280px; }
.flying-birds { animation:birds-cross 32s ease-in-out infinite alternate; }
.drifting-seeds { position:absolute; inset:0; pointer-events:none; }
.drifting-seeds i { position:absolute; display:block; width:5px; height:13px; background:#f3e4b6; border-radius:100% 0; bottom:8%; left:14%; animation:seed-drift 13s ease-in-out infinite; opacity:0; }
.drifting-seeds i:nth-child(2){left:28%;animation-delay:-3s;animation-duration:18s}
.drifting-seeds i:nth-child(3){left:68%;animation-delay:-7s;animation-duration:17s}
.drifting-seeds i:nth-child(4){left:87%;animation-delay:-11s;animation-duration:22s}
.drifting-seeds i:nth-child(5){left:48%;animation-delay:-5s;animation-duration:15s}
.drifting-seeds i:nth-child(6){left:78%;animation-delay:-9s;animation-duration:19s}
.motion-toggle { position:fixed; right:1rem; bottom:1rem; z-index:100; background:#f6f1db; color:#173f31; border:1px solid #647861; border-radius:100px; min-height:44px; font:600 .72rem system-ui,sans-serif; padding:.6rem 1rem; box-shadow:0 3px 16px #102e3322; cursor:pointer; }
.motion-toggle[hidden] { display:none; }
.immersive-site .signal-strip { background:#d9e5ab; color:#234b33; }
.immersive-site .signal-list { padding-top:1.2rem;padding-bottom:1.2rem; }
.immersive-site .signal-list li + li { border-color:#93ac79; }
.immersive-site .editorial-heading h2 { font-size:clamp(3rem,5.4vw,5.4rem); }
.visual-features { gap:1.6rem; }
.visual-features .feature-card { border:0; border-radius:0; padding:0; position:relative; background:transparent; }
.feature-art { aspect-ratio:1.25; margin-bottom:1.8rem; position:relative; overflow:hidden; border-radius:9rem 9rem .4rem .4rem; background:#203a38; }
.feature-art svg { width:100%; height:100%; display:block; overflow:hidden; }
.feature-art .art-label { position:absolute; bottom:1rem; left:1rem; right:1rem; text-align:center; color:#fcf4de; background:#1a3d31; border:1px solid #72846a; padding:.5rem .6rem; border-radius:100px; font-size:.64rem; }
.art-trail { animation:trail-follow 18s linear infinite; }
.orbit-art { background:radial-gradient(ellipse at 50% 110%,#597466,#192f34 70%); }
.orbit-sun { position:absolute; width:25%; aspect-ratio:1; background:#e0d9a8; border-radius:50%; top:30%; left:38%; box-shadow:0 0 60px #e3deae22; }
.orbit-track { position:absolute; width:72%; height:35%; border:1px solid #bbceb77a; border-radius:50%; left:14%; top:32%; transform:rotate(-34deg); }
.orbit-track-two { width:88%; height:52%; left:6%; top:24%; transform:rotate(31deg); }
.orbit-planet { position:absolute; left:50%; top:45%; width:10px; height:10px; border-radius:50%; background:#daeacb; animation:planet-orbit 15s linear infinite; }
.visual-features .card-label { margin-bottom:1rem; }
.visual-features h3 { font-size:2rem; }
.night-journey { min-height:820px; height:100svh; max-height:1150px; position:relative; overflow:hidden; isolation:isolate; display:grid; place-items:center; background:radial-gradient(ellipse at 65% 110%,#5b7471,#162e3f 55%,#111f32 90%); color:#eff0d8; }
.star-field { position:absolute; inset:0; z-index:-1; background-image:radial-gradient(circle,#d9e2d1 1px,transparent 1.5px),radial-gradient(circle,#cbdcd5 1px,transparent 1.5px),radial-gradient(circle,#b0cad0 1px,transparent 1.5px); background-size:173px 163px,283px 227px,347px 293px; background-position:11px 7px,83px 42px,189px 101px; transform:rotate(-8deg) scale(1.2); }
.star-field::after { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 50% 50%,#1a35456b,transparent 70%); }
.night-copy { text-align:center; position:relative; padding:4rem 1.5rem 8rem; }
.night-copy .eyebrow { color:#bcd6ce; }
.night-copy h2 { color:#eef0d2; font-size:clamp(5rem,10vw,10rem); letter-spacing:-.065em; line-height:.88; margin:2.3rem 0; }
.night-copy p { color:#d0dfd7; }
.night-copy .button-secondary { color:#eff0d8; border-color:#91aaa2; background:#193343c9; border-radius:100px; margin-top:1.5rem; }
.night-copy .night-disclaimer { font-size:.65rem; max-width:39rem; margin:1.5rem auto 0; }
.night-orbit { position:absolute; width:65vw; height:65vw; min-width:750px; min-height:750px; border:1px solid #aac9c12b; border-radius:50%; right:-22%; top:-25%; z-index:-1; }
.night-orbit::after { content:""; position:absolute; inset:8%; border:1px solid #aac9c119; border-radius:50%; }
.night-moon { width:110px; height:110px; border-radius:50%; background:#eee8c9; position:absolute; right:12%; top:12%; z-index:-1; box-shadow:0 0 75px #efe4bf16; }
.night-moon::after { content:""; position:absolute; background:#b7c0b8; opacity:.2; width:20%; height:17%; border-radius:50%; left:27%; top:31%; box-shadow:26px 20px 0 7px #c4c6b7,-4px 31px 0 -1px #c4c6b7; }
.night-ridge { position:absolute; bottom:-1px; left:0; width:100%; height:24%; z-index:-1; clip-path:polygon(0 30%,9% 54%,20% 18%,29% 46%,40% 36%,51% 62%,62% 34%,72% 57%,87% 14%,100% 31%,100% 100%,0 100%); background:#29464b; }
.ridge-near { height:18%; transform:scaleX(-1); background:#142f35; }
.immersive-site .listening-section { position:relative; overflow:hidden; background:#d9e5ad; }
.immersive-site .listening-art { overflow:visible; }
.immersive-site .listening-ring { border-color:#6b8b57; animation:listening-wave 10s ease-in-out infinite; }
.immersive-site .ring-two { animation-delay:-3s; }
.immersive-site .ring-three { animation-delay:-6s; }
.immersive-site .listening-center { font-size:clamp(2rem,4vw,4rem); }
.wandering-type { background:#d9e5ad; padding:2rem 0; overflow:hidden; border-block:1px solid #a3b982; }
.wandering-type > div { display:flex; width:max-content; animation:words-wander 38s linear infinite; }
.wandering-type span { font-family:Georgia,serif; font-style:italic; font-size:clamp(4rem,8vw,8rem); color:#264e33; line-height:1.2; white-space:nowrap; }
.immersive-site .home-story { background:#173e32; background-image:repeating-radial-gradient(ellipse at 110% 150%,transparent 0 48px,#66826624 49px 50px); }
.immersive-site .home-story h2 { font-size:clamp(3rem,5vw,5.4rem); }
.motion-paused *, .motion-paused *::before, .motion-paused *::after { animation-play-state:paused!important; }
@keyframes clouds-drift { from { transform:translateX(-55px); } to { transform:translateX(65px); } }
@keyframes sun-breathe { from { transform:scale(.96); } to { transform:scale(1.04); } }
@keyframes birds-cross { from {transform:translate(-160px,20px);} to {transform:translate(110px,-25px);} }
@keyframes seed-drift { 0%{transform:translate(0,0) rotate(0);opacity:0;} 20%,70%{opacity:.65;} 100%{transform:translate(100px,-250px) rotate(180deg);opacity:0;} }
@keyframes trail-follow { to{stroke-dashoffset:-140;} }
@keyframes planet-orbit { from{transform:rotate(0) translateX(100px) rotate(0);} to{transform:rotate(360deg) translateX(100px) rotate(-360deg);} }
@keyframes listening-wave { 0%,100%{transform:rotate(-15deg) scale(.96);}50%{transform:rotate(20deg) scale(1.07);} }
@keyframes words-wander { to{transform:translateX(-33.3333%);} }
@media(max-width:52rem) {
 .immersive-hero { min-height:940px; }
 .hero-atmosphere-copy {padding-top:3.5rem;padding-bottom:25rem;}
 .hero-atmosphere-copy h1 {font-size:clamp(4.3rem,12vw,7rem);}
 .world-art {width:150%;max-width:none;margin-left:-25%;}
 .scene-caption {left:1.5rem;right:1.5rem;bottom:5rem;}
 .scene-caption>span {max-width:15ch;}
 .visual-features .feature-art {max-width:100%;height:25rem;aspect-ratio:auto;border-radius:1rem;}
 .feature-art svg {object-fit:cover;}
 .night-journey {min-height:740px;height:90svh;}
 .night-copy h2 {font-size:clamp(4.5rem,13vw,7rem);}
 .night-moon {width:75px;height:75px;}
 .night-orbit {right:-115%;top:-35%;}
}
@media(max-width:40rem) {
 .immersive-hero{min-height:900px;}
 .hero-atmosphere-copy {padding:3rem 1.1rem 20rem;}
 .hero-atmosphere-copy h1 {font-size:clamp(3.7rem,14vw,5.5rem);line-height:.95;}
 .hero-statement {font-size:.95rem;}
 .hero-atmosphere-copy .button-row {flex-direction:column;gap:.6rem;}
 .hero-atmosphere-copy .button-row>*{width:auto;max-width:100%;}
 .world-art {width:210%;margin-left:-55%;}
 .visual-features .feature-art {height:19rem;}
 .night-copy{padding-bottom:6rem;}
 .night-copy h2{font-size:clamp(4.5rem,18vw,6rem);}
 .motion-toggle {font-size:.65rem;right:.7rem;bottom:.7rem;}
 .scene-caption{font-size:.55rem;gap:1rem;}
 .scene-caption a{font-size:.6rem;}
}
@media(prefers-reduced-motion:reduce) {
 .immersive-site *, .immersive-site *::before, .immersive-site *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
 .drifting-seeds {display:none;}
}
@media(forced-colors:active) { .motion-toggle{border:2px solid ButtonText;} .hero-atmosphere-copy,.night-copy{background:Canvas;color:CanvasText;} .hero-atmosphere-copy h1,.night-copy h2,.night-copy p{color:CanvasText;} }

/* Each chapter occupies the canvas; content may grow naturally at narrow widths. */
.immersive-site main > section { min-height:100svh; width:100%; max-height:none; height:auto; display:grid; align-content:center; }
.immersive-site main > .immersive-hero { min-height:calc(100svh - 5.4rem); align-content:start; }
.immersive-site main > section > .section-inner { width:100%; max-width:112rem; padding-inline:clamp(1.1rem,6vw,10rem); }
.immersive-site .hero-atmosphere-copy { width:100%; max-width:110rem; }
.immersive-site .scene-caption { right:clamp(9rem,12vw,13rem); }
.immersive-site .section-heading p,.immersive-site .editorial-heading p,.immersive-site .listening-grid p,.immersive-site .home-story .split p { max-width:52ch; }
.immersive-site .listening-art { max-width:38rem; }
.immersive-site .listening-grid { gap:clamp(3rem,8vw,12rem); }
.immersive-site .trust-rows { max-width:48rem; }
.immersive-site .access-questions { max-width:48rem; }
.immersive-site .night-journey { padding-block:4rem; }
.planning-cloud { animation:clouds-drift 38s ease-in-out infinite alternate; }
.canyon-art .art-trail { animation:none; }
.flying-birds { animation:none; }
.bird-flight { opacity:0; }
.bird-wing { transform-origin:0 0; animation:wing-beat 3.7s ease-in-out infinite; }
.wing-right { animation-name:wing-beat-right; }
.bird-flight:nth-child(2) .bird-wing { animation-duration:4.3s; animation-delay:-1.2s; }
.bird-flight:nth-child(3) .bird-wing { animation-duration:3.3s; animation-delay:-2.4s; }
.drifting-seeds i { left:0; top:0; bottom:auto; animation:none!important; }
@keyframes wing-beat { 0%,48%,100%{transform:rotate(0);} 56%{transform:rotate(24deg);} 65%{transform:rotate(-15deg);} 74%{transform:rotate(18deg);} 84%{transform:rotate(0);} }
@keyframes wing-beat-right { 0%,48%,100%{transform:rotate(0);} 56%{transform:rotate(-24deg);} 65%{transform:rotate(15deg);} 74%{transform:rotate(-18deg);} 84%{transform:rotate(0);} }
@media(min-width:120rem) {
 .immersive-site .editorial-heading h2,.immersive-site .home-story h2,.immersive-site .listening-grid h2,.immersive-site .access-layout h2 { font-size:clamp(4rem,4.2vw,6.5rem); }
 .immersive-site .hero-atmosphere-copy h1 { font-size:clamp(8rem,8vw,13rem); }
 .immersive-site .feature-art { aspect-ratio:1.35; }
}
@media(min-width:64.01rem) and (max-height:62rem) {
 .immersive-site .hero-atmosphere-copy { padding-top:clamp(2rem,5svh,3rem); padding-bottom:clamp(12rem,27svh,18rem); }
 .immersive-site .hero-atmosphere-copy h1 { font-size:clamp(4.8rem, min(8.8vw,14svh),9rem); }
}
@media(max-width:64rem) { .immersive-site main > .immersive-hero { min-height:calc(100svh - 9rem); } }
@media(max-width:40rem) {
 .immersive-site main > section > .section-inner { padding-inline:1.1rem; }
 .immersive-site main > .immersive-hero { min-height:calc(100svh - 10.4rem); }
 .immersive-site .hero-atmosphere-copy {padding-bottom:22rem;}
 .immersive-site .scene-caption { right:1.5rem; bottom:6rem; }
}
/* Keep the motion control clear of mobile browser safe areas. */
.motion-toggle { bottom:max(.7rem, env(safe-area-inset-bottom)); right:max(.7rem, env(safe-area-inset-right)); }
.immersive-site .site-footer { padding-bottom:4rem; }
