:root{--bg:#0a0b0d;--surface:#111317;--surface-2:#171a1f;--border:#23272e;--border-strong:#323843;--text:#f4f4f5;--text-muted:#a1a1aa;--accent:#34d399;--accent-strong:#6ee7b7;--accent-ink:#052e1f;--accent-soft:#34d3991f;--glow:#10b98138;--grid-line:hsla(0,0%,100%,.035);--shadow:0 1px 0 #ffffff0a inset,0 20px 40px -24px #000c;--font-display:"Space Grotesk",system-ui,sans-serif;--font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--radius:16px;--radius-lg:24px;--ease:cubic-bezier(0.22,1,0.36,1);color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f7f7f5;--surface:#fff;--surface-2:#f1f2ef;--border:#e4e4e0;--border-strong:#cfd0ca;--text:#111412;--text-muted:#55595f;--accent:#047857;--accent-strong:#065f46;--accent-ink:#fff;--accent-soft:#04785717;--glow:#10b98129;--grid-line:#0000000a;--shadow:0 1px 2px #0000000a,0 20px 40px -28px #00000040;color-scheme:light}}:root[data-theme=light]{--bg:#f7f7f5;--surface:#fff;--surface-2:#f1f2ef;--border:#e4e4e0;--border-strong:#cfd0ca;--text:#111412;--text-muted:#55595f;--accent:#047857;--accent-strong:#065f46;--accent-ink:#fff;--accent-soft:#04785717;--glow:#10b98129;--grid-line:#0000000a;--shadow:0 1px 2px #0000000a,0 20px 40px -28px #00000040;color-scheme:light}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0b0d;background:var(--bg);color:#f4f4f5;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.65;margin:0;transition:background-color .25s cubic-bezier(.22,1,.36,1),color .25s cubic-bezier(.22,1,.36,1);transition:background-color .25s var(--ease),color .25s var(--ease)}h1,h2,h3{font-family:Space Grotesk,system-ui,sans-serif;font-family:var(--font-display);letter-spacing:-.02em;line-height:1.1;margin:0}ol,p,ul{margin:0}ol,ul{list-style:none;padding:0}a{color:inherit;text-decoration:none}img,svg{display:block}:focus-visible{border-radius:8px;outline:2px solid #34d399;outline:2px solid var(--accent);outline-offset:3px}::selection{background:#34d399;background:var(--accent);color:#052e1f;color:var(--accent-ink)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.container{margin:0 auto;max-width:1120px;padding:0 24px;width:100%}.backdrop{background:radial-gradient(600px circle at 15% 0,var(--glow),#0000 60%),radial-gradient(500px circle at 95% 25%,var(--accent-soft),#0000 60%),linear-gradient(var(--grid-line) 1px,#0000 1px) 0 0 /56px 56px,linear-gradient(90deg,var(--grid-line) 1px,#0000 1px) 0 0 /56px 56px;inset:0;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 45%,#0000 90%);mask-image:linear-gradient(180deg,#000 0,#000 45%,#0000 90%);pointer-events:none;position:fixed;z-index:-1}.skip-link{background:var(--accent);border-radius:10px;color:var(--accent-ink);font-weight:600;left:16px;padding:10px 16px;position:absolute;top:-48px;z-index:50}.skip-link:focus{top:16px}.accent-text{color:var(--accent)}.nav{padding:12px 16px 0;position:sticky;top:0;z-index:30}.nav:before{background:linear-gradient(var(--bg) 35%,#0000);content:"";height:44px;inset:0 0 auto;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s var(--ease);z-index:-1}.nav--scrolled:before{opacity:1}.nav__inner{border:1px solid #0000;border-radius:22px;margin:0 auto;max-width:1088px;transition:background-color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease)}.nav--scrolled .nav__inner{-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);background:color-mix(in srgb,var(--surface) 78%,#0000);border-color:var(--border);box-shadow:var(--shadow)}.nav__bar{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr auto 1fr;height:64px;padding:0 10px 0 12px}.brand,.nav__bar{align-items:center}.brand{border-radius:12px;display:flex;gap:12px}.brand__mark{border-radius:10px;box-shadow:0 6px 16px -6px var(--glow);flex-shrink:0;height:40px;width:40px}.brand__text{display:flex;flex-direction:column;line-height:1.2}.brand__text strong{font-family:var(--font-display);font-size:1rem;font-weight:600;letter-spacing:-.01em}.brand__text small{color:var(--text-muted);font-family:var(--font-mono);font-size:.7rem}.nav__links{background:color-mix(in srgb,var(--surface-2) 70%,#0000);border:1px solid var(--border);border-radius:999px;display:flex;gap:2px;padding:4px}.nav__links a{border-radius:999px;color:var(--text-muted);display:block;font-size:.9rem;font-weight:500;padding:7px 16px;transition:color .2s var(--ease),background-color .2s var(--ease)}.nav__links a:hover{color:var(--text)}.nav__links a.is-active{background:var(--accent-soft);color:var(--accent)}.nav__actions{align-items:center;display:flex;gap:8px;justify-self:end}.brand{justify-self:start}.theme-toggle svg{animation:icon-in .4s var(--ease)}@keyframes icon-in{0%{opacity:0;transform:rotate(-90deg) scale(.5)}}.nav__actions .nav__toggle{display:none}.burger{height:12px;position:relative;width:18px}.burger span{background:currentColor;border-radius:2px;height:2px;left:0;position:absolute;transition:transform .3s var(--ease),top .3s var(--ease);width:100%}.burger span:first-child{top:1px}.burger span:last-child{top:9px}.nav--open .burger span:first-child{top:5px;transform:rotate(45deg)}.nav--open .burger span:last-child{top:5px;transform:rotate(-45deg)}.nav__menu,.nav__overlay{display:none}.icon-button{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);cursor:pointer;display:inline-grid;font-size:1.1rem;height:44px;place-items:center;transition:color .2s var(--ease),border-color .2s var(--ease),background-color .2s var(--ease);width:44px}.icon-button:hover{border-color:var(--accent);color:var(--accent)}.button{align-items:center;border:1px solid #0000;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.975rem;font-weight:600;gap:8px;min-height:48px;padding:0 22px;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}.button svg{transition:transform .2s var(--ease)}.button--primary{background:var(--accent);color:var(--accent-ink)}.button--primary:hover{background:var(--accent-strong)}.button--primary:hover svg{transform:translateY(2px)}.button--ghost{border-color:var(--border-strong);color:var(--text)}.button--ghost:hover{border-color:var(--accent);color:var(--accent)}.button--ghost:hover svg{transform:translate(2px,-2px)}.hero{grid-gap:48px;display:grid;gap:48px;grid-template-columns:1.15fr 1fr;min-height:min(calc(100vh - 80px),880px);min-height:min(calc(100svh - 80px),880px);padding:72px 0 64px}.eyebrow,.hero{align-items:center}.eyebrow{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);display:inline-flex;font-family:var(--font-mono);font-size:.8rem;gap:10px;margin-bottom:24px;padding:6px 14px 6px 12px}.status-dot{background:var(--accent);border-radius:50%;height:8px;width:8px}.hero__title{font-size:clamp(2.5rem,6.5vw,4.75rem);font-weight:700;letter-spacing:-.035em}.hero__lead{color:var(--text-muted);font-size:clamp(1.075rem,1.8vw,1.25rem);margin-top:24px;max-width:34ch}.hero__location{align-items:center;color:var(--text-muted);display:flex;font-size:.925rem;gap:8px;margin-top:16px}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.hero__socials{display:flex;gap:10px;margin-top:28px}.hero__card{background:linear-gradient(160deg,var(--surface-2),var(--surface));border:2px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;position:relative}.hero__card:before{aspect-ratio:1;background:var(--glow);border-radius:50%;content:"";filter:blur(60px);inset:-40% -20% auto auto;position:absolute;width:70%}.hero__card-bar{border-bottom:1px solid var(--border);display:flex;gap:6px;padding:14px 16px;position:relative}.hero__card-bar span{background:var(--border-strong);border-radius:50%;height:10px;width:10px}.hero__illustration{aspect-ratio:955/1100;height:auto;object-fit:cover;position:relative;width:100%}.section{padding:96px 0}.section__header{margin-bottom:48px}.section__eyebrow{color:var(--accent);font-family:var(--font-mono);font-size:.85rem;margin-bottom:12px}.section__title{font-size:clamp(2rem,4vw,2.75rem)}.card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.pill{background:var(--accent-soft);border-radius:999px;color:var(--accent);flex-shrink:0;font-family:var(--font-mono);font-size:.75rem;padding:2px 10px}.about{grid-gap:64px;align-items:start;display:grid;gap:64px;grid-template-columns:minmax(260px,340px) 1fr}.about__portrait{isolation:isolate;margin:0 16px 16px 0;position:sticky;top:112px;width:100%}.about__portrait:before{background:var(--glow);border-radius:50%;content:"";filter:blur(70px);inset:15% -10% 0;position:absolute;z-index:-2}.about__portrait:after{border:1px solid var(--accent);border-radius:var(--radius-lg);content:"";inset:0;opacity:.5;position:absolute;transform:translate(14px,14px);z-index:-1}.about__portrait img{aspect-ratio:886/1100;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);height:auto;object-fit:cover;width:100%}.about__badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--surface) 80%,#0000);border:1px solid var(--border);border-radius:999px;bottom:16px;display:inline-flex;font-size:.85rem;font-weight:500;gap:8px;left:16px;padding:7px 14px;position:absolute}.about__badge svg{color:var(--accent)}.about__intro p{color:var(--text-muted);font-size:1.1rem;max-width:60ch}.about__intro p+p{margin-top:16px}.about__timeline{grid-gap:32px;border-top:1px solid var(--border);display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-top:40px;padding-top:32px}.about__subtitle{align-items:center;color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:.85rem;font-weight:500;gap:10px;letter-spacing:0;margin-bottom:16px;text-transform:uppercase}.timeline{border-left:1px solid var(--border-strong);padding-left:24px}.timeline,.timeline__item{position:relative}.timeline__item+.timeline__item{margin-top:24px}.timeline__item:before{background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px var(--bg);content:"";height:9px;left:-29px;position:absolute;top:7px;width:9px}.timeline__head{align-items:center;display:flex;font-family:var(--font-display);font-size:1.1rem;gap:12px;justify-content:space-between}.timeline__item.is-past:before{background:var(--border-strong)}.timeline__item.is-current:before{box-shadow:0 0 0 4px var(--bg),0 0 0 7px var(--accent-soft)}.timeline__org{color:var(--accent);font-weight:500}.timeline__meta{color:var(--text);font-size:.9rem;margin-top:2px}.timeline__text{color:var(--text-muted);font-size:.875rem;margin-top:2px}.job__company{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:16px}.job__company strong{color:var(--accent);font-family:var(--font-display);font-size:1.1rem;font-weight:600}.job__company span{color:var(--text-muted);font-size:.85rem}.stack{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.stack__group{padding:28px}.stack__title{font-size:1.15rem;margin-bottom:20px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;display:inline-flex;font-size:.9rem;font-weight:500;gap:8px;padding:7px 12px;transition:border-color .2s var(--ease),color .2s var(--ease)}.chip svg{color:var(--text-muted);transition:color .2s var(--ease)}.chip:hover{border-color:var(--accent)}.chip:hover svg{color:var(--accent)}.projects{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.project,.projects>li{display:flex}.project{flex-direction:column;padding:28px;transition:border-color .25s var(--ease),transform .25s var(--ease),background-color .25s var(--ease);width:100%}.project:hover{border-color:var(--accent);transform:translateY(-4px)}.project__top{color:var(--text-muted);display:flex;font-size:1.35rem;justify-content:space-between;margin-bottom:28px}.project__meta{align-items:center;display:flex;gap:12px}.theme-light-only{display:none}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .theme-light-only{display:block}:root:not([data-theme=dark]) .theme-dark-only{display:none}}:root[data-theme=light] .theme-light-only{display:block}:root[data-theme=light] .theme-dark-only{display:none}.featured{--brand-text:var(--brand);--brand-soft:color-mix(in srgb,var(--brand) 14%,#0000);background:radial-gradient(700px circle at 100% 0,color-mix(in srgb,var(--brand) 16%,#0000),#0000 65%),var(--surface);display:grid;grid-template-columns:1fr 1.2fr;margin-bottom:20px;overflow:hidden;transition:border-color .25s var(--ease)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .featured{--brand-text:color-mix(in srgb,var(--brand) 55%,#000)}}:root[data-theme=light] .featured{--brand-text:color-mix(in srgb,var(--brand) 55%,#000)}.featured:hover{border-color:color-mix(in srgb,var(--brand) 55%,var(--border))}.featured__body{align-items:flex-start;display:flex;flex-direction:column;padding:40px}.featured__head{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.featured__title img{height:32px;width:auto}.featured__live{align-items:center;background:var(--brand-soft);border-radius:999px;color:var(--brand-text);display:inline-flex;font-family:var(--font-mono);font-size:.78rem;font-weight:500;gap:8px;padding:4px 12px}.featured__dot{height:7px;position:relative;width:7px}.featured__dot,.featured__dot:after{background:var(--brand);border-radius:50%}.featured__dot:after{animation:live-pulse 2s var(--ease) infinite;content:"";inset:0;position:absolute}@keyframes live-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(2.6)}}.featured__description{font-size:1.1rem;margin-top:24px;max-width:44ch}.featured__highlights{grid-gap:10px;color:var(--text-muted);display:grid;font-size:.95rem;gap:10px;margin-top:24px}.featured__highlights li{align-items:flex-start;display:flex;gap:10px}.featured__highlights svg{color:var(--brand-text);flex-shrink:0;margin-top:.3em}.featured .project__tags{color:var(--text-muted);margin-top:28px}.featured__cta{background:var(--brand);color:#1f1600;margin-top:32px}.featured__cta:hover{background:color-mix(in srgb,var(--brand) 85%,#fff)}.featured__cta:hover svg{transform:translate(2px,-2px)}.featured__preview{align-self:end;background:var(--surface-2);border:1px solid var(--border-strong);border-bottom:0;border-radius:14px 0 0 0;border-right:0;box-shadow:-20px -10px 50px -20px #00000059;margin:48px 0 -16px;overflow:hidden;transition:transform .35s var(--ease)}.featured:hover .featured__preview{transform:translateY(-8px)}.featured__browser-bar{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:6px;padding:10px 14px}.featured__browser-bar span{background:var(--border-strong);border-radius:50%;height:9px;width:9px}.featured__browser-bar p{background:var(--surface);border-radius:6px;color:var(--text-muted);flex:1 1;font-family:var(--font-mono);font-size:.72rem;margin:0 auto;max-width:260px;padding:3px 12px;text-align:center}.featured__preview img{height:auto;width:100%}.project__arrow{transition:transform .25s var(--ease),color .25s var(--ease)}.project:hover .project__arrow{color:var(--accent);transform:translate(3px,-3px)}.project__name{font-size:1.3rem}.project__description{color:var(--text-muted);flex:1 1;font-size:.95rem;margin-top:10px}.project__tags{color:var(--accent);display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:.78rem;gap:6px 14px;margin-top:24px}.projects__more{display:flex;justify-content:center;margin-top:40px}.contact{background:radial-gradient(500px circle at 100% 0,var(--glow),#0000 65%),var(--surface);border:2px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;padding:64px;position:relative}.contact__title{font-size:clamp(2.1rem,5vw,3.5rem);max-width:16ch}.contact__lead{color:var(--text-muted);font-size:1.075rem;margin-top:20px;max-width:52ch}.contact__links{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:40px}.contact__link{align-items:center;background:var(--surface-2);border:2px solid var(--border);border-radius:var(--radius);display:flex;gap:14px;min-height:72px;padding:16px 20px;transition:border-color .2s var(--ease),background-color .2s var(--ease)}.contact__link:hover{border-color:var(--accent)}.contact__link span{display:flex;flex:1 1;flex-direction:column;line-height:1.35;min-width:0}.contact__link small{color:var(--text-muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact__icon{color:var(--accent);flex-shrink:0;font-size:1.5rem}.contact__arrow{color:var(--text-muted);flex-shrink:0;transition:transform .2s var(--ease),color .2s var(--ease)}.contact__link:hover .contact__arrow{color:var(--accent);transform:translate(2px,-2px)}.company{align-items:center;background:radial-gradient(400px circle at 50% 0,var(--accent-soft),#0000 70%),var(--surface);display:flex;flex-direction:column;padding:56px 24px;text-align:center}.company__logo{border:2px solid var(--border);border-radius:28px;box-shadow:0 20px 40px -20px #00000073;height:120px;object-fit:cover;width:120px}.company__name{font-size:clamp(1.75rem,3.5vw,2.25rem);margin:24px 0 14px}.company__status{align-items:center;background:var(--accent-soft);border-radius:999px;color:var(--accent);display:inline-flex;font-family:var(--font-mono);font-size:.78rem;font-weight:500;gap:8px;padding:4px 12px}.company__dot{height:7px;position:relative;width:7px}.company__dot,.company__dot:after{background:var(--accent);border-radius:50%}.company__dot:after{animation:live-pulse 2s var(--ease) infinite;content:"";inset:0;position:absolute}.footer{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.875rem;gap:12px;justify-content:space-between;margin:0 auto;max-width:1120px;padding:32px 24px 48px}.footer a{transition:color .2s var(--ease)}.footer a:hover{color:var(--accent)}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:0ms;transition-delay:var(--delay,0ms)}[data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}}@media (max-width:960px){.brand__text small,.nav__github{display:none}.nav__links a{padding:7px 11px}.brand__text strong{white-space:nowrap}.hero{gap:40px;grid-template-columns:1fr;min-height:auto;padding-top:56px}.hero__visual{max-width:560px}.about,.contact__links,.projects,.stack{grid-template-columns:1fr 1fr}.about{gap:48px;grid-template-columns:1fr}.about__portrait{max-width:320px;position:relative;top:0}.contact{padding:48px}.featured{grid-template-columns:1fr}.featured__preview{margin:0 0 -16px 40px}}@media (min-width:721px) and (max-width:800px){.brand__text{display:none}}@media (max-width:720px){.nav{padding:8px 12px 0}.nav__bar{display:flex;height:60px;justify-content:space-between;padding:0 8px 0 10px}.nav__desktop,.nav__github{display:none}.brand__text small{display:block}.nav__actions .nav__toggle{display:inline-grid}.nav__actions .icon-button{height:44px;width:44px}.nav--open .nav__toggle{border-color:var(--accent);color:var(--accent)}.nav--open .nav__inner{background:var(--surface)}html.menu-open{overflow:hidden}.nav__overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .3s var(--ease);z-index:-2}.nav--open .nav__overlay{opacity:1;pointer-events:auto}.nav__menu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}.nav--open .nav__menu{grid-template-rows:1fr}.nav__menu-inner{min-height:0;overflow:hidden}.menu__links{grid-gap:4px;border-top:1px solid var(--border);display:grid;gap:4px;padding:4px 8px 12px}.menu__links li:first-child{margin-top:8px}.menu__links li{opacity:0;transform:translateY(-8px);transition:opacity .3s var(--ease),transform .3s var(--ease)}.nav--open .menu__links li{opacity:1;transform:none;transition-delay:calc(80ms + var(--i)*50ms)}.menu__links a{align-items:center;border-radius:14px;display:flex;font-family:var(--font-display);font-size:1.35rem;font-weight:600;gap:14px;letter-spacing:-.02em;min-height:56px;padding:0 14px;transition:background-color .2s var(--ease),color .2s var(--ease)}.menu__links a:active,.menu__links a:hover{background:var(--surface-2)}.menu__links a.is-active{background:var(--accent-soft);color:var(--accent)}.menu__index{color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:0}.menu__links a.is-active .menu__index{color:var(--accent)}.menu__arrow{color:var(--text-muted);font-size:1.1rem;margin-left:auto}.menu__footer{align-items:center;border-top:1px solid var(--border);color:var(--text-muted);display:flex;font-family:var(--font-mono);font-size:.8rem;gap:12px;justify-content:space-between;margin:0 16px;padding:14px 0 16px}.menu__socials{display:flex;gap:8px}.container{padding:0 16px}.section{padding:72px 0}.contact__links,.projects,.stack{grid-template-columns:1fr}.contact{padding:36px 24px}.featured__body{padding:28px 24px 32px}.about__portrait{max-width:280px}.about__timeline{grid-template-columns:1fr}.company{padding:40px 24px}.featured__title img{height:28px}.featured__preview{margin-left:24px}.footer{padding:24px 16px 40px}}
/*# sourceMappingURL=main.85036ce7.css.map*/