:root{--bg: #0a0a0a;--text: #ececec;--muted: #8a8a8a;--muted-strong: #b3b3b3;--line: #2a2a2a;--card-border: #2e2e2e;--serif: "Playfair Display", Georgia, serif;--sans: "Inter", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--pad-x: clamp(1.25rem, 5vw, 4.5rem);--nav-height: 72px;--max: 1180px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height)}body{font-family:var(--sans);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit}.App{min-height:100vh;background:var(--bg)}.page{width:100%}.label{font-family:var(--mono);font-size:.72rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.section{width:100%;padding:7rem var(--pad-x)}.section-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(140px,.28fr) 1fr;gap:3rem 4rem;align-items:start}.section-label{padding-top:.35rem;position:sticky;top:calc(var(--nav-height) + 1.5rem)}.section-content{min-width:0}.social-links{display:flex;flex-wrap:wrap;gap:1.75rem}.social-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .2s ease}.social-link svg{width:15px;height:15px;stroke-width:1.6}.social-link:hover{color:var(--text)}@media (max-width: 800px){.section{padding:4.5rem var(--pad-x)}.section-grid{grid-template-columns:1fr;gap:1.5rem}.section-label{position:static}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad-x);background:#0a0a0ae0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.navbar-brand,.navbar-links a{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .2s ease}.navbar-brand:hover,.navbar-links a:hover{color:var(--text)}.navbar-links{list-style:none;display:flex;gap:2.25rem}@media (max-width: 600px){.navbar-links{gap:1.1rem}.navbar-brand,.navbar-links a{font-size:.64rem;letter-spacing:.12em}}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--nav-height) + 4rem) var(--pad-x) 2.25rem}.hero-main{max-width:var(--max);margin:0 auto;width:100%;display:flex;flex-direction:column;justify-content:center;flex:1}.hero-intro{width:fit-content;max-width:100%}.hero-name{font-family:var(--serif);font-weight:500;font-size:clamp(4.4rem,13vw,9.5rem);line-height:.92;letter-spacing:-.03em;color:var(--text);text-align:center}.hero-typewriter{margin-top:1.75rem;font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.5;color:var(--muted);min-height:1.5em;text-align:center}.hero-bottom{max-width:var(--max);margin:0 auto;width:100%;padding-top:1.5rem;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.hero-scroll{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:.45rem;transition:color .2s ease}.hero-scroll:hover{color:var(--text)}@media (max-width: 600px){.hero{padding-top:calc(var(--nav-height) + 2.5rem)}.hero-typewriter{font-size:1.05rem}.hero-bottom{flex-direction:column;align-items:flex-start}}.about-headline{font-family:var(--sans);font-size:clamp(1.55rem,2.4vw,2.05rem);font-weight:500;line-height:1.45;color:var(--text);max-width:42rem}.about-body{margin-top:2.75rem;max-width:38rem;display:flex;flex-direction:column;gap:1.4rem}.about-body p{font-size:1.02rem;line-height:1.75;color:var(--muted)}.experience-list{display:flex;flex-direction:column}.experience-card{padding:2.25rem 0;border-bottom:1px solid var(--line)}.experience-card:first-child{padding-top:0}.experience-card-top{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem}.experience-card-company{font-size:1.55rem;font-weight:600;letter-spacing:-.02em;color:var(--text)}.experience-card-date{font-size:.92rem;color:var(--muted);white-space:nowrap}.experience-card-role{margin-top:.4rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.experience-card-description{margin-top:1rem;max-width:40rem;font-size:.98rem;line-height:1.7;color:var(--muted-strong)}.tech-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.tech-tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--card-border);border-radius:4px;padding:.35rem .55rem}.project-list{display:flex;flex-direction:column;gap:1.25rem}.project-card{border:1px solid var(--card-border);border-radius:6px;padding:1.75rem 1.6rem 1.5rem;transition:border-color .2s ease}.project-card:hover{border-color:#4a4a4a}.project-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.project-card-title{font-size:1.45rem;font-weight:600;letter-spacing:-.02em;color:var(--text)}.project-card-link{color:var(--muted);display:inline-flex;transition:color .2s ease}.project-card-link:hover{color:var(--text)}.project-card-link svg{width:20px;height:20px;stroke-width:1.6}.project-card-description{margin-top:.85rem;font-size:.98rem;line-height:1.7;color:var(--muted);max-width:40rem}@media (max-width: 600px){.experience-card-top{flex-direction:column;gap:.25rem}.experience-card-date{white-space:normal}.experience-card-company{font-size:1.25rem}}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.75rem var(--pad-x) 2.25rem;border-top:1px solid var(--line)}.footer-copy{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}@media (max-width: 600px){.site-footer{flex-direction:column;align-items:flex-start}}
