@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.woff2) format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2) format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.I4S5GZfc.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.BmXc_FBt.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.GZpp1pK2.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.D8KDMBhC.woff2) format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.DrnZ1wKl.woff2) format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.B_7UjwxQ.woff2) format("woff2-variations");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{--paper: #F3F0E9;--surface: #FBFAF6;--ink: #191813;--ink-muted: #57544B;--ink-subtle: #8C897E;--line: #E2DDD1;--accent: #4338CA;--accent-hover: #372FA6;--on-accent: #F6F4EE;--font-display: "Fraunces Variable", Georgia, serif;--font-body: "Geist Variable", system-ui, sans-serif;--font-mono: "Geist Mono Variable", ui-monospace, monospace;--maxw: 1312px;--pad-x: clamp(20px, 4.5vw, 64px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.625;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0}h1,h2{font-family:var(--font-display);font-variation-settings:"SOFT" 0,"WONK" 0;font-weight:600}h1{font-size:clamp(42px,5.5vw,80px);line-height:1.03;letter-spacing:-.025em}h2{font-size:clamp(26px,2.3vw,32px);line-height:1.19;letter-spacing:-.01em}h3{font-family:var(--font-body);font-size:22px;font-weight:600;line-height:1.27;letter-spacing:-.01em}p{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--pad-x);padding-right:var(--pad-x)}.eyebrow{display:inline-flex;align-items:center;gap:10px}.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.mono{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-subtle)}.lede{font-size:19px;line-height:1.58;color:var(--ink-muted)}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:8px;font-size:14px;font-weight:500;line-height:1.4;border:1px solid transparent;cursor:pointer}.btn:hover{text-decoration:none}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line)}.btn-secondary:hover{border-color:var(--ink-subtle)}.nav{border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:24px}.wordmark{font-family:var(--font-display);font-weight:600;font-size:22px;letter-spacing:-.01em}.nav-links{display:flex;align-items:center;gap:34px}.nav-links a{font-size:15px;font-weight:500;color:var(--ink-muted)}.nav-links a:hover{color:var(--ink)}.nav-links a.btn-primary{color:var(--on-accent);font-size:14px}.nav-links a.btn-primary:hover{color:var(--on-accent)}@media(max-width:720px){.nav-links a:not(.btn){display:none}}.section{border-top:1px solid var(--line);padding-top:88px;padding-bottom:96px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap}.section-head .stack{display:flex;flex-direction:column;gap:14px}.section-link{font-size:14px;font-weight:500}.hero{padding-top:104px;padding-bottom:104px;display:flex;flex-direction:column;gap:28px;align-items:flex-start}.hero h1{max-width:1040px}.hero .lede{max-width:680px}.cta-row{display:flex;gap:12px;flex-wrap:wrap;padding-top:8px}@media(max-width:720px){.hero{padding-top:64px;padding-bottom:64px}}.cards{display:flex;flex-direction:column;gap:20px}.card{display:grid;grid-template-columns:1fr 468px;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.card-body{padding:40px 44px;display:flex;flex-direction:column;gap:18px;justify-content:space-between}.card-meta{display:flex;align-items:center;gap:14px}.card-meta .idx{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--accent)}.card-meta .rule{width:16px;height:1px;background:var(--line)}.card-copy{display:flex;flex-direction:column;gap:12px}.card-copy p{color:var(--ink-muted);font-size:15px;line-height:1.7}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{padding:6px 12px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink-muted)}.card-preview{background:color-mix(in srgb,var(--accent) 7%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:300px;text-align:center;padding:24px}.card-preview .name{font-family:var(--font-display);font-weight:600;font-size:32px;letter-spacing:-.01em}.card-preview .mono{color:var(--accent)}@media(max-width:980px){.card{grid-template-columns:1fr}.card-preview{min-height:180px}}.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.col{border-top:2px solid var(--line);padding-top:24px;display:flex;flex-direction:column;gap:16px}.col .num{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--accent)}.col p{color:var(--ink-muted)}@media(max-width:860px){.cols{grid-template-columns:1fr}}.notes{display:flex;flex-direction:column}.note{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-top:1px solid var(--line)}.note:last-child{border-bottom:1px solid var(--line)}@media(max-width:720px){.note{flex-direction:column;align-items:flex-start;gap:8px}}.footer{background:var(--ink);color:var(--paper);padding-top:96px;padding-bottom:40px}.footer .eyebrow-text{color:color-mix(in srgb,var(--paper) 60%,transparent)}.footer h2{font-size:clamp(34px,3.4vw,48px);max-width:760px}.footer .lede{color:color-mix(in srgb,var(--paper) 65%,transparent);max-width:560px}.footer-cta{display:flex;flex-direction:column;gap:20px;margin-bottom:56px}.footer .btn-outline{border-color:color-mix(in srgb,var(--paper) 25%,transparent);color:var(--paper);background:transparent}.footer .btn-outline:hover{border-color:var(--paper)}.footer-bar{border-top:1px solid color-mix(in srgb,var(--paper) 15%,transparent);padding-top:28px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-bar .mono{color:color-mix(in srgb,var(--paper) 55%,transparent)}.footer-bar nav{display:flex;gap:28px}.footer-bar nav a{font-size:14px;font-weight:500;color:color-mix(in srgb,var(--paper) 75%,transparent)}.prose{max-width:800px;padding-top:72px;padding-bottom:104px}.prose h1{font-size:clamp(36px,4vw,56px);margin-bottom:8px}.prose .subtitle{color:var(--ink-muted);font-size:18px;margin-bottom:48px}.prose h2{margin:56px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}.role{margin-bottom:36px}.role-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:4px}.role-when{font-family:var(--font-mono);font-size:12px;letter-spacing:.05em;color:var(--ink-subtle);white-space:nowrap}.role .org{color:var(--ink-muted);font-size:15px;margin-bottom:10px}.role ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}.role li{color:var(--ink-muted);font-size:15px;line-height:1.65}.skills-grid{display:grid;grid-template-columns:140px 1fr;gap:10px 24px}.skills-grid dt{font-weight:600;font-size:14px}.skills-grid dd{margin:0;color:var(--ink-muted);font-size:14px}@media(max-width:640px){.skills-grid{grid-template-columns:1fr;gap:2px}.skills-grid dd{margin-bottom:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.nav,.footer{display:none}body{background:#fff}}
