:root{--vv-top:0px;--vv-left:0px;--vv-width:100vw;--vv-height:100dvh;--frame-pad-x:0px;--frame-pad-y:0px;--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--layout-top:calc(var(--vv-top) + var(--safe-t) + var(--frame-pad-y));--layout-left:calc(var(--vv-left) + var(--safe-l) + var(--frame-pad-x));--layout-width:calc(var(--vv-width) - var(--safe-l) - var(--safe-r) - 2 * var(--frame-pad-x));--layout-height:calc(var(--vv-height) - var(--safe-t) - var(--safe-b) - 2 * var(--frame-pad-y));--s:min(calc(var(--layout-width) / 960), calc(var(--layout-height) / 540));--ring-growth:0;--font-display:"Exo 2", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (orientation:landscape) and (height<=520px){:root{--frame-pad-x:12px;--frame-pad-y:36px}}*{box-sizing:border-box}html,body,#root{background:#0f0f17;width:100%;height:100dvh;margin:0;padding:0;overflow:hidden}body{font-family:var(--font-mono);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-user-select:none;user-select:none}.skip-link{z-index:10000;color:#8be7fd;font-family:var(--font-mono);background:#10131d;border-radius:.35rem;padding:.55rem .85rem;font-size:.85rem;text-decoration:none;transition:transform .16s;position:absolute;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{outline-offset:2px;outline:2px solid #79d0ed;transform:translateY(0)}.seo-content{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.seo-content:focus-within{top:var(--layout-top);left:var(--layout-left);width:var(--layout-width);height:var(--layout-height);z-index:9999;clip:auto;white-space:normal;color:#e8eef8;font-family:var(--font-mono);-webkit-user-select:text;user-select:text;background:#0f0f17;margin:0;padding:clamp(1.25rem,4vw,2.5rem);line-height:1.55;position:fixed;overflow:auto}.seo-content a{color:#8be7fd}.app{top:var(--layout-top);left:var(--layout-left);width:var(--layout-width);height:var(--layout-height);position:fixed;bottom:auto;right:auto;overflow:hidden}.app.is-loading .scene-canvas{pointer-events:none}.app.is-covered{visibility:hidden;pointer-events:none}.app.is-loading:not(.is-fading) .design-frame{opacity:0}.scene-canvas{z-index:0;inset:0;position:absolute!important}.design-frame{width:calc(960 * var(--s));height:calc(540 * var(--s));pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.station-label{--dx:var(--label-dx,0);--dy:var(--label-dy,0);left:calc((var(--dx) + var(--ring-growth)) * var(--s));top:calc(var(--dy) * var(--s));transform:translateY(calc(-50% + var(--rise,0px)));padding:calc(2 * var(--s)) calc(4 * var(--s));font-family:var(--font-mono);font-weight:500;font-size:calc(15.5 * var(--s));letter-spacing:.02em;white-space:nowrap;cursor:pointer;pointer-events:auto;filter:brightness();text-shadow:0 0 calc(10 * var(--s)) #ffffff1f;background:0 0;border:0;margin:0;line-height:1;transition:filter .16s,text-shadow .16s,top .45s,left .45s;position:absolute}html[data-expanded=about] .station-label--about{--dx:-39;--dy:46}html[data-expanded=experiences] .station-label--experiences{--dx:-96;--dy:-46}html[data-expanded=projects] .station-label--projects{--dx:-92;--dy:50}.station-label.is-hovered{filter:brightness(1.22);text-shadow:0 0 calc(12 * var(--s)) #ffffff59}.station-label:focus-visible{outline-offset:2px;outline:1px solid #fff6}.world-panel{width:100%;font-family:var(--font-mono);opacity:0;visibility:hidden;transform:translateY(var(--rise,0px));-webkit-user-select:none;user-select:none;position:absolute;left:0}.world-panel--bottom{bottom:0}.world-panel--top{top:0}.world-panel--center{top:0;translate:0 -50%}.world-panel--bare{opacity:1;visibility:visible;transform:none}.world-panel button,.world-panel a{cursor:pointer;font-family:inherit}.world-panel button:disabled{cursor:default}.world-panel :is(button,a):focus-visible{outline-offset:2px;outline:1px solid #ffffff8c}.skill-board{--accent:#79d0ed;--lift:-.6px 1.3px 0 #062838f2, -1.2px 2.6px 1px #00000080;color:#c3d4de}.skill-board__panel{background:linear-gradient(135deg,#8be7fd8c,#5fcfea4d 55%,#3f9fbf80);padding:1.2px}.skill-board__body{background:linear-gradient(160deg,#1a1a30,#100f1e);padding:15px 16px 17px;position:relative;box-shadow:inset 0 0 26px #0000008c}.skill-board__body:before{content:"";pointer-events:none;background:linear-gradient(#8be7fd29,#0000);height:46px;position:absolute;inset:0 0 auto}.skill-board__title{letter-spacing:.1em;text-transform:uppercase;color:#8be7fd;text-shadow:var(--lift), 0 0 12px #8be7fd66;border-bottom:1px solid #79d0ed66;flex-direction:column;margin:0 0 11px;padding-bottom:9px;font-size:15px;font-weight:700;line-height:18px;display:flex;position:relative}.skill-board__items{letter-spacing:.01em;color:#c4e2ec;text-shadow:var(--lift);margin:0;padding:0;font-size:11.6px;line-height:18px;list-style:none}.skill-board__items li{--k:clamp(0, calc(var(--p,0) * var(--n,4) - var(--i,0)), 1);text-indent:-12px;opacity:var(--k);transform:translateY(calc((1 - var(--k)) * 4px));padding-left:12px}.skill-board__items li:before{content:"> ";color:#79d0ed}.branding,.controls{transition:opacity .35s}.design-frame.is-expanded .branding,.design-frame.is-expanded .controls{opacity:0;pointer-events:none}.about-board{--face-cos:cos(39.4deg);--face-comp:calc(1 / var(--face-cos));--accent:#79d0ed;--lift:0 1.2px 0 #062838e6, 0 2.4px 1px #00000073;color:#c3d4de}.about-board__face{width:calc(100% * var(--face-comp));transform:scaleX(var(--face-cos));transform-origin:0 0;padding:calc(18px * var(--face-comp)) calc(24px * var(--face-comp)) calc(20px * var(--face-comp));background:linear-gradient(160deg,#1a1a30,#100f1e);position:relative;box-shadow:inset 0 0 34px #0000008c,inset 0 0 0 1.2px #79d0ed59}.about-board__face:before{content:"";height:calc(80px * var(--face-comp));pointer-events:none;background:linear-gradient(#8be7fd24,#0000);position:absolute;inset:0 0 auto}.about-board__heading{margin:0 0 calc(12px * var(--face-comp));padding-bottom:calc(10px * var(--face-comp));font-family:var(--font-display);font-weight:600;font-size:calc(25px * var(--face-comp));letter-spacing:.04em;color:#8be7fd;text-shadow:var(--lift), 0 0 14px #8be7fd73;border-bottom:1px solid #79d0ed66;line-height:1.1;position:relative}.about-board__text{font-size:calc(11px * var(--face-comp));line-height:calc(15.4px * var(--face-comp));letter-spacing:.005em;color:#bfd0da;text-shadow:var(--lift);margin:0}.about-board__text+.about-board__text{margin-top:calc(9px * var(--face-comp))}.about-base__console{height:var(--console-h);background:linear-gradient(#2a2a40,#181826);align-items:stretch;padding:6px 8px;display:flex;box-shadow:inset 0 0 0 1.2px #79d0ed73,inset 0 8px 14px #00000059}.about-base__cv,.about-base__social{color:#9be9fb;background:#101222f2;border:1.2px solid #79d0edb3;border-radius:3px;justify-content:center;align-items:center;text-decoration:none;transition:background .16s,box-shadow .16s,color .16s;display:flex;box-shadow:0 0 8px #5fcfea40,inset 0 0 10px #5fcfea14}.about-base__cv:hover,.about-base__social:hover{color:#d5f6ff;background:#283c54f2;box-shadow:0 0 14px #5fcfea80,inset 0 0 10px #5fcfea24}.about-base__cv{letter-spacing:.06em;white-space:nowrap;flex:1;gap:10px;padding:0 16px;font-size:12px;font-weight:600}.about-base__cv-icon{flex:none;width:17px;height:17px}.about-base__divider{background:#79d0ed66;width:1px;margin:2px 10px}.about-base__social{flex:none;width:40px}.about-base__social+.about-base__social{margin-left:7px}.about-base__social svg{width:19px;height:19px}@keyframes entry-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.exp-label{left:calc(30 * var(--s));translate:0 -50%;transform:translateY(calc(var(--rise,0) * var(--s)));align-items:flex-start;gap:calc(1.5 * var(--s));padding:calc(3 * var(--s)) calc(6 * var(--s));width:max-content;max-width:calc(172 * var(--s));font-family:var(--font-mono);text-align:left;color:#f6e6a4;opacity:0;pointer-events:none;cursor:pointer;background:0 0;border:0;flex-direction:column;margin:0;transition:filter .2s,text-shadow .2s;display:flex;position:absolute;top:0}.exp-label__subtitle{white-space:nowrap}.exp-label.is-interactive{pointer-events:auto}.exp-label:before{content:"";width:calc(2 * var(--s));height:70%;box-shadow:0 0 calc(8 * var(--s)) #f6e6a4cc;opacity:0;background:#f6e6a4;transition:opacity .3s;position:absolute;top:15%;left:0}.exp-label.is-selected:before{opacity:1}.exp-label.is-interactive:hover{filter:brightness(1.15)}.exp-label__title{font-weight:600;font-size:calc(12.5 * var(--s));letter-spacing:.02em;color:#f1dd93;opacity:.72;line-height:1.1;transition:opacity .3s,color .3s,text-shadow .3s}.exp-label__subtitle{font-weight:700;font-size:calc(10.5 * var(--s));letter-spacing:.02em;color:#bdb9cc;opacity:.7;line-height:1.1;transition:opacity .3s,color .3s}.exp-label.is-selected .exp-label__title{opacity:1;color:#fbf1c6;text-shadow:0 0 calc(10 * var(--s)) #f6e6a48c}.exp-label.is-selected .exp-label__subtitle{opacity:1;color:#e6e0cf}.exp-label:focus-visible{outline-offset:2px;outline:1px solid #ffffff73}.ticket{--accent:#f6e6a4;--stub:58px;color:#cfc9d8;filter:drop-shadow(0 0 8px #f6e6a447)}.ticket__connector{pointer-events:none;position:absolute;inset:0}.ticket__connector>span{background:var(--accent);transition:top .42s cubic-bezier(.22,.8,.3,1),height .42s cubic-bezier(.22,.8,.3,1);position:absolute;box-shadow:0 0 6px #f6e6a499}.ticket__connector-h{height:1.6px;top:50%;translate:0 -50%}.ticket__connector-rail{width:1.6px;translate:-50%}.ticket__connector-tick{height:1.6px;translate:0 -50%}.ticket__connector-tick:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;right:0;translate:50% -50%}.ticket__edge{--notch:calc(100% - var(--stub) - 1.4px);--punch:7px;-webkit-mask-image:radial-gradient(circle var(--punch) at var(--notch) 0, transparent 98%, #000), radial-gradient(circle var(--punch) at var(--notch) 100%, transparent 98%, #000), radial-gradient(circle var(--punch) at 0 22%, transparent 98%, #000), radial-gradient(circle var(--punch) at 0 78%, transparent 98%, #000);-webkit-mask-composite:source-in, source-in, source-in;-webkit-mask-image:radial-gradient(circle var(--punch) at var(--notch) 0, transparent 98%, #000), radial-gradient(circle var(--punch) at var(--notch) 100%, transparent 98%, #000), radial-gradient(circle var(--punch) at 0 22%, transparent 98%, #000), radial-gradient(circle var(--punch) at 0 78%, transparent 98%, #000);mask-image:radial-gradient(circle var(--punch) at var(--notch) 0, transparent 98%, #000), radial-gradient(circle var(--punch) at var(--notch) 100%, transparent 98%, #000), radial-gradient(circle var(--punch) at 0 22%, transparent 98%, #000), radial-gradient(circle var(--punch) at 0 78%, transparent 98%, #000);background:linear-gradient(135deg,#fbf1c6,#f6e6a4 55%,#b9a860);border-radius:9px;padding:1.4px;-webkit-mask-composite:source-in;mask-composite:intersect}.ticket__body{background:linear-gradient(160deg,#1a1928f7,#100f1cf2);border-radius:7.6px;display:flex;overflow:hidden}.ticket__main{flex:1;min-width:0;transition:height .38s cubic-bezier(.22,.8,.3,1);position:relative;overflow:hidden}.ticket__entry{padding:13px 16px 13px 20px;animation:.38s cubic-bezier(.22,.8,.3,1) both entry-in}.ticket__title{font-family:var(--font-display);letter-spacing:.03em;color:#f7f1f8;margin:0 0 4px;font-size:18px;font-weight:600;line-height:1.1}.ticket__subtitle{letter-spacing:.1em;text-transform:uppercase;color:#f1dd93;margin:0;font-size:10.6px;font-weight:700}.ticket__rule{background:linear-gradient(90deg,#f6e6a499,#f6e6a414);height:1px;margin:9px 0}.ticket__text{color:#cfc9d8;margin:0;font-size:10px;line-height:14.2px}.ticket__stub{width:var(--stub);background:#f6e6a40d;border-left:1.4px dashed #f6e6a480;flex:none;justify-content:center;align-items:center;display:flex}.ticket__next{border:1.3px solid var(--accent);width:30px;height:30px;color:var(--accent);background:#141424e6;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .16s,box-shadow .16s,color .16s,transform .16s;display:flex;box-shadow:0 0 8px #f6e6a44d,inset 0 0 8px #f6e6a414}.ticket__next svg{width:16px;height:16px}.ticket__next:hover:not(:disabled){color:#fff8dc;background:#3c3828f2;box-shadow:0 0 14px #f6e6a48c,inset 0 0 8px #f6e6a424}.ticket__next:active:not(:disabled){transform:scale(.94)}.projects{--accent:#f3b4a4;--accent-text:#e2988e;color:#bdb9cc}.projects__inner{height:0;position:relative}.projects__header{left:0;right:0;top:calc(var(--row) / -2 - 44px);border-bottom:1px solid #f3b4a466;align-items:center;gap:8px;padding-bottom:6px;display:flex;position:absolute}.projects__icon{width:17px;height:17px;color:var(--accent);filter:drop-shadow(0 0 5px #f3b4a499);display:flex}.projects__icon svg{width:100%;height:100%}.projects__category{font-family:var(--font-display);letter-spacing:.06em;color:var(--accent);text-shadow:0 0 10px #f3b4a466;margin:0;font-size:14px;font-weight:600;line-height:1}.projects__viewport{left:0;right:0;top:calc(var(--row) / -2);height:calc(var(--row) * 1.62);position:absolute;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0 60%,#0000 100%);mask-image:linear-gradient(#000 0 60%,#0000 100%)}.projects__strip{margin:0;padding:0;list-style:none;transition:transform .48s cubic-bezier(.22,.8,.3,1)}.project{height:var(--row);flex-direction:column;justify-content:center;padding:0 4px;transition:opacity .38s;display:flex;position:relative}.project.is-next{opacity:.42}.project.is-past,.project.is-later{opacity:0}.projects__ghost{top:var(--row);border:2px solid var(--accent);opacity:0;border-radius:50%;width:13px;height:13px;transition:opacity .38s;position:absolute}.projects--left .projects__ghost{right:calc(-1 * var(--gap));translate:50% -50%}.projects--right .projects__ghost{left:calc(-1 * var(--gap));translate:-50% -50%}.projects__ghost.is-visible{opacity:.35}.project__title{font-family:var(--font-display);letter-spacing:.03em;color:#f7f1f8;margin:0 0 4px;font-size:14.5px;font-weight:600;line-height:1.15}.project__subtitle{color:#bdb9cc;margin:0 0 8px;font-size:9.6px;line-height:13.4px}.learn-more,.read-more{border:1.1px solid var(--accent-text);color:var(--accent);letter-spacing:.14em;text-transform:uppercase;background:#18121ee0;border-radius:3px;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:8.6px;line-height:1;text-decoration:none;transition:background .16s,box-shadow .16s,color .16s;display:inline-flex;box-shadow:0 0 8px #f3b4a438,inset 0 0 8px #f3b4a412}.learn-more svg,.read-more svg{width:11px;height:11px}.learn-more:hover:not(:disabled):not([aria-disabled=true]),.read-more:hover{color:#ffe6de;background:#46282cf2;box-shadow:0 0 14px #f3b4a480,inset 0 0 8px #f3b4a424}.learn-more[aria-disabled=true]{pointer-events:none}.projects__nav{top:calc(var(--row) / -2 - 4px);width:22px;height:calc(var(--row) + 8px);flex-direction:column;align-items:center;display:flex;position:absolute}.projects--left .projects__nav{left:-34px}.projects--right .projects__nav{right:-34px}.projects__step{width:20px;height:20px;color:var(--accent);background:#18121ee6;border:1.1px solid #f3b4a4b3;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background .16s,box-shadow .16s,opacity .2s;display:flex;box-shadow:0 0 6px #f3b4a433}.projects__step svg{width:14px;height:14px}.projects__step:hover:not(:disabled){background:#46282cf2;box-shadow:0 0 12px #f3b4a480}.projects__step:disabled{opacity:.28}.projects__rail{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;margin:6px 0;display:flex}.projects__rail i{background:#f3b4a44d;border-radius:2px;width:4px;height:4px;transition:height .3s,background .3s,box-shadow .3s}.projects__rail i.is-current{background:var(--accent);height:11px;box-shadow:0 0 7px #f3b4a4cc}.projects__count{letter-spacing:.12em;white-space:nowrap;color:var(--accent-text);font-size:7px;position:absolute;bottom:-15px}.pub-tag{padding:calc(2 * var(--s)) calc(5 * var(--s));border-radius:calc(2 * var(--s));font-family:var(--font-mono);font-size:calc(8 * var(--s));letter-spacing:.14em;color:#ebe7b6;opacity:0;pointer-events:none;cursor:pointer;background:#141420d9;border:1px solid #f8ecbd80;margin:0;line-height:1;transition:background .26s,color .26s,box-shadow .26s,border-color .26s;display:block}.pub-tag.is-interactive{pointer-events:auto}.pub-tag.is-interactive:hover{border-color:#f8ecbd}.pub-tag.is-selected{color:#2a2731;box-shadow:0 0 calc(10 * var(--s)) #f8ecbd8c;background:#f8ecbd;border-color:#f8ecbd}.pub-tag:focus-visible{outline-offset:2px;outline:1px solid #ffffff80}.pub-board{--accent:#f8ecbd;--accent-text:#ebe7b6;--pole:10px;--hanger-h:42px;--beam-h:13px;color:#bdb9cc;pointer-events:none}.pub-board__gantry{opacity:0;visibility:hidden;transform:translateY(var(--rise,0px));pointer-events:none;position:absolute;inset:0}.pub-board__gantry>span{position:absolute}.pub-board__pole{bottom:calc(100% + var(--hanger-h) + var(--beam-h) - 2px);width:var(--pole);background:linear-gradient(90deg,#1a1a28,#3a3a54 45%,#22222f);height:720px;box-shadow:inset 1px 0 #ffffff0d}.pub-board__pole--left{left:12%}.pub-board__pole--right{right:12%}.pub-board__pole:after{content:"";background:#1b1b2a;border-radius:3px;height:14px;position:absolute;bottom:-4px;left:-5px;right:-5px;box-shadow:inset 0 1px #ffffff0d}.pub-board__beam{left:-28px;right:-28px;bottom:calc(100% + var(--hanger-h));height:var(--beam-h);border-bottom:2.2px solid var(--accent);background:linear-gradient(#2f2f46,#1a1a2a);border-radius:3px;box-shadow:0 6px 18px #f8ecbd52,0 1px #f8ecbd59}.pub-board__hanger{width:6px;height:calc(var(--hanger-h) + 3px);background:linear-gradient(90deg,#1a1a28,#3a3a54 50%,#22222f);bottom:calc(100% - 3px)}.pub-board__hanger--left{left:18%}.pub-board__hanger--right{right:18%}.pub-board__sign{opacity:0;visibility:hidden;transform:translateY(var(--rise,0px));filter:drop-shadow(0 0 9px #f8ecbd42);pointer-events:auto;position:relative}.pub-board__frame{background:linear-gradient(160deg,#1a1928f7,#100f1cf2);border:1.3px solid #f8ecbdd9;border-radius:5px;overflow:hidden}.pub-board__entry{padding:12px 14px 10px;animation:.38s cubic-bezier(.22,.8,.3,1) both entry-in}.pub-board__meta{letter-spacing:.06em;color:var(--accent-text);align-items:center;gap:7px;margin:0 0 7px;font-size:8.6px;display:flex}.pub-board__journal{font-weight:600}.pub-board__dot{background:#f8ecbd99;border-radius:50%;width:3px;height:3px}.pub-board__title{font-family:var(--font-display);letter-spacing:.02em;color:#f7f1f8;margin:0 0 8px;font-size:13.5px;font-weight:600;line-height:1.25}.pub-board__authors{color:#bdb9cc;margin:0;font-size:8.8px;line-height:12.5px}.pub-board__authors .is-me{color:var(--accent);font-weight:600}.pub-board__foot{border-top:1px dashed #f8ecbd4d;justify-content:space-between;align-items:center;padding:8px 14px 10px;display:flex}.pub-board__steps{gap:6px;display:flex}.pub-board__step{width:22px;height:22px;color:var(--accent);background:#141420e6;border:1.1px solid #f8ecbd99;border-radius:3px;justify-content:center;align-items:center;padding:0;transition:background .16s,box-shadow .16s;display:flex;box-shadow:0 0 6px #f8ecbd2e}.pub-board__step svg{width:14px;height:14px}.pub-board__step:hover:not(:disabled){background:#403c2cf2;box-shadow:0 0 12px #f8ecbd80}.read-more{--accent:#f8ecbd;--accent-text:#ebe7b6;box-shadow:0 0 8px #f8ecbd33,inset 0 0 8px #f8ecbd0f}.read-more:hover{color:#fff9e3;background:#403c2cf2;box-shadow:0 0 14px #f8ecbd80,inset 0 0 8px #f8ecbd1f}.start-tag{left:calc((30 + var(--ring-growth)) * var(--s));top:calc(1.5 * var(--s));transform:translateY(calc(-50% + var(--rise,0px)));padding:calc(3.5 * var(--s)) calc(9 * var(--s)) calc(3.5 * var(--s)) calc(13 * var(--s));color:#2a2731;font-family:var(--font-mono);font-weight:500;font-size:calc(8.5 * var(--s));letter-spacing:.16em;white-space:nowrap;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,7% 50%);box-shadow:0 0 calc(14 * var(--s)) #e6e2ec47;background:#d7d4dc;line-height:1;position:absolute}.branding{left:calc(26 * var(--s));top:calc(286 * var(--s));color:#e9e7ee;position:absolute}.app.is-introducing .branding{animation:.75s ease-out 2.05s both intro-overlay-rise}.app.is-introducing .controls{animation:.7s ease-out 2.25s both intro-overlay-rise}@keyframes intro-overlay-rise{0%{opacity:0;transform:translateY(calc(14 * var(--s)))}to{opacity:1;transform:translateY(0)}}.branding__name{font-family:var(--font-display);font-weight:500;font-size:calc(34.5 * var(--s));line-height:calc(40 * var(--s));letter-spacing:.235em;flex-direction:column;margin:0;display:flex}.branding__first{color:#f1eff5;text-shadow:0 0 calc(12 * var(--s)) #ffffff2e}.branding__last{color:#c98f98;text-shadow:0 0 calc(12 * var(--s)) #d69b8d33}.branding__fields{margin:calc(6 * var(--s)) 0 0;font-family:var(--font-display);font-weight:300;font-size:calc(17.5 * var(--s));letter-spacing:.25em;color:#aca9b9}.branding__rule{width:calc(60 * var(--s));height:calc(1.5 * var(--s));margin-top:calc(21 * var(--s));box-shadow:0 0 calc(6 * var(--s)) #be8c9659;background:#a5808a}.branding__motto{margin:calc(19 * var(--s)) 0 0;gap:calc(5.5 * var(--s));font-family:var(--font-display);font-weight:400;font-size:calc(14.5 * var(--s));letter-spacing:.31em;color:#8f8090;flex-direction:column;line-height:1.15;display:flex}.controls{left:calc(774 * var(--s));top:calc(446 * var(--s));gap:calc(12 * var(--s));color:#8b8a96;flex-direction:column;display:flex;position:absolute}.controls__row{align-items:center;gap:calc(12 * var(--s));display:flex}.controls__icon{width:calc(46 * var(--s));justify-content:center;align-items:center;display:flex}.controls__mouse{width:calc(14 * var(--s));height:calc(22 * var(--s));fill:none;stroke:#8b8a96;stroke-width:1.3px;stroke-linecap:round}.controls__keys{grid-template-columns:repeat(3, calc(14 * var(--s)));grid-template-rows:repeat(2, calc(14 * var(--s)));gap:calc(2 * var(--s));display:grid}.controls__key{width:calc(14 * var(--s));height:calc(14 * var(--s));border:calc(1 * var(--s)) solid #7f7e8a;border-radius:calc(2 * var(--s));font-family:var(--font-mono);font-size:calc(8 * var(--s));color:#9d9ca8;justify-content:center;align-items:center;line-height:1;display:flex}.controls__key--up{grid-area:1/2}.controls__key--left{grid-area:2/1}.controls__key--down{grid-area:2/2}.controls__key--right{grid-area:2/3}.controls__text{font-family:var(--font-mono);font-size:calc(8.2 * var(--s));line-height:calc(13 * var(--s));letter-spacing:.02em;color:#8b8a96;white-space:nowrap;margin:0}.loader{top:var(--layout-top);left:var(--layout-left);width:var(--layout-width);height:var(--layout-height);z-index:9999;pointer-events:auto;opacity:1;background:#0d0a15;flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .48s;display:flex;position:fixed;bottom:auto;right:auto}.loader.is-done{opacity:0;pointer-events:none}.loader__mark{width:220px;height:36px;position:relative}.loader__label{font-family:var(--font-mono);letter-spacing:.12em;color:#c3d4deb8;margin:0;font-size:12px;line-height:1}.loader__rail{opacity:.55;background:linear-gradient(90deg,#f3b4a4,#79d0ed,#f6e6a4,#f3b4a4);height:2px;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%);box-shadow:0 0 8px #8be7fd40}.loader__station{opacity:.3;background:#0d0a15;border:2px solid;border-radius:50%;width:12px;height:12px;animation:2.6s ease-in-out infinite loader-arrive;position:absolute;top:50%;transform:translate(-50%,-50%)scale(.82)}.loader__station--a{color:#f3b4a4;animation-delay:0s;left:10%}.loader__station--b{color:#79d0ed;animation-delay:.45s;left:37%}.loader__station--c{color:#f6e6a4;animation-delay:.9s;left:63%}.loader__station--d{color:#f3b4a4;animation-delay:1.35s;left:90%}.loader__train{background:linear-gradient(90deg,#6a708f,#8be7fd);border-radius:2px;width:22px;height:10px;margin-left:-11px;animation:2.6s cubic-bezier(.45,0,.2,1) infinite loader-ride;position:absolute;top:50%;left:10%;transform:translateY(-50%);box-shadow:0 0 10px #8be7fd8c}.loader__train:before,.loader__train:after{content:"";background:#0d0a15d9;width:4px;height:4px;position:absolute;top:2px}.loader__train:before{left:3px}.loader__train:after{right:3px}@keyframes loader-ride{0%,6%{left:10%}28%{left:37%}50%{left:63%}72%{left:90%}88%,to{left:90%}}@keyframes loader-arrive{0%,8%{opacity:.28;box-shadow:none;transform:translate(-50%,-50%)scale(.82)}18%,78%{opacity:1;transform:translate(-50%,-50%)scale(1);box-shadow:0 0 10px}92%,to{opacity:.28;box-shadow:none;transform:translate(-50%,-50%)scale(.82)}}.rotate-device{top:var(--layout-top);left:var(--layout-left);width:var(--layout-width);height:var(--layout-height);z-index:10000;pointer-events:auto;text-align:center;background:radial-gradient(70% 50% at 50% 42%,#79d0ed12,#0000 70%),#0d0a15;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;padding:2rem 1.5rem;display:none;position:fixed;bottom:auto;right:auto}.rotate-device__mark{justify-content:center;align-items:center;width:7.5rem;height:7.5rem;display:flex;position:relative}.rotate-device__phone{transform-origin:50%;background:#10131d;border:1.5px solid #8be7fd8c;border-radius:.55rem;width:2.65rem;height:4.4rem;animation:2.8s ease-in-out infinite rotate-device-tilt;position:relative;box-shadow:0 0 18px #8be7fd2e,inset 0 0 0 1px #ffffff0a}.rotate-device__bezel{background:#aca9b959;border-radius:999px;width:.9rem;height:.18rem;position:absolute;top:.35rem;left:50%;transform:translate(-50%)}.rotate-device__screen{background:#0f0f17;border-radius:.2rem;position:absolute;inset:.7rem .35rem .45rem;overflow:hidden}.rotate-device__rail{opacity:.7;background:linear-gradient(90deg,#f3b4a4,#79d0ed,#f6e6a4);height:1.5px;position:absolute;top:52%;left:12%;right:12%;transform:translateY(-50%);box-shadow:0 0 6px #8be7fd59}.rotate-device__station{background:#0f0f17;border:1.5px solid;border-radius:50%;width:5px;height:5px;position:absolute;top:52%;transform:translate(-50%,-50%)}.rotate-device__station--a{color:#f3b4a4;left:22%}.rotate-device__station--b{color:#79d0ed;left:50%}.rotate-device__station--c{color:#f6e6a4;left:78%}.rotate-device__title{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:#f1eff5;text-shadow:0 0 12px #ffffff1f;margin:.4rem 0 0;font-size:1.15rem;font-weight:500}.rotate-device__copy{max-width:16rem;font-family:var(--font-mono);letter-spacing:.08em;color:#c3d4deb8;margin:0;font-size:.72rem;line-height:1.55}.rotate-device__rule{background:#a5808a;width:2.75rem;height:1.5px;margin-top:.35rem;box-shadow:0 0 6px #be8c9659}@keyframes rotate-device-tilt{0%,18%{transform:rotate(0)}42%,68%{transform:rotate(90deg)}88%,to{transform:rotate(0)}}@media (orientation:portrait) and (width<=900px){.rotate-device{display:flex}}@media (prefers-reduced-motion:reduce){.rotate-device__phone{animation:none;transform:rotate(90deg)}}.page-transition{--pt-duration:3.4s;--coral:#f3b4a4;--cyan:#79d0ed;--cyan-bright:#8be7fd;--cream:#f8ecbd;top:var(--layout-top);left:var(--layout-left);width:var(--layout-width);height:var(--layout-height);z-index:35;pointer-events:auto;animation:pt-overlay-fade var(--pt-duration) ease both;background:#0d0a15;position:fixed;bottom:auto;right:auto;overflow:hidden}.page-transition__frame{width:calc(960 * var(--s));height:calc(540 * var(--s));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pt-tunnel{animation:pt-tunnel-phase var(--pt-duration) ease both;position:absolute;inset:0;overflow:hidden}.pt-tunnel__wall{opacity:.92;background:linear-gradient(90deg,#080610,#12101f 40%,#0d0a15);width:38%;position:absolute;top:0;bottom:0}.pt-tunnel__wall--l{left:-8%;transform:skewY(-2deg)}.pt-tunnel__wall--r{right:-8%;transform:scaleX(-1)skewY(-2deg)}.pt-tunnel__tracks{height:calc(14 * var(--s));position:absolute;top:58%;left:8%;right:8%}.pt-tunnel__tracks span{height:calc(3 * var(--s));border-radius:calc(2 * var(--s));background:linear-gradient(90deg, var(--coral), var(--cyan), var(--cream));opacity:.45;box-shadow:0 0 calc(10 * var(--s)) #8be7fd33;display:block}.pt-tunnel__tracks span+span{margin-top:calc(5 * var(--s))}.pt-tunnel__streaks{position:absolute;inset:18% 0 28%}.pt-tunnel__streaks span{top:calc(8% + (var(--i) * 7.2%));width:calc(80px + (var(--i) * 12px));opacity:.35;height:2px;animation:pt-streak var(--pt-duration) linear both;animation-delay:calc(var(--i) * -120ms);background:linear-gradient(90deg,#0000,#8be7fd8c,#0000);position:absolute;left:-20%}.pt-platform{opacity:0;animation:pt-platform-phase var(--pt-duration) ease both;position:absolute;inset:0}.pt-hall__ledge{left:-100vw;right:-100vw;top:calc(84 * var(--s));height:calc(18 * var(--s));box-shadow:0 calc(6 * var(--s)) calc(18 * var(--s)) #000000b3, inset 0 1px 0 #8be7fd1f;background:linear-gradient(#1c1830,#100d1c 70%,#0b0912);position:absolute}.pt-hall__lamp{top:calc(100% - 3 * var(--s));width:calc(52 * var(--s));height:calc(5 * var(--s));border-radius:calc(2 * var(--s));box-shadow:0 0 calc(14 * var(--s)) #8be7fd73;background:linear-gradient(#8be7fdd9,#79d0ed59);position:absolute}.pt-hall__lamp:first-child{left:12%}.pt-hall__lamp:nth-child(2){left:28%}.pt-hall__lamp:nth-child(3){left:44%}.pt-hall__lamp:nth-child(4){left:60%}.pt-hall__lamp:nth-child(5){left:76%}.pt-sign{left:50%;top:calc(18 * var(--s));width:calc(280 * var(--s));height:calc(72 * var(--s));position:absolute;transform:translate(-50%)}.pt-sign__rod{width:calc(3 * var(--s));height:calc(28 * var(--s));background:linear-gradient(#4a465e,#2a2838);position:absolute;top:0}.pt-sign__rod--l{left:calc(18 * var(--s))}.pt-sign__rod--r{right:calc(18 * var(--s))}.pt-sign__plate{left:50%;top:calc(22 * var(--s));min-width:calc(200 * var(--s));padding:calc(10 * var(--s)) calc(22 * var(--s));border:calc(2 * var(--s)) solid #8be7fd59;border-radius:calc(4 * var(--s));box-shadow:0 calc(8 * var(--s)) calc(24 * var(--s)) #0000008c;background:linear-gradient(#1a1830,#100f1e);position:absolute;transform:translate(-50%)}.pt-sign__name{font-family:var(--font-display);font-size:calc(26 * var(--s));letter-spacing:.06em;text-align:center;color:var(--cream);text-shadow:0 0 calc(12 * var(--s)) #8be7fd59;font-weight:600;display:block}.pt-edge{left:-100vw;right:-100vw;top:calc(328 * var(--s));height:calc(8 * var(--s));background:repeating-linear-gradient(90deg, #f6e6a4 0 calc(18 * var(--s)), #1a1a30 calc(18 * var(--s)) calc(36 * var(--s)));box-shadow:0 calc(-4 * var(--s)) calc(16 * var(--s)) #f6e6a426;position:absolute}.pt-floor{left:-100vw;right:-100vw;top:calc(336 * var(--s));bottom:calc(-1 * var(--layout-height));background:#0b0912;position:absolute}.pt-floor__tiles{background:linear-gradient(0deg, #00000059, transparent 40%), repeating-linear-gradient(90deg, #ffffff08 0 calc(48 * var(--s)), transparent calc(48 * var(--s)) calc(96 * var(--s))), repeating-linear-gradient(0deg, #ffffff06 0 calc(48 * var(--s)), transparent calc(48 * var(--s)) calc(96 * var(--s)));position:absolute;inset:0}.pt-train{left:calc(-280 * var(--s));top:calc(115 * var(--s));gap:calc(10 * var(--s));height:calc(200 * var(--s));z-index:2;animation:pt-train-ride var(--pt-duration) cubic-bezier(.22, .85, .28, 1) both;display:flex;position:absolute}.pt-car{width:calc(180 * var(--s));border-radius:calc(6 * var(--s)) calc(6 * var(--s)) calc(4 * var(--s)) calc(4 * var(--s));height:100%;box-shadow:inset 0 calc(2 * var(--s)) 0 #8be7fd1f, 0 calc(8 * var(--s)) calc(24 * var(--s)) #00000073;background:linear-gradient(#3a3f58 0 12%,#1c1f2e 12% 88%,#10121c 88%);flex:none}.pt-car--blank{opacity:.55}.pt-car--lit .pt-car__window{left:calc(16 * var(--s));right:calc(16 * var(--s));top:calc(36 * var(--s));height:calc(72 * var(--s));border-radius:calc(4 * var(--s));box-shadow:inset 0 0 calc(20 * var(--s)) #8be7fd40, 0 0 calc(16 * var(--s)) #8be7fd26;background:linear-gradient(#8be7fd38,#79d0ed14);position:absolute}.pt-caption{left:50%;bottom:calc(28 * var(--s));font-size:calc(11 * var(--s));letter-spacing:.18em;text-transform:uppercase;color:#c3d4de8c;animation:pt-caption-phase var(--pt-duration) ease both;margin:0;position:absolute;transform:translate(-50%)}.page-transition.is-to-map .pt-train{animation-name:pt-train-depart}.page-transition.is-to-map .pt-tunnel{animation-name:pt-tunnel-phase-reverse}.page-transition.is-to-map .pt-platform{animation-name:pt-platform-phase-reverse}@keyframes pt-overlay-fade{0%,72%{opacity:1}88%,to{opacity:0;pointer-events:none}}.page-transition.is-to-map{animation-name:pt-overlay-fade-reverse}@keyframes pt-overlay-fade-reverse{0%,12%{opacity:0}28%,to{opacity:1}}@keyframes pt-tunnel-phase{0%,38%{opacity:1}52%,to{opacity:0}}@keyframes pt-tunnel-phase-reverse{0%,48%{opacity:0}62%,to{opacity:1}}@keyframes pt-platform-phase{0%,40%{opacity:0}54%,to{opacity:1}}@keyframes pt-platform-phase-reverse{0%,38%{opacity:1}52%,to{opacity:0}}@keyframes pt-streak{0%{opacity:0;transform:translate(0)}8%{opacity:.5}38%{opacity:.35;transform:translate(140%)}to{opacity:0;transform:translate(140%)}}@keyframes pt-train-ride{0%{transform:translateX(calc(420 * var(--s)));opacity:.35}42%{transform:translateX(calc(420 * var(--s)));opacity:.35}68%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(0)}}@keyframes pt-train-depart{0%{opacity:1;transform:translate(0)}32%{transform:translateX(calc(-480 * var(--s)));opacity:.4}to{transform:translateX(calc(-480 * var(--s)));opacity:.4}}@keyframes pt-caption-phase{0%,42%{opacity:0}50%,78%{opacity:1}88%,to{opacity:0}}.project-station.is-under-overlay{opacity:0}.project-station.is-revealed{animation:.52s both pt-project-reveal}.ps-train--settled,.ps-train:not(.ps-train--arrive):not(.is-shift-out):not(.is-shift-in){animation:none}.ps-train.is-shift-out.is-shift-next{animation:.56s cubic-bezier(.4,.05,.3,1) forwards ps-shift-out-next}.ps-train.is-shift-out.is-shift-prev{animation:.56s cubic-bezier(.4,.05,.3,1) forwards ps-shift-out-prev}.ps-train.is-shift-in.is-shift-next{animation:.62s cubic-bezier(.2,.8,.25,1) both ps-shift-in-next}.ps-train.is-shift-in.is-shift-prev{animation:.62s cubic-bezier(.2,.8,.25,1) both ps-shift-in-prev}@keyframes ps-shift-out-next{0%{opacity:1;transform:none}to{transform:translateX(calc(-340 * var(--s)));opacity:.35}}@keyframes ps-shift-out-prev{0%{opacity:1;transform:none}to{transform:translateX(calc(340 * var(--s)));opacity:.35}}@keyframes ps-shift-in-next{0%{transform:translateX(calc(340 * var(--s)));opacity:.35}to{opacity:1;transform:none}}@keyframes ps-shift-in-prev{0%{transform:translateX(calc(-340 * var(--s)));opacity:.35}to{opacity:1;transform:none}}.project-station.is-shift-out .ps-sign__plate,.project-station.is-shift-out .ps-visit,.project-station.is-shift-out .ps-display{animation:.42s forwards ps-chrome-out}.project-station.is-shift-in .ps-sign__plate,.project-station.is-shift-in .ps-visit,.project-station.is-shift-in .ps-display{animation:.52s both ps-chrome-in}@keyframes ps-chrome-out{0%{opacity:1;filter:blur()}to{opacity:0;filter:blur(2px)}}@keyframes ps-chrome-in{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur()}}@keyframes pt-project-reveal{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.page-transition{opacity:0;pointer-events:none;animation:none}.project-station.is-revealed,.ps-train.is-shift-out.is-shift-next,.ps-train.is-shift-out.is-shift-prev,.ps-train.is-shift-in.is-shift-next,.ps-train.is-shift-in.is-shift-prev,.project-station.is-shift-out .ps-sign__plate,.project-station.is-shift-out .ps-visit,.project-station.is-shift-out .ps-display,.project-station.is-shift-in .ps-sign__plate,.project-station.is-shift-in .ps-visit,.project-station.is-shift-in .ps-display{animation:none}}.project-station{--coral:#f3b4a4;--coral-deep:#e2988e;--cyan:#79d0ed;--cyan-bright:#8be7fd;--peach:#fbd5b7;--cream:#f8ecbd;--yellow:#f6e6a4;--lavender:#bdb9cc;--car-roof:#3a3f58;--car-body:#1c1f2e;--car-shade:#10121c;top:var(--layout-top);left:var(--layout-left);width:var(--layout-width);height:var(--layout-height);z-index:40;font-family:var(--font-mono);color:#c3d4de;pointer-events:auto;-webkit-user-select:text;user-select:text;background:#0d0a15;position:fixed;bottom:auto;right:auto;overflow:hidden}.project-station button,.project-station a{cursor:pointer;font-family:inherit}.project-station button:disabled{cursor:default}.project-station :is(button,a):focus-visible{outline-offset:2px;outline:1px solid #ffffff8c}.ps-frame{width:calc(960 * var(--s));height:calc(540 * var(--s));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ps-hall{pointer-events:none;position:absolute;inset:0}.ps-hall__wall{left:-100vw;right:-100vw;bottom:calc(100% - 115 * var(--s));height:calc(115 * var(--s) + var(--layout-height));background:repeating-linear-gradient(64deg, transparent 0 calc(126 * var(--s)), #8be7fd17 calc(126 * var(--s)) calc(127.4 * var(--s))), repeating-linear-gradient(-64deg, transparent 0 calc(126 * var(--s)), #8be7fd12 calc(126 * var(--s)) calc(127.4 * var(--s))), linear-gradient(0deg, #141022 0, #100d1c calc(60 * var(--s)), #0d0a15 calc(220 * var(--s)));position:absolute}.ps-hall__ledge{left:-100vw;right:-100vw;top:calc(84 * var(--s));height:calc(18 * var(--s));box-shadow:0 calc(6 * var(--s)) calc(18 * var(--s)) #000000b3, 0 calc(2 * var(--s)) calc(16 * var(--s)) #79d0ed14, inset 0 1px 0 #8be7fd1f;background:linear-gradient(#1c1830,#100d1c 70%,#0b0912);position:absolute}.ps-hall__lamp{top:calc(100% - 3 * var(--s));width:calc(104 * var(--s));height:calc(7 * var(--s));border-radius:0 0 calc(3 * var(--s)) calc(3 * var(--s));background:linear-gradient(180deg, #fff4de, var(--peach) 55%, #e6a98f);box-shadow:0 0 calc(10 * var(--s)) #fbd5b7f2, 0 calc(12 * var(--s)) calc(28 * var(--s)) #f3b4a461, 0 calc(34 * var(--s)) calc(70 * var(--s)) #f3b4a42e;transform:translateX(calc(-50% + var(--dx) * var(--s))) skewX(-8deg);position:absolute;left:50%}.ps-hall__lamp:first-child{--dx:-354}.ps-hall__lamp:nth-child(2){--dx:-159}.ps-hall__lamp:nth-child(3){--dx:14}.ps-hall__lamp:nth-child(4){--dx:169}.ps-hall__lamp:nth-child(5){--dx:352}.ps-top{left:calc(22 * var(--s));right:calc(22 * var(--s));top:calc(26 * var(--s));height:calc(26 * var(--s));z-index:6;position:absolute}.ps-nav{align-items:center;gap:calc(8 * var(--s));height:calc(26 * var(--s));padding:0 calc(13 * var(--s));border:calc(1.5 * var(--s)) solid;border-radius:calc(4 * var(--s));font-size:calc(10.5 * var(--s));letter-spacing:.02em;white-space:nowrap;cursor:pointer;background:#080610f0;font-weight:500;line-height:1;text-decoration:none;transition:background .16s,box-shadow .16s,color .16s;display:inline-flex;position:absolute;top:0}.ps-nav__arrow{width:calc(14 * var(--s));height:calc(14 * var(--s))}.ps-nav__arrow--back{transform:scaleX(-1)}.ps-nav--prev{color:var(--coral);box-shadow:0 0 calc(10 * var(--s)) #f3b4a438;border-color:#f3b4a4d9;left:0}.ps-nav--next{color:var(--cyan-bright);box-shadow:0 0 calc(10 * var(--s)) #79d0ed40;border-color:#79d0edd9;right:0}.ps-nav--prev:hover:not(:disabled):not([aria-disabled=true]){color:#ffe6de;box-shadow:0 0 calc(16 * var(--s)) #f3b4a480;background:#46282cf2}.ps-nav--next:hover:not(:disabled):not([aria-disabled=true]){color:#d5f6ff;box-shadow:0 0 calc(16 * var(--s)) #79d0ed80;background:#1c3046f2}.ps-nav:disabled:not(.is-end),.ps-nav[aria-disabled=true]:not(.is-end){opacity:.9;cursor:default;pointer-events:none}.ps-nav.is-end{color:#5c5868;box-shadow:none;opacity:.5;cursor:default;background:#0c0a128c;border-color:#5c586880}.ps-nav--prev.is-end{color:#6a5a5e;border-color:#6a5a5e66}.ps-nav--next.is-end{color:#4f5a68;border-color:#4f5a6866}.ps-sign{left:50%;top:calc(-26 * var(--s));width:max-content;min-width:calc(244 * var(--s));max-width:100%;position:absolute;transform:translate(-50%)}.ps-sign__rod{width:calc(2 * var(--s));height:calc(26 * var(--s));background:linear-gradient(#6a6484,#3a3550);position:absolute;top:0}.ps-sign__rod:before{content:"";width:calc(5 * var(--s));height:calc(5 * var(--s));background:var(--cream);box-shadow:0 0 calc(8 * var(--s)) var(--cream);border-radius:50%;position:absolute;top:0;left:50%;transform:translate(-50%,-30%)}.ps-sign__rod--l{left:calc(22 * var(--s))}.ps-sign__rod--r{right:calc(22 * var(--s))}.ps-sign__plate{height:calc(44 * var(--s));margin-top:calc(26 * var(--s));padding:0 calc(28 * var(--s));border:calc(1.5 * var(--s)) solid #f8ecbde0;border-radius:calc(4 * var(--s));box-shadow:0 0 calc(24 * var(--s)) #f8ecbd52, 0 0 calc(48 * var(--s)) #f8ecbd1f, 0 calc(10 * var(--s)) calc(24 * var(--s)) #0009, inset 0 0 calc(18 * var(--s)) #f8ecbd0f;background:linear-gradient(#1a1a30,#0d0a15);justify-content:center;align-items:center;display:flex;position:relative}.ps-sign__plate:before,.ps-sign__plate:after{content:"";top:calc(6 * var(--s));bottom:calc(6 * var(--s));width:calc(2 * var(--s));border-radius:calc(1 * var(--s));background:var(--cream);box-shadow:0 0 calc(10 * var(--s)) var(--cream), 0 0 calc(22 * var(--s)) #f8ecbd80;position:absolute}.ps-sign__plate:before{left:calc(-1.5 * var(--s))}.ps-sign__plate:after{right:calc(-1.5 * var(--s))}.ps-sign__name{max-width:100%;font-size:calc(21 * var(--s));letter-spacing:.22em;text-align:center;text-transform:uppercase;white-space:nowrap;color:var(--cream);text-shadow:0 0 calc(14 * var(--s)) #f8ecbdbf, 0 0 calc(28 * var(--s)) #f8ecbd47;margin:0;padding-left:.22em;font-weight:500;line-height:1}.ps-back{left:50%;top:calc(74 * var(--s));z-index:6;font-size:calc(10 * var(--s));letter-spacing:.18em;text-transform:uppercase;color:var(--lavender);opacity:.7;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;line-height:1;text-decoration:none;transition:color .16s,opacity .16s;position:absolute;transform:translate(-50%)}.ps-back:hover{color:#f7f1f8;opacity:1}.ps-back[aria-disabled=true]{pointer-events:none;opacity:.45}.ps-train{left:calc(-308 * var(--s));top:calc(115 * var(--s));height:calc(214 * var(--s));z-index:3;position:absolute}.ps-train--arrive{animation:3s cubic-bezier(.2,.8,.25,1) both ps-arrive}.ps-train__cars{gap:calc(12 * var(--s));height:100%;display:flex}.ps-car{width:calc(310 * var(--s));flex:none;height:100%;position:relative}.ps-car+.ps-car:before{content:"";right:100%;top:calc(60 * var(--s));width:calc(12 * var(--s));height:calc(110 * var(--s));background:linear-gradient(90deg,#14121f,#221f33,#14121f);position:absolute}.ps-car__shell{border-radius:calc(24 * var(--s)) calc(24 * var(--s)) calc(6 * var(--s)) calc(6 * var(--s));background:linear-gradient(180deg, #4a5068 0, var(--car-roof) calc(10 * var(--s)), #2c3148 calc(27 * var(--s)), #1a1e2e calc(29 * var(--s)), var(--car-body) 40%, #151824 75%, var(--car-shade) 100%);box-shadow:inset 0 calc(1.5 * var(--s)) 0 #8be7fd38, inset calc(14 * var(--s)) 0 calc(22 * var(--s)) calc(-12 * var(--s)) #06060cb3, inset calc(-14 * var(--s)) 0 calc(22 * var(--s)) calc(-12 * var(--s)) #06060cb3, inset 0 calc(-2 * var(--s)) 0 #06060c8c, 0 0 calc(18 * var(--s)) #79d0ed14, 0 calc(14 * var(--s)) calc(26 * var(--s)) #000000a6;position:absolute;inset:0;overflow:hidden}.ps-car--blank .ps-car__shell{filter:brightness(.88)}.ps-car__vent{left:50%;top:calc(7 * var(--s));width:calc(32 * var(--s));height:calc(5 * var(--s));border-radius:0 0 calc(2 * var(--s)) calc(2 * var(--s));background:var(--car-body);position:absolute;transform:translate(-50%);box-shadow:inset 0 1px #ffffff1f}.ps-car__roofline{left:0;right:0;top:calc(28 * var(--s));height:calc(2 * var(--s));background:#0e0f1666;position:absolute;box-shadow:0 1px #f7f1f81a}.ps-car__door{--door:var(--coral);left:calc(12 * var(--s));top:calc(36 * var(--s));width:calc(48 * var(--s));height:calc(168 * var(--s));border-radius:calc(8 * var(--s)) calc(8 * var(--s)) calc(3 * var(--s)) calc(3 * var(--s));background:var(--door);box-shadow:0 0 calc(16 * var(--s)) color-mix(in srgb, var(--door) 60%, transparent), 0 0 calc(40 * var(--s)) color-mix(in srgb, var(--door) 25%, transparent);position:absolute}.ps-car--2 .ps-car__door{--door:var(--cyan)}.ps-car__door-panel{inset:calc(5 * var(--s));border-radius:calc(6 * var(--s)) calc(6 * var(--s)) calc(2 * var(--s)) calc(2 * var(--s));background:linear-gradient(180deg, color-mix(in srgb, var(--door) 70%, #fff) 0, color-mix(in srgb, var(--door) 88%, #fff) 45%, color-mix(in srgb, var(--door) 70%, #3a3550) 100%);position:absolute}.ps-car__door-glass{left:calc(9 * var(--s));right:calc(9 * var(--s));top:calc(10 * var(--s));height:calc(80 * var(--s));border-radius:calc(4 * var(--s));box-shadow:inset 0 0 calc(10 * var(--s)) #000000b3, inset 0 1px 0 #ffffff0f;background:linear-gradient(#1a1830,#0e0f16);position:absolute}.ps-car__window{left:calc(68 * var(--s));top:calc(36 * var(--s));width:calc(230 * var(--s));height:calc(158 * var(--s));padding:calc(9 * var(--s)) calc(11 * var(--s));border:calc(1.2 * var(--s)) solid #8be7fd9e;border-radius:calc(6 * var(--s));box-shadow:inset 0 0 calc(22 * var(--s)) #000000b3, inset 0 calc(18 * var(--s)) calc(28 * var(--s)) #8be7fd0d, 0 0 calc(16 * var(--s)) #79d0ed38;background:linear-gradient(170deg,#1a1a30,#100f1e 55%,#0a0812);align-items:center;display:flex;position:absolute}.ps-car__window p{font-size:calc(10.2 * var(--s));line-height:calc(14.2 * var(--s));letter-spacing:.005em;color:#c4e2ec;margin:0}.ps-car__blank-window{left:calc(22 * var(--s));right:calc(12 * var(--s));top:calc(36 * var(--s));height:calc(158 * var(--s));border:calc(1.2 * var(--s)) solid #79d0ed38;border-radius:calc(6 * var(--s));background:#0a0812;position:absolute}.ps-car__stripe{left:calc(68 * var(--s));top:calc(198 * var(--s));width:calc(230 * var(--s));height:calc(4 * var(--s));border-radius:calc(2 * var(--s));background:linear-gradient(90deg, var(--coral), var(--peach) 60%, var(--coral));box-shadow:0 0 calc(10 * var(--s)) #f3b4a4cc, 0 0 calc(24 * var(--s)) #f3b4a459;position:absolute}.ps-car__skirt{height:calc(9 * var(--s));background:linear-gradient(#181a28,#0e1018);position:absolute;bottom:0;left:0;right:0}.ps-car__bogie{width:calc(64 * var(--s));height:calc(11 * var(--s));border-radius:0 0 calc(4 * var(--s)) calc(4 * var(--s));box-shadow:inset 0 calc(2 * var(--s)) 0 #ffffff0d;background:#0e0f16;position:absolute;top:100%}.ps-car__bogie--l{left:calc(34 * var(--s))}.ps-car__bogie--r{right:calc(34 * var(--s))}.ps-pit{left:-100vw;right:-100vw;top:calc(329 * var(--s));height:calc(20 * var(--s));z-index:1;background:linear-gradient(#05040a,#0a0810 60%,#0d0a15);position:absolute}.ps-edge{left:-100vw;right:-100vw;top:calc(347 * var(--s));height:calc(16 * var(--s));z-index:2;background:radial-gradient(circle, #604a2099 0 calc(1.1 * var(--s)), transparent calc(1.7 * var(--s))) 0 0 / calc(8 * var(--s)) calc(8 * var(--s)), linear-gradient(180deg, #fbf1c8 0, var(--yellow) 45%, #dcc783 100%);box-shadow:0 0 calc(20 * var(--s)) #f6e6a480, 0 calc(3 * var(--s)) 0 #a48d4a, inset 0 1px 0 #ffffff8c;position:absolute}.ps-floor{left:-100vw;right:-100vw;top:calc(363 * var(--s));height:calc(177 * var(--s) + var(--layout-height));z-index:1;background:linear-gradient(180deg, #16122a 0, #100d1c calc(70 * var(--s)), #0d0a15 calc(240 * var(--s)));position:absolute;overflow:hidden}.ps-floor__tiles{background:repeating-linear-gradient(90deg, #79d0ed14 0 calc(1.2 * var(--s)), transparent calc(1.2 * var(--s)) calc(64 * var(--s))), repeating-linear-gradient(180deg, #79d0ed0f 0 calc(1.2 * var(--s)), transparent calc(1.2 * var(--s)) calc(48 * var(--s)));transform-origin:50% 0;height:320%;transform:perspective(calc(520 * var(--s))) rotateX(56deg);position:absolute;top:0;left:-40%;right:-40%;-webkit-mask-image:linear-gradient(#000000e6,#00000059 60%,#0000);mask-image:linear-gradient(#000000e6,#00000059 60%,#0000)}.ps-kiosk{left:calc(20 * var(--s));top:calc(372 * var(--s));width:calc(300 * var(--s));height:calc(113 * var(--s));z-index:4;position:absolute}.ps-bench{left:0;top:calc(38 * var(--s));width:calc(300 * var(--s));height:calc(75 * var(--s));position:absolute}.ps-bench:after{content:"";z-index:-1;background:radial-gradient(at 50% 30%,#f3b4a429,#0000 70%);height:70%;position:absolute;top:60%;left:-10%;right:-10%}.ps-bench__top{width:calc(300 * var(--s));height:calc(15 * var(--s));clip-path:polygon(calc(20 * var(--s)) 0, 100% 0, calc(100% - 20 * var(--s)) 100%, 0 100%);background:linear-gradient(90deg,#2a2a40,#34344c);position:absolute;top:0;left:0}.ps-bench__front{left:0;top:calc(15 * var(--s));width:calc(280 * var(--s));height:calc(60 * var(--s));box-shadow:0 calc(16 * var(--s)) calc(28 * var(--s)) #0009, inset 0 0 0 1px #79d0ed14;background:linear-gradient(#1e1e30,#141422);position:absolute}.ps-bench__side{left:calc(280 * var(--s));width:calc(20 * var(--s));height:calc(75 * var(--s));clip-path:polygon(0 calc(15 * var(--s)), 100% 0, 100% calc(60 * var(--s)), 0 100%);background:#101018;position:absolute;top:0}.ps-bench__light{left:calc(18 * var(--s));top:calc(40 * var(--s));width:calc(244 * var(--s));height:calc(4 * var(--s));border-radius:calc(2 * var(--s));background:linear-gradient(90deg, var(--coral-deep), var(--coral) 30%, var(--peach) 55%, var(--coral));box-shadow:0 0 calc(10 * var(--s)) #f3b4a4d9, 0 0 calc(26 * var(--s)) #f3b4a459;position:absolute}.ps-visit{left:0;top:calc(54 * var(--s));z-index:3;justify-content:center;align-items:center;gap:calc(6 * var(--s));width:calc(280 * var(--s));height:calc(22 * var(--s));color:var(--coral);font-size:calc(10 * var(--s));letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 calc(10 * var(--s)) #f3b4a473;background:0 0;border:0;padding:0;font-weight:500;text-decoration:none;transition:color .16s,text-shadow .16s;display:inline-flex;position:absolute}.ps-visit svg{width:calc(11 * var(--s));height:calc(11 * var(--s));flex:none}.ps-visit:hover{color:#ffe6de;text-shadow:0 0 calc(16 * var(--s)) #f3b4a4cc}.ps-kiosk:has(.ps-visit:hover) .ps-bench__light{box-shadow:0 0 calc(14 * var(--s)) #f3b4a4, 0 0 calc(32 * var(--s)) #f3b4a480}.ps-display{left:calc(430 * var(--s));bottom:calc(40 * var(--s));width:calc(510 * var(--s));height:calc(136 * var(--s));z-index:5;transition:height .32s cubic-bezier(.22,.72,.2,1);position:absolute}.ps-display.is-open{height:calc(404 * var(--s));z-index:8}.ps-display:after{content:"";z-index:-1;background:radial-gradient(at 50% 20%,#8be7fd33,#0000 70%);height:60%;position:absolute;top:80%;left:4%;right:4%}.ps-display__frame{border-radius:calc(10 * var(--s));box-shadow:0 0 0 calc(1.2 * var(--s)) #79d0ed47, 0 0 calc(22 * var(--s)) #79d0ed29, 0 calc(7 * var(--s)) 0 #0a0912, 0 calc(20 * var(--s)) calc(34 * var(--s)) #000000a6, inset 0 calc(1.5 * var(--s)) 0 #8be7fd1f;background:linear-gradient(#222238,#161624 60%,#12121c);transition:box-shadow .32s;position:absolute;inset:0}.ps-display.is-open .ps-display__frame{box-shadow:0 0 0 calc(1.2 * var(--s)) #8be7fd80, 0 0 calc(28 * var(--s)) #79d0ed47, 0 calc(7 * var(--s)) 0 #0a0912, 0 calc(20 * var(--s)) calc(34 * var(--s)) #000000b3, inset 0 calc(1.5 * var(--s)) 0 #8be7fd2e}.ps-display__screen{inset:calc(9 * var(--s));padding:calc(10 * var(--s)) calc(10 * var(--s)) calc(8 * var(--s));border-radius:calc(6 * var(--s));box-shadow:inset 0 0 calc(24 * var(--s)) #000000b3, inset 0 0 0 1px #79d0ed2e;background:linear-gradient(#100f1e,#0a0812);flex-direction:column;gap:0;display:flex;position:absolute}.ps-display__hero{opacity:0;pointer-events:none;border-radius:calc(6 * var(--s));flex:none;width:100%;transition:opacity .2s;overflow:hidden}.ps-display.is-open .ps-display__screen{gap:calc(8 * var(--s))}.ps-display.is-open .ps-display__hero{opacity:1;pointer-events:auto}.ps-display__images{gap:calc(10 * var(--s));flex:none;grid-template-columns:repeat(3,1fr);display:grid;position:relative}.ps-display__thumb{border-radius:calc(6 * var(--s));background:0 0;border:0;width:100%;padding:0;display:block}.ps-display__still{aspect-ratio:16/9;border:calc(1.2 * var(--s)) solid #79d0ed47;border-radius:calc(6 * var(--s));object-fit:cover;width:100%;height:auto;box-shadow:inset 0 0 calc(14 * var(--s)) #00000080;background:#100f1e;transition:border-color .18s,box-shadow .18s;display:block}.ps-display__thumb.is-active .ps-display__still,.ps-display__hero-still{box-shadow:inset 0 0 calc(14 * var(--s)) #00000073, 0 0 calc(12 * var(--s)) #79d0ed47;border-color:#8be7fdb3}.ps-display__slot--1{background:radial-gradient(circle at 50% 42%,#f3b4a44d,#0000 32%),linear-gradient(#0000 60%,#79d0ed24),linear-gradient(160deg,#1a1a30,#0d0a15)}.ps-display__slot--2{background:linear-gradient(64deg,#0000 44%,#8be7fd47 45% 49%,#0000 50%),radial-gradient(circle at 36% 60%,#79d0ed33,#0000 36%),linear-gradient(160deg,#1a1a30,#0d0a15)}.ps-display__slot--3{background:radial-gradient(circle at 70% 34%, #f8ecbdd9 0 calc(7 * var(--s)), transparent calc(8 * var(--s))), repeating-linear-gradient(90deg, transparent 0 calc(9 * var(--s)), #3a3052cc calc(9 * var(--s)) calc(16 * var(--s)), transparent calc(16 * var(--s)) calc(22 * var(--s)), #3a305299 calc(22 * var(--s)) calc(31 * var(--s))), linear-gradient(0deg, #14111f 0 32%, transparent 60%), linear-gradient(160deg, #1a1a30, #0d0a15)}.ps-display__dots{justify-content:center;gap:calc(6 * var(--s));margin-top:calc(6 * var(--s));flex:none;display:flex;position:relative}.ps-display.is-open .ps-display__dots{margin-top:0}.ps-display__dots span{width:calc(5 * var(--s));height:calc(5 * var(--s));background:#2a2840;border-radius:50%}.ps-display__dots .is-current{width:calc(9 * var(--s));border-radius:calc(3 * var(--s));background:var(--coral);box-shadow:0 0 calc(8 * var(--s)) #f3b4a4cc}@keyframes ps-arrive{0%{transform:translateX(calc(260 * var(--s)));opacity:.5}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ps-train--arrive{animation:none}.ps-display,.ps-display__hero,.ps-display__still{transition:none}}
