@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Manrope:wght@400;500;600&display=swap');

:root{color-scheme:dark;--ink:#f5f1eb;--muted:#d4d9df;--line:rgba(245,241,235,.23);--background:#09131f;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--gutter:clamp(22px,3.6vw,64px);--image-pan-x:0px;--image-pan-y:0px}
*{box-sizing:border-box}html,body{margin:0;background:var(--background);color:var(--ink)}body{font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #fff2d3;outline-offset:6px}button{border:0}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}.experience{position:relative;height:100svh;min-height:620px;width:100%;overflow:hidden;overflow:clip;isolation:isolate;background:#09131f}.scenery,.scene,.shade,.dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.scenery{z-index:-5}.scene{opacity:0;transition:opacity 2.6s ease;will-change:opacity}.scene.is-active{opacity:1}.scene img{width:100%;height:100%;object-fit:cover;object-position:center 51%;transform:scale(1.075) translate(var(--image-pan-x),var(--image-pan-y));animation:drift 32s ease-in-out infinite alternate}.scene[data-scene="1"] img{object-position:center 56%;animation-direction:alternate-reverse}.scene[data-scene="2"] img{object-position:center 47%}.shade{z-index:-3;background:linear-gradient(180deg,rgba(3,10,20,.31),rgba(3,10,20,.01) 24%,rgba(3,10,20,.12) 50%,rgba(3,10,20,.13) 65%,rgba(3,10,20,.82)),radial-gradient(ellipse at center,transparent 25%,rgba(0,9,20,.19) 100%)}.dust{z-index:-2;opacity:.65}.edge-frame{position:absolute;inset:15px;border:1px solid rgba(245,241,235,.12);pointer-events:none;z-index:10}.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:calc(28px + env(safe-area-inset-top)) var(--gutter);gap:20px;z-index:15}.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;font:italic 29px/1 var(--serif);white-space:nowrap}.wordmark svg{width:23px;height:23px}.top-actions{display:flex;align-items:center;gap:12px}.icon-button{width:44px;height:44px;padding:11px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border-radius:50%;transition:background .3s}.icon-button:hover{background:rgba(255,255,255,.12)}.icon-button svg{width:22px;height:22px}.music-toggle{display:flex;align-items:center;gap:10px;padding:11px 17px;border:1px solid rgba(245,241,235,.3);border-radius:30px;background:rgba(7,19,34,.3);backdrop-filter:blur(16px);font-size:.875rem;min-height:44px;transition:background .3s}.music-toggle:hover{background:rgba(255,255,255,.15)}.music-playing .music-toggle{border-color:rgba(245,231,213,.55);box-shadow:0 0 24px rgba(255,214,180,.16)}.equalizer{height:16px;display:flex;align-items:center;gap:3px}.equalizer i{display:block;width:2px;background:#f1e3d3;height:5px}.equalizer i:nth-child(2){height:13px}.equalizer i:nth-child(3){height:9px}.equalizer i:nth-child(4){height:15px}.music-playing .equalizer i{animation:equalize .9s ease-in-out infinite alternate}.music-playing .equalizer i:nth-child(2){animation-delay:-.5s}.music-playing .equalizer i:nth-child(3){animation-delay:-.2s}.music-playing .equalizer i:nth-child(4){animation-delay:-.7s}.play-shape{display:none}.motion-paused .motion-toggle .pause-shape,.journey-is-paused .journey-pause .pause-shape{display:none}.motion-paused .motion-toggle .play-shape,.journey-is-paused .journey-pause .play-shape{display:block}
.intro,.ending{position:absolute;left:var(--gutter);right:var(--gutter);top:48%;transform:translateY(-50%);text-align:center;transition:opacity 1s,filter 1s,transform 1.4s;z-index:2}.eyebrow{font-family:var(--sans);font-size:.75rem;font-weight:500;line-height:1.6;letter-spacing:.28em;margin:0 0 25px}.intro h1,.ending h2{font-family:var(--serif);font-size:clamp(76px,8.1vw,136px);font-weight:400;letter-spacing:-.045em;line-height:.94;margin:0;text-shadow:0 3px 50px rgba(0,0,0,.25)}.intro h1 em,.ending h2 em,.scene-caption h2 em{font-weight:400}.intro h1 em{color:#f4ded1}.intro-note{margin:27px 0 30px;color:#f0eae3;font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,26px)}.enter-button{display:inline-flex;align-items:center;gap:32px;padding:17px 26px;background:rgba(247,241,229,.95);color:#233038;border-radius:100px;font-size:.875rem;box-shadow:0 0 40px rgba(255,217,181,.08);transition:transform .3s,background .3s;min-height:54px}.enter-button:hover{transform:translateY(-3px);background:#fff}.enter-button svg{width:21px;height:21px}.sound-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:.75rem;color:#d6d9df;margin:21px 0 0;line-height:1.5}.sound-note svg{height:15px;width:15px;flex-shrink:0}.intro.is-leaving{opacity:0;filter:blur(7px);transform:translateY(-45%);pointer-events:none}.scene-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:80px 24px 160px;pointer-events:none;opacity:0;transition:opacity 1.6s,transform 2s;transform:translateY(16px)}.scene-caption.is-visible{opacity:1;transform:translateY(0)}.scene-caption .eyebrow{margin-bottom:25px}.scene-caption h2{font-family:var(--serif);font-weight:400;font-size:clamp(46px,5.4vw,86px);line-height:1.02;letter-spacing:-.025em;margin:0;text-shadow:0 2px 36px rgba(0,0,0,.38)}.ending{top:50%}.ending h2{font-size:clamp(65px,7.6vw,122px);line-height:1.03}.ending .eyebrow{margin-bottom:30px}.ending-line{height:1px;width:46px;background:rgba(241,223,200,.6);display:block;margin:30px auto 23px}.ending>p:not(.eyebrow){font:italic 24px var(--serif);margin:0;color:#efdfd6}.replay-button{margin-top:29px;background:transparent;font-size:.875rem;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.35)}.replay-button span{display:inline-block;margin-left:18px;font-size:20px}.replay-button:hover{border-color:#fff}
.bottom-bar{position:absolute;left:var(--gutter);right:var(--gutter);bottom:calc(33px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:26px;z-index:5}.scene-details{display:flex;align-items:center;gap:23px;flex:1}.scene-number{font-size:.8125rem;color:#d0d3d9;letter-spacing:.1em;white-space:nowrap}.scene-number>span:first-child{color:#fff}.number-divider{margin:0 10px;opacity:.6}.detail-divider{width:1px;height:34px;background:var(--line)}.scene-kind{font-size:.75rem;letter-spacing:.15em;color:#c5ccd5}.scene-details p{font-family:var(--serif);font-size:22px;line-height:1.25;margin:5px 0 0}.scene-nav{display:flex;gap:11px;justify-content:flex-end;flex:1}.scene-choice{position:relative;width:82px;height:55px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:5px;background:#101d2e;transition:transform .4s,border-color .4s;isolation:isolate}.scene-choice:after{content:'';position:absolute;inset:0;background:rgba(3,11,25,.35);border-radius:4px;transition:opacity .4s}.scene-choice img{width:100%;height:100%;object-fit:cover;border-radius:4px}.scene-choice span{position:absolute;bottom:6px;left:7px;font-size:.75rem;z-index:2;text-shadow:0 1px 5px black}.scene-choice i{position:absolute;bottom:-9px;left:35%;right:35%;height:2px;background:#f3dfc7;opacity:0;transition:opacity .4s}.scene-choice.is-selected{border-color:#f6e5d2;transform:translateY(-3px)}.scene-choice.is-selected:after,.scene-choice:hover:after{opacity:0}.scene-choice.is-selected i{opacity:1}.scene-choice:hover{transform:translateY(-4px)}.journey-controls{display:flex;align-items:center;justify-content:center;gap:8px}.journey-pause{display:flex;gap:7px;align-items:center;justify-content:center;font-size:.8125rem;white-space:nowrap;background:transparent;padding:8px;min-height:44px;min-width:110px}.journey-pause svg{width:19px;height:19px}.journey-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.12);z-index:11;opacity:0;transition:opacity 2s}.has-started .journey-progress{opacity:1}.journey-progress>div{width:100%;height:100%;background:#ecdbc7;transform:scaleX(0);transform-origin:left;will-change:transform}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.no-script{position:absolute;top:80px;left:20px;right:20px;text-align:center;background:#09131fee;z-index:30;padding:24px;border:1px solid var(--line)}.no-script p{font-size:14px}.no-script audio{display:block;width:100%;max-width:320px;margin:16px auto 0}
.scene-caption h2,.scene-caption .eyebrow{text-shadow:0 2px 7px rgba(3,10,20,.7),0 0 40px rgba(3,10,20,.6)}.motion-paused .scene img,.motion-paused .equalizer i{animation-play-state:paused!important}.motion-paused .dust{opacity:0}.is-background .scene img,.is-background .equalizer i{animation-play-state:paused!important}
@keyframes drift{from{transform:scale(1.04) translate(var(--image-pan-x),var(--image-pan-y))}to{transform:scale(1.11) translate(calc(var(--image-pan-x) - .6%),calc(var(--image-pan-y) - .4%))}}@keyframes equalize{to{height:3px;opacity:.65}}@keyframes ending-enter{from{opacity:0;filter:blur(9px)}to{opacity:1;filter:blur(0)}}
.intro h1 .line,.ending h2 .line,.scene-caption h2 .line{display:block}.experience:before{content:'';position:absolute;inset:0;z-index:40;background:#09131f;pointer-events:none;animation:veil 2.8s .2s ease forwards}.scenery{animation:settle 5s cubic-bezier(.2,.6,.2,1) backwards}.topbar,.bottom-bar{animation:fade-in 1.6s 2.6s ease backwards}.intro .eyebrow,.intro .line,.intro-note,.enter-button,.sound-note{animation:rise-in 1.8s cubic-bezier(.2,.65,.2,1) backwards}.intro .eyebrow{animation-delay:.7s}.intro .line{animation-delay:1.1s}.intro .line+.line{animation-delay:1.55s}.intro-note{animation-delay:2.1s}.enter-button{animation-delay:2.5s}.sound-note{animation-delay:2.8s}
.enter-button{position:relative}.enter-button:active{transform:translateY(-1px) scale(.97)}.enter-button:after{content:'';position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(255,238,220,.6);opacity:0;pointer-events:none;animation:halo 3.4s 4.6s ease-out infinite}.icon-button,.music-toggle{transition:background .3s,transform .2s}.journey-pause{transition:transform .2s}.icon-button:active,.music-toggle:active,.journey-pause:active,.replay-button:active{transform:scale(.95)}.scene-choice:active{transform:translateY(-2px) scale(.96)}.wordmark svg{animation:glint 6s ease-in-out infinite}
.scene-caption .eyebrow,.scene-caption .line{opacity:0;transform:translateY(14px);filter:blur(6px);transition:opacity 1.2s ease,transform 1.8s cubic-bezier(.2,.65,.2,1),filter 1.2s ease}.scene-caption.is-visible .eyebrow,.scene-caption.is-visible .line{opacity:1;transform:none;filter:none}.scene-caption.is-visible .line{transition-delay:.35s}.scene-caption.is-visible .line+.line{transition-delay:.8s}
.ending .eyebrow,.ending .line,.ending>p:not(.eyebrow),.replay-button{animation:rise-in 1.8s cubic-bezier(.2,.65,.2,1) backwards}.ending .eyebrow{animation-delay:.8s}.ending .line{animation-delay:1.5s}.ending .line+.line{animation-delay:2.4s}.ending-line{animation:line-grow 1.3s 3.5s cubic-bezier(.2,.65,.2,1) backwards}.ending>p:not(.eyebrow){animation-delay:4.1s}.replay-button{animation-delay:6s}.ending>p.ending-sign{font:italic 20px var(--serif);color:#d9cec7;margin:18px 0 0;letter-spacing:.01em;animation-delay:5.2s}.scene-caption .eyebrow:empty{display:none}.scene-caption.is-letter h2{font-size:clamp(30px,3.5vw,56px);line-height:1.2;letter-spacing:-.01em;max-width:17em}.scene-caption.is-letter .line{text-wrap:balance}.scene-caption.is-letter em{color:#f6e1d3}.shade:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(3,10,20,.52),rgba(3,10,20,.3));opacity:0;transition:opacity 2.4s ease}.is-reading .shade:after{opacity:1}
.ending-heart{display:block;width:150px;height:auto;margin:0 auto 26px;overflow:visible;color:#f9eadb;filter:drop-shadow(0 0 5px rgba(255,224,196,.8)) drop-shadow(0 0 18px rgba(255,200,170,.35));animation:heartbeat 3.4s 5.2s ease-in-out infinite}.ending-heart .trace{fill:none;stroke:currentColor;stroke-width:.9;stroke-opacity:.7;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:trace 2.8s 1.3s cubic-bezier(.45,0,.25,1) forwards}.ending-heart .star{fill:currentColor;transform-box:fill-box;transform-origin:center;animation:star-in 1s calc(.2s + var(--i) * .09s) cubic-bezier(.2,.7,.2,1) backwards}.ending-heart .star>*{animation:twinkle 2.6s calc(var(--i) * -.47s) ease-in-out infinite alternate}
.motion-paused .wordmark svg,.motion-paused .ending-heart,.motion-paused .ending-heart .star>*,.is-background .wordmark svg,.is-background .ending-heart,.is-background .ending-heart .star>*{animation-play-state:paused!important}.motion-paused .enter-button:after{display:none}
@keyframes veil{to{opacity:0;visibility:hidden}}@keyframes settle{from{transform:scale(1.07)}}@keyframes fade-in{from{opacity:0}}@keyframes rise-in{from{opacity:0;transform:translateY(18px);filter:blur(8px)}}@keyframes line-grow{from{opacity:0;transform:scaleX(0)}}@keyframes halo{0%{opacity:.75;transform:scale(1)}65%,100%{opacity:0;transform:scale(1.12,1.5)}}@keyframes glint{0%,100%{transform:scale(.88);opacity:.75}50%{transform:scale(1.06) rotate(15deg);opacity:1}}@keyframes trace{to{stroke-dashoffset:0}}@keyframes star-in{from{opacity:0;transform:scale(0)}}@keyframes twinkle{to{opacity:.4}}@keyframes heartbeat{0%,45%,100%{transform:scale(1)}12%{transform:scale(1.06)}24%{transform:scale(1.01)}34%{transform:scale(1.045)}}
@media(min-width:1600px){.intro{top:46%}.scene-choice{width:94px;height:62px}.bottom-bar{bottom:43px}.scene-details p{font-size:25px}}
@media(max-width:1050px){.scene-details{gap:13px}.detail-divider{display:none}.scene-details p{font-size:19px}.scene-kind{display:none}.scene-choice{width:64px;height:48px}.bottom-bar{gap:15px}.journey-controls{gap:0}.journey-pause{min-width:96px}.intro h1{font-size:clamp(76px,10vw,108px)}}
@media(max-width:700px){.experience{min-height:640px}.edge-frame{inset:9px}.topbar{padding-top:calc(22px + env(safe-area-inset-top));gap:12px}.wordmark{font-size:26px;gap:8px}.wordmark svg{width:19px;height:19px}.top-actions{gap:4px}.music-toggle{padding:10px 13px;font-size:.75rem;gap:8px}.top-actions .icon-button{width:36px;height:40px;padding:9px}#fullscreen-toggle{display:none}.intro{top:45%}.eyebrow{font-size:.75rem;letter-spacing:.19em;margin-bottom:25px}.intro h1{font-size:clamp(60px,18.5vw,105px);line-height:.98}.intro-note{font-size:22px;margin:24px 0 29px}.enter-button{padding:16px 25px;gap:27px}.sound-note{font-size:.75rem;max-width:220px;margin:22px auto 0;align-items:flex-start}.sound-note svg{margin-top:2px}.bottom-bar{bottom:calc(28px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:22px 8px}.scene-details{gap:13px;grid-column:1/-1;justify-content:center}.scene-details p{font-size:21px;margin:0}.scene-number{font-size:.75rem}.number-divider{margin:0 8px}.scene-nav{grid-column:1/-1;justify-content:center;gap:12px}.scene-choice{width:70px;height:44px}.has-started .scene-details{grid-column:1/-1}.has-started .journey-controls{grid-column:1;grid-row:2;justify-content:flex-start;gap:0}.has-started .scene-nav{grid-column:2;grid-row:2;gap:7px}.has-started .scene-choice{width:47px;height:41px}.journey-pause{min-width:72px;font-size:.75rem;gap:3px;padding:5px 0}.journey-controls .icon-button{width:34px;padding:7px}.journey-pause svg{width:16px}.scene-caption{padding:60px 23px 150px}.scene-caption h2{font-size:clamp(42px,10.5vw,70px)}.scene-caption .eyebrow{letter-spacing:.22em}.ending{top:47%}.scene-caption.is-letter h2{font-size:clamp(27px,7.6vw,40px)}.ending-heart{width:112px;margin-bottom:18px}.ending h2{font-size:clamp(62px,14vw,95px)}.ending .eyebrow{letter-spacing:.15em;margin-bottom:24px}.ending>p:not(.eyebrow){font-size:22px}.ending>p.ending-sign{font-size:18px;margin-top:14px}.ending-line{margin:28px auto 20px}.scene img{object-position:center center}.scene[data-scene="1"] img{object-position:56% center}.scene[data-scene="2"] img{object-position:48% center}}
@media(max-width:370px){:root{--gutter:19px}.wordmark{font-size:23px}.wordmark svg{display:none}.intro h1{font-size:clamp(60px,18.5vw,74px)}.top-actions{gap:2px}.music-toggle{padding:9px 10px}.has-started .scene-choice{width:41px}.scene-details p{font-size:18px}.journey-controls .icon-button{width:30px}.journey-pause{min-width:68px}.ending h2{font-size:60px}}
@media(max-height:690px) and (min-width:701px){.experience{min-height:560px}.intro{top:46%}.intro h1{font-size:75px}.intro .eyebrow{margin-bottom:18px}.intro-note{margin:17px 0 20px;font-size:22px}.sound-note{margin-top:14px}.bottom-bar{bottom:27px}.ending{top:50%}.ending-heart{width:96px;margin-bottom:14px}.ending h2{font-size:72px}.ending .eyebrow{margin-bottom:20px}.ending-line{margin:22px auto 17px}.replay-button{margin-top:16px}}
@media(max-height:520px) and (orientation:landscape){.experience{min-height:320px}.edge-frame{inset:8px}.topbar{padding-top:calc(14px + env(safe-area-inset-top));padding-bottom:14px}.wordmark{font-size:23px}.wordmark svg{width:18px;height:18px}.music-toggle{padding:8px 13px;min-height:38px;font-size:.75rem}.top-actions .icon-button{width:38px;height:38px;padding:9px}.intro{top:50%}.intro .eyebrow{font-size:.6875rem;margin-bottom:10px}.intro h1{font-size:clamp(42px,13vh,60px);line-height:.98}.intro-note{font-size:18px;margin:10px 0 14px}.enter-button{min-height:46px;padding:12px 22px}.sound-note{display:none}.bottom-bar{display:flex;bottom:calc(14px + env(safe-area-inset-bottom));gap:14px}.scene-details,.has-started .scene-details{gap:12px;justify-content:flex-start;min-width:0}.scene-details p{font-size:17px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-kind,.detail-divider{display:none}.scene-nav,.has-started .scene-nav{gap:7px;justify-content:flex-end}.scene-choice,.has-started .scene-choice{width:52px;height:34px}.scene-choice span{bottom:3px;left:5px;font-size:.625rem}.scene-caption{padding:56px 24px 64px}.scene-caption .eyebrow{margin-bottom:10px}.scene-caption h2{font-size:clamp(34px,11vh,52px)}.ending{top:52%}.ending-heart{width:48px;margin-bottom:6px}.ending .eyebrow{margin-bottom:8px}.ending h2{font-size:clamp(38px,11.5vh,56px)}.ending-line{margin:12px auto 10px}.ending>p:not(.eyebrow){font-size:18px}.ending>p.ending-sign{font-size:15px;margin-top:4px}.ending-line{display:none}.replay-button{margin-top:6px}.scene-caption.is-letter h2{font-size:clamp(24px,7.5vh,34px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-delay:0s!important;scroll-behavior:auto!important}.scene,.intro,.scene-caption{transition-duration:.01ms!important}.dust{display:none}.scene img{transform:scale(1.03)!important}}
