@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color:#fff0d3;font-synthesis:none;text-rendering:optimizelegibility;--ink-950:#07142b;--ink-900:#0d1c38;--cream-100:#fff0d3;--cream-200:#e7d8bd;--coral-500:#f26b4f;--coral-300:#ff9a7f;--focus:#7fe5d3;--overlay-surface:#08142bcc;--overlay-header:#0f2344b8;--overlay-compact:#07142bd1;background:#07142b;font-family:Inter Variable,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}html{background:var(--ink-950);scrollbar-width:none}html::-webkit-scrollbar{display:none}body{min-height:100svh;overflow:hidden auto}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{background:var(--ink-950);height:650svh;position:relative}.experience-shell{background:radial-gradient(circle at 50% 42%, #11264a 0%, var(--ink-950) 70%);min-height:100svh;position:sticky;top:0;overflow:hidden}.scene-shell,.scene-shell canvas{inset:0;width:100%!important;height:100%!important;position:absolute!important}.scene-shell:after{content:"";pointer-events:none;background:linear-gradient(90deg,#07142b24 0%,#0000 28%),linear-gradient(#0000 68%,#07142b1a 100%);position:absolute;inset:0}.skip-link{z-index:30;color:var(--ink-950);background:var(--cream-100);padding:10px 16px;transition:transform .18s;position:fixed;top:12px;left:50%;transform:translate(-50%,-180%)}.skip-link:focus{transform:translate(-50%)}.site-header{z-index:10;align-items:center;padding:28px clamp(24px,2.8vw,40px);display:flex;position:relative}.brand{letter-spacing:-.04em;cursor:pointer;background:0 0;border:0;align-items:center;gap:.22em;padding:0 0 .22em;font-size:clamp(1.35rem,2vw,2rem);font-weight:800;display:inline-flex;position:relative}.brand:after{background:var(--coral-500);content:"";border-radius:999px;height:2px;position:absolute;bottom:0;left:0;right:0}.brand-star{color:currentColor;letter-spacing:0;font-size:.9em;line-height:.8;transform:translateY(-.03em)}.site-header nav{gap:clamp(28px,3.5vw,58px);margin-left:auto;display:flex}.site-header nav button{color:var(--cream-200);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:8px 0;font-size:1.125rem;font-weight:500}.site-header nav button:hover,.site-header nav button:focus-visible,.site-header nav button[aria-current=page]{color:var(--cream-100);border-color:var(--coral-500)}.language-switcher{color:#fff0d366;letter-spacing:.06em;align-items:center;gap:4px;margin-left:clamp(18px,2vw,30px);font-size:.76rem;font-weight:700;display:inline-flex}.language-switcher button{color:#fff0d375;cursor:pointer;background:0 0;border:0;padding:8px 2px}.language-switcher button:hover,.language-switcher button[aria-pressed=true]{color:var(--cream-100)}.menu-toggle{background:#07142bb3;border:1px solid #fff0d357;border-radius:999px;order:3;padding:9px 15px;display:none}.hero-copy{z-index:5;pointer-events:none;width:min(540px,42vw);transition:opacity .24s,transform .24s;position:absolute;bottom:clamp(42px,4.2vh,48px);left:clamp(24px,2.8vw,44px)}.hero-copy.is-away{opacity:0;pointer-events:none;transform:translateY(18px)}.hero-copy h1{letter-spacing:-.065em;max-width:12ch;margin:0;font-size:clamp(2.5rem,3.5vw,3.5rem);line-height:.95}.hero-copy p{max-width:38ch;color:var(--cream-200);margin:20px 0 24px;font-size:clamp(.95rem,1.2vw,1.13rem);line-height:1.55}.hero-copy button{border:2px solid var(--cream-100);background:var(--coral-500);pointer-events:auto;cursor:pointer;border-radius:25px;align-items:center;gap:42px;min-height:66px;padding:0 32px;font-size:1.25rem;font-weight:700;transition:transform .18s,background .18s;display:inline-flex;box-shadow:0 10px 26px #f26b4f2e}.hero-copy button:hover{background:var(--coral-300);transform:translateY(-2px)}.hero-copy button span{font-size:1.4rem}.route-rail{z-index:6;gap:29px;display:grid;position:absolute;top:50%;right:clamp(48px,5.1vw,82px);transform:translateY(-50%)}.route-rail:before{content:"";z-index:-1;background:linear-gradient(to bottom, var(--coral-500) 0 var(--route-progress), #fff0d32e var(--route-progress) 100%);width:1px;position:absolute;top:6px;bottom:6px;left:6px}.route-rail button{cursor:pointer;background:#fff0d35c;border:1px solid #fff0d36b;border-radius:50%;width:13px;height:13px;padding:0;transition:transform .18s,background .18s;position:relative}.route-rail button:hover{transform:scale(1.25)}.route-rail button[aria-current=step]{background:var(--coral-500);border-color:var(--cream-100);box-shadow:0 0 0 4px #f26b4f1f}.route-rail button span{background:var(--overlay-compact);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--cream-100);letter-spacing:.02em;opacity:0;pointer-events:none;white-space:nowrap;border:1px solid #fff0d329;border-radius:7px;padding:5px 8px;font-size:.67rem;font-weight:600;transition:opacity .15s,transform .15s;position:absolute;top:50%;right:24px;transform:translate(6px,-50%)}.route-rail button:hover span,.route-rail button:focus-visible span{opacity:1;transform:translateY(-50%)}.help-hint{z-index:5;color:#fff0d3b3;gap:18px;margin:0;font-size:1rem;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.help-hint span+span:before{content:"·";margin-right:18px}.panel-dismiss-layer{z-index:4;cursor:default;background:0 0;position:absolute;inset:0}.info-panel{z-index:12;background:var(--overlay-surface);-webkit-backdrop-filter:blur(18px)saturate(112%);backdrop-filter:blur(18px)saturate(112%);opacity:0;pointer-events:none;border:1px solid #fff0d333;border-radius:22px;grid-template-rows:auto minmax(0,1fr);width:min(460px,100vw - 48px);max-height:min(78svh,760px);transition:opacity .22s,transform .22s;display:grid;position:absolute;top:50%;right:clamp(48px,7vw,110px);overflow:hidden;transform:translate(24px,-50%);box-shadow:0 24px 70px #00000057}.info-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(-50%)}.panel-header{background:var(--overlay-header);touch-action:none;border-bottom:1px solid #fff0d329;padding:32px 60px 24px 32px}.panel-scroll{overscroll-behavior:contain;scrollbar-color:#fff0d340 transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;min-height:0;padding:0 32px 32px;overflow-y:auto}.info-panel h2{letter-spacing:-.055em;margin:5px 0 14px;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1}.info-panel h2:focus{outline:none}.panel-index{color:var(--coral-300);letter-spacing:.14em;margin:0;font-size:.75rem;font-weight:700}.panel-kicker{color:var(--cream-200);letter-spacing:.11em;text-transform:uppercase;margin:22px 0 0;font-size:.72rem;font-weight:600}.panel-introduction{color:var(--cream-200);margin:0;font-size:.94rem;line-height:1.58}.panel-close{z-index:2;background:var(--ink-900);width:36px;height:36px;color:var(--cream-200);cursor:pointer;border:1px solid #fff0d324;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:18px}.panel-items{border-top:0}.panel-item{border-bottom:1px solid #fff0d324;grid-template-columns:30px 1fr;gap:10px;padding:17px 0;display:grid}.panel-item>span{color:var(--coral-300);letter-spacing:.08em;padding-top:2px;font-size:.65rem;font-weight:700}.panel-item h3{letter-spacing:-.02em;margin:0;font-size:.92rem}.panel-item p{color:var(--cream-200);margin:6px 0 0;font-size:.8rem;line-height:1.5}.panel-item .panel-meta{color:var(--coral-300);letter-spacing:.04em;text-transform:uppercase;margin-top:5px;font-size:.65rem;font-weight:600}.contact-form{background:#fff0d309;border:1px solid #fff0d324;border-radius:16px;gap:14px;margin-top:22px;padding:20px;display:grid}.contact-form-heading h3{letter-spacing:-.025em;margin:0;font-size:1rem}.contact-form-heading p{color:var(--cream-200);margin:6px 0 0;font-size:.72rem;line-height:1.5}.contact-form label{color:var(--cream-200);gap:6px;font-size:.7rem;font-weight:600;display:grid}.contact-field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-width:0;color:var(--cream-100);background:#07142bc7;border:1px solid #fff0d333;border-radius:9px;font:500 .8rem/1.4 Inter Variable,Inter,ui-sans-serif,system-ui,sans-serif}.contact-form input,.contact-form select{min-height:42px;padding:0 11px}.contact-form textarea{resize:vertical;min-height:104px;padding:10px 11px}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--focus);outline-offset:1px;outline:2px solid #7fe5d333}.contact-form button{border:1px solid var(--cream-100);background:var(--coral-500);min-height:44px;color:var(--cream-100);cursor:pointer;border-radius:11px;font-size:.8rem;font-weight:700}.contact-form button:hover{background:var(--coral-300)}.contact-form button:disabled{cursor:wait;opacity:.68}.contact-form-status{min-height:1.2em;color:var(--cream-200);margin:0;font-size:.72rem;line-height:1.5}.panel-actions{flex-wrap:wrap;gap:18px 24px;padding-top:22px;display:flex}.text-action{color:var(--cream-100);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:10px;padding:0 0 4px;font-weight:700;text-decoration:none;display:inline-flex}.object-tooltip-anchor{-webkit-user-select:none;user-select:none}.object-tooltip{background:var(--overlay-compact);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--cream-100);letter-spacing:.02em;white-space:nowrap;border:1px solid #fff0d338;border-radius:8px;padding:7px 10px;font-size:.72rem;font-weight:700;display:block;box-shadow:0 8px 24px #00000047}.building-callout-anchor{-webkit-user-select:none;user-select:none}.building-callout{border:1.5px solid var(--callout-accent);background:var(--overlay-compact);width:208px;box-shadow:0 9px 24px #00000061, 0 0 10px color-mix(in srgb, var(--callout-accent) 18%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--cream-100);text-align:left;border-radius:9px;gap:3px;padding:10px 12px 11px;animation:.15s ease-out both building-callout-in;display:grid;position:relative}.building-callout:after{background:var(--callout-accent);width:1px;height:20px;box-shadow:0 0 6px color-mix(in srgb, var(--callout-accent) 45%, transparent);content:"";position:absolute;top:100%;left:50%;transform:translate(-50%)}.building-callout strong{letter-spacing:.025em;text-transform:uppercase;font-size:.78rem;font-weight:800;line-height:1.2}.building-callout>span{color:var(--cream-100);opacity:.82;font-size:.68rem;font-weight:500;line-height:1.35}.loading-screen{z-index:25;background:var(--ink-950);text-align:center;place-content:center;gap:14px;transition:opacity .36s,visibility .36s;display:grid;position:fixed;inset:0}.loading-screen.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loading-screen strong{letter-spacing:-.04em;font-size:1.55rem}.loading-screen p{color:var(--cream-200);margin:0;font-size:.82rem}.loading-line{background:#fff0d326;width:180px;height:2px;overflow:hidden}.loading-line span{background:var(--coral-500);width:55%;height:100%;animation:1s ease-in-out infinite alternate load-city;display:block}.webgl-fallback{background:radial-gradient(circle at 70% 30%, #1c3155, var(--ink-950) 56%);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.webgl-fallback>div{text-align:center;max-width:620px}.webgl-fallback h2{letter-spacing:-.05em;margin:0 0 14px;font-size:clamp(2rem,5vw,4rem)}.webgl-fallback p{color:var(--cream-200);line-height:1.6}.fallback-links{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.fallback-links button{cursor:pointer;background:0 0;border:1px solid #fff0d359;border-radius:10px;padding:10px 14px}@keyframes load-city{to{transform:translate(82%)}}@keyframes building-callout-in{0%{opacity:0;transform:translateY(7px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=900px){.site-header{padding:20px}.language-switcher{margin-left:auto;margin-right:12px}.menu-toggle{display:block}.site-header nav{background:var(--overlay-compact);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #fff0d329;border-radius:16px;width:min(250px,100vw - 40px);margin-left:0;padding:12px;display:none;position:absolute;top:68px;right:20px;box-shadow:0 20px 50px #00000059}.site-header nav.nav-open{display:grid}.site-header nav button{text-align:left;min-height:44px;padding:10px 12px}.hero-copy{width:calc(100% - 72px);bottom:64px;left:20px}.hero-copy h1{font-size:clamp(2.3rem,11vw,4rem)}.hero-copy p{max-width:29ch;margin:14px 0 18px}.route-rail{right:18px}.help-hint{width:max-content;max-width:calc(100% - 40px);bottom:18px}.help-hint span:first-child,.help-hint .zoom-hint{display:none}.help-hint span+span:before{content:none}.info-panel{width:auto;max-height:min(65svh,620px);inset:auto 12px 12px;transform:translateY(24px)}.info-panel.is-open{transform:translateY(0)}.panel-header{cursor:grab;-webkit-user-select:none;user-select:none;padding:30px 56px 20px 26px;position:relative}.panel-header:before{content:"";background:#fff0d36b;border-radius:999px;width:38px;height:4px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.panel-scroll{min-height:0;padding:0 26px 26px}.contact-field-row{grid-template-columns:1fr}.panel-close{top:12px;right:14px}.route-rail button span{display:none}.building-callout{width:168px;padding:9px 10px 10px}.building-callout strong{font-size:.68rem}.building-callout>span{font-size:.59rem}}@media (height<=670px) and (width>=821px){.hero-copy{bottom:50px}.hero-copy h1{font-size:3.1rem}.hero-copy p{margin:12px 0 16px}}@media (height<=760px) and (orientation:landscape){.info-panel{max-height:min(82svh,660px)}.panel-header{padding:18px 54px 14px 24px}.panel-scroll{padding:0 24px 20px}.panel-index{font-size:.68rem}.panel-kicker{margin-top:10px;font-size:.66rem}.info-panel h2{margin:2px 0 8px;font-size:clamp(1.55rem,4.8vh,2rem)}.panel-introduction{font-size:.82rem;line-height:1.42}.panel-item{padding:12px 0}.panel-close{width:34px;height:34px;top:10px;right:14px}}@media (orientation:landscape) and (height<=600px){.site-header{padding:12px 18px}.brand{font-size:clamp(1.15rem,4.8vh,1.45rem)}.language-switcher{margin-right:8px;font-size:.67rem}.menu-toggle{padding:7px 13px;font-size:.86rem}.site-header nav{max-height:calc(100svh - 62px);top:54px;right:18px;overflow-y:auto}.hero-copy{width:min(330px,45vw);bottom:22px;left:20px}.hero-copy h1{max-width:11ch;font-size:clamp(1.75rem,8vh,2.35rem);line-height:.92}.hero-copy p{max-width:31ch;margin:8px 0 11px;font-size:clamp(.7rem,2.8vh,.86rem);line-height:1.35}.hero-copy button{border-radius:18px;gap:22px;min-height:48px;padding:0 22px;font-size:.9rem}.route-rail{gap:16px;right:12px}.help-hint{font-size:.72rem;bottom:8px;left:50%;right:auto}.info-panel{width:min(520px,100vw - 24px);max-height:none;inset:58px 12px 10px auto;transform:translate(24px)}.info-panel.is-open{transform:translate(0)}.panel-header{padding:17px 48px 11px 18px}.panel-header:before{width:32px;height:3px;top:7px}.panel-scroll{padding:0 18px 14px}.panel-index{font-size:.62rem}.panel-kicker{margin-top:6px;font-size:.58rem}.info-panel h2{margin:1px 0 5px;font-size:clamp(1.2rem,6vh,1.55rem)}.panel-introduction{font-size:.7rem;line-height:1.32}.panel-item{grid-template-columns:24px 1fr;gap:8px;padding:9px 0}.panel-item h3{font-size:.78rem}.panel-item p{margin-top:3px;font-size:.67rem;line-height:1.35}.panel-close{width:32px;height:32px;top:8px;right:10px}.contact-form{gap:10px;margin-top:14px;padding:14px}.panel-actions{padding-top:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
