@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.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}@font-face{font-family:Archivo Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-italic-DS6JCx7O.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:Archivo Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-italic-Cq9u_6Zz.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:Archivo Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-italic-BuvkOFDm.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}@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{--blue:#1d43c2;--blue-deep:#13308f;--blue-dark:#0b1d5c;--ink:#050a1f;--display:"Archivo Variable", "Arial Black", Arial, sans-serif;--text:"Inter Variable", "Helvetica Neue", Helvetica, Arial, sans-serif;--ease:cubic-bezier(.2, .7, .1, 1)}*{box-sizing:border-box}html,body{background:var(--blue-dark);height:100%;color:var(--ink);font-family:var(--text);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}#stage{background:radial-gradient(at 50% 45%,#1a3ba8 0%,#0b1d5c 75%);position:fixed;inset:0}#scene{touch-action:none;opacity:0;width:100%;height:100%;transition:opacity 1.6s var(--ease);display:block}body.ready #scene{opacity:1}.loading{font:italic 800 .8rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#050a1fbf;pointer-events:none;margin:0;font-stretch:112%;transition:opacity .6s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}body.ready .loading,body.no-webgl .loading{opacity:0}#hud{pointer-events:none;transition:opacity .7s var(--ease);position:fixed;inset:0}#hud a,#hud button{pointer-events:auto}body.inside #hud{opacity:0}body.inside #hud a,body.inside #hud button{pointer-events:none}.hud-top,.hud-bottom{justify-content:space-between;align-items:center;padding:clamp(1rem,2.4vw,2rem) clamp(1rem,3vw,2.6rem);display:flex;position:absolute;left:0;right:0}.hud-top{top:0}.hud-bottom{padding-bottom:max(clamp(1rem, 2.4vw, 2rem), env(safe-area-inset-bottom));bottom:0}.mark{font:900 .95rem/1 var(--display);letter-spacing:-.01em;font-stretch:125%}.txt-btn{cursor:pointer;font:italic 800 .78rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid;padding:.4rem 0;font-stretch:112%}.hud-bottom nav{gap:clamp(1rem,2.5vw,2rem);display:flex}.hud-bottom nav a{font:600 .8rem/1 var(--text);letter-spacing:.02em;border-bottom:1px solid #050a1f80;padding-bottom:2px;text-decoration:none}.hud-bottom nav a:hover{border-bottom-color:var(--ink)}.hud-note{font:500 .75rem/1.3 var(--text);opacity:.8;text-align:right;max-width:40ch}.gate{text-align:center;width:min(92vw,34rem);position:absolute;top:41%;left:50%;transform:translate(-50%,-50%)}.gate-brand{font:900 clamp(.9rem, 1.4vw, 1.1rem)/1 var(--display);letter-spacing:.32em;opacity:.9;margin:0 0 1.1rem;font-stretch:125%}.enter{cursor:pointer;font:900 clamp(1.5rem, 3.3vw, 2.6rem)/1 var(--display);letter-spacing:-.01em;transition:transform .4s var(--ease), opacity .3s;background:0 0;border:0;padding:.5rem .25rem;font-stretch:112%}.enter:hover{transform:scale(1.03)}.enter kbd{font:inherit}.gate-hint{font:500 .95rem/1.4 var(--text);margin:.9rem 0 0}.gate-msg{min-height:1.2em;font:600 .8rem/1.4 var(--text);margin:.6rem 0 0}.enter-touch,body.touch .enter-desk{display:none}body.touch .enter-touch{display:inline}.inroom-hint{font:italic 800 .72rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#050a1fcc;opacity:0;pointer-events:none;white-space:nowrap;margin:0;font-stretch:112%;transition:opacity .8s;position:fixed;bottom:1.6rem;left:50%;transform:translate(-50%)}.inroom-hint.show{opacity:1}.exit-btn{right:1rem;top:max(1rem, env(safe-area-inset-top));border:1.5px solid var(--ink);font:italic 800 .72rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:#050a1f1f;padding:.55rem .9rem;display:none;position:fixed}body.inside.touch .exit-btn{display:block}.page{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}body.no-webgl .page{clip-path:none;white-space:normal;z-index:20;background:var(--blue);background-image:radial-gradient(at 50% 0,#2a55d8 0%,#1d43c2 45%,#15359f 100%);width:auto;height:auto;position:fixed;inset:0;overflow-y:auto}body.no-webgl{overflow:auto}.page-inner{max-width:68rem;margin:0 auto;padding:clamp(4rem,9vw,7rem) clamp(1.25rem,5vw,3rem) 6rem}.page section{border-top:2px solid var(--ink);padding:3.2rem 0 2.4rem}.pg-head{padding-bottom:3rem}.pg-kicker,.pg-num{font:600 .95rem/1 var(--display);letter-spacing:.04em;margin:0 0 .6rem;font-stretch:75%}.pg-title{font:900 clamp(2.6rem, 10.5vw, 8.5rem)/.86 var(--display);letter-spacing:-.04em;margin:0;font-stretch:125%}.pg-role{font:italic 900 clamp(.85rem, 1.9vw, 1.35rem)/1.2 var(--display);margin:1.2rem 0 0;font-stretch:125%}.pg-h{font:800 clamp(2.4rem, 7vw, 5.6rem)/.9 var(--display);letter-spacing:-.03em;word-spacing:.12em;text-transform:uppercase;margin:0 0 1.6rem}.pg-h.cond{font-stretch:75%}.pg-h.wide{font-weight:900;font-stretch:125%}.pg-sub{font:800 1.2rem/1 var(--display);text-transform:uppercase;margin:2rem 0 .6rem;font-stretch:75%}.page p{max-width:60ch;font-size:1.02rem;line-height:1.55}.pg-lead{font-weight:560;font-size:1.3rem!important;line-height:1.35!important}.pg-facts{grid-template-columns:max-content 1fr;gap:.5rem 1.6rem;margin:1.6rem 0 0;display:grid}.pg-facts dt{font:800 1rem/1.4 var(--display);text-transform:uppercase;font-stretch:75%}.pg-facts dd{margin:0;line-height:1.4}.pg-list{margin:0;padding:0;list-style:none}.pg-list li{border-bottom:1px solid #050a1fb3;padding:1rem 0}.pg-list .row{flex-wrap:wrap;gap:0 .4rem;font-size:1.05rem;display:flex}.pg-list .row strong{text-transform:uppercase;letter-spacing:.01em}.when{margin-left:auto;padding-left:1rem;font-weight:500}.pg-list p{margin:.3rem 0 0}.projects li{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:.4rem 2rem;display:grid}.projects h3{font:italic 900 clamp(1.2rem, 2.6vw, 1.9rem)/1 var(--display);margin:0;font-stretch:125%}.projects h3 a{text-decoration:none}.projects h3 a:hover{text-decoration:underline}.pg-also span{font:italic 800 .85rem/1 var(--display);text-transform:uppercase;margin-right:.8rem}.pg-split{grid-template-columns:1fr 1fr;gap:0 3rem;display:grid}.pg-skills{columns:2;margin:0;padding:0;font-size:1.1rem;font-weight:560;line-height:1.75;list-style:none}.pg-facts.groups dt{font-size:.95rem}.pg-links{margin:0;padding:0;list-style:none}.pg-links li{border-bottom:1px solid #050a1fb3;gap:2rem;padding:.9rem 0;font-size:1.1rem;display:flex}.pg-links span{width:6.5rem;font:italic 800 .95rem/1.6 var(--display);text-transform:uppercase}.pg-links a{word-break:break-all;font-weight:560}.pg-sign{text-align:right;margin-top:2.4rem;font-stretch:125%;font:italic 900 clamp(1.1rem, 2.4vw, 1.6rem)/1.2 var(--display)!important;max-width:none!important}@media (max-width:720px){.projects li,.pg-split{grid-template-columns:1fr}.hud-note{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}.pg-points{max-width:68ch;margin:.5rem 0 0;padding-left:1.1rem;line-height:1.5}.pg-points li{margin:.25rem 0}.pg-tag{font-weight:560;margin:0!important}.pg-tag span{opacity:.85;font-weight:450}.projects li{align-items:start}.pg-certs{columns:2 22rem;column-gap:3rem;margin:0;padding:0;line-height:1.5;list-style:none}.pg-certs li{break-inside:avoid;border-bottom:1px solid #050a1f80;padding:.4rem 0}.flick{animation:6s step-end infinite flick}@keyframes flick{0%,62%,to{opacity:1}64%{opacity:.2}68%{opacity:.9}72%{opacity:.3}76%{opacity:1}88%{opacity:.35}92%{opacity:1}}@media (prefers-reduced-motion:reduce){.flick{animation:none}}.door-hint{font:italic 800 .72rem/1 var(--display);letter-spacing:.22em;text-transform:uppercase;color:#ff4a3aeb;text-shadow:0 0 14px #ff281e73;opacity:0;pointer-events:none;white-space:nowrap;will-change:transform;margin:0;font-stretch:112%;transition:opacity .9s;position:fixed;top:0;left:0}.door-hint.show{opacity:1}body.cinematic .door-hint{opacity:0;transition-duration:.25s}body.cinematic #hud,body.cinematic .inroom-hint,body.cinematic .exit-btn{opacity:0;pointer-events:none;display:none}body.cinematic #scene{cursor:none}.sound-btn{left:max(1rem, env(safe-area-inset-left));bottom:max(1rem, env(safe-area-inset-bottom));z-index:5;cursor:pointer;font:italic 800 .7rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#050a1fb3;background:0 0;border:0;border-bottom:1.5px solid;padding:.4rem 0;font-stretch:112%;transition:opacity .6s;position:fixed}.sound-btn:hover{color:var(--ink)}.sound-btn[hidden]{display:none}body.cinematic .sound-btn{opacity:0;pointer-events:none}.basement-hint{font:400 .68rem/1 var(--text);letter-spacing:.28em;color:#c4cee88c;text-shadow:none;font-style:normal}
