:root{--bg:#05080f;--bg-surface:#080f1a;--bg-card:#0c1522;--border:#152030;--border-hover:#1e3248;--accent:#38bdf8;--accent-dim:#38bdf81a;--accent-glow:#38bdf847;--text:#eef2f8;--text-secondary:#7e92a8;--text-muted:#3d5268;--radius-sm:8px;--radius:14px;--max-w:1020px;--nav-h:64px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.65}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.container{max-width:var(--max-w);margin:0 auto;padding:0 28px}.accent{color:var(--accent)}.btn{border-radius:var(--radius-sm);cursor:pointer;letter-spacing:-.01em;will-change:transform;border:none;align-items:center;gap:8px;padding:11px 22px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;transition:transform .22s,box-shadow .22s,background .22s,border-color .22s,color .22s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{box-shadow:0 6px 24px var(--accent-glow);background:#0284c7;transform:translateY(-2px)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}section{padding:100px 0}.section-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:11px;font-weight:600}.section-heading{letter-spacing:-.025em;color:var(--text);margin-bottom:52px;font-size:clamp(1.8rem,3vw,2.3rem);font-weight:700}.chip{color:var(--text-secondary);border:1px solid var(--border);background:#ffffff0a;border-radius:6px;align-items:center;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.navbar{z-index:100;height:var(--nav-h);border-bottom:1px solid #0000;transition:background .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-color:var(--border);background:#060609e0}.navbar-inner{max-width:var(--max-w);justify-content:space-between;align-items:center;height:100%;margin:0 auto;padding:0 28px;display:flex}.navbar-logo{letter-spacing:-.04em;color:var(--text);font-size:18px;font-weight:700;text-decoration:none}.navbar-logo span{color:var(--accent)}.navbar-links{align-items:center;gap:32px;list-style:none;display:flex}.navbar-links a{color:var(--text-secondary);font-size:13.5px;font-weight:500;text-decoration:none;transition:color .2s}.navbar-links a:hover{color:var(--text)}.hero{min-height:100vh;padding-top:var(--nav-h);align-items:center;display:flex;position:relative;overflow:hidden}.hero-grid{pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:52px 52px;position:absolute;inset:0}.hero-glow{pointer-events:none;background:radial-gradient(70% 60% at 50% -5%,#38bdf81c 0%,#0000 65%);position:absolute;inset:0}.hero-content{z-index:1;padding:60px 0 80px;position:relative}.hero-badge{background:var(--accent-dim);color:var(--accent);border:1px solid #38bdf833;border-radius:20px;align-items:center;gap:8px;margin-bottom:28px;padding:6px 14px;font-size:12.5px;font-weight:500;display:inline-flex}.hero-badge-dot{background:#4ade80;border-radius:50%;width:7px;height:7px;animation:2.5s ease-in-out infinite blink;box-shadow:0 0 8px #4ade80}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.hero-name{letter-spacing:-.045em;color:var(--text);margin-bottom:18px;font-size:clamp(2.8rem,6.5vw,5.2rem);font-weight:800;line-height:1.04}.hero-role{color:var(--text-secondary);letter-spacing:-.01em;margin-bottom:18px;font-size:clamp(1rem,2vw,1.25rem);font-weight:400}.hero-desc{color:var(--text-muted);max-width:460px;margin-bottom:36px;font-size:14.5px;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:48px;display:flex}.hero-social{align-items:center;gap:8px;display:flex}.hero-social-link{border-radius:var(--radius-sm);color:var(--text-muted);border:1px solid var(--border);background:0 0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.hero-social-link:hover{color:var(--accent);background:var(--accent-dim);border-color:#38bdf84d}.hero-scroll{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;z-index:1;flex-direction:column;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.hero-scroll-line{background:linear-gradient(to bottom, var(--text-muted), transparent);width:1px;height:36px;animation:2s ease-in-out infinite scrollDrop}@keyframes scrollDrop{0%,to{opacity:.35;transform:scaleY(1)translateY(0)}50%{opacity:.9;transform:scaleY(.8)translateY(4px)}}.skills-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.skill-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);will-change:transform;padding:24px 26px;transition:border-color .2s}.skill-card:hover{border-color:var(--border-hover)}.skill-cat{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:11px;font-weight:600}.skill-tags{flex-wrap:wrap;gap:7px;display:flex}.skill-tag{color:var(--text-secondary);border:1px solid var(--border);background:#ffffff0a;border-radius:6px;padding:4px 11px;font-size:12.5px;font-weight:500;transition:all .18s}.skill-tag:hover{background:var(--accent-dim);color:var(--accent);border-color:#38bdf833}.timeline{padding-left:26px;position:relative}.timeline:before{content:"";background:linear-gradient(#38bdf880,#0000);width:1px;position:absolute;top:8px;bottom:8px;left:0}.job-item{margin-bottom:46px;position:relative}.job-item:last-child{margin-bottom:0}.job-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent-glow);border-radius:50%;position:absolute;top:7px;left:-30px}.job-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.job-title{letter-spacing:-.015em;color:var(--text);font-size:16px;font-weight:600}.job-date{color:var(--text-muted);white-space:nowrap;border:1px solid var(--border);background:#ffffff0a;border-radius:20px;padding:3px 10px;font-size:11.5px;font-weight:500}.job-company{color:var(--accent);margin-bottom:14px;font-size:13px;font-weight:500}.job-bullets{flex-direction:column;gap:8px;list-style:none;display:flex}.job-bullets li{color:var(--text-secondary);padding-left:16px;font-size:14px;line-height:1.65;position:relative}.job-bullets li:before{content:"–";color:var(--text-muted);font-size:12px;position:absolute;top:1px;left:0}.job-bullets strong{color:var(--text);font-weight:500}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;display:grid}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);will-change:transform;flex-direction:column;gap:12px;padding:26px;text-decoration:none;transition:border-color .22s,transform .22s;display:flex}.project-card:hover{border-color:#38bdf859;transform:translateY(-3px)}.project-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.project-name{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:600}.project-arrow{color:var(--text-muted);flex-shrink:0;margin-top:1px;font-size:16px;transition:color .2s,transform .2s}.project-card:hover .project-arrow{color:var(--accent);transform:translate(2px,-2px)}.project-desc{color:var(--text-secondary);flex:1;font-size:13.5px;line-height:1.65}.project-stack{flex-wrap:wrap;gap:6px;display:flex}.edu-list{flex-direction:column;gap:12px;display:flex}.edu-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 24px;display:flex}.edu-name{color:var(--text);letter-spacing:-.01em;margin-bottom:4px;font-size:15px;font-weight:600}.edu-sub{color:var(--text-secondary);font-size:13px}.edu-note{color:var(--text-muted);margin-top:4px;font-size:12px;font-style:italic}.edu-date{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:12px}.contact-wrap{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}.contact-text{color:var(--text-secondary);margin-bottom:28px;font-size:15px;line-height:1.75}.contact-email{letter-spacing:-.03em;color:var(--text);margin-bottom:12px;font-size:22px;font-weight:700;text-decoration:none;transition:color .2s;display:inline-block}.contact-email:hover{color:var(--accent)}.contact-links{flex-direction:column;gap:10px;display:flex}.contact-link{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);will-change:transform;align-items:center;gap:12px;padding:14px 18px;font-size:13.5px;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s,transform .2s;display:flex}.contact-link:hover{color:var(--accent);border-color:#38bdf84d;transform:translate(5px)}.contact-link-label{flex:1}.contact-link-url{color:var(--text-muted);font-size:12px}.footer{border-top:1px solid var(--border);padding:28px 0}.footer-inner{color:var(--text-muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.hero-wrapper{height:400vh;position:relative}.hero-sticky{flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.hero-split{z-index:1;max-width:var(--max-w);width:100%;padding:calc(var(--nav-h) + 24px) 28px 64px;flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:32px;margin:0 auto;display:grid;position:relative}.hero-text-col{height:62vh;position:relative}.hero-slide{flex-direction:column;justify-content:center;padding-right:12px;display:flex;position:absolute;inset:0}.hero-avatar{width:100%;height:62vh;min-height:340px}.hero-socials{align-items:center;gap:6px;display:flex;position:absolute;bottom:0;left:0}.hero-dots{z-index:2;flex-direction:column;gap:10px;display:flex;position:absolute;top:50%;right:36px;transform:translateY(-50%)}.hero-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;transition:background .35s,box-shadow .35s}.hero-dot.active{background:var(--accent);box-shadow:0 0 8px var(--accent-glow)}@media (width<=720px){section{padding:72px 0}.skills-grid{grid-template-columns:1fr}.contact-wrap{grid-template-columns:1fr;gap:40px}.edu-item{flex-direction:column;gap:6px}.navbar-links{display:none}.hero-name{font-size:2.6rem}}
