@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:"Geist Mono", "SFMono-Regular", Menlo, Consolas, monospace;--background:#fff;--foreground:#171717;--surface:#fafafa;--surface-elevated:#fff;--surface-muted:#f5f5f5;--border:#ebebeb;--border-strong:#e5e5e5;--text-primary:#171717;--text-secondary:#666;--text-tertiary:#888;--text-disabled:#a3a3a3;--danger:#e5484d;--danger-soft:#e5484d14;--gradient-blue-cyan:linear-gradient(135deg, #0070f3 0%, #00d4ff 100%);--gradient-violet-pink:linear-gradient(135deg, #7928ca 0%, #ff0080 100%);--gradient-red-amber:linear-gradient(135deg, #ff0080 0%, #f5a623 100%);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--duration-fast:.12s;--duration-normal:.18s;--duration-slow:.28s;--ease:cubic-bezier(.22, 1, .36, 1);--container-max:1200px;font:400 16px/26px var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text-secondary);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--background:#000;--foreground:#fff;--surface:#0a0a0a;--surface-elevated:#0a0a0a;--surface-muted:#111;--border:#262626;--border-strong:#2e2e2e;--text-primary:#fff;--text-secondary:#a3a3a3;--text-tertiary:#8a8a8a;--text-disabled:#666;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--background:#000;--foreground:#fff;--surface:#0a0a0a;--surface-elevated:#0a0a0a;--surface-muted:#111;--border:#262626;--border-strong:#2e2e2e;--text-primary:#fff;--text-secondary:#a3a3a3;--text-tertiary:#8a8a8a;--text-disabled:#666;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--background);margin:0}h1,h2,h3{font-family:var(--font-sans);color:var(--text-primary);letter-spacing:-.02em;margin:0;font-weight:600}p{margin:0}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans)}ul{margin:0;padding:0;list-style:none}main{flex-direction:column;display:flex}img{max-width:100%;display:block}:focus-visible{outline-offset:2px;border-radius:2px;outline:2px solid}.wrap{max-width:var(--container-max);margin:0 auto;padding:0 20px}@media (width>=640px){.wrap{padding:0 24px}}@media (width>=1024px){.wrap{padding:0 32px}}.section{border-top:1px solid var(--border);padding:64px 0}@media (width>=768px){.section{padding:96px 0}}@media (width>=1024px){.section{padding:128px 0}}.section__head{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.section__head{grid-template-columns:4fr 8fr;gap:48px}}.section__label{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);white-space:nowrap;font-size:12px;line-height:18px}.section__label--standalone{margin-bottom:32px}@media (width>=1024px){.section__label--standalone{margin-bottom:48px}}.reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease), transform var(--duration-slow) var(--ease);transform:translateY(10px)}.reveal.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.kbd{font-family:var(--font-mono);color:var(--text-tertiary);background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:4px;align-items:center;padding:3px 5px;font-size:11px;line-height:1;display:inline-flex}.btn{border-radius:var(--radius-md);cursor:pointer;height:40px;transition:background var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease), opacity var(--duration-fast) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:14px;font-weight:500;display:inline-flex}.btn--primary{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.btn--primary:hover{opacity:.85}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{background:var(--background);color:var(--foreground);border-color:var(--border-strong)}.btn--secondary:hover{border-color:var(--foreground)}.link-tertiary{color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);background:0 0;border:none;border-bottom:1px solid #0000;align-items:center;gap:6px;padding-bottom:2px;font-size:14px;display:inline-flex}.link-tertiary:hover{color:var(--text-primary);border-bottom-color:var(--text-primary)}.link-tertiary .arrow{transition:transform var(--duration-fast) var(--ease);display:inline-block}.link-tertiary:hover .arrow{transform:translate(3px)}.nav{z-index:40;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--background) 85%, transparent);-webkit-backdrop-filter:blur(10px);position:sticky;top:0}.nav__inner{justify-content:space-between;align-items:center;height:64px;display:flex}.nav__mark{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-primary);font-size:13px;font-weight:500}.nav__links{align-items:center;gap:28px;display:none}@media (width>=640px){.nav__links{display:flex}}.nav__links a{color:var(--text-secondary);transition:color var(--duration-fast) var(--ease);font-size:14px}.nav__links a:hover{color:var(--text-primary)}.nav__right{align-items:center;gap:8px;display:flex}.nav__command{border:1px solid var(--border);border-radius:var(--radius-md);height:32px;color:var(--text-secondary);font-family:var(--font-mono);cursor:pointer;transition:border-color var(--duration-fast) var(--ease), color var(--duration-fast) var(--ease);background:0 0;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:inline-flex}.nav__command .kbd{display:none}@media (width>=1024px){.nav__command .kbd{display:inline-flex}}.nav__command:hover{border-color:var(--border-strong);color:var(--text-primary)}.theme-toggle{width:32px;height:32px;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:color var(--duration-fast) var(--ease), border-color var(--duration-fast) var(--ease);background:0 0;justify-content:center;align-items:center;display:flex}.theme-toggle:hover{color:var(--text-primary);border-color:var(--border-strong)}.hero{border-bottom:1px solid var(--border);padding:96px 0 64px}@media (width>=768px){.hero{padding:128px 0 96px}}@media (width>=1024px){.hero{padding:160px 0 120px}}.hero__grid{grid-template-columns:1fr;align-items:center;gap:48px;display:grid}@media (width>=1024px){.hero__grid{grid-template-columns:7fr 5fr;gap:64px}}.hero__eyebrow{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:24px;font-size:13px}.hero__name{font-family:var(--font-sans);letter-spacing:-.045em;color:var(--text-primary);max-width:14ch;font-size:clamp(40px,6.5vw,64px);font-weight:600;line-height:1.03}.hero__tagline{letter-spacing:-.005em;max-width:52ch;color:var(--text-secondary);margin-top:24px;font-size:18px;line-height:28px}@media (width>=768px){.hero__tagline{font-size:20px;line-height:30px}}.hero__actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:40px;display:flex}.hero__command-trigger{color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease);background:0 0;border:none;align-items:center;gap:10px;margin-top:28px;padding:0;font-size:14px;display:inline-flex}.hero__command-trigger:hover{color:var(--text-primary)}.hero__command-trigger .kbd{display:none}@media (width>=1024px){.hero__command-trigger .kbd{display:inline-flex}}.hero__command-trigger .arrow{transition:transform var(--duration-fast) var(--ease)}.hero__command-trigger:hover .arrow{transform:translate(3px)}.hero__visual{display:none}@media (width>=1024px){.hero__visual{justify-content:center;align-items:flex-end;height:100%;display:flex}}.hero__visual picture{width:100%;max-width:420px;display:block}.hero__visual img{width:100%;height:auto;display:block}.timeline{flex-direction:column;display:flex}.timeline-row{border-top:1px solid var(--border);grid-template-columns:1fr;gap:12px;padding:32px 0;display:grid}@media (width>=640px){.timeline-row{grid-template-columns:3fr 9fr;gap:32px;padding:40px 0}}.timeline .timeline-row:first-child{border-top:none;padding-top:0}.timeline-row__period{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-tertiary);white-space:nowrap;padding-top:2px;font-size:13px}.timeline-row__body h3{font-size:22px;font-weight:600;line-height:28px}.timeline-row__role{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);margin-top:8px;font-size:12px}.timeline-row__highlight{color:var(--text-secondary);max-width:64ch;margin-top:14px;font-size:15px;line-height:24px}.timeline-row__tech{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.timeline-row__tech li{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-tertiary);background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px}.skills-groups{flex-direction:column;gap:32px;display:flex}.skills-group__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:14px;font-size:12px}.skills-list{font-family:var(--font-mono);color:var(--text-primary);flex-wrap:wrap;font-size:14px;display:flex}.skills-list li{padding:0 18px 8px 0;position:relative}.skills-list li:not(:last-child):after{content:"/";color:var(--border-strong);position:absolute;right:6px}.projects{flex-direction:column;gap:24px;display:flex}.project-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-elevated);transition:border-color var(--duration-normal) var(--ease), background var(--duration-normal) var(--ease);padding:32px;position:relative}@media (width>=768px){.project-card{padding:40px}}.project-card--linked{cursor:pointer}.project-card--linked:hover{border-color:var(--border-strong);background:var(--surface)}.project-card__index{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:16px;font-size:12px;display:block}.project-card h3{letter-spacing:-.025em;font-size:24px;line-height:30px}.project-card__title-link{color:inherit}.project-card__title-link:after{content:"";position:absolute;inset:0}.project-card p{color:var(--text-secondary);max-width:60ch;margin-top:12px;font-size:15px;line-height:24px}.project-card__tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.project-card__tags li{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-tertiary);background:var(--surface-muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:12px}.project-card__footer{flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px;display:flex}.project-card__cta{color:var(--text-secondary);align-items:center;gap:6px;font-size:14px;display:inline-flex}.project-card--linked:hover .project-card__cta{color:var(--text-primary)}.project-card--linked:hover .project-card__cta .arrow{transform:translate(3px)}.project-card__secondary{z-index:1;position:relative}.recruiter-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);padding:32px 24px;position:relative;overflow:hidden}@media (width>=768px){.recruiter-card{padding:56px}}.recruiter-card:before{content:"";background:var(--gradient-violet-pink);opacity:.1;filter:blur(70px);pointer-events:none;width:320px;height:320px;position:absolute;top:-30%;right:-10%}.recruiter-card__eyebrow{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:16px;font-size:12px;position:relative}.recruiter-card__heading{letter-spacing:-.03em;max-width:20ch;font-size:clamp(24px,4vw,36px);line-height:1.15;position:relative}.recruiter-card__text{color:var(--text-secondary);max-width:48ch;margin-top:16px;font-size:16px;line-height:26px;position:relative}.recruiter-card__form{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex;position:relative}.recruiter-card__form input{min-width:220px;height:44px;font:16px var(--font-sans);color:var(--text-primary);background:var(--background);border:1px solid var(--border-strong);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease);flex:auto;padding:0 16px}.recruiter-card__form input:focus{border-color:var(--foreground);outline:none}.recruiter-card__form input.has-error{border-color:var(--danger);background:var(--danger-soft)}.recruiter-card__form button{height:44px}.recruiter-card__status{font-family:var(--font-mono);color:var(--text-secondary);margin-top:20px;font-size:13px;position:relative}.recruiter-card__status--error{color:var(--danger)}@media (width<=560px){.recruiter-card__form{flex-direction:column}.recruiter-card__form button{justify-content:center}}.section--dark{--surface:#0a0a0a;--surface-muted:#111;--border:#262626;--border-strong:#2e2e2e;--text-primary:#fff;--text-secondary:#a3a3a3;--text-tertiary:#8a8a8a;background:#000;position:relative;overflow:hidden}@media (width>=1024px){.section--dark{padding:96px 0 128px}}.section--dark:before{content:"";pointer-events:none;background:radial-gradient(60% 55% at 100% 0,#4c3a6e1b 0%,#4c3a6e0a 45%,#0000 75%);position:absolute;inset:0}.contact__text{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:20px;font-size:13px;display:block;position:relative}.contact__email{max-width:100%;font-family:var(--font-sans);letter-spacing:-.03em;color:var(--text-primary);border-bottom:1px solid var(--border);overflow-wrap:anywhere;transition:border-color var(--duration-fast) var(--ease);padding-bottom:8px;font-size:clamp(18px,5vw,52px);font-weight:600;line-height:1.15;display:inline-block;position:relative}.contact__email:hover{border-color:var(--text-primary)}.contact__links{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-secondary);flex-wrap:wrap;gap:24px;margin-top:32px;font-size:13px;display:flex;position:relative}.contact__links a{transition:color var(--duration-fast) var(--ease)}.contact__links a:hover{color:var(--text-primary)}.command-overlay{z-index:100;opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease);background:#00000080;justify-content:center;align-items:flex-start;padding:14vh 20px 0;display:flex;position:fixed;inset:0}.command-overlay--open{opacity:1;pointer-events:auto}.command-palette{background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);opacity:0;width:min(560px,100%);max-height:min(480px,100vh - 200px);transition:transform var(--duration-normal) var(--ease), opacity var(--duration-normal) var(--ease);flex-direction:column;display:flex;overflow:hidden;transform:translateY(-8px)scale(.98);box-shadow:0 1px 2px #0000000a,0 16px 40px #00000029}.command-overlay--open .command-palette{opacity:1;transform:none}.command-palette__input-row{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.command-palette__input-row svg{color:var(--text-tertiary);flex-shrink:0}.command-palette__input-row input{min-width:0;font:16px/1.4 var(--font-sans);color:var(--text-primary);background:0 0;border:none;outline:none;flex:1}.command-palette__input-row input::placeholder{color:var(--text-tertiary)}.command-palette__body{flex:1;padding:8px;overflow-y:auto}.command-palette__section-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);padding:10px 10px 6px;font-size:11px}.command-item{text-align:left;border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease);background:0 0;border:none;justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;display:flex}.command-item:hover,.command-item:focus-visible{background:var(--surface-muted);outline:none}.command-item__hint{font-family:var(--font-mono);color:var(--text-tertiary);font-size:12px}.command-palette__messages{flex-direction:column;gap:10px;padding:12px;display:flex}.command-palette__hint{color:var(--text-tertiary);padding:10px 12px;font-size:13px;line-height:20px}@keyframes bubbleIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-bubble{border-radius:var(--radius-md);white-space:pre-wrap;max-width:88%;animation:bubbleIn var(--duration-normal) var(--ease) both;padding:10px 14px;font-size:14px;line-height:1.5}.chat-bubble--user{background:var(--foreground);color:var(--background);align-self:flex-end}.chat-bubble--assistant{background:var(--surface-muted);color:var(--text-primary);border:1px solid var(--border);align-self:flex-start}.chat-bubble--typing{align-items:center;gap:4px;padding:14px;display:flex}.chat-bubble--typing span{background:var(--text-tertiary);border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite typingBounce}.chat-bubble--typing span:nth-child(2){animation-delay:.15s}.chat-bubble--typing span:nth-child(3){animation-delay:.3s}@media (prefers-reduced-motion:reduce){.command-overlay,.command-palette,.chat-bubble,.chat-bubble--typing span{transition:none;animation:none}}.footer{border-top:1px solid var(--border);padding:32px 0}.footer__inner{font-family:var(--font-mono);color:var(--text-tertiary);justify-content:space-between;align-items:center;font-size:12px;display:flex}.footer a{transition:color var(--duration-fast) var(--ease)}.footer a:hover{color:var(--text-primary)}
