:root{--night: #150c2b;--night-2: #3b1e52;--rose: #ff7d9e;--peach: #ffb27a;--cream: #fff0e4;--gold: #f3ce73;--display: "Fraunces", Georgia, "Times New Roman", serif;--body: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter: clamp(1.25rem, 5vw, 4rem);--band-h: clamp(9rem, 34vh, 24rem)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--night);color:var(--cream);font-family:var(--body);font-weight:300;-webkit-font-smoothing:antialiased;overflow:hidden}.sky{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#0e0722 0%,var(--night) 32%,var(--night-2) 72%,#6b2f55 100%)}.sky__horizon{position:absolute;inset:auto 0 0 0;height:46vh;background:radial-gradient(120% 100% at 50% 100%,rgba(255,178,122,.42) 0%,rgba(255,125,158,.16) 42%,transparent 72%)}.sky__glow{position:absolute;bottom:-12vh;width:56vw;height:42vh;filter:blur(70px);opacity:.5;border-radius:50%}.sky__glow--left{left:-14vw;background:radial-gradient(circle,rgba(255,125,158,.5),transparent 68%);animation:breathe 14s ease-in-out infinite}.sky__glow--right{right:-14vw;background:radial-gradient(circle,rgba(243,206,115,.38),transparent 68%);animation:breathe 18s ease-in-out infinite reverse}.sky__stars{position:absolute;top:0;right:0;bottom:0;left:0}.star{position:absolute;border-radius:50%;background:var(--cream);opacity:.25;animation-name:twinkle;animation-iteration-count:infinite;animation-timing-function:ease-in-out}.sky__hearts{position:absolute;top:0;right:0;bottom:0;left:0}.heart{position:absolute;bottom:-12vh;height:auto;fill:var(--rose);opacity:0;filter:blur(3px);animation-name:rise;animation-iteration-count:infinite;animation-timing-function:linear}.sky__grain{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.28;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes twinkle{0%,to{opacity:.12;transform:scale(.85)}50%{opacity:.85;transform:scale(1.15)}}@keyframes breathe{0%,to{transform:translateY(0) scale(1);opacity:.42}50%{transform:translateY(-4vh) scale(1.1);opacity:.6}}@keyframes rise{0%{transform:translate(0) rotate(-8deg);opacity:0}12%{opacity:.14}80%{opacity:.08}to{transform:translate(var(--drift, 0),-118vh) rotate(10deg);opacity:0}}.band{--stage-bottom: 0px;position:fixed;inset:auto 0 0 0;height:var(--band-h);z-index:0;overflow:hidden;pointer-events:none;animation:scene-in 1.8s ease-out both}.stage{position:absolute;left:50%;margin-left:calc(var(--stage-w) / -2);bottom:var(--stage-bottom);width:var(--stage-w)}.stage svg{display:block;width:100%;height:auto}@keyframes scene-in{0%{opacity:0}to{opacity:1}}.train{--stage-w: clamp(34rem, 90vw, 82rem);--stage-bottom: clamp(1rem, 4vh, 3rem);--rail-y: calc(var(--stage-bottom) + .0329 * var(--stage-w))}.scenery{position:absolute;left:-50%;bottom:var(--rail-y);width:300%;animation-name:scenery-run;animation-timing-function:linear;animation-iteration-count:infinite}.scenery svg{display:block;width:100%}.scenery--far{animation-duration:calc(var(--pace, 1) * 46s);opacity:.5}.scenery--far svg{height:clamp(6rem,18vh,12rem)}.scenery--mid{animation-duration:calc(var(--pace, 1) * 15s);opacity:.72}.scenery--mid svg{height:clamp(7rem,22vh,15rem)}.scenery--near{animation-duration:calc(var(--pace, 1) * 5s);bottom:calc(var(--rail-y) - .6rem);filter:blur(.7px)}.scenery--near svg{height:clamp(9rem,30vh,20rem)}@keyframes scenery-run{0%{transform:translate(0)}to{transform:translate(-33.3333%)}}.scenery__hill{fill:#6b2f558c}.scenery__hill--back{fill:#3b1e5299}.scenery__lamp{fill:var(--gold);animation:twinkle 4s ease-in-out infinite}.scenery__pine{fill:#23123ad9;stroke:#ffb27a2e;stroke-width:2}.scenery__wall{fill:#23123ae6;stroke:#ffb27a40;stroke-width:2}.scenery__roof{fill:#6b2f55e6;stroke:#ffb27a4d;stroke-width:2}.scenery__pane{fill:#f3ce73bf;animation:window-warm 4.5s ease-in-out infinite}.scenery__post{fill:#23123af2}.scenery__board{fill:#150c2be6;stroke:var(--rose);stroke-width:3}.scenery__label{fill:var(--cream);font-family:var(--body);font-size:26px;letter-spacing:.18em;text-transform:uppercase}.scenery__pole rect{fill:#150c2beb;stroke:#ffb27a33;stroke-width:2}.scenery__wire{stroke:#fff0e438;stroke-width:2.5}.scenery__grass{fill:#150c2be6}.train__haze{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#6b2f5500 30%,#6b2f5559 78%,#ffb27a29)}.train__track{position:absolute;left:-4vw;right:-4vw;bottom:var(--rail-y);height:10px;border-top:2px solid rgba(255,240,228,.32);border-bottom:2px solid rgba(255,240,228,.14);box-shadow:0 0 26px #ff7d9e2e}.train__rush{position:absolute;left:-4vw;right:-4vw;bottom:calc(var(--rail-y) - 1.1rem);height:1.1rem;background-image:repeating-linear-gradient(90deg,rgba(255,178,122,.3) 0 16px,transparent 16px 58px);animation:rush calc(var(--pace, 1) * .5s) linear infinite}@keyframes rush{0%{background-position-x:0}to{background-position-x:-58px}}.train__streaks{position:absolute;top:0;right:0;bottom:0;left:0}.streak{position:absolute;right:-25%;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,rgba(255,240,228,.55),transparent);animation-name:streak-fly;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes streak-fly{0%{transform:translate(0);opacity:0}15%{opacity:.7}85%{opacity:.7}to{transform:translate(-165vw);opacity:0}}.train__svg{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 40px rgba(255,125,158,.45));animation:train-sway calc(var(--pace, 1) * .9s) ease-in-out infinite}.train__halo{fill:url(#haloGlow);animation:halo-breathe 4s ease-in-out infinite}.train__body{fill:url(#trainSkin);stroke:url(#trainEdge);stroke-width:3.5}.train__roof{fill:url(#trainRoof);stroke:#fff0e480;stroke-width:2.5}.train__window{fill:#f3ce738c;stroke:#fff0e473;stroke-width:2;animation:window-warm 5s ease-in-out infinite}.train__glow{fill:url(#windowGlow)}.train__skirt{fill:#150c2b8c;stroke:#ffb27a73;stroke-width:2}.train__band{fill:#ffb27a66}.train__crest{fill:#ff7d9e8c;stroke:#fff0e499;stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:crest-beat 1.9s ease-in-out infinite}.train__smokebox{fill:#150c2b99;stroke:url(#trainEdge);stroke-width:3.5}.train__coupling{stroke:#fff0e473;stroke-width:5;stroke-linecap:round}.train__lamp{fill:var(--gold)}.train__lampGlow{fill:url(#lampGlow);animation:lamp-pulse 2.8s ease-in-out infinite}.train__beam{fill:url(#beamGlow);filter:blur(10px);animation:lamp-pulse 2.8s ease-in-out infinite}.train__string{stroke:#fff0e459;stroke-width:2;stroke-dasharray:1 9;stroke-linecap:round}.train__bunting{fill:#ff7d9ebf;transform-box:fill-box;transform-origin:top center;animation:bunting-sway 3.4s ease-in-out infinite}.train__spark{fill:var(--gold);transform-box:fill-box;transform-origin:center;opacity:0;animation:spark calc(var(--pace, 1) * 1.3s) ease-out infinite}.train__tyre{fill:#150c2b99;stroke:#ffb27abf;stroke-width:3}.train__hub{fill:#ffb27acc}.train__spoke{stroke:#ffb27a73;stroke-width:2}.train__wheel{transform-box:fill-box;transform-origin:center;animation:wheel-spin calc(var(--pace, 1) * .55s) linear infinite}.train__wheel--driver{animation-duration:calc(var(--pace, 1) * .9s)}.train__rod{stroke:#fff0e48c;stroke-width:5;stroke-linecap:round;animation:rod-throw calc(var(--pace, 1) * .9s) linear infinite}.train__puff{fill:#fff0e48c;transform-box:fill-box;transform-origin:center;opacity:0;animation:puff calc(var(--pace, 1) * 2.4s) ease-out infinite}@keyframes wheel-spin{to{transform:rotate(360deg)}}@keyframes train-sway{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-.35%) rotate(-.12deg)}75%{transform:translateY(.3%) rotate(.1deg)}}@keyframes halo-breathe{0%,to{opacity:.75}50%{opacity:1}}@keyframes window-warm{0%,to{fill-opacity:.5}50%{fill-opacity:.78}}@keyframes lamp-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes crest-beat{0%,to{transform:scale(1)}18%{transform:scale(1.16)}36%{transform:scale(1)}54%{transform:scale(1.1)}}@keyframes bunting-sway{0%,to{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}@keyframes spark{0%{transform:translate(0) scale(1);opacity:0}12%{opacity:.9}to{transform:translate(-150px,-70px) scale(.2);opacity:0}}@keyframes rod-throw{0%{transform:translate(8px)}25%{transform:translateY(-8px)}50%{transform:translate(-8px)}75%{transform:translateY(8px)}to{transform:translate(8px)}}@keyframes puff{0%{transform:translate(0) scale(.2) rotate(-14deg);opacity:0}18%{opacity:.55}to{transform:translate(-260px,-70px) scale(2.1) rotate(14deg);opacity:0}}.train--stopped .scenery,.train--stopped .train__rush{animation-play-state:paused}.train--stopped .train__rush{opacity:.4}.train--stopped .streak{display:none}.train--stopped .scenery--near{filter:none;opacity:.55}.train:not(.train--running) .train__wheel,.train:not(.train--running) .train__rod,.train:not(.train--running) .train__svg{animation:none}.train--stopped .train__puff{animation-duration:calc(var(--pace, 1) * 5.5s)}.train--pulling .train__rig{animation:pull-in 6s cubic-bezier(.25,.25,.3,1) both;animation-delay:var(--pull-delay, 0s)}@keyframes pull-in{0%{transform:translate(-58%)}to{transform:translate(0)}}.train--departing .train__rig{animation:depart-lurch 2.6s cubic-bezier(.33,0,.2,1) both;animation-delay:var(--launch-delay, 0s)}@keyframes depart-lurch{0%{transform:translate(0)}30%{transform:translate(-14px)}to{transform:translate(0)}}.train--scrolling .scenery svg{animation:launch-far 2.8s cubic-bezier(.28,.5,.35,1) both;animation-delay:var(--launch-delay, 0s)}.train--scrolling .scenery--mid svg{animation-name:launch-mid}.train--scrolling .scenery--near svg{animation-name:launch-near}.train.train--departing .train__wheelset{transform-box:fill-box;transform-origin:center;animation:wheel-launch 2.8s cubic-bezier(.3,.636,.35,1) both;animation-delay:var(--launch-delay, 0s)}.train.train--departing .train__wheelset--driver{animation-name:wheel-launch-driver}.train.train--departing .train__rush{animation:rush calc(var(--pace, 1) * .5s) linear infinite,launch-fade 2.8s ease-out both;animation-delay:0s,var(--launch-delay, 0s)}.train--departing .train__streaks{animation:launch-fade 2.8s ease-in both;animation-delay:var(--launch-delay, 0s)}@keyframes wheel-launch{to{transform:rotate(-720deg)}}@keyframes wheel-launch-driver{to{transform:rotate(-360deg)}}@keyframes launch-fade{0%{opacity:0}to{opacity:1}}@keyframes launch-far{0%{transform:translate(0)}to{transform:translate(.85%)}}@keyframes launch-mid{0%{transform:translate(0)}to{transform:translate(2.6%)}}@keyframes launch-near{0%{transform:translate(0)}to{transform:translate(7.8%)}}.train.train--braking .scenery svg{animation:brake-far 3.4s cubic-bezier(.25,.545,.4,1) both;animation-delay:var(--brake-delay, 0s)}.train.train--braking .scenery--mid svg{animation-name:brake-mid}.train.train--braking .scenery--near svg{animation-name:brake-near}.train.train--braking .train__rig{animation:brake-settle 3.4s cubic-bezier(.25,.545,.4,1) both;animation-delay:var(--brake-delay, 0s)}.train.train--braking .train__wheel{animation:wheel-brake 3.4s cubic-bezier(.25,.545,.4,1) both;animation-delay:var(--brake-delay, 0s)}@keyframes brake-far{0%{transform:translate(.85%)}to{transform:translate(0)}}@keyframes brake-mid{0%{transform:translate(2.6%)}to{transform:translate(0)}}@keyframes brake-near{0%{transform:translate(7.8%)}to{transform:translate(0)}}@keyframes brake-settle{0%{transform:translate(-16px)}to{transform:translate(0)}}@keyframes wheel-brake{to{transform:rotate(800deg)}}.train__fixed--back{animation:scene-in 1.4s ease-out both}.train__fixed--front{animation:scene-in .8s ease-out both}.train__platform{position:absolute;left:0;right:0;bottom:calc(var(--rail-y) - .2rem);height:.4rem;background:linear-gradient(90deg,transparent,rgba(255,240,228,.4) 10%,rgba(255,240,228,.4) 90%,transparent);box-shadow:0 8px 34px #f3ce7333}.station__post{fill:#150c2beb;stroke:#fff0e459;stroke-width:2}.station__shade{fill:#6b2f55f2;stroke:#fff0e473;stroke-width:2}.station__bulb{fill:url(#lampGlow);animation:lamp-pulse 4.5s ease-in-out infinite}.station__pool{fill:url(#lampGlow);opacity:.45}.station__board{fill:#150c2beb;stroke:var(--rose);stroke-width:3}.station__name{fill:var(--cream);font-family:var(--body);font-size:34px;letter-spacing:.2em;text-transform:uppercase}.figure__torso{fill:#150c2be0;stroke:#fff0e4b8;stroke-width:2.5;stroke-linejoin:round}.figure__head{fill:#150c2beb;stroke:#fff0e4b8;stroke-width:2.5}.figure__hair{fill:#6e2a45;stroke:#fff0e466;stroke-width:1.8;stroke-linejoin:round}.figure__limb{stroke:#fff0e4bf;stroke-width:4.5;stroke-linecap:round;transform-box:fill-box;transform-origin:50% 0}.figure__case{fill:#6b2f55f2;stroke:#fff0e499;stroke-width:2}.figure--walk{transform-box:fill-box;transform-origin:50% 100%;animation:figure-bob .86s ease-in-out infinite}.figure--walk .figure__limb--far{animation:step-back .86s ease-in-out infinite}.figure--walk .figure__limb--near{animation:step-fore .86s ease-in-out infinite}@keyframes figure-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.5px)}}@keyframes step-fore{0%,to{transform:rotate(21deg)}50%{transform:rotate(-21deg)}}@keyframes step-back{0%,to{transform:rotate(-21deg)}50%{transform:rotate(21deg)}}.figure--wait{transform-box:fill-box;transform-origin:50% 100%;animation:figure-idle 3.6s ease-in-out infinite}.figure__wave{transform-box:fill-box;transform-origin:50% 0;animation:wave 1.15s ease-in-out infinite}@keyframes figure-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-.8px)}}@keyframes wave{0%,to{transform:rotate(-118deg)}50%{transform:rotate(-158deg)}}.figure__lean{transform-box:fill-box;transform-origin:50% 100%;animation:hug-sway 4.4s ease-in-out infinite}@keyframes hug-sway{0%,to{transform:rotate(11deg)}50%{transform:rotate(15deg)}}.cast--boarding .cast__move{animation:board-walk 13s linear both;animation-delay:var(--delay, 0s)}@keyframes board-walk{0%{transform:translate(0);opacity:1}84%{transform:translate(415px);opacity:1}94%{transform:translate(431px);opacity:.15}to{transform:translate(431px);opacity:0}}.cast--traveller .cast__move{animation:alight 20s ease-in-out both;animation-delay:var(--delay, 0s)}@keyframes alight{0%{transform:translate(0);opacity:0}6%{transform:translate(0);opacity:1}12%{transform:translate(12px)}70%{transform:translate(138px)}78%,to{transform:translate(150px)}}.cast--greeter .cast__move{animation:greet 20s ease-in-out both;animation-delay:var(--delay, 0s)}@keyframes greet{0%,66%{transform:translate(0)}78%,to{transform:translate(24px)}}.cast--greeter .figure__torso,.cast--greeter .figure__limb,.cast--greeter .figure__head{stroke:#ffb27ad9}.cast__before{animation:swap-out 20s linear both;animation-delay:var(--delay, 0s)}.cast__after,.cast__joy{animation:swap-in 20s linear both;animation-delay:var(--delay, 0s)}@keyframes swap-out{0%,74%{opacity:1}78%,to{opacity:0}}@keyframes swap-in{0%,74%{opacity:0}78%,to{opacity:1}}.joy__heart{fill:#ff7d9ed9;transform-box:fill-box;transform-origin:center;opacity:0;animation:joy-rise 3.6s ease-out infinite}@keyframes joy-rise{0%{transform:translateY(0) scale(.4);opacity:0}22%{opacity:.95}to{transform:translateY(-90px) scale(1.25);opacity:0}}.train__passenger{animation:scene-in 1.2s ease-out both}.passenger__pose{opacity:0;animation-name:pose-cycle;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes pose-cycle{0%{opacity:0}1%,15%{opacity:1}16.6%,to{opacity:0}}.passenger__torso,.passenger__face{fill:#150c2be0}.passenger__eye{fill:#fff0e4d9}.passenger__lid{fill:none;stroke:#fff0e4cc;stroke-width:1.4;stroke-linecap:round}.passenger__phone{fill:var(--gold);animation:lamp-pulse 3.2s ease-in-out infinite}.passenger__head{transform-box:fill-box;transform-origin:50% 100%}.passenger__head--gazing{animation:gaze 5s ease-in-out infinite}.passenger__head--down{transform:rotate(17deg)}.passenger__head--fond{animation:fond 4s ease-in-out infinite}.passenger__head--tilted{animation:doze 5.5s ease-in-out infinite}.passenger__book,.passenger__photo{fill:#fff0e4d1;stroke:#150c2b80;stroke-width:1;stroke-linejoin:round}.passenger__spine{stroke:#150c2b8c;stroke-width:1.2}.passenger__portrait{fill:var(--rose)}.passenger__cup{fill:#fff0e4d9}.passenger__handle{fill:none;stroke:#fff0e4d9;stroke-width:1.4}.passenger__wisp{fill:none;stroke:#fff0e499;stroke-width:1.2;stroke-linecap:round;animation:wisp 2.8s ease-in-out infinite}@keyframes fond{0%,to{transform:rotate(9deg)}50%{transform:rotate(12deg)}}@keyframes wisp{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:.75;transform:translateY(-2px)}}.passenger__dream{fill:#ff7d9ee6;transform-box:fill-box;transform-origin:center;opacity:0;animation:dream 3.4s ease-out infinite}@keyframes gaze{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}@keyframes doze{0%,to{transform:rotate(-23deg)}50%{transform:rotate(-26deg)}}@keyframes dream{0%{transform:translate(0) scale(.3);opacity:0}30%{opacity:.9}to{transform:translate(5px,-18px) scale(1);opacity:0}}.house{--stage-w: clamp(34rem, 96vw, 88rem);--pack-cycle: 13s;mask-image:linear-gradient(180deg,transparent 0%,#000 14%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 14%)}.room__wall{fill:url(#houseWall)}.room__floor{fill:#0e0722f2}.room__skirting{fill:#6b2f558c;stroke:#ffb27a38;stroke-width:2}.room__rug{fill:#6b2f5566}.room__sky{fill:url(#houseNight)}.room__frame{fill:none;stroke:url(#houseEdge);stroke-width:4}.room__mullion{stroke:#fff0e473;stroke-width:3}.room__sill{fill:#150c2be6;stroke:#ffb27a59;stroke-width:2}.room__moon{fill:#f3ce73b3}.room__star{fill:var(--cream);animation:twinkle 4s ease-in-out infinite}.room__mount{fill:#150c2bd9;stroke:var(--rose);stroke-width:3}.room__portrait{fill:#ff7d9eb3;transform-box:fill-box;transform-origin:center;animation:crest-beat 2.6s ease-in-out infinite}.room__cord{stroke:#fff0e44d;stroke-width:2}.room__shade{fill:#6b2f55f2;stroke:#fff0e473;stroke-width:2}.room__bulb{fill:var(--gold)}.room__lamplight{fill:url(#houseGlow);animation:lamp-pulse 5s ease-in-out infinite}.room__pool{fill:url(#houseGlow);animation:pool-pulse 5s ease-in-out infinite}@keyframes pool-pulse{0%,to{opacity:.26}50%{opacity:.4}}.room__wish{fill:#ff7d9e80;transform-box:fill-box;transform-origin:center;opacity:0;animation:wish-rise 9s ease-out infinite}@keyframes wish-rise{0%{transform:translate(0) scale(.5);opacity:0}25%{opacity:.55}to{transform:translate(26px,-140px) scale(1.1);opacity:0}}.bed__frame,.bed__head{fill:#6b2f55cc;stroke:#ffb27a66;stroke-width:2.5}.bed__leg{fill:#150c2be6}.bed__mattress{fill:#fff0e429;stroke:#fff0e473;stroke-width:2.5}.bed__pillow{fill:#fff0e447;stroke:#fff0e480;stroke-width:2}.bed__blanket{fill:#ff7d9e42;stroke:#ff7d9e99;stroke-width:2.5;stroke-linejoin:round}.pile__item{fill:#fff0e438;stroke:#fff0e480;stroke-width:2;stroke-linejoin:round}.pile__item--warm{fill:#ffb27a47;stroke:#ffb27a99}.garment,.garment__open,.garment__folded,.garment__sleeve,.figure__stoop,.figure--fold .figure__arm{animation-duration:var(--pack-cycle);animation-timing-function:ease-in-out;animation-iteration-count:infinite}.case,.case__lid,.case__layer{animation-duration:calc(var(--pack-cycle) * 3);animation-timing-function:ease-in-out;animation-iteration-count:infinite}.case{animation-name:case-visit}@keyframes case-visit{0%{transform:translate(-160px);opacity:0}4%,96%{transform:translate(0);opacity:1}to{transform:translate(-160px);opacity:0}}.case__shell{fill:#6b2f55e6;stroke:url(#houseEdge);stroke-width:3}.case__lining{fill:#150c2bbf}.case__rim{stroke:#fff0e48c;stroke-width:3;stroke-linecap:round}.case__keepsake{fill:#ff7d9ed9}.case__lid{transform-box:fill-box;transform-origin:left bottom;animation-name:case-lid}@keyframes case-lid{0%,90%{transform:rotate(-145deg)}95%,to{transform:rotate(0)}}.case__layer{fill:#fff0e447;stroke:#fff0e480;stroke-width:2;opacity:0}.case__layer--1{animation-name:stack-1}.case__layer--2{fill:#ffb27a42;stroke:#ffb27a8c;animation-name:stack-2}.case__layer--3{animation-name:stack-3}@keyframes stack-1{0%,23%{transform:translateY(-16px);opacity:0}25%,to{transform:translateY(0);opacity:1}}@keyframes stack-2{0%,56%{transform:translateY(-16px);opacity:0}58%,to{transform:translateY(0);opacity:1}}@keyframes stack-3{0%,89%{transform:translateY(-16px);opacity:0}91%,to{transform:translateY(0);opacity:1}}.garment__body,.garment__sleeve{fill:#fff0e457;stroke:#fff0e4ad;stroke-width:2.5;stroke-linejoin:round}.garment__collar{fill:none;stroke:#fff0e4ad;stroke-width:2.5}.garment__crease{stroke:#150c2b73;stroke-width:1.6;stroke-linecap:round}.garment{animation-name:garment-travel}@keyframes garment-travel{0%{transform:translate(185px,8px);opacity:0}2%{transform:translate(185px,8px);opacity:1}12%{transform:translate(0);opacity:1}46%{transform:translate(0);opacity:1}52%{transform:translate(-52px,-14px);opacity:1}64%{transform:translate(-97px,23px);opacity:1}73%{transform:translate(-160px,72px);opacity:1}76%,to{transform:translate(-160px,72px);opacity:0}}.garment__open{transform-box:fill-box;transform-origin:50% 100%;animation-name:garment-close}.garment__folded{opacity:0;animation-name:garment-tidy}@keyframes garment-close{0%,38%{transform:scaleY(1);opacity:1}46%{transform:scaleY(.5);opacity:0}to{transform:scaleY(.5);opacity:0}}@keyframes garment-tidy{0%,39%{opacity:0}46%,to{opacity:1}}.garment__sleeve{transform-box:fill-box}.garment__sleeve--left{transform-origin:right top;animation-name:sleeve-left}.garment__sleeve--right{transform-origin:left top;animation-name:sleeve-right}@keyframes sleeve-left{0%,20%{transform:rotate(0)}28%,to{transform:rotate(-147deg)}}@keyframes sleeve-right{0%,28%{transform:rotate(0)}36%,to{transform:rotate(147deg)}}.figure__stoop{transform-box:fill-box;transform-origin:50% 100%;animation-name:fold-lean}.figure--fold .figure__arm{animation-name:fold-arms}.figure--fold .figure__arm--far{opacity:.6;animation-delay:-.16s}@keyframes fold-arms{0%{transform:rotate(-26deg)}5%{transform:rotate(-46deg)}12%{transform:rotate(-72deg)}18%{transform:rotate(-54deg)}24%{transform:rotate(-76deg)}32%{transform:rotate(-54deg)}39%{transform:rotate(-76deg)}46%{transform:rotate(-58deg)}50%{transform:rotate(-88deg)}64%{transform:rotate(10deg)}73%{transform:rotate(30deg)}82%{transform:rotate(4deg)}92%,to{transform:rotate(-26deg)}}@keyframes fold-lean{0%,5%{transform:rotate(4deg)}18%,44%{transform:rotate(9deg)}50%{transform:rotate(3deg)}64%{transform:rotate(-6deg)}76%{transform:rotate(-3deg)}92%,to{transform:rotate(4deg)}}.page{position:relative;z-index:1;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:clamp(.6rem,2.4vh,2.5rem);padding:clamp(.9rem,3vh,3rem) var(--gutter) clamp(.9rem,3vh,2.5rem);text-align:center}.journey{display:flex;align-items:center;gap:clamp(.5rem,2vw,1.5rem);width:min(100%,60rem);margin:0 auto}.journey__city{flex:0 0 auto;font-size:clamp(.65rem,1.6vw,.8rem);letter-spacing:.22em;text-transform:uppercase;color:#fff0e48c;white-space:nowrap}.journey__city--home{color:var(--rose)}.journey__arc{flex:1 1 auto;min-width:0;height:clamp(38px,min(9vw,9vh),90px);overflow:visible}.journey__rest{fill:none;stroke:#fff0e429;stroke-width:2;stroke-dasharray:2 10;stroke-linecap:round}.journey__done{fill:none;stroke:url(#travelled);stroke-width:3.5;stroke-linecap:round;transition:stroke-dasharray 1s linear}.journey__anchor{fill:#fff0e480}.journey__anchor--home{fill:var(--rose)}.journey__light{fill:var(--cream);transition:cx 1s linear,cy 1s linear}.counter{container-type:size;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.35rem,1.5vh,1.2rem)}.counter__eyebrow{margin:0;font-size:clamp(.7rem,2vw,.9rem);font-weight:400;letter-spacing:.32em;text-transform:uppercase;color:#fff0e49e}.counter__value{margin:0;font-family:var(--display);font-optical-sizing:none;font-variation-settings:"SOFT" 80,"WONK" 1,"opsz" 144,"wght" 420;font-size:clamp(4.5rem,25vw,18rem);font-size:max(2.75rem,min(18rem,25vw,calc((100cqh - 5.2rem) / .9)));line-height:.86;letter-spacing:-.03em;font-variant-numeric:tabular-nums;background:linear-gradient(168deg,var(--cream) 8%,var(--peach) 52%,var(--rose) 96%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 80px rgba(255,125,158,.25)}.counter__breakdown{display:flex;gap:clamp(.9rem,3vw,2rem);margin:0;font-size:clamp(.8rem,2.2vw,1rem);font-variant-numeric:tabular-nums;color:#fff0e4b3}.counter__breakdown span{display:inline-flex;align-items:baseline;gap:.15em}.counter__breakdown i{font-style:normal;font-size:.7em;letter-spacing:.1em;color:#ffb27acc}.note{margin:0;font-family:var(--display);font-optical-sizing:none;font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 40,"wght" 320;font-size:clamp(.95rem,min(3.2vw,3.4vh),1.6rem);font-style:italic;line-height:1.4;color:#fff0e4e0;max-width:34ch;justify-self:center;text-wrap:balance}.steps{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(1rem,5vw,3.5rem);margin:0;padding:0;list-style:none}.step{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"index name" "index date";align-items:center;gap:.1rem .7rem;text-align:left;color:#fff0e46b;transition:color .4s ease}.step__index{grid-area:index;display:grid;place-items:center;width:1.6rem;height:1.6rem;border:1px solid currentColor;border-radius:50%;font-size:.7rem;font-variant-numeric:tabular-nums;opacity:.7}.step__name{grid-area:name;font-size:clamp(.68rem,1.8vw,.78rem);letter-spacing:.22em;text-transform:uppercase}.step__date{grid-area:date;font-size:clamp(.72rem,1.9vw,.85rem);letter-spacing:.03em;color:#fff0e49e}.step--now{color:var(--rose)}.step--now .step__index{border-color:var(--rose);background:#ff7d9e24;opacity:1}.step--now .step__date{color:var(--cream)}.step--done .step__index{border-color:#f3ce738c;color:var(--gold);opacity:1}.page--scene{padding-bottom:calc(var(--band-h) + clamp(.5rem,2vh,1.5rem))}.page--scene .steps{padding:clamp(.4rem,1.4vh,.9rem) clamp(.9rem,3vw,1.6rem);border-radius:1.25rem;background:#150c2b47;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-self:center}.page--scene .note{text-shadow:0 2px 18px rgba(21,12,43,.75)}.page--home .counter__value{font-size:clamp(3.5rem,17vw,12rem);font-size:max(2.75rem,min(12rem,17vw,calc((100cqh - 3rem) / .9)));animation:land 1.6s cubic-bezier(.22,1,.36,1) both}.page--home .journey__light{animation:pulse 2.4s ease-in-out infinite}@keyframes land{0%{opacity:0;transform:scale(.94);letter-spacing:.12em}to{opacity:1;transform:scale(1);letter-spacing:-.03em}}@keyframes pulse{0%,to{r:9;opacity:1}50%{r:13;opacity:.75}}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media (prefers-reduced-motion: reduce){.star,.heart,.sky__glow,.page--home .counter__value,.page--home .journey__light,.train,.train__rig,.train__svg,.train__rush,.train__halo,.scenery,.scenery__lamp,.scenery__pane,.streak,.train__window,.train__lampGlow,.train__beam,.train__crest,.train__bunting,.train__spark,.train__wheel,.train__rod,.train__puff{animation:none}.train__puff{opacity:.18}.train--pulling .train__rig,.train--departing .train__rig,.train.train--braking .train__rig,.train.train--braking .train__wheel,.train.train--departing .train__wheelset,.train.train--departing .train__rush,.train--departing .train__streaks,.scenery svg,.cast__move,.cast__before,.cast__after,.cast__joy,.joy__heart,.figure--walk,.figure--walk .figure__limb,.figure--wait,.figure__wave,.figure__lean,.station__bulb,.passenger__pose,.passenger__head--gazing,.passenger__head--fond,.passenger__head--tilted,.passenger__dream,.passenger__wisp,.band,.room__star,.room__portrait,.room__lamplight,.room__pool,.room__wish,.case,.case__lid,.case__layer,.garment,.garment__open,.garment__folded,.garment__sleeve,.figure__stoop,.figure--fold .figure__arm{animation:none}.room__pool{opacity:.32}.room__wish{opacity:.25}.case__lid{transform:rotate(-145deg)}.case__layer--1,.case__layer--2,.garment{opacity:1}.garment__open{opacity:0}.garment__folded{opacity:1}.figure__stoop{transform:rotate(8deg)}.figure--fold .figure__arm{transform:rotate(-62deg)}.cast--traveller .cast__move{transform:translate(150px)}.cast--greeter .cast__move{transform:translate(24px)}.cast__before{opacity:0}.cast__after,.cast__joy{opacity:1}.joy__heart{opacity:.45}.figure__lean{transform:rotate(12deg)}.passenger__pose{opacity:0}.passenger__pose:first-child{opacity:1}.streak{opacity:0}.scenery--near{filter:none}.star{opacity:.4}.heart{opacity:.1;bottom:auto;top:30%}.journey__done,.journey__light{transition:none}}@media (max-width: 30rem){.journey{flex-direction:column;gap:.5rem}.journey__arc{width:100%}.band,.page--scene{--band-h: clamp(11rem, 34vh, 18rem)}.train{--stage-w: 150vw}.train__rig{margin-left:calc(var(--stage-w) * -.72)}.house{--stage-w: 190vw}.house__room{margin-left:calc(var(--stage-w) * -.52)}}@media (max-height: 640px){.band,.page--scene{--band-h: clamp(7rem, 26vh, 13rem)}.page{gap:clamp(.35rem,1.6vh,1rem)}}@media (max-height: 500px){.counter__breakdown{display:none}}
