@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-ext-wght-normal.3_enilo7h9-3t.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-wght-normal.1c6_4mawwj-hb.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:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-ext-wght-italic.249sesl3gh78a.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:Instrument Sans Variable;font-style:italic;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-wght-italic.3wk83gf745_l8.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:Anybody Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/anybody-vietnamese-wght-normal.2mvlh-nxdgl0b.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:Anybody Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/anybody-latin-ext-wght-normal.20z__frh6yoe1.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:Anybody Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/anybody-latin-wght-normal.15kjepozk4xle.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:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(../media/lato-latin-ext-400-normal.07au8m6l8nzol.woff2)format("woff2"),url(../media/lato-latin-ext-400-normal.1r_64e_pb4f5o.woff)format("woff");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:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(../media/lato-latin-400-normal.3fqdk3zcgat4k.woff2)format("woff2"),url(../media/lato-latin-400-normal.444hmg3g_660w.woff)format("woff");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:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(../media/lato-latin-ext-700-normal.2s5wuck6fv1gy.woff2)format("woff2"),url(../media/lato-latin-ext-700-normal.3lkhdpak_td2_.woff)format("woff");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:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(../media/lato-latin-700-normal.4381_sqwva1n-.woff2)format("woff2"),url(../media/lato-latin-700-normal.0j92csaktjfdi.woff)format("woff");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{--dk-bg:#00081d;--dk-text:#fffcf6;--dk-title:#f0e9db;--dk-link:#84bcff;--lt-bg:#fffcf6;--lt-text:#00081d;--lt-title:#00081d;--lt-link:#0076b2;--c-dark:var(--dk-bg);--c-cream:var(--dk-title);--c-light:var(--lt-bg);--c-grey:#787b7d;--c-blue:#84bcff;--c-linkedin:#0076b2;--gutter:clamp(16px, 4.76vw, 72px);--header-h:64px;--radius:8px;--font-ui:"Instrument Sans Variable", system-ui, sans-serif;--font-body:"Lato", system-ui, sans-serif;--font-display:"Anybody Variable", var(--font-ui);--ls-tight:.05em;--ls-wide:.106em;--ls-wider:.25em;--ease:cubic-bezier(.22, 1, .36, 1);--ts-hello-font:var(--font-ui);--ts-hello-size:clamp(15px, 1.2vw, 18px);--ts-hello-tracking:.05em;--ts-displayThin-font:var(--font-ui);--ts-displayThin-weight:400;--ts-displayThin-size:clamp(26px, 3.2vw, 48px);--ts-displayThin-tracking:.25em;--ts-displayThin-case:uppercase;--ts-displayBold-font:var(--font-ui);--ts-displayBold-weight:700;--ts-displayBold-size:clamp(30px, 3.97vw, 60px);--ts-displayBold-tracking:.106em;--ts-displayBold-case:uppercase;--ts-contactTitle-font:var(--font-ui);--ts-contactTitle-weight:700;--ts-contactTitle-size:clamp(26px, 3.2vw, 48px);--ts-contactTitle-tracking:.106em;--ts-contactTitle-case:uppercase;--ts-contactTitle-lh:1.25;--ts-pageTitle-font:var(--font-ui);--ts-pageTitle-weight:500;--ts-pageTitle-size:clamp(32px, 3.2vw, 48px);--ts-pageTitle-tracking:.106em;--ts-pageTitle-case:uppercase;--ts-skill-font:var(--font-ui);--ts-skill-weight:600;--ts-skill-size:clamp(18px, 1.6vw, 24px);--ts-skill-tracking:.106em;--ts-skill-case:uppercase;--ts-stat-font:var(--font-ui);--ts-stat-weight:700;--ts-stat-size:clamp(36px, 2.65vw, 40px);--ts-stat-lh:1.1;--ts-tab-font:var(--font-ui);--ts-tab-weight:500;--ts-tab-size:clamp(12px, 1.05vw, 16px);--ts-tab-tracking:.106em;--ts-tab-case:uppercase;--ts-filter-font:var(--font-ui);--ts-filter-weight:700;--ts-filter-size:13px;--ts-filter-tracking:.05em;--ts-filter-case:uppercase;--ts-nav-font:var(--font-ui);--ts-nav-weight:700;--ts-nav-size:15px;--ts-nav-tracking:.05em;--ts-nav-case:uppercase;--ts-button-font:var(--font-ui);--ts-button-weight:700;--ts-button-size:15px;--ts-button-tracking:.05em;--ts-button-case:uppercase;--ts-label-font:var(--font-ui);--ts-label-weight:700;--ts-label-size:15px;--ts-label-case:uppercase;--ts-label-lh:14px;--ts-body-font:var(--font-body);--ts-body-size:15px;--ts-body-tracking:.02em;--ts-body-lh:20px;--ts-quote-font:var(--font-ui);--ts-quote-size:15px;--ts-quote-tracking:.01em;--ts-quote-lh:1.32;--ts-quote-style:italic;--ts-transition-font:var(--font-display);--ts-transition-weight:900;--ts-transition-case:uppercase;--ts-transition-lh:1}:root,[data-theme=dark]{--bg:var(--dk-bg);--fg:var(--dk-text);--fg-title:var(--dk-title);--fg-muted:color-mix(in srgb, var(--dk-text) 75%, transparent);--fg-dim:color-mix(in srgb, var(--dk-title) 50%, transparent);--line:color-mix(in srgb, var(--dk-title) 25%, transparent);--inv-bg:var(--lt-bg);--inv-fg:var(--lt-text);--link:var(--dk-link);--tile-hover-bg:var(--lt-bg);--logo-cut:var(--dk-bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:var(--lt-bg);--fg:var(--lt-text);--fg-title:var(--lt-title);--fg-muted:color-mix(in srgb, var(--lt-text) 70%, transparent);--fg-dim:color-mix(in srgb, var(--lt-text) 45%, transparent);--line:color-mix(in srgb, var(--lt-text) 20%, transparent);--inv-bg:var(--dk-bg);--inv-fg:var(--dk-text);--link:var(--lt-link);--tile-hover-bg:var(--dk-bg);--logo-cut:var(--lt-bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .4s var(--ease), color .4s var(--ease);font-size:15px;line-height:1.35;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}img,svg,video{max-width:100%;display:block}:focus-visible{outline:2px solid var(--link);outline-offset:3px}::selection{background:var(--c-cream);color:var(--c-dark)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}html body :where(.t-label){font-family:var(--ts-label-font,inherit);font-weight:var(--ts-label-weight,inherit);font-size:var(--ts-label-size,inherit);letter-spacing:var(--ts-label-tracking,inherit);text-transform:var(--ts-label-case,inherit);line-height:var(--ts-label-lh,inherit);font-style:var(--ts-label-style,inherit)}.t-label{color:var(--fg-muted)}html body :where(.t-nav){font-family:var(--ts-nav-font,inherit);font-weight:var(--ts-nav-weight,inherit);font-size:var(--ts-nav-size,inherit);letter-spacing:var(--ts-nav-tracking,inherit);text-transform:var(--ts-nav-case,inherit);line-height:var(--ts-nav-lh,inherit);font-style:var(--ts-nav-style,inherit)}html body :where(.t-page-title){font-family:var(--ts-pageTitle-font,inherit);font-weight:var(--ts-pageTitle-weight,inherit);font-size:var(--ts-pageTitle-size,inherit);letter-spacing:var(--ts-pageTitle-tracking,inherit);text-transform:var(--ts-pageTitle-case,inherit);line-height:var(--ts-pageTitle-lh,inherit);font-style:var(--ts-pageTitle-style,inherit)}.t-page-title{color:var(--fg)}html body :where(.t-body){font-family:var(--ts-body-font,inherit);font-weight:var(--ts-body-weight,inherit);font-size:var(--ts-body-size,inherit);letter-spacing:var(--ts-body-tracking,inherit);text-transform:var(--ts-body-case,inherit);line-height:var(--ts-body-lh,inherit);font-style:var(--ts-body-style,inherit)}html body :where(.btn){font-family:var(--ts-button-font,inherit);font-weight:var(--ts-button-weight,inherit);font-size:var(--ts-button-size,inherit);letter-spacing:var(--ts-button-tracking,inherit);text-transform:var(--ts-button-case,inherit);line-height:var(--ts-button-lh,inherit);font-style:var(--ts-button-style,inherit)}.btn{--btn-c:var(--fg-title);--btn-bg:var(--bg);background:linear-gradient(var(--btn-bg), var(--btn-bg)) padding-box, linear-gradient(100deg, color-mix(in srgb, var(--btn-c) 5%, transparent), var(--btn-c) 50%, color-mix(in srgb, var(--btn-c) 5%, transparent)) border-box;min-height:48px;color:var(--btn-c);transition:opacity .3s var(--ease), background .3s var(--ease);border:2px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:10px 24px;display:inline-flex}.btn:hover:not(:disabled){background:linear-gradient(var(--btn-bg), var(--btn-bg)) padding-box, linear-gradient(100deg, color-mix(in srgb, var(--btn-c) 40%, transparent), var(--btn-c) 50%, color-mix(in srgb, var(--btn-c) 40%, transparent)) border-box}.btn:disabled{opacity:.1;cursor:not-allowed}.btn-inverse{--btn-c:var(--inv-fg);--btn-bg:var(--inv-bg)}.container{padding-inline:var(--gutter)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.grecaptcha-badge{visibility:hidden}html[data-intro] .type-char{opacity:0;animation:1ms linear forwards type-in;animation-delay:calc(var(--t) * 1ms)}@keyframes type-in{to{opacity:1}}.type-word{display:inline-block}html[data-intro] .type-word{opacity:0;animation:word-in .35s var(--ease) forwards;animation-delay:calc(var(--t) * 1ms)}@keyframes word-in{0%{opacity:0;transform:translateY(.15em)}to{opacity:1;transform:none}}header{transition:opacity .7s var(--ease), transform .7s var(--ease), background-color .4s var(--ease), color .4s var(--ease)}html[data-intro] header{opacity:0;pointer-events:none;transform:translateY(-100%)}[data-intro-stop].is-nudging [data-nudge]{animation:nudge 1.3s var(--ease)}@keyframes nudge{0%{transform:none}30%{transform:translateY(-22px)}55%{transform:translateY(5px)}75%{transform:translateY(-2px)}to{transform:none}}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform 1.1s var(--ease);transition-delay:calc(var(--rd,0) * 80ms);transform:translateY(28px)}.js [data-reveal][data-in]{opacity:1;transform:none}::view-transition-old(root){animation:page-out .3s var(--ease) both}::view-transition-new(root){animation:page-in .6s var(--ease) both}@keyframes page-out{to{opacity:0;transform:translateY(-12px)}}@keyframes page-in{0%{opacity:0;transform:translateY(16px)}}header{view-transition-name:site-header}::view-transition-group(site-header){animation:none}::view-transition-old(site-header){animation:none}::view-transition-new(site-header){animation:none}@media (prefers-reduced-motion:reduce){html[data-intro] .type-char,html[data-intro] .type-word{opacity:1;animation:none}.js [data-reveal]{opacity:1;transition:none;transform:none}[data-intro-stop].is-nudging [data-nudge]{animation:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}html[data-intro] header *{pointer-events:none}main:focus{outline:none}
