@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-out:cubic-bezier(0,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}}@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}:root,[data-theme=dark]{--bg:#111214;--surface:#1c1d21;--surface-alt:#26211e;--invert-bg:#ededeb;--invert-fg:#111214;--fg:#ededeb;--mid:#b4b4b0;--faint:#8e8e89;--rule:#2a2b30;--rule-strong:#45464b;--link-hover:var(--ember);--shadow:none;--ember:#e84b0f;--on-ember:#111214;--font:"Archivo Variable",system-ui,sans-serif;--ease-out:cubic-bezier(.16,1,.3,1);--navbar-height:68px;--container:1320px;--gutter:40px;color-scheme:dark}[data-theme=light]{--bg:#f6f6f4;--surface:#eaeae6;--surface-alt:#efe6e1;--invert-bg:#141416;--invert-fg:#f6f6f4;--fg:#141416;--mid:#4a4a46;--faint:#5e5e59;--rule:#d9d9d4;--rule-strong:#a9a9a3;--link-hover:var(--fg);color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--bg);scroll-behavior:smooth;scroll-padding-top:var(--navbar-height)}body{background-color:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6;transition:background-color .3s,color .3s}a{color:var(--fg)}a:hover{color:var(--link-hover)}[data-theme=light] a:hover{text-decoration-thickness:2px}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.skip-link{z-index:200;background:var(--invert-bg);color:var(--invert-fg);padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin:0 auto}.section{border-top:1px solid var(--rule)}.section__inner{padding-block:104px}.h2{letter-spacing:-.02em;font-size:32px;font-weight:600;line-height:1.1}.display{letter-spacing:-.035em;font-weight:800;font-stretch:112%}.muted{color:var(--mid)}.faint{color:var(--faint)}.btn{cursor:pointer;transition:transform .25s var(--ease-out),background-color .2s,color .2s,border-color .2s;border:1px solid #0000;align-items:center;gap:8px;padding:14px 22px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)scale(.98)}.btn--primary{background:var(--ember);color:var(--on-ember);border-color:var(--ember)}.btn--primary:hover{background:var(--fg);border-color:var(--fg);color:var(--bg)}.btn--outline{border-color:var(--rule-strong);color:var(--fg);font-weight:500}.btn--outline:hover{border-color:var(--fg);color:var(--fg)}.nav{z-index:100;background-color:var(--bg);position:fixed;top:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.nav{background-color:color-mix(in srgb,var(--bg)88%,transparent)}}.nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule);transition:background-color .3s}.nav__inner{height:var(--navbar-height);justify-content:space-between;align-items:center;display:flex}.nav__logo{font-size:16px;font-weight:600;text-decoration:none}.nav__right{align-items:center;gap:32px;display:flex}.nav__links{gap:32px;font-size:15px;list-style:none;display:flex}.nav__link{color:var(--mid);text-decoration:none;transition:color .2s}.nav__link:hover{color:var(--fg)}.theme-toggle{border:1px solid var(--rule-strong);color:var(--mid);font:inherit;cursor:pointer;background:0 0;padding:6px 12px;font-size:13px;font-weight:500;transition:color .2s,border-color .2s}.theme-toggle:hover{color:var(--fg);border-color:var(--fg)}.nav__menu-btn{border:1px solid var(--rule-strong);color:var(--fg);font:inherit;cursor:pointer;background:0 0;padding:6px 12px;font-size:14px;font-weight:500;display:none}.nav__mobile{padding:16px var(--gutter)28px;border-top:1px solid var(--rule);flex-direction:column;gap:4px;display:none}.nav__mobile.open{display:flex}.nav__mobile-link{letter-spacing:-.02em;padding:6px 0;font-size:28px;font-weight:800;font-stretch:112%;text-decoration:none}.hero{padding-block:80px 104px}.hero__grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);align-items:end;gap:56px;display:grid}.hero__copy{flex-direction:column;gap:28px;display:flex}.hero__name{font-size:clamp(56px,7vw,92px);line-height:.92}.hero__name span{display:block}.hero__lede{color:var(--mid);max-width:34ch;font-size:20px;line-height:1.55}.hero__ctas{flex-wrap:wrap;gap:12px;display:flex}.figure{flex-direction:column;gap:12px;display:flex}.figure img{border:1px solid var(--rule);width:100%;height:auto}.figure figcaption{color:var(--faint);font-size:14px}@media(prefers-reduced-motion:no-preference){.hero__copy>*,.hero .figure{animation:rise .7s var(--ease-out)both}.hero__copy>:nth-child(2){animation-delay:60ms}.hero__copy>:nth-child(3){animation-delay:.12s}.hero .figure{animation-delay:.18s}}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.case__grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;gap:56px;display:grid}.case__copy{top:calc(var(--navbar-height) + 32px);flex-direction:column;gap:22px;display:flex;position:sticky}.case__title{font-size:52px;line-height:.95}.case__body{color:var(--mid);font-size:18px;line-height:1.6}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin-top:8px;display:grid}.stats dt{color:var(--ember);font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;font-stretch:112%;line-height:1.1}.stats dd{color:var(--faint);font-size:14px}.case__note{color:var(--faint);font-size:15px}.tiles{scroll-snap-type:x mandatory;scrollbar-color:var(--rule-strong)transparent;grid-auto-columns:minmax(300px,1fr);grid-auto-flow:column;gap:16px;margin-top:32px;padding-bottom:12px;display:grid;overflow-x:auto}.tile{scroll-snap-align:start;background:var(--surface);min-height:300px;color:var(--fg);transition:transform .35s var(--ease-out);flex-direction:column;justify-content:space-between;gap:24px;padding:28px;display:flex}.tile:hover{transform:translateY(-3px)}.tile--ember{background:var(--ember);color:var(--on-ember)}.tile--ember .tile__desc,.tile--ember .tile__stack{opacity:1}.tile--warm{background:var(--surface-alt)}.tile--invert{background:var(--invert-bg);color:var(--invert-fg)}.tile__title{letter-spacing:-.02em;font-size:26px;font-weight:800;font-stretch:105%;line-height:1.05}.tile--button{font:inherit;text-align:left;cursor:pointer;border:none;width:100%}.tile--button:focus-visible{outline-offset:-3px}.tile--ember.tile--button:focus-visible{outline-color:var(--on-ember)}.tile__more{text-underline-offset:3px;font-size:14px;font-weight:600;text-decoration:underline}.tile__desc{opacity:.88;font-size:16px;line-height:1.5}.tile__stack{opacity:.88;font-size:13px;font-weight:500}.tile--skeleton{background:var(--surface)}.skeleton-bar{background:var(--rule);height:14px}@media(prefers-reduced-motion:no-preference){.tile--skeleton .skeleton-bar{animation:1.4s ease-in-out infinite pulse}}@keyframes pulse{50%{opacity:.5}}.tiles__status{color:var(--mid);margin-top:24px;font-size:16px}body:has(dialog[open]){overflow:hidden}.dialog{border:1px solid var(--rule-strong);background:var(--surface);color:var(--fg);overscroll-behavior:contain;width:min(760px,100vw - 48px);max-height:min(86dvh,900px);margin:auto;padding:0;overflow-y:auto}.dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#08080ab8}.dialog__panel{flex-direction:column;gap:24px;padding:40px;display:flex}.dialog__header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.dialog__title{font-size:40px;line-height:1}.dialog__close{border:1px solid var(--rule-strong);color:var(--fg);font:inherit;cursor:pointer;background:0 0;flex-shrink:0;padding:8px 14px;font-size:14px;font-weight:500}.dialog__close:hover{border-color:var(--fg)}.dialog__lede{max-width:52ch;font-size:20px;line-height:1.5}.dialog__body{color:var(--mid);flex-direction:column;gap:14px;max-width:68ch;font-size:16px;line-height:1.7;display:flex}.dialog__meta{border-top:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-top:24px;display:grid}.dialog__meta dt{color:var(--faint);margin-bottom:4px;font-size:14px}.dialog__meta dd{font-size:16px}.dialog__actions{flex-wrap:wrap;gap:12px;display:flex}@media(prefers-reduced-motion:no-preference){.dialog[open]{animation:rise .35s var(--ease-out)}.dialog[open]::backdrop{animation:.25s fade}}@keyframes fade{0%{opacity:0}to{opacity:1}}.exp__grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:56px;display:grid}.exp__list{flex-direction:column;gap:40px;list-style:none;display:flex}.exp__item{flex-direction:column;gap:8px;max-width:64ch;display:flex}.exp__when{color:var(--faint);font-size:14px}.exp__title{letter-spacing:-.02em;font-size:24px;font-weight:600;line-height:1.25}.exp__role{color:var(--mid);font-weight:400}.exp__text{color:var(--mid);font-size:16px;line-height:1.6}.exp__link{align-self:flex-start;margin-top:4px;font-size:15px;font-weight:600}.exp__skills{border-top:1px solid var(--rule);color:var(--mid);max-width:64ch;margin-top:16px;padding-top:32px;font-size:16px;line-height:1.7}.contact__inner{flex-direction:column;gap:28px;padding-block:104px 40px;display:flex}.contact__email{overflow-wrap:anywhere;font-size:clamp(32px,5.2vw,64px);line-height:1;text-decoration:none}.contact__at{color:var(--ember)}.contact__links{flex-wrap:wrap;gap:28px;font-size:16px;font-weight:500;list-style:none;display:flex}.footer{border-top:1px solid var(--rule);color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:72px;padding-top:20px;font-size:14px;display:flex}.footer__top{color:var(--faint);font:inherit;cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:underline}.footer__top:hover{color:var(--fg)}@media(max-width:1024px){.case__grid,.exp__grid{grid-template-columns:minmax(0,1fr);gap:40px}.case__copy{position:static}}@media(max-width:767px){:root{--gutter:20px}.nav__links{display:none}.nav__right{gap:12px}.nav__menu-btn{display:inline-flex}.hero{padding-block:48px 72px}.hero__grid{grid-template-columns:minmax(0,1fr);gap:40px}.hero__lede{font-size:18px}.section__inner{padding-block:72px}.case__title{font-size:40px}.tiles{grid-auto-columns:82%}.dialog{border-inline:none;border-bottom:none;width:100vw;max-width:100vw;max-height:92dvh;margin:auto 0 0}.dialog__panel{padding:28px 20px 32px}.dialog__title{font-size:32px}.dialog__meta{grid-template-columns:minmax(0,1fr)}.contact__inner{padding-block:72px 32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
