:root{--journey:0;--heaven-x:0px;--heaven-y:0px;--gate-scale:1.02;--street-scale:1.04;--gate-opacity:1;--street-opacity:0;--angel-opacity:0;--angel-slide:60px;--intro-opacity:1;--second-opacity:0}.passage{height:300svh;background:#080c13}.passage-sticky{height:100svh;min-height:700px;isolation:isolate}.heaven-stage{position:absolute;inset:0;overflow:hidden;perspective:1000px;background:#080c13;z-index:-1}.heaven-scene{position:absolute;inset:-3%;will-change:transform,opacity}.heaven-scene img{width:100%;height:100%;object-fit:cover;display:block}.heaven-gates{opacity:var(--gate-opacity);transform:translate3d(calc(var(--heaven-x)*.35),calc(var(--heaven-y)*.3),0) scale(var(--gate-scale));transform-origin:67% 48%}.heaven-gates img{object-position:62% center}.heaven-street{opacity:var(--street-opacity);transform:translate3d(calc(var(--heaven-x)*.65),calc(var(--heaven-y)*.4),0) scale(var(--street-scale));transform-origin:50% 46%}.heaven-guardian{position:absolute;height:88%;width:38%;bottom:-12%;opacity:var(--angel-opacity);z-index:2;mix-blend-mode:screen;pointer-events:none;will-change:transform,opacity;mask-image:linear-gradient(0deg,transparent 0%,#000 26%,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 26%,#000 88%,transparent 100%)}.heaven-guardian img{width:100%;height:100%;object-fit:contain}.guardian-left{left:-8%;transform:translate3d(calc(var(--angel-slide)*-1 + var(--heaven-x)*1.5),calc(var(--heaven-y)*1.4),0) rotateY(10deg)}.guardian-right{right:-8%;transform:translate3d(calc(var(--angel-slide) + var(--heaven-x)*1.5),calc(var(--heaven-y)*1.4),0) rotateY(-10deg) scaleX(-1)}.heaven-atmosphere{position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse at 60% 42%,#fce8b312,transparent 58%);mix-blend-mode:screen;animation:celestial-breath 12s ease-in-out infinite alternate;pointer-events:none}.heaven-dust{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}.heaven-vignette{position:absolute;inset:0;z-index:5;background:linear-gradient(90deg,#030811c9 0%,#03081172 32%,#03081105 70%),linear-gradient(0deg,#05070be0 0%,transparent 24%,transparent 77%,#05070b75 100%);pointer-events:none}.passage-copy{opacity:var(--intro-opacity);transform:translate3d(0,calc(var(--journey)*-80px),0);text-shadow:0 3px 35px #0008;pointer-events:none}.passage-copy a{pointer-events:auto}.passage-copy h2 em{color:#f3dfb8}.passage-copy>p:not(.eyebrow){color:#e1e4e6}.heaven-second-copy{position:absolute;z-index:6;left:6%;right:6%;width:auto;top:50%;transform:translateY(-50%);opacity:var(--second-opacity);text-align:center;text-shadow:0 3px 35px #000b;pointer-events:none}.heaven-second-copy h2{font-size:clamp(4.5rem,8.5vw,9rem);line-height:.96;font-weight:500;margin:25px auto}.heaven-second-copy h2 em{color:#fff0d2;font-size:1.15em}.heaven-second-copy>p:not(.eyebrow){font-size:1.05rem;letter-spacing:.015em;margin:30px 0;color:#f2e9dc}.heaven-second-copy a{pointer-events:none}.passage.street-active .heaven-second-copy a{pointer-events:auto}.passage.street-active .passage-copy{visibility:hidden}.passage:not(.street-active) .heaven-second-copy{visibility:hidden}.passage-note{z-index:7;color:#e0d8c9;bottom:37px;text-shadow:0 2px 15px #000}.journey-stages{display:flex;gap:30px}.journey-step{opacity:.42;transition:opacity .5s}.journey-step.is-active{opacity:1}.chapter-progress{background:#ecd0a64d}.chapter-progress i{background:#f0d49d}.arrival-section{background:#f0ece4}.arrival-section::before{border-color:#bfa36d2b;box-shadow:0 0 0 70px #ddcaa31a,0 0 0 140px #ddcaa31a,0 0 0 210px #ddcaa31a}.arrival-section h2 em{color:#7f694a}.invitation .primary{background:#26221d;border-color:#26221d}.connection{background:radial-gradient(ellipse at 22% 60%,#31333d55,transparent 50%),#070b11}.connection h2 em{color:#f0dab5}.connection-orbit.reflection-gallery{min-height:600px;justify-content:end;perspective:1000px;isolation:isolate}.reflection-frame{position:absolute;inset:-65px -90px -30px;z-index:-1;transform:translate3d(calc(var(--heaven-x)*1.2),calc(var(--reflection-rise,0px) + var(--heaven-y)*.7),0) rotateY(var(--reflection-turn,0deg));will-change:transform;mask-image:linear-gradient(0deg,transparent,#000 28%,#000 83%,transparent);-webkit-mask-image:linear-gradient(0deg,transparent,#000 28%,#000 83%,transparent);mix-blend-mode:screen}.reflection-frame img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 24px #ebc57414)}.reflection-gallery .orbit-word{color:#eadaba99;-webkit-text-stroke:1px #eadaba55;font-size:clamp(2rem,3.5vw,3.8rem);text-shadow:0 4px 30px #000}.reflection-gallery>p{color:#ddd3c2;text-shadow:0 3px 20px #000}.connection .next-links{background:transparent}.path:hover,.path:focus-visible{background:linear-gradient(90deg,#d6b7740e,transparent)}.finale-light{background-image:url('assets/golden-street.webp');background-position:center;opacity:.82;filter:saturate(.85)}.finale::after{background:linear-gradient(0deg,#05070b,transparent 35%,#05070b33 55%,#05070b)}.finale h2 em{color:#fae9c7}.finale-content{text-shadow:0 4px 45px #0009}.finale-content .primary{background:#f0d9ad;border-color:#f0d9ad;color:#282119}.motion-paused .passage{height:100svh;min-height:700px}.motion-paused .passage-copy{opacity:1;visibility:visible;transform:none}.motion-paused .heaven-second-copy{display:none}.motion-paused .heaven-gates{opacity:1;transform:none}.motion-paused .heaven-street,.motion-paused .heaven-guardian{opacity:0}.motion-paused .reflection-frame{transform:none}.motion-paused .heaven-stage *{animation-play-state:paused!important}
@keyframes celestial-breath{from{opacity:.3;transform:scale(.97)}to{opacity:1;transform:scale(1.08)}}
@media(max-width:900px){.connection-orbit.reflection-gallery{min-height:540px}.reflection-frame{inset:-30px -40px 0}}@media(max-width:700px){.passage{height:270svh}.passage-sticky{height:100svh;min-height:700px;align-items:start}.heaven-gates img{object-position:65% center}.heaven-street img{object-position:50% center}.heaven-vignette{background:linear-gradient(0deg,#05070bf0 0%,#05070b0d 35%,#05070b44 63%,#05070b91 100%)}.passage-copy{padding-top:90px}.passage-copy h2{font-size:3.5rem;text-shadow:0 4px 25px #000c;max-width:330px}.passage-copy .eyebrow{font-size:.75rem}.passage-copy>p:not(.eyebrow){font-size:1rem;max-width:295px;text-shadow:0 2px 10px #000}.heaven-second-copy{top:43%;left:6%;right:6%}.heaven-second-copy h2{font-size:3.8rem;margin:25px 0}.heaven-second-copy>p:not(.eyebrow){font-size:1rem;margin:25px 0}.heaven-guardian{height:53%;width:64%;bottom:-2%}.guardian-left{left:-23%}.guardian-right{right:-23%}.passage-note{left:6%;right:6%;bottom:34px;align-items:center}.journey-stages{flex-direction:column;gap:7px}.journey-step{font-size:.75rem;letter-spacing:.08em}.passage-note>span:first-child{max-width:none}.connection-orbit.reflection-gallery{min-height:470px;margin:15px 0}.reflection-frame{inset:-30px -30px 0}.connection-layout{gap:10px}.connection h2{font-size:3.7rem}.reflection-gallery .orbit-word{font-size:2.75rem}.reflection-gallery>p{font-size:.875rem}.finale-light{background-position:51% center}.finale-content .eyebrow,.finale-time{font-size:.75rem}.cinema-play,.screen-caption{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.passage{height:100svh;min-height:700px}.passage-copy{transform:none}.heaven-gates{opacity:1;transform:none}.heaven-street,.heaven-guardian{opacity:0}.heaven-second-copy{display:none}.reflection-frame{transform:none}.heaven-atmosphere{animation:none}}
.passage.street-active .heaven-vignette{background:radial-gradient(ellipse at 50% 42%,#18100b88 0%,#18100b25 45%,transparent 70%),linear-gradient(0deg,#05070be0,transparent 38%,#05070b44)}
.passage-note{bottom:88px}@media(max-width:700px){.passage-note{bottom:82px}}
.connection-orbit.reflection-gallery{min-height:520px}.reflection-frame{inset:-15px -35px 5px;mask-image:radial-gradient(ellipse at center,#000 35%,#000b 58%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse at center,#000 35%,#000b 58%,transparent 78%)}.reflection-gallery .orbit-word{font-size:clamp(2rem,3vw,3.2rem);color:#e5d8bd85}.reflection-frame img{filter:none}@media(max-width:900px){.connection-orbit.reflection-gallery{min-height:460px}.reflection-frame{inset:0 -20px}}@media(max-width:700px){.connection-orbit.reflection-gallery{min-height:420px;margin:5px 0}.reflection-frame{inset:-10px -20px 0}.reflection-gallery .orbit-word{font-size:2.4rem}}
