@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/archivo-vietnamese-wght-normal.3cb37nm8mowb2.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;src:url(../media/archivo-latin-ext-wght-normal.3m-fabn93du09.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;src:url(../media/archivo-latin-wght-normal.1_q0qa17ptz5n.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-ext-wght-normal.1ladf10s224e1.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-cyrillic-wght-normal.0x7cg5h5x34js.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-greek-wght-normal.1k07jbkicvzf3.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-vietnamese-wght-normal.0a13tgqsi9z78.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-ext-wght-normal.3rxtet6g9i1k3.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(../media/jetbrains-mono-latin-wght-normal.2rmhnsrc80fag.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{--paper:#f4f4f1;--paper-2:#ecece7;--ink:#16181d;--ink-soft:#2a2d34;--graphite:#565b64;--faint:#878d97;--line:#d9d9d2;--line-strong:#b9b9b0;--accent:#1f4e79;--accent-deep:#163a5c;--ok:#1f7a4d;--sans:"Archivo Variable", "Archivo", system-ui, sans-serif;--mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, monospace;--w:min(1140px, calc(100% - 48px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16.5px;line-height:1.65}a{color:inherit;text-decoration:none}main{position:relative}h1,h2,h3{letter-spacing:-.03em;margin:0}::selection{background:var(--accent);color:#fff}[data-reveal]{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(18px)}[data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transition:none;transform:none}.heroFade,.heroLine{opacity:1!important;animation:none!important;transform:none!important}.t-caret,.statusDot{animation:none!important}*{transition-duration:.01ms!important}}.nav{z-index:100;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:18px;width:100%;padding:14px calc(50% + min(1140px,100% - 48px)/-2);display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1rem;font-weight:700;display:inline-flex}.brand svg{color:var(--accent)}.navLinks{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.navLinks a{color:var(--graphite);padding:8px 12px;font-size:.92rem;font-weight:500;position:relative}.navLinks a:after{content:"";background:var(--accent);height:2px;transition:right .25s;position:absolute;bottom:4px;left:12px;right:100%}.navLinks a:hover{color:var(--ink)}.navLinks a:hover:after{right:12px}.navLinks a.navCta{color:var(--paper);background:var(--ink);border-radius:999px;margin-left:8px;padding:9px 18px;font-weight:600}.navLinks a.navCta:after{display:none}.navLinks a.navCta:hover{background:var(--accent);color:#fff}.navToggle{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;display:none}.navToggle span{background:var(--ink);border-radius:2px;width:100%;height:2px;transition:transform .25s,opacity .2s;display:block}.navToggle.open span:first-child{transform:translateY(7px)rotate(45deg)}.navToggle.open span:nth-child(2){opacity:0}.navToggle.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{width:var(--w);margin:0 auto;padding:clamp(64px,10vh,120px) 0 72px}.eyebrow{color:var(--accent);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 22px;font-size:.78rem;font-weight:500}.eyebrow:before{content:"// ";color:var(--faint)}.eyebrow.inverse{color:#9fc2e2}.eyebrow.inverse:before{color:#fff6}.hero h1{letter-spacing:-.045em;max-width:1000px;font-size:clamp(2.6rem,7.2vw,5.4rem);font-weight:800;line-height:1.02}.heroLine{opacity:0;animation:.7s cubic-bezier(.2,.7,.2,1) forwards rise;display:block;transform:translateY(24px)}.accentLine{color:var(--accent)}.heroFade{opacity:0;animation:.8s forwards fade}@keyframes rise{to{opacity:1;transform:none}}@keyframes fade{to{opacity:1}}.heroBottom{grid-template-columns:1.05fr .95fr;align-items:start;gap:clamp(28px,5vw,64px);margin-top:clamp(36px,6vh,64px);display:grid}.heroCopy p{max-width:520px;color:var(--graphite);margin:0;font-size:1.12rem;line-height:1.75}.heroActions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{border-radius:999px;justify-content:center;align-items:center;min-height:50px;padding:0 24px;font-size:.98rem;font-weight:600;transition:transform .16s,background .16s,color .16s,border-color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{color:#fff;background:var(--ink)}.button.primary:hover{background:var(--accent)}.button.ghost{color:var(--ink);border:1.5px solid var(--line-strong)}.button.ghost:hover{border-color:var(--ink)}.button.light{color:var(--ink);background:var(--paper)}.button.light:hover{background:#fff}.terminal{border:1px solid var(--ink);background:var(--ink);color:#e8eaed;box-shadow:8px 8px 0 0 var(--paper-2), 8px 8px 0 1px var(--line-strong);border-radius:12px;overflow:hidden}.terminalBar{border-bottom:1px solid #ffffff1f;align-items:center;gap:7px;padding:11px 14px;display:flex}.terminalBar span{background:#ffffff38;border-radius:50%;width:10px;height:10px}.terminalBar em{color:#ffffff73;font-family:var(--mono);margin-left:auto;font-size:.72rem;font-style:normal}.terminalBody{min-height:196px;font-family:var(--mono);padding:16px 18px;font-size:.86rem;line-height:1.85}.t-line{white-space:pre-wrap}.t-prompt{color:#7fb1dd;font-weight:500}.t-out{color:#c9cdd3}.t-out:before{content:"→ ";color:var(--faint)}.t-caret{vertical-align:-2px;background:#7fb1dd;width:8px;height:1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.proof{width:var(--w);border-top:1px solid var(--ink);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid}.proofItem{border-right:1px solid var(--line);padding:30px 26px 30px 0}.proofItem:last-child{border-right:0}.proofItem+.proofItem{padding-left:26px}.proofItem strong{font-family:var(--mono);letter-spacing:-.05em;color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:10px;font-size:clamp(2rem,3.6vw,3rem);font-weight:700;display:block}.proofItem strong:after{content:"";background:var(--accent);transform-origin:0;width:36px;height:3px;margin-top:12px;transition:transform .7s cubic-bezier(.2,.7,.2,1) .5s;display:block;transform:scaleX(0)}.proof.is-visible .proofItem strong:after{transform:scaleX(1)}.proofItem span{color:var(--graphite);font-size:.94rem;line-height:1.55}.section{width:var(--w);margin:0 auto;padding:clamp(72px,11vh,120px) 0 0}.section h2{max-width:780px;font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:700;line-height:1.12}.split{grid-template-columns:1fr 1fr;align-items:start;gap:clamp(28px,5vw,72px);display:grid}.sectionBody{color:var(--ink-soft);gap:20px;font-size:1.06rem;line-height:1.8;display:grid}.sectionBody p{margin:0}.sectionNote{max-width:560px;color:var(--graphite);margin:14px 0 0;font-size:1.02rem}.skillsGrid{grid-template-columns:repeat(2,1fr);gap:clamp(22px,3.5vw,40px);margin-top:40px;display:grid}.skillGroup{border-top:2px solid var(--ink);padding-top:16px}.skillGroup h3{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin-bottom:14px;font-size:.8rem;font-weight:700}.chipWrap{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line-strong);color:var(--ink-soft);background:0 0;border-radius:999px;padding:7px 13px;font-size:.88rem;font-weight:500;transition:border-color .16s,background .16s,color .16s,transform .16s}.chip:hover{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-1px)}.timeline{border-top:1px solid var(--ink);margin-top:44px}.timelineRow{border-bottom:1px solid var(--line);grid-template-columns:170px 1fr;gap:clamp(18px,3vw,44px);padding:26px 0;transition:background .2s;display:grid}.timelineRow:hover{background:color-mix(in srgb, var(--paper-2) 60%, transparent)}.period{font-family:var(--mono);color:var(--accent);white-space:nowrap;padding-top:4px;font-size:.86rem;font-weight:500}.timelineBody h3{font-size:1.18rem;font-weight:700}.timelineBody .company{color:var(--faint);font-weight:500}.timelineBody p{max-width:720px;color:var(--graphite);margin:10px 0 0;line-height:1.7}.twinShell{grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(24px,4vw,48px);margin-top:44px;display:grid}.twinIntro h2{font-size:clamp(1.6rem,3vw,2.2rem)}.twinIntro>p:not(.eyebrow){color:var(--graphite);max-width:440px;line-height:1.75}.promptChips{gap:10px;margin-top:26px;display:grid}.promptChips button,.chatForm button{font:inherit;cursor:pointer}.promptChips button{border:1px solid var(--line-strong);width:100%;color:var(--ink-soft);text-align:left;background:0 0;border-radius:10px;padding:13px 16px;font-size:.93rem;transition:border-color .18s,transform .18s,background .18s}.promptChips button:hover:not(:disabled){border-color:var(--accent);background:#fff;transform:translate(4px)}.promptChips button:disabled,.chatForm button:disabled,.chatForm input:disabled{cursor:not-allowed;opacity:.55}.chatPanel{border:1px solid var(--ink);min-height:480px;box-shadow:8px 8px 0 0 var(--paper-2), 8px 8px 0 1px var(--line-strong);background:#fff;border-radius:14px;grid-template-rows:auto minmax(320px,1fr) auto auto;display:grid;overflow:hidden}.chatHeader{background:var(--ink);color:#ffffff8c;font-family:var(--mono);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.74rem;display:flex}.chatHeader div{color:#8fd4ae;align-items:center;gap:8px;display:inline-flex}.liveDot,.statusDot{background:#35c07e;border-radius:50%;width:8px;height:8px;animation:2.2s infinite pulse}@keyframes pulse{50%{opacity:.35}}.messages{flex-direction:column;gap:10px;max-height:460px;padding:16px;display:flex;overflow-y:auto}.message{border:1px solid var(--line);background:var(--paper);border-radius:12px;width:min(90%,560px);padding:12px 15px}.message span{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:5px;font-size:.66rem;font-weight:700;display:block}.message p{color:var(--ink-soft);white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.6}.message.user{background:#e9eff5;border-color:#c8d6e2;align-self:flex-end}.message.user span{color:var(--accent-deep)}.message.thinking p{color:var(--faint)}.chatError{color:#8c3030;background:#f9ecec;border:1px solid #e2b5b5;border-radius:10px;margin:0 16px 10px;padding:10px 13px;font-size:.9rem}.chatForm{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:10px;padding:12px 16px 16px;display:grid}.chatForm input{border:1px solid var(--line-strong);background:var(--paper);width:100%;min-height:48px;color:var(--ink);font:inherit;border-radius:10px;outline:0;padding:0 14px;font-size:.95rem}.chatForm input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1f4e7924}.chatForm button{color:#fff;background:var(--ink);border:0;border-radius:10px;min-width:86px;min-height:48px;font-weight:600;transition:background .16s}.chatForm button:hover:not(:disabled){background:var(--accent)}.workList{border-top:1px solid var(--ink);margin-top:44px}.workRow{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr auto;align-items:center;gap:clamp(14px,3vw,40px);padding:24px 0;transition:padding-left .22s,background .22s;display:grid}.workRow:hover{background:color-mix(in srgb, var(--paper-2) 60%, transparent);padding-left:14px}.workTag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-size:.7rem;font-weight:700}.workTag.live{color:var(--ok)}.workTag.live:before{content:"● "}.workTitle{letter-spacing:-.02em;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:700}.workArrow{color:var(--faint);font-size:1.3rem;transition:transform .22s,color .22s}.workRow:hover .workArrow{color:var(--accent);transform:translate(6px)}.cta{background:var(--ink);color:#fff;margin-top:clamp(80px,12vh,130px)}.ctaInner{width:var(--w);justify-items:start;gap:26px;margin:0 auto;padding:clamp(72px,11vh,110px) 0;display:grid}.cta h2{color:#fff;max-width:760px;font-size:clamp(1.8rem,3.8vw,2.8rem);line-height:1.14}.footer{width:var(--w);color:var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin:0 auto;padding:26px 0 34px;font-size:.88rem;display:flex}.footBrand{font-family:var(--mono);color:var(--accent);font-weight:700}.footMono{font-family:var(--mono);font-size:.76rem}@media (max-width:960px){.heroBottom,.split,.twinShell,.twin3dIntro{grid-template-columns:1fr}.proof{grid-template-columns:repeat(2,1fr)}.skillsGrid{grid-template-columns:1fr}.proofItem:nth-child(2n){border-right:0}.proofItem:nth-child(n+3){border-top:1px solid var(--line)}.proofItem{padding-left:0;padding-right:20px}.proofItem:nth-child(2n){padding-left:20px}}@media (max-width:760px){.navToggle{display:flex}.navLinks{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:2px;padding:12px 20px 18px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 30px #16181d14}.navLinks.open{display:flex}.navLinks a{border-bottom:1px solid var(--line);padding:13px 6px;font-size:1rem}.navLinks a:after{display:none}.navLinks a.navCta{text-align:center;border-bottom:0;border-radius:12px;margin:12px 0 0;padding:13px}}@media (max-width:640px){body{font-size:16px}.nav{padding-left:20px;padding-right:20px}.hero h1{letter-spacing:-.035em;font-size:2.1rem}.proof{grid-template-columns:1fr}.proofItem{border-top:1px solid var(--line);border-right:0!important;padding:20px 0!important}.proofItem:first-child{border-top:0}.timelineRow{grid-template-columns:1fr;gap:8px}.workRow{grid-template-columns:1fr auto}.workTag{grid-column:1/-1}.terminalBody{min-height:220px}.chatForm{grid-template-columns:1fr}}
