*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #111111;--bg-2: #181818;--border: #2a2a2a;--text: #d4d4d4;--text-muted: #737373;--text-dim: #525252;--accent: #22c55e;--mono: "IBM Plex Mono", monospace;--sans: "Inter", system-ui, sans-serif}html{scroll-behavior:smooth}body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border)}section{padding:6rem 1.5rem;border-top:1px solid var(--border)}.container{max-width:900px;margin:0 auto}.mono{font-family:var(--mono);font-size:.75rem;color:var(--accent);letter-spacing:.05em}.section-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.15;color:#f5f5f5;margin-bottom:.5rem}.section-sub{color:var(--text-muted);font-size:1rem;max-width:520px;line-height:1.7}a{color:inherit;text-decoration:none}#navbar[data-astro-cid-5blmo7yk]{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 1.5rem;transition:background .2s,border-color .2s;border-bottom:1px solid transparent}#navbar[data-astro-cid-5blmo7yk].scrolled{background:#111111f2;border-color:var(--border);backdrop-filter:blur(8px)}.nav-inner[data-astro-cid-5blmo7yk]{display:flex;align-items:center;gap:3rem}.logo[data-astro-cid-5blmo7yk]{font-family:var(--mono);font-size:.9rem;font-weight:500;color:var(--text);margin-right:auto}.accent[data-astro-cid-5blmo7yk]{color:var(--accent)}.nav-links[data-astro-cid-5blmo7yk]{display:flex;list-style:none;gap:2rem}.nav-links[data-astro-cid-5blmo7yk] a[data-astro-cid-5blmo7yk]{font-family:var(--mono);font-size:.75rem;color:var(--text-muted);transition:color .15s}.nav-links[data-astro-cid-5blmo7yk] a[data-astro-cid-5blmo7yk]:hover{color:var(--text)}@media (max-width: 600px){.nav-links[data-astro-cid-5blmo7yk]{display:none}}#hero[data-astro-cid-bbe6dxrz]{min-height:100vh;display:flex;align-items:center;border-top:none}.intro[data-astro-cid-bbe6dxrz]{margin-bottom:1.25rem}h1[data-astro-cid-bbe6dxrz]{font-size:clamp(2.5rem,7vw,5rem);font-weight:700;line-height:1;letter-spacing:-.03em;color:#f5f5f5;margin-bottom:1.5rem}.tagline[data-astro-cid-bbe6dxrz]{font-size:1.1rem;color:var(--text-muted);max-width:500px;line-height:1.75;margin-bottom:2.5rem}.hl[data-astro-cid-bbe6dxrz]{color:var(--text)}.links[data-astro-cid-bbe6dxrz]{display:flex;gap:2rem;flex-wrap:wrap}.links[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]{font-family:var(--mono);font-size:.8rem;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:2px;transition:color .15s,border-color .15s}.links[data-astro-cid-bbe6dxrz] a[data-astro-cid-bbe6dxrz]:hover{color:var(--accent);border-color:var(--accent)}.about-grid[data-astro-cid-v2cbyr3p]{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2rem}.bio[data-astro-cid-v2cbyr3p] p[data-astro-cid-v2cbyr3p]{color:var(--text-muted);line-height:1.8;margin-bottom:1rem;font-size:.975rem}.quote[data-astro-cid-v2cbyr3p]{font-family:var(--mono);font-size:.8rem!important;color:var(--accent)!important;margin-top:1.5rem!important}.skills[data-astro-cid-v2cbyr3p]{display:flex;flex-direction:column;gap:1.25rem}.skill-row[data-astro-cid-v2cbyr3p]{display:grid;grid-template-columns:90px 1fr;gap:1rem;align-items:start;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.skill-row[data-astro-cid-v2cbyr3p]:last-child{border-bottom:none}.skill-cat[data-astro-cid-v2cbyr3p]{color:var(--text-dim)}.skill-items[data-astro-cid-v2cbyr3p]{display:flex;flex-wrap:wrap;gap:.4rem}.item[data-astro-cid-v2cbyr3p]{font-size:.8rem;color:var(--text-muted);background:var(--bg-2);border:1px solid var(--border);border-radius:3px;padding:.15rem .55rem;font-family:var(--mono)}@media (max-width: 700px){.about-grid[data-astro-cid-v2cbyr3p]{grid-template-columns:1fr;gap:2.5rem}.skill-row[data-astro-cid-v2cbyr3p]{grid-template-columns:80px 1fr}}.project-list[data-astro-cid-amng4zvp]{margin-top:2.5rem}.project-row[data-astro-cid-amng4zvp]{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;padding:1.75rem 0;border-bottom:1px solid var(--border)}.project-row[data-astro-cid-amng4zvp]:first-child{border-top:1px solid var(--border)}.project-left[data-astro-cid-amng4zvp]{display:flex;gap:1.5rem;align-items:flex-start;flex:1}.index[data-astro-cid-amng4zvp]{color:var(--text-dim);padding-top:.1rem;min-width:24px}.project-info[data-astro-cid-amng4zvp] h3[data-astro-cid-amng4zvp]{font-size:1rem;font-weight:600;color:#f5f5f5;margin-bottom:.4rem}.project-info[data-astro-cid-amng4zvp] p[data-astro-cid-amng4zvp]{font-size:.875rem;color:var(--text-muted);line-height:1.65;max-width:520px;margin-bottom:.75rem}.tags[data-astro-cid-amng4zvp]{display:flex;flex-wrap:wrap;gap:.4rem}.tags[data-astro-cid-amng4zvp] span[data-astro-cid-amng4zvp]{font-family:var(--mono);font-size:.7rem;color:var(--text-dim);border:1px solid var(--border);border-radius:2px;padding:.1rem .45rem}.project-links[data-astro-cid-amng4zvp]{display:flex;gap:1rem;padding-top:.1rem;flex-shrink:0}.project-links[data-astro-cid-amng4zvp] a[data-astro-cid-amng4zvp]{font-family:var(--mono);font-size:.75rem;color:var(--text-muted);transition:color .15s}.project-links[data-astro-cid-amng4zvp] a[data-astro-cid-amng4zvp]:hover{color:var(--accent)}@media (max-width: 580px){.project-row[data-astro-cid-amng4zvp]{flex-direction:column;gap:1rem}.project-links[data-astro-cid-amng4zvp]{padding-top:0}}.exp-list[data-astro-cid-xpq65ryk]{margin-top:2.5rem;display:flex;flex-direction:column}.exp-row[data-astro-cid-xpq65ryk]{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--border)}.exp-row[data-astro-cid-xpq65ryk]:first-child{border-top:1px solid var(--border)}.exp-meta[data-astro-cid-xpq65ryk]{display:flex;flex-direction:column;gap:.3rem;padding-top:.1rem}.period[data-astro-cid-xpq65ryk]{color:var(--text-muted)}.location[data-astro-cid-xpq65ryk]{font-size:.8rem;color:var(--text-dim)}.exp-header[data-astro-cid-xpq65ryk]{display:flex;align-items:baseline;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.exp-header[data-astro-cid-xpq65ryk] h3[data-astro-cid-xpq65ryk]{font-size:1rem;font-weight:600;color:#f5f5f5}.company[data-astro-cid-xpq65ryk]{font-size:.875rem;color:var(--accent);font-family:var(--mono)}ul[data-astro-cid-xpq65ryk]{list-style:none;display:flex;flex-direction:column;gap:.5rem}li[data-astro-cid-xpq65ryk]{font-size:.875rem;color:var(--text-muted);padding-left:1rem;position:relative;line-height:1.65}li[data-astro-cid-xpq65ryk]:before{content:"—";position:absolute;left:0;color:var(--text-dim);font-size:.75rem}.edu-label[data-astro-cid-xpq65ryk]{margin-top:4rem;margin-bottom:1.5rem}.edu-list[data-astro-cid-xpq65ryk]{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border)}.edu-row[data-astro-cid-xpq65ryk]{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:1.5rem 0;border-bottom:1px solid var(--border)}.edu-degree[data-astro-cid-xpq65ryk]{font-size:.9rem;font-weight:600;color:#f5f5f5;margin-bottom:.2rem}.edu-school[data-astro-cid-xpq65ryk]{font-size:.825rem;color:var(--text-muted)}@media (max-width: 640px){.exp-row[data-astro-cid-xpq65ryk],.edu-row[data-astro-cid-xpq65ryk]{grid-template-columns:1fr;gap:.75rem}.exp-meta[data-astro-cid-xpq65ryk]{flex-direction:row;gap:1rem}}#contact[data-astro-cid-xmivup5a]{padding-bottom:5rem}.contact-block[data-astro-cid-xmivup5a]{margin-top:2.5rem;padding:2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.email[data-astro-cid-xmivup5a]{font-size:1.15rem;font-weight:600;color:#f5f5f5;border-bottom:1px solid var(--border);padding-bottom:2px;transition:color .15s,border-color .15s}.email[data-astro-cid-xmivup5a]:hover{color:var(--accent);border-color:var(--accent)}.contact-links[data-astro-cid-xmivup5a]{display:flex;gap:2rem}.contact-links[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a]{font-family:var(--mono);font-size:.8rem;color:var(--text-muted);transition:color .15s}.contact-links[data-astro-cid-xmivup5a] a[data-astro-cid-xmivup5a]:hover{color:var(--accent)}.footer[data-astro-cid-xmivup5a]{margin-top:3rem;font-family:var(--mono);font-size:.75rem;color:var(--text-dim);text-align:center}
