/* A quiet presence grows into a shared world as the reader descends. */
.story-light{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:var(--story-light,0);background:radial-gradient(ellipse at 7% 65%,#25445b30,transparent 55%),radial-gradient(ellipse at 96% 90%,#56476324,transparent 60%)}
.future{--future-progress:0;overflow:clip;margin-top:25px}
.future .section{position:relative;padding-top:100px;padding-bottom:50px}
.future-sea{inset:auto 0 0;height:780px;opacity:.33;background:linear-gradient(0deg,#030913 1%,#03091383 48%,#030913 100%),url('assets/starlit-shore-1672.webp') center 55%/cover;mask-image:linear-gradient(transparent,#000 20%,#000 65%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 20%,#000 65%,transparent)}
.future-aurora{position:absolute;inset:15% -30% 0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 25% 22%,#4165850d,transparent 32%),radial-gradient(ellipse at 76% 64%,#73668b12,transparent 39%),radial-gradient(ellipse at 48% 94%,#b997681d,transparent 40%);mask-image:linear-gradient(transparent,#000 15%,#000 80%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 15%,#000 80%,transparent)}
.future-intro{max-width:900px}
.future-intro h2{font-size:clamp(34px,4.25vw,62px)}
.future-intro>.muted{max-width:680px;font-size:16px;line-height:2.05;margin-top:30px}
.future-journey{display:grid;grid-template-columns:.88fr 1.12fr;gap:9%;align-items:start;margin-top:80px}
.future-vision{position:sticky;top:110px;text-align:center;margin-top:12px}
.vision-art{position:relative;width:min(100%,440px);aspect-ratio:440/500;margin:0 auto;isolation:isolate}
.vision-halo{position:absolute;inset:12% 4% 7%;border-radius:50%;background:radial-gradient(ellipse,#829ba32c,transparent 69%);opacity:calc(.38 + var(--future-progress)*.62);transform:scale(calc(.88 + var(--future-progress)*.2));transition:opacity .65s,transform .65s;z-index:-1}
.vision-portrait{position:absolute;left:16%;top:12%;width:68%;height:78%;object-fit:cover;object-position:50% 28%;opacity:.91;mask-image:radial-gradient(ellipse 67% 65% at 50% 43%,#000 44%,transparent 77%);-webkit-mask-image:radial-gradient(ellipse 67% 65% at 50% 43%,#000 44%,transparent 77%)}
.vision-art>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.vision-orbit{fill:none;stroke:#a6cbd412;stroke-width:.6;stroke-dasharray:1 7}
.vision-thread-base,.vision-thread{fill:none;stroke-width:.65;stroke-linejoin:round}
.vision-thread-base{stroke:#a6cbd418}
.vision-thread{stroke:#d0deed8c;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--future-progress));transition:stroke-dashoffset .5s linear}
.vision-star circle{fill:#b9dbe8;opacity:0;transition:opacity .8s}
.vision-star path{fill:#8caec2;opacity:.35;transition:opacity .8s,fill .8s;filter:drop-shadow(0 0 3px #b8e5ff25)}
.vision-star.is-lit circle{opacity:.065}.vision-star.is-lit path{opacity:.92;fill:#e6e7df}
.vision-dust{fill:#cbd9e2;opacity:.32}
.vision-name{font:400 30px/1.2 'Cormorant Garamond',serif;letter-spacing:.23em;padding-left:.23em;color:#d0dce5;margin-top:3px}
.vision-caption{font-size:11px;letter-spacing:.04em;color:#8ca6b8;margin-top:13px}
.future-steps{position:relative;list-style:none;margin:0;padding:0}
.future-steps:before,.future-steps:after{content:'';position:absolute;top:22px;bottom:100px;left:13px;width:1px;background:linear-gradient(#9bc8e126,#b8acd22e,#dac49832)}
.future-steps:after{background:linear-gradient(#9bc8e17a,#b8acd26b,#dac498ad);transform:scaleY(var(--future-progress));transform-origin:top;box-shadow:0 0 9px #c5dafb24;transition:transform .45s linear}
.future-step{position:relative;padding:0 0 74px 57px;min-height:220px;--step-color:156,199,222}
.future-step:last-child{padding-bottom:30px}
.future-point{position:absolute;top:0;left:1px;width:25px;font:26px/1.5 'Cormorant Garamond',serif;text-align:center;color:rgba(var(--step-color),.52);background:radial-gradient(ellipse,#06101a 25%,transparent 68%);z-index:1;transition:color .7s,text-shadow .7s}
.future-step.is-current .future-point,.future-step.is-past .future-point{color:rgb(var(--step-color));text-shadow:0 0 17px rgba(var(--step-color),.5)}
.future-kicker{font-size:10px;letter-spacing:.11em;color:rgba(var(--step-color),.66);margin:6px 0 16px;line-height:1.6}
.future-kicker span{margin-left:17px;letter-spacing:.2em;font-size:9px}
.future-step h3{font:400 clamp(24px,2.05vw,31px)/1.65 var(--voice-font);letter-spacing:-.025em;color:#c5d3df;transition:color .65s,text-shadow .65s;text-wrap:balance}
.future-step-copy>p:last-child{font-size:14px;line-height:2;color:#95abbc;max-width:450px;margin-top:17px;transition:color .65s}
.future-step.is-current h3{color:#eef2f4;text-shadow:0 0 40px rgba(var(--step-color),.14)}
.future-step.is-current .future-step-copy>p:last-child{color:#bdcbd6}
.future-step:last-child h3{color:#e0d6c6}
.future-arrival{text-align:center;padding-top:65px;margin:0 auto;max-width:760px}
.arrival-horizon{position:relative;height:70px;max-width:560px;margin:0 auto 27px;display:grid;place-items:center}
.arrival-horizon:before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#bfd8df70,transparent);box-shadow:0 0 25px #c8d3cb29}
.arrival-horizon span{position:relative;font:35px/1 'Cormorant Garamond',serif;color:#e4dbc7;padding:0 18px;background:radial-gradient(#0b1824 25%,transparent 70%);text-shadow:0 0 24px #e5d0a563}
.future-arrival>p:not(.source-note){font:400 clamp(27px,3vw,43px)/1.75 var(--voice-font);letter-spacing:-.025em;text-wrap:balance;color:#d5e1e6}
.future-arrival em{color:#dfd6c5}
.future-arrival .source-note{font-size:11px;line-height:2;color:#8098aa;max-width:570px;margin:30px auto 0}
.motion-reduced .vision-halo,.motion-reduced .vision-thread,.motion-reduced .future-steps:after,.motion-reduced .vision-star *,.motion-reduced .future-step *{transition:none!important}
.motion-reduced .vision-halo{transform:none}
@media(min-width:761px) and (max-height:760px){.future-vision{top:100px}.vision-art{max-width:340px}.vision-name{font-size:25px}}
@media(max-width:1050px) and (min-width:761px){.desktop-nav{gap:18px}.header-youtube{display:none}.future-journey{gap:5%;grid-template-columns:.85fr 1.15fr}.future-step{padding-left:48px}.future-step-copy>p:last-child{font-size:13px}}
@media(max-width:760px){
.future .section{padding-top:70px;padding-bottom:50px}.future-intro h2{font-size:34px;line-height:1.65}.future-intro>.muted{font-size:14px;margin-top:25px;line-height:2}
.future-journey{display:block;margin-top:38px}.future-vision{position:relative;top:auto;margin:0 auto 55px;width:min(100%,350px)}.vision-art{max-width:315px}.vision-name{font-size:25px}.vision-caption{font-size:10px}
.future-step{min-height:0;padding:0 0 55px 43px}.future-step:last-child{padding-bottom:0}.future-steps:before,.future-steps:after{left:9px;bottom:100px}.future-point{left:-3px;width:25px;font-size:24px}.future-kicker{font-size:9px;margin-bottom:12px}.future-kicker span{font-size:8px;margin-left:13px}.future-step h3{font-size:24px;line-height:1.65}.future-step-copy>p:last-child{font-size:13px;line-height:2;margin-top:14px}.future-arrival{padding-top:58px}.arrival-horizon{margin-bottom:21px;height:45px}.future-arrival>p:not(.source-note){font-size:29px}.future-arrival .source-note{font-size:10px;max-width:290px;margin-top:23px}.future-sea{height:580px}.future-aurora{inset:25% -50% 0}
html[lang=en] .future-intro h2{font-size:35px}html[lang=en] .future-step h3{font-size:27px}html[lang=ja] .future-step h3{font-size:23px}
}

/* The promise has its own quiet chapter within the same starlit sea. */
.world-chapter{position:relative;isolation:isolate;min-height:100svh;display:grid;place-items:center;padding:clamp(120px,15svh,190px) 0;overflow:visible}
.world-chapter:before{content:'';position:absolute;inset:12% -8% 8%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,#83b8c514,transparent 64%),radial-gradient(ellipse at 50% 60%,#a4b0d10b,transparent 54%);mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 20%,#000 80%,transparent)}
.world-chapter .future-arrival{width:100%;max-width:1080px;padding-top:0;margin:0 auto}
.world-chapter .arrival-horizon{width:min(72%,700px);max-width:none;height:66px;margin:0 auto 36px}
.world-chapter .arrival-horizon:before{background:linear-gradient(90deg,transparent,#bfd8df25 20%,#bfd8df80 50%,#bfd8df25 80%,transparent);box-shadow:0 0 24px #c8d3cb18}
.world-chapter .arrival-horizon span{font-size:34px;color:#d8e7ec;text-shadow:0 0 26px #b3d9ec70;background:radial-gradient(#0b1824 20%,transparent 72%);padding:0 22px}
.world-chapter .future-arrival>.world-kicker{font-family:Manrope,sans-serif;font-size:10px;font-weight:500;letter-spacing:.24em;line-height:1.8;color:#98b8c7;margin:0 0 32px}
.world-chapter .future-arrival>[data-i18n="future.promise"]{font:400 clamp(40px,5.25vw,76px)/1.65 var(--voice-font);letter-spacing:-.038em;color:#e0e8ed;text-wrap:balance}
.world-chapter .future-arrival em{color:#bedae5;text-shadow:0 0 50px #a8d5e615}
.world-chapter .future-arrival>.world-body{max-width:620px;margin:30px auto 0;font-family:inherit;font-size:15px;line-height:2;letter-spacing:-.01em;color:#aebfcd;text-wrap:pretty}
.world-chapter .future-arrival .source-note{max-width:660px;margin:44px auto 0;font-size:12px;line-height:2.1;color:#94aabc;text-wrap:pretty}
html[lang=en] .world-chapter .future-arrival>[data-i18n="future.promise"]{font-size:clamp(42px,5.4vw,78px);line-height:1.4;letter-spacing:-.015em}
html[lang=ja] .world-chapter .future-arrival>[data-i18n="future.promise"]{font-size:clamp(38px,4.6vw,67px);line-height:1.7}
@media(max-width:760px){
.world-chapter{min-height:100svh;padding:110px 0 100px}
.world-chapter:before{inset:15% -5% 10%}
.world-chapter .arrival-horizon{width:85%;height:52px;margin-bottom:30px}
.world-chapter .arrival-horizon span{font-size:29px;padding:0 18px}
.world-chapter .future-arrival>.world-kicker{font-size:8px;letter-spacing:.19em;margin-bottom:28px}
.world-chapter .future-arrival>[data-i18n="future.promise"]{font-size:clamp(31px,8vw,42px);line-height:1.8;letter-spacing:-.045em}
.world-chapter .future-arrival>.world-body{font-size:14px;margin-top:25px;max-width:340px}
.world-chapter .future-arrival .source-note{max-width:340px;margin-top:34px;font-size:11px;line-height:2.1}
html[lang=en] .world-chapter .future-arrival>[data-i18n="future.promise"]{font-size:clamp(35px,9.2vw,47px);line-height:1.5}
html[lang=ja] .world-chapter .future-arrival>[data-i18n="future.promise"]{font-size:clamp(29px,7.4vw,39px);line-height:1.85}
}
