:root{color-scheme:dark;--bg: #050607;--panel: rgba(255, 255, 255, .08);--panel-strong: rgba(255, 255, 255, .14);--line: rgba(255, 255, 255, .2);--line-soft: rgba(255, 255, 255, .1);--text: #f7f7f2;--muted: rgba(247, 247, 242, .68);--soft: rgba(247, 247, 242, .46);--accent: #8ee6d8;--accent-2: #c9f2ff;--max-width: 1120px;--nav-height: 74px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);scroll-behavior:smooth}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;color:var(--text);background:radial-gradient(circle at 12% 18%,rgba(142,230,216,.16),transparent 26rem),radial-gradient(circle at 84% 4%,rgba(201,242,255,.11),transparent 24rem),linear-gradient(135deg,#050607,#0a0d10 44%,#080909)}a{color:inherit;text-decoration:none}.site-shell{position:relative;min-height:100vh;overflow:clip}.ambient-grid{position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 88%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 88%)}.top-nav{position:sticky;top:16px;z-index:20;display:flex;align-items:center;justify-content:center;width:min(calc(100% - 32px),720px);min-height:var(--nav-height);margin:16px auto 0;padding:10px;border:1px solid var(--line);border-radius:999px;background:#080a0ca8;box-shadow:0 24px 60px #00000057;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%)}.brand-mark{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;margin-right:12px;border:1px solid var(--line);border-radius:50%;background:#ffffff14;overflow:hidden}.brand-mark img{width:100%;height:100%;display:block}.nav-links{display:flex;align-items:center;justify-content:center;gap:4px;width:100%}.nav-link{position:relative;flex:1 1 auto;padding:14px 18px;border-radius:999px;color:var(--muted);font-size:.94rem;font-weight:650;text-align:center;transition:color .18s ease,background .18s ease}.nav-link:hover,.nav-link.active{color:var(--text);background:#ffffff1a}.page-section{min-height:100vh;width:min(calc(100% - 40px),var(--max-width));margin:0 auto;padding:calc(5rem + var(--nav-height)) 0 5rem;scroll-margin-top:calc(var(--nav-height) + 36px)}.reveal{opacity:0;transform:translate3d(0,38px,0);transition:opacity .72s ease,transform .72s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateZ(0)}.section-kicker,.intro-label{margin:0 0 18px;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero-copy{max-width:900px}h1,h2,h3,p{margin-top:0}h1{max-width:980px;margin-bottom:28px;font-size:clamp(3.4rem,8vw,7.9rem);line-height:.93;letter-spacing:0}.hero-text{max-width:650px;color:var(--muted);font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.7}.timeline-wrap{position:relative;display:grid;gap:18px;margin-top:80px;padding-left:28px}.timeline-wrap:before{content:"";position:absolute;top:12px;bottom:12px;left:5px;width:1px;background:linear-gradient(transparent,var(--accent),transparent)}.timeline-item{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px;padding:24px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%)}.timeline-item:before{content:"";position:absolute;top:34px;left:-29px;width:11px;height:11px;border:2px solid var(--accent);border-radius:50%;background:var(--bg);box-shadow:0 0 26px #8ee6d8b8}.timeline-year{color:var(--accent-2);font-size:.84rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.timeline-item h2,.section-heading h2,.bio-layout h2{margin-bottom:16px;font-size:clamp(2.1rem,4.4vw,4.4rem);line-height:1;letter-spacing:0}.timeline-item h2{font-size:clamp(1.3rem,2.4vw,2rem)}.timeline-item .timeline-meta{margin-bottom:12px;color:var(--accent-2);font-size:.92rem;font-weight:750;line-height:1.5}.timeline-item p,.section-heading p,.bio-copy p{color:var(--muted);font-size:1.03rem;line-height:1.75}.section-heading{max-width:740px}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:54px}.skill-panel{min-height:250px;padding:28px;border:1px solid var(--line-soft);border-radius:8px;background:linear-gradient(135deg,#ffffff1f,#ffffff0b),var(--panel);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%)}.skill-panel h3{margin-bottom:28px;font-size:1.45rem}.skill-tags{display:flex;flex-wrap:wrap;gap:10px}.skill-tags span{padding:9px 12px;border:1px solid var(--line-soft);border-radius:999px;color:var(--text);font-size:.9rem;background:#ffffff12}.bio-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);gap:clamp(28px,6vw,80px);align-items:center}.bio-content{display:grid;gap:28px}.bio-copy{padding:34px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%)}.bio-copy p:last-child{margin-bottom:0}.bio-portrait{position:relative;min-height:clamp(360px,48vw,560px);border:1px solid var(--line-soft);border-radius:8px;background:linear-gradient(145deg,#ffffff24,#ffffff09),radial-gradient(circle at 50% 22%,rgba(142,230,216,.16),transparent 18rem),var(--panel);box-shadow:0 26px 70px #00000042;overflow:hidden;-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%)}.bio-portrait:before{content:"";position:absolute;inset:18px;border:1px solid var(--line-soft);border-radius:8px}.bio-portrait img{position:absolute;inset:28px;width:calc(100% - 56px);height:calc(100% - 56px);border-radius:8px;display:block;object-fit:cover;object-position:center}.contact-list{display:grid;gap:18px;margin-top:clamp(76px,9vw,118px)}.contact-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;padding:24px 28px;border:1px solid var(--line-soft);border-radius:8px;background:var(--panel);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);transition:border-color .18s ease,background .18s ease,transform .18s ease}.contact-row:hover{border-color:#8ee6d873;background:var(--panel-strong)}.contact-row span{color:var(--accent);font-size:.78rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.contact-row strong{overflow-wrap:anywhere;font-size:clamp(1.1rem,2.6vw,2rem);font-weight:650}.site-footer{width:100%;margin:0;border-top:1px solid var(--line-soft);color:var(--muted);font-size:.86rem;background:#050607b8;-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%)}.footer-inner{display:flex;flex-wrap:wrap;gap:10px 22px;justify-content:center;width:min(calc(100% - 40px),var(--max-width));margin:0 auto;padding:22px 24px}.footer-inner span:not(:last-child):after{content:"";display:inline-block;width:4px;height:4px;margin-left:22px;border-radius:50%;background:#8ee6d89e;vertical-align:middle}@media(max-width:820px){.top-nav{top:10px;width:min(calc(100% - 20px),620px);min-height:auto;border-radius:24px}.brand-mark{display:none}.nav-links{flex-wrap:wrap}.nav-link{flex:1 1 44%;padding:12px;font-size:.88rem}.page-section{width:min(calc(100% - 28px),var(--max-width));padding-top:7rem}h1{font-size:clamp(3rem,14vw,5.5rem)}.timeline-item,.skills-grid,.bio-layout,.contact-row{grid-template-columns:1fr}.timeline-item{gap:10px}.skills-grid{gap:14px}.skill-panel{min-height:auto}.footer-inner{width:min(calc(100% - 28px),var(--max-width))}}@media(max-width:520px){.top-nav{margin-top:10px;padding:8px}.nav-link{font-size:.82rem}.page-section{min-height:auto;padding-bottom:4rem}.timeline-wrap{margin-top:52px;padding-left:20px}.timeline-item{padding:20px}.timeline-item:before{left:-25px}.contact-row{padding:20px}.footer-inner{display:grid;gap:8px;text-align:center}.footer-inner span:after{display:none}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.reveal,.ambient-grid{opacity:1;transform:none;transition:none}.nav-link,.contact-row{transition:none}}
