@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-vietnamese-400-normal-CkBxLiRJ.woff2) format("woff2"),url(/assets/anton-vietnamese-400-normal-2FfR1wHA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-ext-400-normal-SyiqE2Jt.woff2) format("woff2"),url(/assets/anton-latin-ext-400-normal-BMODBQc6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/anton-latin-400-normal-Byf51wtH.woff2) format("woff2"),url(/assets/anton-latin-400-normal-AUNGEG_V.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-vietnamese-400-normal-BF4g3tCF.woff2) format("woff2"),url(/assets/archivo-vietnamese-400-normal-FGOLYM1a.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-latin-ext-400-normal-B5tPZzqW.woff2) format("woff2"),url(/assets/archivo-latin-ext-400-normal-DrmqtLj6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-latin-400-normal-C81ewxNO.woff2) format("woff2"),url(/assets/archivo-latin-400-normal-Bl602Mgc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-vietnamese-500-normal-k0drYPZA.woff2) format("woff2"),url(/assets/archivo-vietnamese-500-normal-7W3lD2kQ.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-latin-ext-500-normal-RFhg4CpD.woff2) format("woff2"),url(/assets/archivo-latin-ext-500-normal-D7mXw3Kz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/archivo-latin-500-normal-CGugC8dq.woff2) format("woff2"),url(/assets/archivo-latin-500-normal-pkzA7jw9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-vietnamese-700-normal-nuAQAQa7.woff2) format("woff2"),url(/assets/archivo-vietnamese-700-normal-Bz2vkKqq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-latin-ext-700-normal-DD_nkw6b.woff2) format("woff2"),url(/assets/archivo-latin-ext-700-normal-CgyfnKjw.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-latin-700-normal-D9cHMWGj.woff2) format("woff2"),url(/assets/archivo-latin-700-normal-lT5TFe7H.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bone: #f3f2ed;--black: #101010;--blue: #2430e8;--white: #ffffff;--border: 3px solid var(--black);--shadow: 6px 6px 0 var(--black);--shadow-sm: 4px 4px 0 var(--black);--font-display: "Anton", "Archivo Black", Impact, sans-serif;--font-body: "Archivo", "Segoe UI", system-ui, sans-serif;--pad-x: clamp(16px, 4vw, 44px);--maxw: 1180px;--nav-height: 71px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--black);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased}::selection{background:var(--blue);color:var(--bone)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.contact :focus-visible,.marquee :focus-visible{outline-color:var(--bone)}.display{font-family:var(--font-display);font-weight:400;text-transform:uppercase;line-height:.96;letter-spacing:.005em}.skip-link{position:absolute;left:8px;top:-60px;z-index:100;background:var(--black);color:var(--bone);font-weight:700;font-size:13px;padding:8px 14px;text-decoration:none}.skip-link:focus{top:8px}.section{padding:72px var(--pad-x);border-bottom:var(--border);scroll-margin-top:var(--nav-height)}.section-inner{max-width:var(--maxw);margin:0 auto}.section-title{display:flex;align-items:center;gap:24px;font-size:clamp(40px,7vw,72px);margin:0 0 40px}.section-title:after{content:"";flex:1;height:7px;background:var(--black);min-width:40px}.btn{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:15px;letter-spacing:.03em;text-transform:uppercase;text-decoration:none;border:var(--border);padding:14px 24px;background:var(--blue);color:var(--bone);box-shadow:var(--shadow);cursor:pointer}.btn.ghost{background:var(--white);color:var(--black)}@media(prefers-reduced-motion:no-preference){.btn{transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--black)}.btn:active{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--black)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px var(--pad-x);background:var(--bone);border-bottom:var(--border)}.nav-logo{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;font-family:var(--font-display);font-size:20px;line-height:1;letter-spacing:.04em;text-decoration:none;background:var(--blue);color:var(--bone);border:var(--border);box-shadow:var(--shadow-sm)}.nav-toggle{display:none;min-height:44px;align-items:center;padding:0 16px;font-family:var(--font-body);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--bone);background:var(--black);border:var(--border);box-shadow:var(--shadow-sm);cursor:pointer}.nav-links{display:flex;align-items:center;gap:6px}.nav-link{font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;color:var(--black);padding:6px 10px}.nav-link:hover,.nav-link.is-active{background:var(--black);color:var(--bone)}.nav-hire{margin-left:8px;background:var(--blue);color:var(--bone);border:var(--border);padding:6px 12px;font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;box-shadow:var(--shadow-sm)}@media(prefers-reduced-motion:no-preference){.nav-hire{transition:transform .12s ease,box-shadow .12s ease}.nav-hire:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--black)}}@media(max-width:720px){.nav-toggle{display:inline-flex}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bone);border-bottom:var(--border);box-shadow:var(--shadow-sm)}.nav-links:not(.is-open){display:none}.nav-link{display:flex;align-items:center;min-height:44px;padding:12px var(--pad-x);font-size:16px;border-bottom:var(--border)}.nav-hire{display:flex;align-items:center;justify-content:center;min-height:48px;margin:12px var(--pad-x);padding:12px 16px;font-size:16px;box-shadow:none}}.hero{flex:1 0 auto;display:grid;align-items:center;padding:clamp(12px,5svh,76px) var(--pad-x);border-bottom:var(--border)}.intro-fold{display:flex;flex-direction:column;min-height:calc(100vh - var(--nav-height));padding-bottom:clamp(14px,2.5svh,28px)}@supports (height: 100svh){.intro-fold{min-height:calc(100svh - var(--nav-height))}}.hero .section-inner{width:100%}.hero-eyebrow{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 clamp(6px,2svh,18px)}.hero-h1{font-size:clamp(36px,min(10vw,calc(20svh - 35px)),128px);margin:0}.hero-h1 .out{color:transparent;-webkit-text-stroke:3px var(--black)}@supports not (-webkit-text-stroke: 1px #000){.hero-h1 .out{color:var(--blue)}}@media(max-width:640px){.hero-h1 .out{-webkit-text-stroke:2px var(--black)}}.hero-sub{font-size:clamp(15px,1.6vw,18px);max-width:clamp(56ch,calc(60rem - 50svh),95ch);margin:clamp(8px,3svh,26px) 0 0}.hero-ctas{display:flex;flex-wrap:wrap;gap:clamp(12px,2.5vw,22px);margin-top:clamp(10px,4svh,34px)}@media(max-height:720px){.hero-eyebrow{font-size:clamp(10px,calc(.625svh + 7.5px),12px)}.hero-sub{font-size:clamp(12px,max(calc(3svh - 6.6px),calc(1.6vw + 3svh - 21.6px),min(calc(.833svh + 9px),calc(2vw + 5.2px))),18px);line-height:clamp(16.2px,max(calc(8.8svh - 40.11px),calc(2.48vw + 8.8svh - 63.36px),min(calc(1.958svh + 9.15px),calc(2.7vw + 7.02px))),27.9px)}.hero .btn{padding-block:clamp(7px,max(calc(8.75svh - 49px),min(1.944svh,calc(5vw - 10px))),14px);padding-inline:clamp(14px,max(calc(12.5svh - 66px),min(calc(2.778svh + 4px),calc(6vw - 6px))),24px);font-size:clamp(12px,max(calc(3svh - 6.6px),min(calc(.833svh + 9px),calc(2vw + 5.2px))),15px)}}@media(max-height:480px){.intro-fold{padding-bottom:clamp(8px,calc(7.5svh - 22px),14px)}.hero{padding-block:clamp(6px,calc(15svh - 48px),24px)}.hero-eyebrow{margin-bottom:clamp(6px,calc(4.5svh - 12px),9.6px)}.hero-sub{margin-top:clamp(8px,calc(8svh - 24px),14.4px)}.hero-ctas{margin-top:clamp(10px,calc(11.5svh - 36px),19.2px)}}.marquee{position:relative;background:var(--black);color:var(--bone);overflow:hidden;border-bottom:var(--border)}.marquee-track{display:inline-flex;white-space:nowrap;font-family:var(--font-display);font-size:21px;text-transform:uppercase;letter-spacing:.04em;padding:11px 0}.marquee-seq{display:inline-flex}.marquee-seq .star{color:var(--blue);margin:0 16px}@media(prefers-reduced-motion:no-preference){.marquee-track{animation:marquee-scroll var(--marquee-duration, 24s) linear infinite}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.marquee.is-paused .marquee-track{animation-play-state:paused}}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(var(--marquee-shift, -50%))}}@media(prefers-reduced-motion:reduce){.marquee-seq:not(:first-child){display:none}.marquee-pause{display:none}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}.stat{border:var(--border);background:var(--white);box-shadow:var(--shadow);padding:20px 20px 22px}.stat.blue{background:var(--blue);color:var(--bone)}.stat-val{font-size:clamp(38px,4.5vw,56px);font-variant-numeric:tabular-nums}.stat-label{font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-top:10px}.stat-detail{font-size:13px;margin-top:4px;opacity:.85}.work-row{display:grid;grid-template-columns:170px 1fr;gap:26px;border:var(--border);background:var(--white);box-shadow:var(--shadow);padding:24px;margin-bottom:26px}.work-row:last-child{margin-bottom:0}.work-period{font-size:28px}.work-loc{font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:8px;opacity:.7}.work-co{font-size:clamp(26px,3.4vw,40px);margin:0}.work-role{color:var(--blue);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-top:6px}.work-points{margin:14px 0 0;padding-left:20px;font-size:14.5px;display:grid;gap:8px}.work-points li{list-style:square}.work-points li::marker{color:var(--blue)}@media(max-width:640px){.work-row{grid-template-columns:1fr;gap:10px}}.proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px}.proj{display:flex;flex-direction:column;gap:10px;border:var(--border);background:var(--white);box-shadow:var(--shadow);padding:22px}.proj.accent{background:var(--blue);color:var(--bone)}.proj-tag{font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.proj-name{font-size:clamp(26px,3vw,34px);margin:0}.proj-desc{font-size:14px;margin:0;flex:1}.proj-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.proj-chip{border:2px solid currentColor;padding:3px 9px;font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase}.skill-group{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:center;padding:20px 0}.skill-group:not(:last-child){border-bottom:2px solid var(--black)}.skill-label{font-size:24px}.skill-chips{display:flex;flex-wrap:wrap;gap:10px}.skill-chip{border:var(--border);background:var(--white);box-shadow:3px 3px 0 var(--black);padding:6px 13px;font-weight:700;font-size:13px;letter-spacing:.04em}@media(max-width:640px){.skill-group{grid-template-columns:1fr;gap:12px;align-items:start}}.edu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;align-items:stretch}.edu-card{border:var(--border);background:var(--white);box-shadow:var(--shadow);padding:22px}.edu-period{font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.edu-school{font-size:clamp(24px,2.6vw,32px);margin:10px 0 0}.edu-degree{font-size:14px;margin-top:6px}.edu-score{font-size:clamp(34px,4vw,48px);color:var(--blue);margin-top:14px}.edu-card.accent{background:var(--blue);color:var(--bone)}.edu-card.accent .edu-score{color:var(--bone)}.contact{background:var(--black);color:var(--bone);padding:84px var(--pad-x) 28px;scroll-margin-top:var(--nav-height)}.contact-eyebrow{font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;color:var(--bone);opacity:.8}.contact-title{font-size:clamp(56px,10vw,110px);margin:0 0 30px}.contact-title .hl{display:inline-block;background:var(--blue);color:var(--bone);padding:.08em .16em;box-shadow:6px 6px 0 var(--bone)}.contact-mail{display:inline-block;font-weight:700;font-size:clamp(18px,3vw,28px);color:var(--bone);text-decoration:none;border-bottom:4px solid var(--blue);padding-bottom:4px}.contact-mail:hover{background:var(--blue);color:var(--bone);border-bottom-color:var(--bone)}.contact-ctas{display:flex;flex-wrap:wrap;gap:22px;margin-top:38px}.contact-ctas .btn{border-color:var(--bone);box-shadow:6px 6px 0 var(--bone)}@media(prefers-reduced-motion:no-preference){.contact-ctas .btn:hover{box-shadow:9px 9px 0 var(--bone)}.contact-ctas .btn:active{box-shadow:3px 3px 0 var(--bone)}}.contact-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:72px;padding-top:16px;border-top:3px solid var(--bone);font-size:12.5px;font-weight:500;opacity:.85}
