@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-normal.C2je3j2s.woff2) format("woff2"),url(/_astro/instrument-serif-latin-ext-400-normal.CFCUzsTy.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:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2) format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.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:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-italic.C9HzH3YL.woff2) format("woff2"),url(/_astro/instrument-serif-latin-ext-400-italic.D7-lnxEk.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:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2) format("woff2"),url(/_astro/instrument-serif-latin-400-italic.u__WvvIK.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-ext-400-normal.BwJdxs7r.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-400-normal.Cd63HKDh.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-400-normal.DjhbW-4D.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-400-normal.7kQcAFpS.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-ext-400-normal.CpIwTHMM.woff2) format("woff2"),url(/_astro/source-sans-3-greek-ext-400-normal.BI1kUwmR.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-400-normal.DZReXJla.woff2) format("woff2"),url(/_astro/source-sans-3-greek-400-normal.DJm9Ud5h.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-vietnamese-400-normal.CwtaIDr2.woff2) format("woff2"),url(/_astro/source-sans-3-vietnamese-400-normal.dYp9C364.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-ext-400-normal.UNsKFIBq.woff2) format("woff2"),url(/_astro/source-sans-3-latin-ext-400-normal.BGPHfnm_.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-400-normal.DQi5PRDE.woff2) format("woff2"),url(/_astro/source-sans-3-latin-400-normal.AFMiCETP.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-cyrillic-ext-600-normal.6AhwUnSr.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-600-normal.uAL1a5gb.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-cyrillic-600-normal.BnFu5nHC.woff2) format("woff2"),url(/_astro/source-sans-3-cyrillic-600-normal.y-RO8wOd.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-greek-ext-600-normal.DynePNDL.woff2) format("woff2"),url(/_astro/source-sans-3-greek-ext-600-normal.D7vJ4nVX.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-greek-600-normal.BSO157bq.woff2) format("woff2"),url(/_astro/source-sans-3-greek-600-normal.BNF9LBpG.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-vietnamese-600-normal.B2sTNYey.woff2) format("woff2"),url(/_astro/source-sans-3-vietnamese-600-normal.DpSexF-T.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-ext-600-normal.AEyhgUpm.woff2) format("woff2"),url(/_astro/source-sans-3-latin-ext-600-normal.Wy7HIzqC.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:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-600-normal.DeckBYAU.woff2) format("woff2"),url(/_astro/source-sans-3-latin-600-normal.BvDVuF-j.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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-mono-latin-ext-400-normal.C2zvOubV.woff2) format("woff2"),url(/_astro/dm-mono-latin-ext-400-normal.1aZr6b2b.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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-mono-latin-400-normal.4GdczIuU.woff2) format("woff2"),url(/_astro/dm-mono-latin-400-normal.-0xN8mdc.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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-mono-latin-ext-500-normal.BtRyHRi6.woff2) format("woff2"),url(/_astro/dm-mono-latin-ext-500-normal.Dw3M13d8.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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-mono-latin-500-normal.DRMDZjhP.woff2) format("woff2"),url(/_astro/dm-mono-latin-500-normal.CN8Miw6E.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{--ground: #f7f7f5;--surface: #ffffff;--ink: #161616;--muted: #5e5e5e;--rule: #e3e3e0;--accent: #452478;--accent-soft: #ebe4f5;--accent-hover: #351b5c;--display: "Instrument Serif", Georgia, "Times New Roman", serif;--body: "Source Sans 3", system-ui, "Segoe UI", Helvetica, Arial, sans-serif;--mono: "DM Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--measure: 62ch;--container: 1040px;--radius: 6px}@media(prefers-color-scheme:dark){:root{--ground: #141414;--surface: #1d1d1d;--ink: #ededed;--muted: #a3a3a3;--rule: #2e2e2e;--accent: #9677dd;--accent-soft: #251b3a;--accent-hover: #ab92e4}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:1.125rem;line-height:1.6;-webkit-font-smoothing:antialiased}img,video{max-width:100%;height:auto}h1,h2,h3{margin:0;font-weight:400}h1{font-family:var(--display);font-size:clamp(2.75rem,7vw,4.5rem);line-height:1;letter-spacing:-.01em}h2{font-family:var(--display);font-size:2rem;line-height:1.15}h3{font-family:var(--body);font-size:1.125rem;font-weight:600;line-height:1.35}p{margin:0 0 1rem;max-width:var(--measure)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.eyebrow{font-family:var(--mono);font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}.mono{font-family:var(--mono);font-size:.8125rem;letter-spacing:.04em}.small{font-size:.9375rem}.muted{color:var(--muted)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}@media(min-width:768px){.container{padding-inline:32px}}main section{margin-block-start:64px}@media(min-width:768px){main section{margin-block-start:96px}}section>h2{margin-block-end:32px}.skip{position:absolute;left:-9999px}.skip:focus{left:24px;top:12px;z-index:10;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:8px 12px}.nav{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline;justify-content:space-between;padding-block:24px;border-block-end:1px solid var(--rule)}.nav-name{font-weight:600;color:var(--ink);text-decoration:none}.nav-links{display:flex;flex-wrap:wrap;gap:20px;margin:0;padding:0;list-style:none}.nav-links a{color:var(--muted);text-decoration:none}.nav-links a:hover{color:var(--accent);text-decoration:underline}@media(max-width:639px){.nav{flex-direction:column;align-items:flex-start}}.hero{padding-block-start:48px}@media(min-width:768px){.hero{padding-block-start:72px}}.hero-line{font-size:1.375rem;line-height:1.35;color:var(--ink);margin:24px 0;max-width:var(--measure)}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:8px}.btn{display:inline-block;font-family:var(--body);font-size:1rem;font-weight:600;padding:12px 20px;border-radius:var(--radius);text-decoration:none;border:1px solid transparent}.btn-primary{background:var(--accent);color:var(--ground)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--rule)}.btn-secondary:hover{border-color:var(--ink)}.work-grid{display:grid;gap:16px;grid-template-columns:1fr}@media(min-width:720px){.work-grid{grid-template-columns:1fr 1fr}}.card{display:block;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:24px;text-decoration:none;color:var(--ink)}.card:hover{border-color:var(--accent)}.card:hover .card-title{color:var(--accent)}.card-title{font-family:var(--body);font-size:1.25rem;font-weight:600;margin:0 0 8px}.card p{max-width:none}.card-note{margin:12px 0 0;color:var(--muted)}.how-list{display:grid;gap:32px;margin:0;padding:0;list-style:none}.how-list h3{margin-block-end:8px}.how-list p:last-child{margin-block-end:0}.resume-head{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:baseline;justify-content:space-between}.resume-head h2{margin-block-end:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-block:24px 0;padding:0}.chip{font-family:var(--mono);font-size:.8125rem;letter-spacing:.04em;padding:6px 12px;border:1px solid var(--rule);border-radius:999px;background:var(--surface);color:var(--ink);cursor:pointer}.chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.company{margin-block-start:40px}.company-name{font-family:var(--body);font-size:1.125rem;font-weight:600}.company-name .note{font-weight:400;color:var(--muted)}.position{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-block-start:4px}.position-title{font-weight:400}.context{color:var(--muted);margin-block:12px 12px}.bullets{margin:0;padding:0;list-style:none}.bullets li{position:relative;padding-inline-start:20px;margin-block-end:10px;max-width:var(--measure);transition:opacity .12s linear}.bullets li:before{content:"";position:absolute;left:0;top:.7em;width:8px;height:1px;background:var(--accent)}.bullets li.is-dim{opacity:.32}.education{margin-block-start:40px;padding-block-start:24px;border-block-start:1px solid var(--rule)}.contact-links{display:flex;flex-wrap:wrap;gap:24px;margin-block-start:16px}.contact-links a{display:inline-flex;align-items:center;gap:8px}.footer{margin-block-start:96px;padding-block:32px;border-block-start:1px solid var(--rule);color:var(--muted);font-family:var(--mono);font-size:.8125rem;letter-spacing:.04em;display:flex;gap:16px;justify-content:space-between}.work-header{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:24px;margin-block-start:48px}.work-header h1{font-size:clamp(2.25rem,5vw,3.25rem);margin-block-end:16px}.work-summary{font-family:var(--display);font-size:1.375rem;line-height:1.35}.fact-row{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:16px 0 0;padding-block-start:16px;border-block-start:1px solid var(--rule);font-family:var(--mono);font-size:.8125rem;letter-spacing:.04em}@media(min-width:720px){.fact-row{grid-template-columns:repeat(4,auto);justify-content:start;gap:32px}}.fact-row .label{color:var(--muted)}.prose{max-width:var(--measure);margin-block-start:48px}.prose h2{margin-block:48px 16px}.prose h2:first-child{margin-block-start:0}.prose strong{font-weight:600}.table-wrap{max-width:720px;overflow-x:auto;margin-block:24px}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.prose th,.prose td{border:1px solid var(--rule);padding:10px 12px;text-align:left;vertical-align:top}.prose th{background:var(--accent-soft);font-weight:600}.video-figure{max-width:720px;margin:32px 0 0}.video-figure video{width:100%;aspect-ratio:16 / 9;background:#000;border-radius:var(--radius);display:block}.transcript{max-width:var(--measure);margin-block-start:48px;border-block-start:1px solid var(--rule);padding-block-start:24px}.transcript summary{cursor:pointer;font-weight:600}.transcript-body{font-size:.9375rem;margin-block-start:16px}.transcript-body strong{font-family:var(--mono);font-size:.8125rem;font-weight:400;letter-spacing:.04em;color:var(--muted);margin-inline-end:6px}.artifact{max-width:720px;margin-block-start:48px;padding-block-start:24px;border-block-start:1px solid var(--rule)}.icon{width:1em;height:1em;flex:none}.notfound{text-align:center;padding-block:96px}.notfound p{max-width:none}@media print{.nav,.chips,.buttons,.footer,.skip,.hero,#work,#how,#contact{display:none!important}body{background:#fff;color:#000;font-size:11pt}main section{margin-block-start:0}.bullets li.is-dim{opacity:1}a{color:#000;text-decoration:none}}
