#hero{position:relative;height:100vh;overflow:hidden;background:var(--washi)}#scenes{position:absolute;top:0;right:0;bottom:0;left:0}.scene{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;will-change:opacity}.cam{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;will-change:transform}.layer,.pfx{position:absolute;top:0;right:0;bottom:0;left:0;will-change:transform}.scene svg{width:100%;height:100%}.seq-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#fx{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}#title{position:absolute;left:8%;top:13%;z-index:8;writing-mode:vertical-rl;font-size:clamp(34px,6vw,64px);font-weight:500;letter-spacing:.5em;color:var(--ink);text-shadow:0 0 30px rgba(251,250,247,.9);opacity:0}#title small{display:block;font-size:clamp(11px,1.3vw,14px);letter-spacing:.5em;color:var(--ink-soft);margin-left:1.6em}.caption{position:absolute;right:9%;top:50%;transform:translateY(-50%);z-index:8;writing-mode:vertical-rl;font-size:clamp(15px,2vw,21px);letter-spacing:.42em;line-height:2.5;color:var(--ink);text-shadow:0 0 18px rgba(251,250,247,.85);pointer-events:none}.caption .ch{opacity:0;display:inline-block}.caption.on-dark{color:#e8eae2;text-shadow:0 0 22px rgba(8,11,13,.8)}.caption.left{right:auto;left:11%}#blackout{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--night);opacity:0;z-index:5;pointer-events:none}#scroll-hint{position:absolute;left:50%;bottom:4.5%;transform:translate(-50%);z-index:8;font-family:var(--sans);font-size:10.5px;letter-spacing:.55em;color:var(--ink-soft);opacity:0}#scroll-hint:after{content:"";display:block;margin:12px auto 0;width:1px;height:48px;background:linear-gradient(180deg,var(--ink-soft),transparent);animation:drip 2.2s ease-in-out infinite}@keyframes drip{0%{transform:scaleY(.15);transform-origin:top}55%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.sway{animation:sway 5.5s ease-in-out infinite alternate;transform-origin:50% 0%}.sway.d2{animation-delay:1.2s;animation-duration:6.5s}@keyframes sway{0%{transform:rotate(-2.4deg)}to{transform:rotate(2.8deg)}}.twinkle{animation:tw 3.4s ease-in-out infinite alternate}.twinkle.d2{animation-delay:1.1s}.twinkle.d3{animation-delay:2.2s}@keyframes tw{0%{opacity:.25}to{opacity:.95}}.drift{animation:drift 14s linear infinite alternate}@keyframes drift{0%{transform:translate(-1.5%)}to{transform:translate(1.5%)}}.holo{animation:holo 3.2s ease-in-out infinite alternate}@keyframes holo{0%{opacity:.78}to{opacity:.98}}.float1{animation:float1 6s ease-in-out infinite alternate}.float2{animation:float1 7.5s ease-in-out infinite alternate-reverse}@keyframes float1{0%{transform:translateY(-6px)}to{transform:translateY(8px)}}.steam path{fill:none;stroke:var(--washi);stroke-width:5;stroke-linecap:round;opacity:0;animation:steam 4.2s ease-in-out infinite}.steam path:nth-child(2){animation-delay:1.4s}.steam path:nth-child(3){animation-delay:2.8s}@keyframes steam{0%{opacity:0;transform:translateY(6px) scaleY(.8)}30%{opacity:.7}to{opacity:0;transform:translateY(-30px) scaleY(1.15)}}.ripple{fill:none;stroke:#f4f6ee;stroke-width:2;opacity:0;animation:rip 5s ease-out infinite}.ripple.r2{animation-delay:2.5s}@keyframes rip{0%{opacity:0;transform:scale(.3)}18%{opacity:.6}to{opacity:0;transform:scale(1.6)}}.bird{animation:fly 16s linear infinite}.bird.b2{animation-delay:6s}@keyframes fly{0%{transform:translate(-160px,40px)}to{transform:translate(1800px,-60px)}}.shoot{stroke:#dce9dc;stroke-width:2;stroke-linecap:round;opacity:0;animation:shoot 9s ease-in infinite}@keyframes shoot{0%,86%{opacity:0;transform:translate(0)}88%{opacity:.9}94%{opacity:0;transform:translate(-260px,150px)}to{opacity:0}}.firefly{animation:ff 5.4s ease-in-out infinite alternate}.firefly.f2{animation-delay:1.8s;animation-duration:6.6s}.firefly.f3{animation-delay:3.2s;animation-duration:4.8s}@keyframes ff{0%{opacity:.15;transform:translate(0)}50%{opacity:.9}to{opacity:.2;transform:translate(14px,-18px)}}.scanshine{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgba(234,244,240,.06) 46%,rgba(234,244,240,.14) 50%,rgba(234,244,240,.06) 54%,transparent 100%);background-size:100% 260%;animation:scan 7s linear infinite}@keyframes scan{0%{background-position:0 -130%}to{background-position:0 130%}}@media(prefers-reduced-motion:reduce){#hero{height:auto;overflow:visible}#scenes{position:static}.scene{position:relative;opacity:1;height:78vh}.caption .ch{opacity:1}#scroll-hint,#rail,#intro,#cursor,#cursorRing,#fx,#chapter,#pbar,#blackout{display:none}#title{opacity:1}.sway,.twinkle,.drift,.holo,.float1,.float2,.bird,.shoot,.firefly,.scanshine,.steam path,.ripple{animation:none}body,a{cursor:auto}}@media(max-width:640px){#rail{display:none}#chapter{right:6vw}.caption{font-size:14px;letter-spacing:.3em;right:6%}}#stations{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;perspective:1100px}.station{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;visibility:hidden}.station.on{visibility:visible}.st-cat{position:absolute;left:8%;bottom:9%;font-size:.78rem;letter-spacing:.34em;color:var(--st-color,#C9B27A);opacity:.85;writing-mode:vertical-rl}.swin{position:absolute;left:50%;top:50%;width:clamp(300px,30vw,430px);aspect-ratio:4/3;margin:calc(clamp(300px,30vw,430px)*-.375) 0 0 calc(clamp(300px,30vw,430px)/-2);display:flex;flex-direction:column;pointer-events:auto;cursor:pointer;background:#faf8f212;border:1px solid var(--st-color,#C9B27A);border-radius:10px;backdrop-filter:blur(7px) saturate(1.05);-webkit-backdrop-filter:blur(7px) saturate(1.05);box-shadow:0 8px 30px #0a0e0d47;color:var(--washi,#F5F2EA);text-decoration:none;overflow:hidden;will-change:transform,opacity;opacity:0}.swin:focus-visible{outline:2px solid var(--st-color,#C9B27A);outline-offset:3px}.station[data-fx=ember] .swin:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 26px color-mix(in srgb,var(--st-color,#C9B27A) 55%,transparent),inset 0 0 3px color-mix(in srgb,var(--st-color,#C9B27A) 80%,transparent);opacity:calc(var(--st-ember, 0) * .55)}@media(max-width:640px),(prefers-reduced-motion:reduce){.station[data-fx=ember] .swin:after{display:none}}.swin-art{flex:1 1 auto;background:radial-gradient(120% 90% at 30% 20%,rgba(255,255,255,.14),transparent 55%),linear-gradient(160deg,color-mix(in srgb,var(--st-color,#C9B27A) 26%,transparent),#1419182e)}.swin-title{flex:0 0 auto;padding:.6em 1.1em .7em;font-size:.86rem;letter-spacing:.22em;border-top:1px solid color-mix(in srgb,var(--st-color,#C9B27A) 55%,transparent);background:#0e141352;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station[data-orbit=endroll] .swin{width:clamp(300px,28vw,400px);aspect-ratio:auto;margin:0 0 0 calc(clamp(300px,28vw,400px)/-2);background:#0e141361}.station[data-orbit=endroll] .swin-art{display:none}.station[data-orbit=endroll] .swin-title{border-top:none;text-align:center;white-space:normal;padding:1.05em 1.2em;font-size:.9rem}.station[data-orbit=endroll] .swin--small{width:clamp(220px,20vw,290px);margin-left:calc(clamp(220px,20vw,290px)/-2)}.station[data-orbit=endroll] .swin--small .swin-title{font-size:.74rem;padding:.85em 1em}@media(max-width:640px){.swin{width:clamp(170px,48vw,215px);margin:calc(clamp(170px,48vw,215px)*-.375) 0 0 calc(clamp(170px,48vw,215px)/-2);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#faf8f226;box-shadow:0 4px 14px #0a0e0d33}.station[data-orbit=endroll] .swin{width:clamp(220px,72vw,280px);margin:0 0 0 calc(clamp(220px,72vw,280px)/-2)}.station[data-orbit=endroll] .swin--small{width:clamp(170px,56vw,220px);margin-left:calc(clamp(170px,56vw,220px)/-2)}.st-cat{left:6%;bottom:6%;font-size:.68rem}}.station-static{position:relative;padding:3.5rem 8% 3rem;background:var(--night,#0E1714)}.station-static .st-cat{position:static;writing-mode:horizontal-tb;margin-bottom:1.4rem;letter-spacing:.3em}.station-static .swin{position:static;opacity:1;margin:0 0 1rem;width:min(420px,100%);aspect-ratio:auto;display:flex;flex-direction:row;align-items:stretch}.station-static .swin-art{flex:0 0 84px;min-height:56px}.station-static .swin-title{flex:1 1 auto;border-top:none;border-left:1px solid color-mix(in srgb,var(--st-color,#C9B27A) 55%,transparent);display:flex;align-items:center;white-space:normal}.station-static .swin--small{width:min(340px,88%)}.station-static .swin--small .swin-title{font-size:.76rem}.station-static .swin.static[href$=".html"] .swin-art{display:none}
