.navBar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:var(--spaceMd) var(--spaceLg);background:transparent;border-bottom:1px solid transparent;transition:background var(--durationFast) var(--easeStandard),border-color var(--durationFast) var(--easeStandard)}.navBarScrolled{background:#0a0a0acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--colorBorder)}.navLogo{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorText)}.navLinkList{display:flex;gap:var(--spaceLg)}.navLink{font-family:var(--fontBody);font-size:var(--fontSizeSm);color:var(--colorTextMuted);transition:color var(--durationFast) var(--easeStandard)}.navLink:hover,.navLink:focus-visible{color:var(--colorAccent)}@media (max-width: 640px){.navLinkList{gap:var(--spaceMd)}.navLink{font-size:var(--fontSizeXs)}}.heroSection{min-height:100vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:var(--spaceLg);max-width:var(--maxWidth);margin:0 auto;position:relative}.heroContent{max-width:720px}.heroEyebrow{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorAccent);margin-bottom:var(--spaceMd);letter-spacing:.05em}.heroTitle{font-family:var(--fontDisplay);font-size:var(--fontSize3xl);font-weight:700;line-height:1.15;margin-bottom:var(--spaceMd)}.heroSubtitle{font-size:var(--fontSizeLg);color:var(--colorTextMuted);max-width:520px;margin-bottom:var(--spaceLg)}.heroActions{display:flex;gap:var(--spaceMd)}.heroButtonPrimary,.heroButtonSecondary{font-size:var(--fontSizeSm);padding:.85rem 1.5rem;border-radius:var(--radiusSm);transition:all var(--durationFast) var(--easeStandard)}.heroButtonPrimary{background:var(--colorText);color:var(--colorBg)}.heroButtonPrimary:hover{background:var(--colorAccent)}.heroButtonSecondary{border:1px solid var(--colorBorderStrong);color:var(--colorText)}.heroButtonSecondary:hover{border-color:var(--colorAccent);color:var(--colorAccent)}.heroScrollHint{position:absolute;bottom:var(--spaceXl);left:var(--spaceLg);width:1px;height:48px;overflow:hidden}.heroScrollLine{display:block;width:100%;height:100%;background:var(--colorBorderStrong);position:relative}.heroScrollLine:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--colorAccent);animation:scrollLineMove 2s var(--easeStandard) infinite}@keyframes scrollLineMove{to{top:100%}}@media (max-width: 640px){.heroTitle{font-size:var(--fontSize2xl)}.heroActions{flex-direction:column;width:100%}.heroButtonPrimary,.heroButtonSecondary{text-align:center}}.aboutSection{border-top:1px solid var(--colorBorder)}.aboutContent{display:flex;flex-direction:column;gap:var(--spaceLg);max-width:640px}.aboutText{font-size:var(--fontSizeLg);color:var(--colorTextMuted)}.aboutSkillList{display:flex;flex-wrap:wrap;gap:var(--spaceXs)}.aboutSkillItem{font-family:var(--fontMono);font-size:var(--fontSizeXs);color:var(--colorText);border:1px solid var(--colorBorder);border-radius:var(--radiusSm);padding:.4rem .75rem}.projectsSection{border-top:1px solid var(--colorBorder)}.projectsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spaceMd)}.projectCard{display:flex;flex-direction:column;gap:var(--spaceSm);padding:var(--spaceLg);border:1px solid var(--colorBorder);border-radius:var(--radiusMd);background:var(--colorBgElevated);transition:border-color var(--durationFast) var(--easeStandard),transform var(--durationFast) var(--easeStandard)}.projectCard:hover,.projectCard:focus-visible{border-color:var(--colorAccent);transform:translateY(-4px)}.projectCardTitle{font-family:var(--fontDisplay);font-size:var(--fontSizeLg);font-weight:600}.projectCardDescription{font-size:var(--fontSizeSm);color:var(--colorTextMuted);flex:1}.projectCardTechList{display:flex;flex-wrap:wrap;gap:var(--spaceXs)}.projectCardTechItem{font-family:var(--fontMono);font-size:var(--fontSizeXs);color:var(--colorTextMuted)}.projectCardTechItem:after{content:""}.projectCardTechItem:not(:last-child):after{content:" · "}.timelineSection{border-top:1px solid var(--colorBorder)}.timelineList{display:flex;flex-direction:column}.timelineItem{display:grid;grid-template-columns:160px 1fr;gap:var(--spaceLg);padding:var(--spaceLg) 0;border-bottom:1px solid var(--colorBorder)}.timelineItem:last-child{border-bottom:none}.timelinePeriod{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorTextMuted)}.timelineRole{font-family:var(--fontDisplay);font-size:var(--fontSizeLg);font-weight:600;margin-bottom:var(--spaceXs)}.timelineOrg{color:var(--colorTextMuted);font-weight:400}.timelineDescription{color:var(--colorTextMuted);font-size:var(--fontSizeSm)}@media (max-width: 640px){.timelineItem{grid-template-columns:1fr;gap:var(--spaceXs)}}.contactSection{border-top:1px solid var(--colorBorder);display:flex;flex-direction:column;min-height:60vh;justify-content:center}.contactTitle{font-family:var(--fontDisplay);font-size:var(--fontSize2xl);font-weight:600;margin-bottom:var(--spaceLg);max-width:560px}.contactLinkList{display:flex;gap:var(--spaceLg);margin-bottom:var(--space2xl)}.contactLink{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorText);border-bottom:1px solid var(--colorBorderStrong);padding-bottom:.25rem;transition:color var(--durationFast) var(--easeStandard),border-color var(--durationFast) var(--easeStandard)}.contactLink:hover,.contactLink:focus-visible{color:var(--colorAccent);border-color:var(--colorAccent)}.contactFooter{font-family:var(--fontMono);font-size:var(--fontSizeXs);color:var(--colorTextFaint)}@media (max-width: 640px){.contactLinkList{flex-direction:column;gap:var(--spaceSm)}}:root{--colorBg: #0a0a0a;--colorBgElevated: #111111;--colorText: #f2f2f2;--colorTextMuted: #8a8a8a;--colorTextFaint: #545454;--colorAccent: #5eead4;--colorBorder: rgba(255, 255, 255, .08);--colorBorderStrong: rgba(255, 255, 255, .16);--fontDisplay: "Space Grotesk", sans-serif;--fontBody: "Inter", sans-serif;--fontMono: "JetBrains Mono", monospace;--fontSizeXs: .75rem;--fontSizeSm: .875rem;--fontSizeMd: 1rem;--fontSizeLg: 1.25rem;--fontSizeXl: 1.75rem;--fontSize2xl: 2.5rem;--fontSize3xl: 4rem;--spaceXs: .5rem;--spaceSm: 1rem;--spaceMd: 1.5rem;--spaceLg: 2.5rem;--spaceXl: 4rem;--space2xl: 6rem;--space3xl: 9rem;--maxWidth: 1080px;--radiusSm: 6px;--radiusMd: 12px;--easeStandard: cubic-bezier(.22, 1, .36, 1);--durationFast: .2s;--durationMedium: .6s}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--colorBg);color:var(--colorText);font-family:var(--fontBody);font-size:var(--fontSizeMd);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}::selection{background:var(--colorAccent);color:var(--colorBg)}.sectionContainer{max-width:var(--maxWidth);margin:0 auto;padding:var(--space2xl) var(--spaceLg)}.sectionLabel{font-family:var(--fontMono);font-size:var(--fontSizeSm);color:var(--colorTextMuted);letter-spacing:.05em;margin-bottom:var(--spaceSm);display:inline-block}.sectionTitle{font-family:var(--fontDisplay);font-size:var(--fontSize2xl);font-weight:600;margin-bottom:var(--spaceLg)}.revealOnScroll{opacity:0;filter:blur(8px);transform:translateY(16px);transition:opacity var(--durationMedium) var(--easeStandard),filter var(--durationMedium) var(--easeStandard),transform var(--durationMedium) var(--easeStandard)}.revealOnScroll.isVisible{opacity:1;filter:blur(0);transform:translateY(0)}@media (prefers-reduced-motion: reduce){.revealOnScroll{opacity:1;filter:none;transform:none;transition:none}}@media (max-width: 640px){.sectionContainer{padding:var(--spaceXl) var(--spaceMd)}}
