@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-ca157063.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-71d5ee93.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-6e9e020a.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-1be3448e.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-5c66f9e0.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-34b9c504.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-3100e775.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}.container{width:100%;max-width:var(--content-width);margin-inline:auto;padding-inline:24px}.skip-link{position:absolute;left:16px;top:-48px;z-index:200;padding:8px 14px;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.skip-link:focus{top:12px}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.reveal-ready [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.reveal-ready [data-reveal].is-revealed{opacity:1;transform:none}.site-header{position:sticky;top:0;z-index:100;border-bottom:1px solid transparent;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);transition:border-color var(--duration) ease}.site-header--scrolled{border-bottom-color:var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{font-weight:600;font-size:var(--fs-base);letter-spacing:-.01em;text-decoration:none;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity var(--duration) ease,transform var(--duration) ease}.brand--visible{opacity:1;transform:none;pointer-events:auto}.nav{display:flex;align-items:center;gap:4px}.nav-link{padding:6px 10px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-muted);font-size:var(--fs-sm);font-weight:500;text-decoration:none;cursor:pointer;transition:color var(--duration) ease,background-color var(--duration) ease}.nav-link:hover{color:var(--text);background:var(--accent-soft)}.nav-divider{width:1px;height:20px;margin-inline:6px;background:var(--border)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-muted);cursor:pointer;transition:color var(--duration) ease,background-color var(--duration) ease}.icon-btn:hover{color:var(--text);background:var(--accent-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:600;text-decoration:none;cursor:pointer;transition:background-color var(--duration) ease,border-color var(--duration) ease,color var(--duration) ease}.btn--primary{border:1px solid var(--accent);background:var(--accent);color:var(--on-accent)}.btn--primary:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.btn--primary:disabled{opacity:.6;cursor:progress}.btn--secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.btn--secondary:hover{border-color:var(--text-muted)}.text-link{display:inline-flex;gap:6px;color:var(--accent);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.text-link span{transition:transform var(--duration) ease}.text-link:hover span{transform:translate(3px)}.hero-wrap{position:relative;isolation:isolate;overflow:hidden}.hero-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 75% 40%,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse 60% 70% at 75% 40%,#000 15%,transparent 70%);pointer-events:none}.hero-wrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(circle at 78% 30%,var(--glow),transparent 45%);pointer-events:none;transform-origin:78% 30%;animation:hero-breathe 16s ease-in-out infinite}@keyframes hero-breathe{0%,55%,to{opacity:.7;transform:scale(1)}25%{opacity:1;transform:scale(1.12)}}.hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:end;gap:48px;padding-block:88px 96px}.hero-eyebrow{display:flex;align-items:center;gap:12px;font-weight:600}.hero-headline{position:relative;margin-top:24px;font-size:clamp(2.25rem,5vw,3.5rem);font-weight:700;line-height:1.08;letter-spacing:-.035em}.hero-headline>span{display:block;text-wrap:balance}.hero-headline-muted{color:var(--text-muted)}.hero-lede{max-width:560px;margin-top:20px;font-size:1.125rem;color:var(--text-muted);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.facts{padding:24px 20px 8px}.headshot{display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin-bottom:12px;border-radius:50%;border:1px solid var(--border);background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%),var(--accent-soft);color:var(--accent);font-size:1.75rem;font-weight:700;letter-spacing:.02em;object-fit:cover}.facts-list{display:flex;flex-direction:column}.fact{padding-block:14px}.fact+.fact{border-top:1px solid var(--border)}.fact dt{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.fact dd{margin-top:2px;font-size:var(--fs-sm);font-weight:500}.section{padding-top:112px}.section-heading{max-width:640px;margin-bottom:40px}.eyebrow{font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}.section-title{margin-top:8px;font-size:var(--fs-xl);font-weight:650;line-height:1.2;letter-spacing:-.02em}.subheading{margin-bottom:20px;font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em}.band{padding-block:96px;border-block:1px solid var(--border);background:var(--surface)}.lifecycle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,5fr);gap:12px}.lc-handoff,.lc-owned{display:flex;flex-direction:column;gap:10px}.lc-step-label{font-size:var(--fs-xs);font-weight:600;color:var(--text-muted)}.lc-step-label--accent{color:var(--accent)}.lc-steps{position:relative;list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft)}.lc-step{display:flex;flex-direction:column;gap:4px;height:100%;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.lc-handoff .lc-step{margin-top:13px;border-style:dashed;background:transparent}.lc-index{font-size:var(--fs-xs);font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.lc-steps .lc-index{color:var(--accent)}.lc-title{font-weight:600}.lc-detail{font-size:var(--fs-xs);line-height:1.5;color:var(--text-muted)}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:64px}.principle h3{font-size:var(--fs-base);font-weight:600}.principle p{margin-top:8px;font-size:var(--fs-sm);line-height:1.65;color:var(--text-muted)}.lc-steps:before{content:"";position:absolute;top:-1px;left:12px;right:12px;height:2px;border-radius:2px;background:var(--accent);transform-origin:left}.reveal-ready .lc-steps:before{transform:scaleX(0);transition:transform 1.4s cubic-bezier(.65,0,.35,1) .3s}.reveal-ready .lc-steps li{opacity:.35;transition:opacity .4s ease;transition-delay:calc(.4s + var(--i) * .26s)}.reveal-ready .lc-steps .lc-index{color:var(--text-muted);transition:color .4s ease;transition-delay:calc(.4s + var(--i) * .26s)}.reveal-ready .lifecycle.is-revealed .lc-steps:before{transform:scaleX(1)}.reveal-ready .lifecycle.is-revealed .lc-steps li{opacity:1}.reveal-ready .lifecycle.is-revealed .lc-steps .lc-index{color:var(--accent)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.work-card{display:flex;flex-direction:column;gap:10px;padding:28px;transition:border-color var(--duration) ease,opacity .6s ease,transform .6s ease}.work-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.work-metric{margin-bottom:8px;font-size:var(--fs-xl);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums}.work-title{font-size:var(--fs-base);font-weight:600}.work-body{flex:1;font-size:var(--fs-sm);line-height:1.65;color:var(--text-muted)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag{padding:2px 10px;border:1px solid var(--border);border-radius:99px;font-size:var(--fs-xs);color:var(--text-muted)}.writing-list{display:grid;gap:16px}.writing-card{display:flex;flex-direction:column;gap:10px;padding:28px;color:inherit;text-decoration:none;transition:border-color var(--duration) ease,opacity .6s ease,transform .6s ease}.writing-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.writing-card:hover .text-link span{transform:translate(3px)}.writing-meta{display:flex;align-items:center;gap:10px;font-size:var(--fs-xs);color:var(--text-muted)}.draft-badge{padding:1px 8px;border:1px solid var(--border);border-radius:99px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.writing-title{font-size:var(--fs-lg);font-weight:600;letter-spacing:-.01em}.writing-summary{max-width:680px;font-size:var(--fs-sm);line-height:1.65;color:var(--text-muted)}.article{max-width:720px;padding-top:56px}.article-header{margin-top:32px;padding-bottom:32px;border-bottom:1px solid var(--border)}.article-title{margin-top:12px;font-size:clamp(2rem,5vw,2.75rem);font-weight:700;line-height:1.15;letter-spacing:-.03em}.article-lede{margin-top:16px;font-size:1.125rem;line-height:1.6;color:var(--text-muted)}.prose{padding-top:32px;font-size:1.0625rem;line-height:1.8}.prose p+p,.prose ul+p,.prose p+ul{margin-top:20px}.prose h2{margin-top:48px;margin-bottom:12px;font-size:var(--fs-lg);font-weight:650;letter-spacing:-.01em}.prose ul{display:flex;flex-direction:column;gap:12px;padding-left:20px;list-style:disc}.prose li::marker{color:var(--accent)}.prose strong{font-weight:600}.article-note{padding:14px 16px;border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--accent-soft);font-size:var(--fs-sm);color:var(--text-muted)}.todo{padding:1px 6px;border-radius:4px;background:rgba(234,179,8,.22);color:inherit;font-size:var(--fs-sm);font-style:italic}.about{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start}.about-text .section-heading{margin-bottom:24px}.about-text p{color:var(--text-muted);line-height:1.75}.about-text p+p{margin-top:16px}.about-side{padding-top:4px}.timeline{list-style:none;display:flex;flex-direction:column;gap:20px;margin-bottom:24px;padding-left:20px;border-left:1px solid var(--border)}.timeline-item{position:relative}.timeline-item:before{content:"";position:absolute;left:-25px;top:7px;width:9px;height:9px;border-radius:50%;border:2px solid var(--bg);background:var(--text-muted)}.timeline-item:first-child:before{background:var(--accent)}.timeline-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.timeline-title{font-size:var(--fs-sm);font-weight:600}.timeline-dates{font-size:var(--fs-xs);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.timeline-org{font-size:var(--fs-xs);color:var(--accent);font-weight:500}.timeline-summary{margin-top:4px;font-size:var(--fs-xs);line-height:1.55;color:var(--text-muted)}.timeline-item--minor .timeline-title{font-weight:500;color:var(--text-muted)}.timeline-item--minor .timeline-org{color:var(--text-muted)}.skills{display:flex;flex-direction:column}.skill-row{display:grid;grid-template-columns:160px 1fr;gap:4px 16px;padding-block:12px;border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.skill-row:first-child{border-top:1px solid var(--border)}.skill-row dt{font-weight:600}.skill-row dd{color:var(--text-muted)}.cta{padding-top:112px}.cta-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:40px;background:radial-gradient(circle at 100% 0%,var(--accent-soft),transparent 60%),var(--surface)}.cta-title{font-size:var(--fs-xl);font-weight:650;letter-spacing:-.02em;line-height:1.2}.cta-body{margin-top:6px;color:var(--text-muted)}.cta-actions{display:flex;flex-wrap:wrap;gap:12px}.site-footer{margin-top:96px;padding-block:28px;border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-muted)}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.footer-links{display:flex;flex-wrap:wrap;gap:4px;margin-right:-10px}html:has(dialog[open]){overflow:hidden}.contact{width:min(460px,calc(100% - 32px));margin:auto;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:0 24px 64px #0003}.contact[open]{animation:dialog-in .2s ease}.contact::backdrop{background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.contact-inner{padding:24px}.contact-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.contact-title{font-size:var(--fs-lg);font-weight:600}.contact-form{display:flex;flex-direction:column;gap:6px}.contact-form label{margin-top:8px;font-size:var(--fs-sm);font-weight:500}.contact-form input,.contact-form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);transition:border-color var(--duration) ease,box-shadow var(--duration) ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.contact-form textarea{min-height:140px;max-height:320px;resize:vertical}.contact-form .btn{margin-top:16px}.form-error{margin-top:8px;font-size:var(--fs-sm);color:#dc2626}:root[data-theme=dark] .form-error{color:#f87171}.contact-success{display:flex;flex-direction:column;align-items:flex-start;gap:16px;color:var(--text-muted)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.hero{grid-template-columns:1fr;align-items:start;gap:40px}.lifecycle{grid-template-columns:1fr}.lc-handoff .lc-step{margin-top:0}.lc-steps{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.about{grid-template-columns:1fr;gap:56px}}@media (max-width: 720px){.nav-link--section,.nav-divider{display:none}.hero{padding-block:48px 72px}.band{padding-block:72px}.section,.cta{padding-top:88px}.principles,.work-grid{grid-template-columns:1fr}.principles{gap:24px;margin-top:48px}.skill-row{grid-template-columns:1fr}.cta-inner{padding:28px}}@media (max-width: 420px){.container{padding-inline:16px}.work-card{padding:22px}}:root{--bg: #fafafa;--surface: #ffffff;--border: #e4e4e7;--text: #0f172a;--text-muted: #475569;--accent: #15803d;--accent-hover:#166534;--accent-soft: rgba(21, 128, 61, .08);--on-accent: #ffffff;--overlay: rgba(15, 23, 42, .45);--dot: rgba(15, 23, 42, .14);--glow: rgba(21, 128, 61, .14);--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 16px rgba(15, 23, 42, .04);--fs-xs: .8125rem;--fs-sm: .875rem;--fs-base: 1rem;--fs-lg: 1.25rem;--fs-xl: 1.75rem;--radius: 12px;--radius-sm: 8px;--duration: .2s;--content-width: 1040px;color-scheme:light}:root[data-theme=dark]{--bg: #0b1117;--surface: #111a23;--border: #1f2b37;--text: #e2e8f0;--text-muted: #94a3b8;--accent: #4ade80;--accent-hover:#86efac;--accent-soft: rgba(74, 222, 128, .08);--on-accent: #052e16;--overlay: rgba(0, 0, 0, .6);--dot: rgba(226, 232, 240, .1);--glow: rgba(74, 222, 128, .08);--shadow: none;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{min-height:100vh;background:var(--bg);color:var(--text);font-family:Inter Variable,system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--fs-base);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color var(--duration) ease,color var(--duration) ease}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul{list-style:none}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}#root{isolation:isolate}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--accent) 55%,transparent);background-clip:padding-box;border:4px solid transparent;border-right-width:5px;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}@supports (-moz-appearance: none){html{scrollbar-color:color-mix(in srgb,var(--accent) 55%,transparent) var(--bg)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
