:root{--bg:#0b0c10;--bg-2:#101218;--surface:#ffffff06;--surface-hover:#ffffff0d;--ink:#ecebe4;--ink-2:#c3c3bd;--muted:#868a96;--line:#ffffff17;--line-strong:#ffffff2e;--accent:#ff6a3d;--accent-2:#8b93ff;--glow:#ff6a3d29;--glow-2:#8b93ff24;--serif:"Instrument Serif", "Times New Roman", serif;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, monospace;--gutter:clamp(16px, 4vw, 40px);--max:1180px;--radius:18px;--ease:cubic-bezier(.2, .7, .1, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f3f0e8;--bg-2:#ebe7dc;--surface:#14161b06;--surface-hover:#14161b0d;--ink:#15171c;--ink-2:#3a3d45;--muted:#6a6d76;--line:#14161b1a;--line-strong:#14161b33;--accent:#e0502a;--accent-2:#4f5bd5;--glow:#e0502a1f;--glow-2:#4f5bd51a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color .4s var(--ease), color .4s var(--ease);margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.wrap{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--gutter);z-index:100;background:var(--ink);color:var(--bg);border-radius:8px;padding:8px 14px;top:12px}.reveal{opacity:0;transition:opacity .8s var(--ease) var(--d,0s), transform .8s var(--ease) var(--d,0s);transform:translateY(18px)}.reveal.in{opacity:1;transform:none}.nav{z-index:50;border-bottom:1px solid #0000;transition:background-color .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;position:fixed;inset:0 0 auto}.nav--scrolled{background:color-mix(in srgb, var(--bg) 72%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom-color:var(--line)}.nav__inner{align-items:center;gap:24px;height:68px;display:flex}.mark{border:1px solid var(--line-strong);width:38px;height:38px;font-family:var(--serif);transition:border-color .3s, transform .3s var(--ease);border-radius:11px;place-items:center;font-size:24px;font-style:italic;line-height:1;display:grid;position:relative}.mark:hover{border-color:var(--accent);transform:rotate(-6deg)}.mark__a{transform:translateY(-2px)}.mark__dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent);border-radius:50%;position:absolute;top:7px;right:7px}.nav__links{color:var(--muted);gap:28px;margin-left:auto;font-size:14px;display:flex}.nav__links a{transition:color .2s;position:relative}.nav__links a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-4px;left:0;right:0;transform:scaleX(0)}.nav__links a:hover{color:var(--ink)}.nav__links a:hover:after{transform:scaleX(1)}.theme-toggle{border:1px solid var(--line-strong);width:38px;height:38px;color:var(--ink);cursor:pointer;transition:border-color .2s, transform .4s var(--ease);background:0 0;border-radius:50%;place-items:center;display:grid}.theme-toggle:hover{border-color:var(--accent);transform:rotate(25deg)}.hero{isolation:isolate;align-items:center;min-height:100svh;padding:120px 0 72px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(closest-side, var(--glow), transparent 70%), radial-gradient(closest-side at 30% 70%, var(--glow-2), transparent 70%);filter:blur(20px);z-index:-2;width:70vw;max-width:900px;height:70vw;max-height:900px;animation:12s ease-in-out infinite alternate breathe;position:absolute;inset:-20% -10% auto auto}@keyframes breathe{to{transform:translate(-6%,8%)scale(1.08)}}.hero__grid{z-index:-2;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);opacity:.6;background-size:56px 56px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 70% 40%,#000 10%,#0000 75%);mask-image:radial-gradient(70% 60% at 70% 40%,#000 10%,#0000 75%)}.field{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.hero__inner{position:relative}.hero__eyebrow{border:1px solid var(--line-strong);background:color-mix(in srgb, var(--bg) 60%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--mono);letter-spacing:.02em;color:var(--ink-2);animation:rise .9s var(--ease) both;border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 10px;font-size:12px;display:inline-flex}.pulse{background:#3ddc84;border-radius:50%;width:8px;height:8px;position:relative}.pulse:after{content:"";background:#3ddc84;border-radius:50%;animation:2s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:0}@keyframes ping{75%,to{opacity:0;transform:scale(2.6)}}.hero__name{font-family:var(--serif);letter-spacing:-.025em;animation:rise 1s var(--ease) 80ms both;margin-top:28px;font-size:clamp(56px,11vw,148px);font-weight:400;line-height:.92}.hero__name em{background:linear-gradient(100deg, var(--accent) 10%, var(--accent-2) 90%);color:#0000;-webkit-background-clip:text;background-clip:text;padding-right:.06em;font-style:italic}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}.ask{max-width:760px;animation:rise 1s var(--ease) .18s both;transition:box-shadow .6s var(--ease);border-radius:18px;margin-top:36px;padding:1.5px;position:relative}.ask--retrieving,.ask--streaming{box-shadow:0 0 0 1px transparent, 0 18px 60px -20px var(--accent), 0 0 80px -30px var(--accent-2)}.ask__border{border-radius:inherit;background:conic-gradient(from var(--spin), var(--line-strong) 0deg, var(--accent) 60deg, var(--accent-2) 120deg, var(--line-strong) 180deg, var(--line-strong) 360deg);opacity:.5;transition:opacity .6s var(--ease);animation:6s linear infinite spin;position:absolute;inset:0}.ask--retrieving .ask__border,.ask--streaming .ask__border{opacity:1;animation-duration:1.1s}@keyframes spin{to{--spin:360deg}}.ask__inner{background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(12px);border-radius:16.5px;padding:16px 20px 18px;position:relative;overflow:hidden}.ask__beam{pointer-events:none;background:linear-gradient(100deg, transparent 30%, var(--glow) 45%, var(--glow-2) 55%, transparent 70%);opacity:0;position:absolute;inset:0;transform:translate(-100%)}.ask--retrieving .ask__beam{opacity:1;animation:sweep .75s var(--ease) infinite}@keyframes sweep{to{transform:translate(100%)}}.ask__bar{border-bottom:1px solid var(--line);min-height:26px;font-family:var(--mono);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;font-size:13px;display:flex}.ask__query{color:var(--ink-2);white-space:nowrap}.ask__key{color:var(--accent)}.ask__chev{color:var(--muted);margin:0 8px}.ask__cursor{vertical-align:-2px;background:var(--ink-2);width:7px;height:14px;margin-left:2px;animation:.9s steps(2,start) infinite blink;display:inline-block}.ask__status{color:var(--muted);white-space:nowrap;animation:tok .3s var(--ease) both;align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.ask__orb{background:conic-gradient(from 0deg, transparent, var(--accent), var(--accent-2));border-radius:50%;width:12px;height:12px;animation:.7s linear infinite orb;-webkit-mask:radial-gradient(circle,#0000 3px,#000 3.5px);mask:radial-gradient(circle,#0000 3px,#000 3.5px)}@keyframes orb{to{transform:rotate(360deg)}}.ask__shimmer{background:linear-gradient(90deg, var(--muted) 0%, var(--ink) 45%, var(--muted) 90%);color:#0000;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:1s linear infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ask__ok{color:#3ddc84;font-size:8px}.ask__replay{border:1px solid var(--line-strong);width:24px;height:24px;color:var(--muted);cursor:pointer;transition:color .2s, border-color .2s, transform .5s var(--ease);background:0 0;border-radius:50%;place-items:center;margin-left:4px;display:grid}.ask__replay:hover{color:var(--accent);border-color:var(--accent);transform:rotate(-200deg)}.ask__body{min-height:2.6em;margin:16px 0 18px;font-size:clamp(21px,2.6vw,30px);line-height:1.3}.ask__skeleton{gap:.42em;padding-top:.2em;display:grid}.ask__skeleton span{background:linear-gradient(90deg, var(--surface-hover) 0%, var(--line-strong) 50%, var(--surface-hover) 100%);background-size:200% 100%;border-radius:6px;height:.5em;animation:1.1s linear infinite shimmer}.ask__skeleton span:last-child{width:55%}.ask--typing .ask__skeleton span{opacity:.5;animation:none}.ask__sources{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.src{border:1px solid var(--line);font-family:var(--mono);color:var(--muted);opacity:.45;transition:opacity .3s, border-color .3s, background-color .3s, transform .4s var(--ease);border-radius:9px;gap:7px;padding:8px 10px 9px;font-size:11.5px;display:grid}.src--hit{opacity:1;color:var(--ink-2);border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 6%, transparent);animation:hit .45s var(--ease)}.ask--done .src--hit{border-color:var(--line);background:var(--surface)}@keyframes hit{40%{box-shadow:0 6px 20px -6px var(--accent);transform:translateY(-3px)}}.src__top{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.src__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.src__name sup{color:var(--accent);margin-right:3px;font-size:9px}.src__score{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.src--hit .src__score{color:var(--accent)}.src__bar{background:var(--line);border-radius:2px;height:2px;overflow:hidden}.src__bar span{transform-origin:0;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:transform .5s var(--ease);display:block}.hero__headline{letter-spacing:-.015em;min-height:2.6em;font-size:clamp(21px,2.6vw,30px);font-weight:450;line-height:1.3}.stream__tok{animation:tok .35s var(--ease) both}@keyframes tok{0%{opacity:0;filter:blur(4px)}}.stream__caret{vertical-align:-.12em;background:var(--accent);border-radius:2px;width:.5em;height:1em;margin-left:3px;animation:1s steps(2,start) infinite blink;display:inline-block}.stream__caret--done{opacity:.6}@keyframes blink{to{visibility:hidden}}.hero__intro{max-width:620px;color:var(--ink-2);animation:rise 1s var(--ease) .28s both;margin-top:24px;font-size:17px}.hero__cta{animation:rise 1s var(--ease) .36s both;flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.hero__titles{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);animation:rise 1s var(--ease) .44s both;flex-wrap:wrap;gap:8px 22px;margin-top:56px;font-size:12px;display:flex}.hero__titles li:before{content:"◆";color:var(--accent);vertical-align:2px;margin-right:8px;font-size:8px}.hero__titles .hero__loc:before{content:"⌖";vertical-align:0;font-size:12px}.btn{height:48px;font:500 15px/1 var(--sans);cursor:pointer;transition:transform .25s var(--ease), background-color .25s, border-color .25s, box-shadow .3s;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:0 22px;display:inline-flex}.btn span{transition:transform .3s var(--ease)}.btn:hover span{transform:translate(4px)}.btn--solid{background:var(--ink);color:var(--bg)}.btn--solid:hover{box-shadow:0 10px 30px -10px var(--accent);transform:translateY(-2px)}.btn--ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn--ghost:hover{border-color:var(--ink);transform:translateY(-2px)}.btn--small{height:38px;padding:0 16px;font-size:13px}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}.stats__grid{grid-template-columns:repeat(4,1fr);display:grid}.stat{border-left:1px solid var(--line);flex-direction:column;gap:10px;padding:40px 28px 38px;display:flex}.stat:first-child{border-left:0;padding-left:0}.stat__value{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(44px,5vw,64px);line-height:1}.stat__label{color:var(--muted);max-width:22ch;font-size:14px}.section{padding:clamp(88px,12vw,148px) 0 0}.section-head{grid-template-columns:140px 1fr;align-items:end;gap:8px 24px;margin-bottom:56px;display:grid}.section-head__index{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);grid-row:span 2;align-self:start;padding-top:18px;font-size:12px}.section-head__title{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(44px,6.5vw,84px);font-weight:400;line-height:1}.section-head__kicker{max-width:56ch;color:var(--muted);font-size:17px}.work-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.card{--mx:50%;--my:0%;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:border-color .35s, background-color .35s, transform .5s var(--ease), opacity .8s var(--ease) var(--d,0s);flex-direction:column;gap:14px;padding:28px 28px 26px;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:radial-gradient(420px circle at var(--mx) var(--my), var(--glow), transparent 60%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.card:hover{border-color:var(--line-strong);background:var(--surface-hover)}.card.in:hover{transform:translateY(-4px)}.card:hover:before{opacity:1}.card--feature{padding:34px 32px 30px}.card__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.chip{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent);border-radius:999px;padding:4px 10px;font-size:11px}.card__org{font-family:var(--mono);color:var(--muted);text-align:right;font-size:12px}.card__metric{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:18px;display:flex}.card__metric-value{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(48px,5vw,64px);line-height:1}.card--feature .card__metric-value{background:linear-gradient(100deg, var(--ink) 30%, var(--accent) 130%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(56px,6.4vw,84px)}.card__metric-label{color:var(--muted);font-size:14px}.card__title{letter-spacing:-.01em;font-size:21px;font-weight:550;line-height:1.25}.card__summary{color:var(--ink-2);font-size:15.5px}.card__stack{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:10px;display:flex}.card__stack li{font-family:var(--mono);background:var(--surface-hover);color:var(--ink-2);border-radius:6px;padding:4px 9px;font-size:11.5px}.timeline{position:relative}.job{border-top:1px solid var(--line);grid-template-columns:140px 1fr;gap:24px;padding:34px 0;display:grid}.job:last-child{border-bottom:1px solid var(--line)}.job__period{font-family:var(--mono);color:var(--muted);padding-top:6px;font-size:13px}.job__company{font-family:var(--serif);letter-spacing:-.01em;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:clamp(28px,3.4vw,38px);font-weight:400;line-height:1.1;display:flex}.job__place{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);font-size:12px}.job__roles{margin-top:10px}.job__role{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:2px 12px;font-weight:500;display:flex}.job__role+.job__role{margin-top:2px}.job__dates{color:var(--muted);font-size:13px;font-weight:400}.job__points{gap:8px;max-width:760px;margin-top:16px;display:grid}.job__points li{color:var(--ink-2);padding-left:22px;font-size:15.5px;position:relative}.job__points li:before{content:"";background:var(--accent);width:10px;height:1px;position:absolute;top:.72em;left:0}.job:hover .job__company{color:var(--accent);transition:color .3s}.skills{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(5,1fr);gap:1px;display:grid;overflow:hidden}.skill{background:var(--bg);padding:26px 24px 28px}.skill__group{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:12px;font-weight:500}.skill__items{color:var(--ink-2);gap:6px;font-size:15px;display:grid}.creds{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.creds__col{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:28px}.creds__title{font-family:var(--serif);margin-bottom:18px;font-size:30px;font-weight:400}.creds__title--spaced{margin-top:30px}.edu{gap:20px;display:grid}.edu__row{justify-content:space-between;gap:12px;font-weight:550;display:flex}.edu__year{font-family:var(--mono);color:var(--muted);font-size:13px;font-weight:400}.edu__detail{color:var(--ink-2);font-size:15px}.edu__note{color:var(--muted);margin-top:4px;font-size:13.5px;font-style:italic}.plain{color:var(--ink-2);gap:8px;font-size:15px;display:grid}.plain li{padding-left:20px;position:relative}.plain li:before{content:"↳";color:var(--accent);position:absolute;left:0}.contact{border-top:1px solid var(--line);isolation:isolate;margin-top:clamp(100px,14vw,170px);padding-top:clamp(80px,11vw,140px);position:relative;overflow:hidden}.contact:before{content:"";background:radial-gradient(closest-side, var(--glow), transparent 70%), radial-gradient(closest-side at 70% 40%, var(--glow-2), transparent 70%);z-index:-1;width:1100px;height:700px;position:absolute;bottom:-40%;left:50%;transform:translate(-50%)}.contact__eyebrow{font-family:var(--mono);letter-spacing:.08em;color:var(--accent);font-size:12px}.contact__title{font-family:var(--serif);letter-spacing:-.025em;max-width:13ch;margin-top:20px;font-size:clamp(48px,8.4vw,120px);font-weight:400;line-height:.98}.contact__title em{background:linear-gradient(100deg, var(--accent) 10%, var(--accent-2) 90%);color:#0000;-webkit-background-clip:text;background-clip:text;padding-right:.06em;font-style:italic}.contact__text{max-width:52ch;color:var(--ink-2);margin-top:28px;font-size:17px}.contact__actions{flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:40px;display:flex}.contact__email{letter-spacing:-.015em;background-image:linear-gradient(var(--accent), var(--accent));transition:background-size .5s var(--ease);overflow-wrap:anywhere;background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;padding-bottom:4px;font-size:clamp(22px,3.4vw,36px)}.contact__email:hover{background-size:100% 2px}.contact__links{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.contact__links a{border:1px solid var(--line-strong);border-radius:999px;gap:8px;padding:10px 16px;font-size:14px;transition:border-color .2s,color .2s;display:inline-flex}.contact__links a:hover{border-color:var(--accent);color:var(--accent)}.footer{border-top:1px solid var(--line);font-family:var(--mono);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:clamp(80px,12vw,140px);padding-top:24px;padding-bottom:32px;font-size:12px;display:flex}@media (width<=1100px){.skills{grid-template-columns:repeat(2,1fr)}.skill:last-child{grid-column:1/-1}}@media (width<=560px){.skills{grid-template-columns:1fr}}@media (width<=900px){.stats__grid{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:0;padding-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.work-grid,.creds,.section-head,.job{grid-template-columns:1fr}.section-head__index{grid-row:auto;padding-top:0}.job{gap:8px}}@media (width<=640px){.nav__links{display:none}.theme-toggle{margin-left:auto}.hero{padding-top:108px}.ask__inner{padding:14px 14px 16px}.ask__body{min-height:3.9em}.ask__sources{grid-template-columns:repeat(3,1fr)}.src:nth-child(n+4){display:none}.stat{padding:28px 16px 26px}.stat:nth-child(odd){padding-left:0}.card,.card--feature,.creds__col{padding:24px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
