@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/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(/_astro/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(/_astro/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{--bg:#fff;--ink:#111113;--body:#33333b;--muted:#4f4f58;--line:#ececf0;--pink:#e0246f;--pink-deep:#b0124f;--row-hover:#fff3f8;--tint:#f6f6f8;--gutter:clamp(16px, 4vw, 48px);--max:1240px;--ease-out:cubic-bezier(.22, 1, .36, 1);color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-gutter:stable}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo Variable,system-ui,sans-serif;font-size:18px;line-height:1.6}a{color:var(--ink);text-decoration-color:var(--pink);text-underline-offset:4px;text-decoration-thickness:2px}a:hover{color:var(--pink-deep)}a:focus-visible{outline:2px solid var(--pink);outline-offset:3px}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{max-width:var(--max);padding-left:var(--gutter);padding-right:var(--gutter);margin:0 auto}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;padding-top:28px;padding-bottom:28px;font-size:15px;display:flex}.site-header a{text-decoration:none}.wordmark{font-weight:800;font-stretch:125%}.site-header nav{flex-wrap:wrap;gap:28px;display:flex}.intro{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px 64px;padding-top:28px;display:flex}.tagline{letter-spacing:-.02em;text-wrap:balance;flex:460px;max-width:30ch;margin:0;font-size:clamp(24px,2.8vw,36px);font-weight:650;line-height:1.2}.goal{flex:0 360px;margin:0;padding-top:1px;font-size:17px;line-height:1.45}.work{padding-top:clamp(80px,10vw,136px)}.section-title{letter-spacing:-.03em;margin:0 0 28px;font-size:clamp(30px,3.4vw,44px);font-weight:800;line-height:1.15}.work-list{flex-wrap:wrap;gap:0 48px;display:flex}.work-item{border-top:1px solid var(--line);min-width:0;transition:background-color .35s var(--ease-out);flex:520px;margin:0 -16px;padding:28px 16px}.work-item:hover{background-color:var(--row-hover)}.work-item .meta,.detail .panel .meta{color:var(--muted);margin:0;font-size:14px}.status{color:var(--pink-deep);font-weight:600}.status .sep{color:var(--muted);font-weight:400}.work-item h3{letter-spacing:-.02em;margin:6px 0 0;font-size:26px;font-weight:750;line-height:1.25}.work-item .blurb{color:var(--body);margin:8px 0 0}.work-item{position:relative}.work-item .open{font:inherit;letter-spacing:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.work-item .open:after{content:"";position:absolute;inset:0}.work-item .open:focus-visible{outline:none}.work-item:has(.open:focus-visible){outline:2px solid var(--pink);outline-offset:-2px}.work-item a{z-index:1;position:relative}.work-item .more{align-items:center;gap:8px;margin-top:14px;font-size:14px;font-weight:650;display:inline-flex}.work-item .more svg{transition:transform .35s var(--ease-out)}.work-item:hover .more{color:var(--pink-deep)}.work-item:hover .more svg{transform:rotate(90deg)}.building{padding-top:clamp(80px,10vw,136px)}.building+.work{padding-top:clamp(64px,8vw,104px)}html:has(dialog.detail[open]){overflow:hidden}dialog.detail{width:100%;max-width:none;height:100%;max-height:none;color:var(--ink);background:0 0;border:0;margin:0;padding:16px;position:fixed;inset:0;overflow:hidden}dialog.detail[open]{place-items:center;display:grid}dialog.detail::backdrop{background:#11111380}.detail .panel{z-index:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d4d4da transparent;background:#fff;width:min(1040px,100%);max-height:100%;padding:clamp(24px,4vw,48px);position:relative;overflow:auto;box-shadow:0 24px 80px #11111338}.detail .panel.lifting{box-shadow:none;background:0 0}@media (width>=900px){.detail .cols{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.detail figure{margin:0}}.detail .close{float:right;width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border:0;place-items:center;margin:-10px -10px 0 16px;padding:0;display:grid;position:sticky;top:0}.detail .close:hover{color:var(--pink-deep)}.detail .close:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}.detail .panel h3{letter-spacing:-.03em;margin:6px 0 24px;font-size:clamp(28px,3.4vw,40px);font-weight:800;line-height:1.12}.detail figure{margin:0 0 28px}.detail .art{background:var(--tint);padding:clamp(12px,3vw,28px)}.detail .art svg{max-height:min(320px,36vh)}.detail figcaption{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.45}.detail .body p{max-width:62ch;color:var(--body);margin:0 0 16px}.detail .body p:last-child{margin-bottom:0}.lift-sheet,.lift-ghost{pointer-events:none;margin:0;position:fixed}.lift-sheet{transform-origin:0 0;background:#fff;box-shadow:0 24px 80px #11111338}.lift-ghost{z-index:2;background:#fff;border:0}.split{flex-wrap:wrap;gap:24px 64px;display:flex}.split>h2{color:var(--muted);flex:0 0 240px;margin:0;font-size:16px;font-weight:700}.split>ul{flex:520px;margin:0;padding:0;list-style:none}.education{padding-top:clamp(72px,9vw,120px)}.experience{padding-top:clamp(56px,7vw,88px)}.rows li{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding:14px 0;display:flex}.rows li:last-child{border-bottom:1px solid var(--line)}.rows strong{font-weight:750}@media (width<=700px){.rows .role{display:block}.rows .sep{display:none}}.dim{color:var(--muted)}.contact{padding-top:clamp(104px,13vw,184px);padding-bottom:clamp(72px,9vw,120px)}.contact h2{letter-spacing:-.04em;margin:0;font-size:clamp(36px,5vw,64px);font-weight:800;line-height:1.05}.contact .email{overflow-wrap:anywhere;margin:20px 0 0;font-size:clamp(20px,2.4vw,28px)}.contact .links{flex-wrap:wrap;gap:12px 32px;margin:28px 0 0;display:flex}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:24px;padding-bottom:36px;font-size:14px;display:flex}.site-footer .why{color:var(--body);flex:0 0 100%;margin:0 0 8px}.site-footer .why span{text-wrap:pretty;max-width:65ch;display:block}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-item,.work-item .more svg{transition:none}}
