@font-face{font-family:geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin-wght-normal.woff2)format("woff2");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}@font-face{font-family:geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-latin-ext-wght-normal.woff2)format("woff2");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:geist mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin-wght-normal.woff2)format("woff2");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}@font-face{font-family:geist mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-latin-ext-wght-normal.woff2)format("woff2");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}:root{--bg:#F3F5F4;--surface:#FFFFFF;--surface-2:#EEF2F0;--ink:#0E1714;--ink-2:#33403B;--muted:#4A5752;--line:#DCE2DF;--line-strong:#C9D1CD;--accent:#17704A;--on-accent:#FFFFFF;--inv:#0E1714;--inv-ink:#FFFFFF;--inv-muted:#B7C2BD;--inv-line:#3A4743;--sans:"Geist", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius:14px;--gutter:16px}@media(prefers-color-scheme:dark){:root{--bg:#0C1210;--surface:#141C19;--surface-2:#1B2522;--ink:#E7EDEA;--ink-2:#C5D0CB;--muted:#9AA8A2;--line:#25302C;--line-strong:#34413C;--accent:#4CC38A;--on-accent:#06130D;--inv:#18221F;--inv-ink:#E7EDEA;--inv-muted:#9AA8A2;--inv-line:#34413C}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}img{max-width:100%;display:block}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}h1,h2,h3,p,ul,dl,dd{margin:0}ul{padding:0}.icon{flex-shrink:0}.wrap{width:100%;max-width:1180px;margin:0 auto;padding-inline:var(--gutter)}.mono{font-family:var(--mono);font-size:12px}.muted{color:var(--muted)}.small{font-size:15px}.skip{position:absolute;left:-9999px;top:8px;z-index:10;padding:10px 14px;background:var(--inv);color:var(--inv-ink);border-radius:8px}.skip:focus{left:8px}.site-header{border-bottom:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}.brand{font-family:var(--mono);font-size:15px;font-weight:500;text-decoration:none;letter-spacing:.02em;padding:10px 0}.brand span{color:var(--accent)}.site-header__nav{display:flex;align-items:center;gap:12px}.sections{display:none}.sections a{padding:10px 12px;font-size:14px;color:var(--muted);text-decoration:none}.sections a:hover{color:var(--ink)}.langs{display:flex;gap:4px}.langs a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:40px;border-radius:8px;font-family:var(--mono);font-size:13px;color:var(--muted);text-decoration:none}.langs a[aria-current]{background:var(--ink);color:var(--bg)}.layout{display:flex;flex-direction:column;gap:32px;padding-block:28px 56px}.content{display:flex;flex-direction:column;gap:32px;min-width:0}.profile{display:flex;flex-direction:column;gap:20px}.profile__id{display:flex;align-items:center;gap:16px}.avatar{width:88px;height:88px;border-radius:20px;object-fit:cover;background:var(--line);flex-shrink:0}.profile__name{display:flex;flex-direction:column;gap:4px}.status{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;color:var(--muted)}.status__dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}h1{font-size:30px;line-height:1.1;font-weight:700;letter-spacing:-.02em}h1>span{display:block}.h1__role{margin-top:6px;font-size:16px;line-height:1.3;font-weight:600;letter-spacing:-.005em;color:var(--muted)}.headline{font-size:20px;line-height:1.35;font-weight:500;letter-spacing:-.01em}.current{font-family:var(--mono);font-size:13px;color:var(--muted)}.actions{display:flex;flex-direction:column;gap:10px}.actions__main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.actions__social{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 16px;border-radius:12px;font-weight:600;font-size:15px;text-decoration:none;text-align:center;overflow-wrap:anywhere}.btn--accent{background:var(--accent);color:var(--on-accent)}.btn--accent:hover{color:var(--on-accent);filter:brightness(1.08)}.btn--outline{background:var(--surface);border:1px solid var(--line-strong)}.btn--ghost{min-height:44px;border:1px solid var(--line);font-size:14px;font-weight:500}.btn--light{background:var(--inv-ink);color:var(--inv)}.btn--light:hover{color:var(--inv);filter:brightness(.95)}.only-wide{display:none}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.facts div{background:var(--surface);padding:14px;display:flex;flex-direction:column;gap:2px}.facts dt{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.facts dd{font-size:17px;font-weight:600;line-height:1.3}.section{display:flex;flex-direction:column;gap:12px;scroll-margin-top:16px}.kicker{font-family:var(--mono);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.about p+p{color:var(--muted)}.about{gap:12px}.jobs{display:flex;flex-direction:column;gap:10px}.job{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.job summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr)auto;gap:2px 12px;padding:16px}.job summary::-webkit-details-marker{display:none}.job__dates{grid-column:1;font-family:var(--mono);font-size:12px;color:var(--muted)}.job__head{grid-column:1;display:flex;flex-direction:column}.job__role{font-size:17px;font-weight:600;line-height:1.3}.job__company{font-size:15px;color:var(--muted)}.job summary .icon{grid-column:2;grid-row:1/span 2;align-self:center;color:var(--muted);transition:transform .2s}.job[open] summary .icon{transform:rotate(180deg)}.job__body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.job__lead{font-size:15px;font-weight:500}.job__body>ul:not(.tags){padding-left:18px;font-size:15px;color:var(--ink-2);display:flex;flex-direction:column;gap:4px}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.tags li{font-family:var(--mono);font-size:12px;padding:4px 8px;border-radius:6px;background:var(--surface-2);color:var(--ink-2)}.pair{display:flex;flex-direction:column;gap:32px}.card{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:10px}.card__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.card__title{font-size:18px;font-weight:600;line-height:1.3}.card .tags{margin-top:auto}.card--dark{background:var(--inv);color:var(--inv-ink);border-color:var(--inv);gap:14px}.card--dark .card__row{align-items:center}.badge{font-family:var(--mono);font-size:13px;padding:4px 10px;border-radius:6px;border:1px solid var(--inv-line)}.muted-inv{color:var(--inv-muted)}.card__link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px;font-weight:500;color:var(--inv-ink)}.card__link:hover{color:var(--inv-ink);text-decoration-thickness:2px}.stack{display:flex;flex-direction:column;gap:14px}.stack__name{font-size:14px;font-weight:600;margin-bottom:8px}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:6px}.chips li{font-size:14px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.background{display:grid;gap:20px;padding-top:24px;border-top:1px solid var(--line)}.background>div{display:flex;flex-direction:column;gap:8px}.background p{font-size:15px}.site-footer{margin-top:auto;background:var(--inv);color:var(--inv-ink)}.site-footer__inner{display:flex;flex-direction:column;gap:16px;padding-block:32px 40px}.site-footer__cta{font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.01em}.site-footer__meta{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12px;color:var(--inv-muted)}.notfound{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-block:80px;min-height:60vh}@media(min-width:640px){:root{--gutter:24px}.stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.background{grid-template-columns:repeat(3,minmax(0,1fr))}.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}@media(min-width:960px){.sections{display:flex;flex-wrap:wrap;gap:4px;padding-right:8px;border-right:1px solid var(--line)}.layout{flex-direction:row;align-items:flex-start;gap:64px;padding-block:56px 80px}.profile{flex:0 0 340px;gap:22px}.profile__id{flex-direction:column;align-items:flex-start;gap:22px}.avatar{width:120px;height:120px;border-radius:24px}h1{font-size:44px;line-height:1.05;letter-spacing:-.025em}.h1__role{margin-top:10px;font-size:18px;letter-spacing:-.01em}.actions__main{grid-template-columns:1fr}.only-narrow{display:none}.only-wide{display:inline}.content{flex:1;gap:56px}.about p:first-of-type{font-size:19px;line-height:1.5}.about p+p{font-size:17px}.jobs{gap:0}.job{background:0 0;border:0;border-top:1px solid var(--line);border-radius:0}.job::details-content{content-visibility:visible;display:block}.job summary{grid-template-columns:170px minmax(0,1fr);gap:24px;padding:24px 0 10px}.job__dates{font-size:13px;padding-top:4px}.job__head{grid-column:2}.job__role{font-size:20px}.job__company{font-size:16px}.job summary .icon{display:none}@supports selector(::details-content){.job summary{cursor:default;pointer-events:none}}.job__body{padding:0 0 24px 194px}.job__lead,.job__body>ul:not(.tags){font-size:16px}.card{padding:22px}.site-footer__inner{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding-block:48px}.site-footer__cta{font-size:28px;max-width:620px}.site-footer__inner .btn{padding:0 24px}.site-footer__meta{flex-basis:100%}}@media(min-width:960px) and (min-height:800px){.profile{position:sticky;top:32px}}