:root{--bg: #050816;--bg-2: #0a0719;--card: #110a2a;--card-2: #1a1138;--line: rgba(255, 255, 255, .08);--line-2: rgba(255, 255, 255, .14);--text: #ffffff;--muted: #aaa6c3;--muted-2: #7a7691;--accent: #915eff;--accent-2: #5cd2ff}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}body{overflow-x:hidden}a{color:inherit;text-decoration:none}.display{font-family:Space Grotesk,sans-serif;letter-spacing:-.02em}.mono{font-family:JetBrains Mono,monospace}.container{max-width:1240px;margin:0 auto;padding:0 32px}.stars{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.6),transparent 50%),radial-gradient(1px 1px at 70% 80%,rgba(255,255,255,.4),transparent 50%),radial-gradient(1.5px 1.5px at 40% 60%,rgba(255,255,255,.5),transparent 50%),radial-gradient(1px 1px at 85% 20%,rgba(255,255,255,.5),transparent 50%),radial-gradient(1px 1px at 15% 85%,rgba(255,255,255,.3),transparent 50%),radial-gradient(1.5px 1.5px at 55% 15%,rgba(255,255,255,.6),transparent 50%),radial-gradient(1px 1px at 90% 55%,rgba(255,255,255,.4),transparent 50%);background-size:800px 800px;opacity:.7}.glow{position:fixed;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,color-mix(in oklab,var(--accent) 22%,transparent),transparent 60%);filter:blur(60px);pointer-events:none;z-index:0}.glow.g1{top:-200px;right:-100px}.glow.g2{top:40%;left:-200px;background:radial-gradient(circle,color-mix(in oklab,var(--accent-2) 14%,transparent),transparent 60%)}nav.top{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(14px);background:color-mix(in oklab,var(--bg) 70%,transparent);border-bottom:1px solid transparent;transition:border-color .25s,background .25s}nav.top.scrolled{border-bottom-color:var(--line)}nav.top .inner{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1240px;margin:0 auto}.brand{display:flex;align-items:center;gap:12px;font-weight:600}.brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 20px var(--accent)}.brand .name{font-family:Space Grotesk,sans-serif;font-size:17px}.brand .role{color:var(--muted);font-size:13px}nav .links{display:flex;gap:28px}nav .links a{color:var(--muted);font-size:14px;font-weight:500;transition:color .2s;position:relative}nav .links a:hover{color:var(--text)}nav .links a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}nav .links a:hover:after{transform:scaleX(1)}nav .cta{display:flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--line-2);border-radius:999px;font-size:13px;color:var(--text);transition:all .2s}nav .cta:hover{border-color:var(--accent);background:color-mix(in oklab,var(--accent) 10%,transparent)}section.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:140px 0 80px;z-index:1;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:center;position:relative;z-index:2}.hero .eyebrow{color:var(--muted);font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:28px;display:flex;align-items:center;gap:12px;font-family:JetBrains Mono,monospace}.hero .eyebrow .ln{width:36px;height:1px;background:var(--accent)}.hero .eyebrow .live{display:inline-flex;align-items:center;gap:8px}.hero .eyebrow .live:before{content:"";width:8px;height:8px;border-radius:50%;background:#7cffa0;box-shadow:0 0 12px #7cffa0;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.hero h1{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:clamp(48px,6.5vw,100px);line-height:.98;letter-spacing:-.035em;margin:0 0 28px}.word-rotator{display:inline-block;position:relative;color:var(--accent);font-weight:600;min-width:.5em;vertical-align:baseline}.word-rotator .word{display:inline-block;animation:wordIn .55s cubic-bezier(.2,.8,.2,1)}@keyframes wordIn{0%{opacity:0;transform:translateY(.4em) skewY(6deg);filter:blur(6px)}to{opacity:1;transform:translateY(0) skewY(0);filter:blur(0)}}.hero p.lead{font-size:20px;line-height:1.55;color:var(--muted);max-width:600px;margin:0 0 40px;text-wrap:pretty}.hero .actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;font-size:14px;font-weight:500;transition:all .2s;cursor:pointer;border:1px solid transparent;font-family:inherit}.btn.primary{background:var(--accent);color:#0a0419}.btn.primary:hover{background:color-mix(in oklab,var(--accent) 85%,white);transform:translateY(-1px)}.btn.ghost{border-color:var(--line-2);color:var(--text)}.btn.ghost:hover{border-color:var(--text)}.terminal{background:linear-gradient(180deg,rgba(20,12,46,.85),rgba(10,6,25,.85));border:1px solid var(--line-2);border-radius:14px;overflow:hidden;backdrop-filter:blur(8px);box-shadow:0 30px 80px -20px #0009,0 0 0 1px #915eff14 inset}.terminal .head{display:flex;align-items:center;gap:8px;padding:11px 14px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.25)}.terminal .head .dots{display:flex;gap:6px}.terminal .head .dots span{width:10px;height:10px;border-radius:50%;background:#3a334d}.terminal .head .dots span:nth-child(1){background:#ff5f56}.terminal .head .dots span:nth-child(2){background:#ffbd2e}.terminal .head .dots span:nth-child(3){background:#27c93f}.terminal .head .ttl{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--muted);margin-left:10px;letter-spacing:.05em}.terminal .body{padding:18px 16px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.7;height:340px;overflow-y:auto;color:#e0dcef;cursor:text;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.terminal .body::-webkit-scrollbar{width:7px}.terminal .body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:4px}.term-line.is-err{color:#ff9b9b}.term-opt{cursor:pointer;border-radius:6px;padding:1px 4px;margin-left:-4px;transition:background .15s}.term-opt:hover{background:color-mix(in oklab,var(--accent) 14%,transparent)}.term-opt-hint{margin-left:8px;font-size:11px}.term-input-line{position:relative;display:flex;align-items:center;gap:6px}.term-input{background:transparent;border:none;outline:none;color:#fff;font-family:JetBrains Mono,monospace;font-size:12.5px;flex:1;padding:0;caret-color:var(--accent)}.term-input::-moz-placeholder{color:var(--muted-2)}.term-input::placeholder{color:var(--muted-2)}.term-line{display:block;opacity:0;animation:termIn .35s ease-out forwards}@keyframes termIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.term-prompt{color:var(--accent)}.term-key{color:var(--accent-2)}.term-ok{color:#7cffa0}.term-dim{color:var(--muted-2)}.hero-bg{position:absolute;inset:-10%;z-index:0;pointer-events:none;opacity:.5}.hero-bg svg{width:100%;height:100%}.hero-bg .ln{stroke:#915eff2e;stroke-width:1;fill:none}.hero-bg .pt{fill:#915eff80}.scroll-hint{position:absolute;bottom:24px;left:50%;transform:translate(-50%);color:var(--muted);font-size:11px;letter-spacing:.25em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;z-index:2}.scroll-hint .arrow{width:1px;height:30px;background:linear-gradient(180deg,var(--muted),transparent);animation:scrollPulse 1.8s ease-in-out infinite}@keyframes scrollPulse{0%,to{transform:scaleY(.4) translateY(0);opacity:.4}50%{transform:scaleY(1) translateY(0);opacity:1}}section{position:relative;padding:120px 0;z-index:1}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px;border-bottom:1px solid var(--line);padding-bottom:24px}.section-head .left{flex:1}.section-head .num{font-family:JetBrains Mono,monospace;color:var(--accent);font-size:13px;letter-spacing:.1em}.section-head h2{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:clamp(36px,5vw,64px);letter-spacing:-.02em;margin:8px 0 0;line-height:1}.section-head .desc{color:var(--muted);font-size:16px;max-width:480px;text-wrap:pretty}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.about-prose p{font-size:19px;line-height:1.65;color:#dcd9eb;margin:0 0 22px;text-wrap:pretty}.about-prose p:last-child{margin-bottom:0}.roles{display:grid;grid-template-columns:1fr 1fr;gap:14px}.role-card{padding:22px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,var(--card) 0%,transparent 130%);transition:border-color .25s,transform .25s}.role-card:hover{border-color:var(--accent);transform:translateY(-3px)}.role-card .ic{width:34px;height:34px;border-radius:8px;background:color-mix(in oklab,var(--accent) 18%,transparent);display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:13px}.role-card h4{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:17px;margin:0 0 6px;line-height:1.25}.role-card .sub{color:var(--muted);font-size:13px;margin:0}.timeline{position:relative;padding-left:0}.exp-row{display:grid;grid-template-columns:200px 56px 1fr;gap:24px;padding:32px 0;border-top:1px solid var(--line);transition:background .25s}.exp-row:last-child{border-bottom:1px solid var(--line)}.exp-row:hover{background:linear-gradient(90deg,color-mix(in oklab,var(--accent) 4%,transparent),transparent)}.exp-date{font-family:JetBrains Mono,monospace;font-size:13px;color:var(--muted);padding-top:6px}.exp-icon{width:48px;height:48px;border-radius:12px;background:var(--card);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.exp-icon img{width:60%;height:60%;-o-object-fit:contain;object-fit:contain}.exp-body h3{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:24px;margin:0 0 4px;letter-spacing:-.01em}.exp-body .co{color:var(--accent);font-size:14px;font-weight:500;margin:0 0 18px}.exp-body ul{margin:0;padding:0;list-style:none}.exp-body li{position:relative;padding-left:18px;margin-bottom:10px;color:#cfcce0;font-size:15px;line-height:1.55;text-wrap:pretty}.exp-body li:before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent)}.edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.edu-card{padding:32px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--card) 0%,transparent 140%);transition:border-color .25s}.edu-card:hover{border-color:var(--line-2)}.edu-card .top{display:flex;align-items:center;gap:16px;margin-bottom:24px}.edu-card .logo{width:56px;height:56px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.edu-card .logo img{width:80%;height:80%;-o-object-fit:contain;object-fit:contain}.edu-card h3{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:22px;margin:0 0 4px;letter-spacing:-.01em}.edu-card .school{color:var(--muted);font-size:14px;margin:0 0 4px}.edu-card .date{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--accent)}.edu-card .courses{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.course-pill{font-family:JetBrains Mono,monospace;font-size:12px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;color:#cfcce0;background:rgba(255,255,255,.02)}.gpa{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:13px}.proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.proj-card{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);transition:transform .3s,border-color .25s;display:flex;flex-direction:column}.proj-card:hover{transform:translateY(-3px);border-color:var(--accent)}.proj-card .img{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:#1a1138}.proj-card .img img,.proj-card .img .placeholder{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .5s}.proj-card:hover .img img{transform:scale(1.04)}.proj-card .img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,var(--card) 100%);pointer-events:none}.proj-card .gh{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.65);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--line-2);transition:background .2s}.proj-card .gh:hover{background:var(--accent)}.proj-card .gh img{width:14px;height:14px;filter:invert(1)}.proj-card .body{padding:14px 16px 16px}.proj-card h3{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:16px;margin:0 0 10px;letter-spacing:-.01em;line-height:1.25}.proj-card .proj-desc{font-size:14px;line-height:1.55;color:var(--muted);margin:0 0 12px}.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{font-family:JetBrains Mono,monospace;font-size:10px;padding:3px 7px;border-radius:5px;background:rgba(145,94,255,.12);color:var(--accent);border:1px solid rgba(145,94,255,.25);letter-spacing:.01em}.tag.alt-1{background:rgba(92,210,255,.1);color:var(--accent-2);border-color:#5cd2ff40}.tag.alt-2{background:rgba(255,180,140,.1);color:#ffb48c;border-color:#ffb48c40}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.cert-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--card);transition:transform .3s,border-color .25s;position:relative}.cert-card:hover{transform:translateY(-4px);border-color:var(--accent-2)}.cert-card .img{aspect-ratio:1.4 / 1;overflow:hidden;background:#0d081f;display:flex;align-items:center;justify-content:center;padding:30px}.cert-card .img img,.cert-card .img .placeholder{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.cert-card .body{padding:20px;border-top:1px solid var(--line)}.cert-card h3{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:18px;margin:0 0 12px}.cert-card .cred{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--line-2);transition:background .2s;backdrop-filter:blur(8px)}.cert-card .cred:hover{background:var(--accent-2)}.cert-card .cred img{width:16px;height:16px}.placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 8px,transparent 8px 18px),linear-gradient(135deg,#1a1138 0%,#0d081f 100%);font-family:JetBrains Mono,monospace;font-size:13px;color:#fff9;letter-spacing:.15em}footer{padding:80px 0 40px;border-top:1px solid var(--line);position:relative;z-index:1}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;margin-bottom:60px}.foot-cta h3{font-family:Space Grotesk,sans-serif;font-weight:500;font-size:clamp(32px,4vw,48px);margin:0 0 16px;letter-spacing:-.02em;line-height:1.05}.foot-cta p{color:var(--muted);font-size:16px;margin:0 0 24px;max-width:380px}.foot-col h5{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.15em;margin:0 0 16px;font-weight:500}.foot-col a{display:block;color:#dcd9eb;font-size:15px;margin-bottom:10px;transition:color .2s}.foot-col a:hover{color:var(--accent)}.foot-base{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);font-family:JetBrains Mono,monospace;padding-top:24px;border-top:1px solid var(--line)}@media (max-width: 1100px){.hero-grid{grid-template-columns:1fr;gap:40px}.terminal{max-width:520px}}@media (max-width: 960px){.hero-grid{grid-template-columns:1fr;gap:40px}.about-grid,.edu-grid,.proj-grid{grid-template-columns:1fr}.cert-grid{grid-template-columns:1fr;max-width:none}.footer-grid{grid-template-columns:1fr;gap:40px}.exp-row{grid-template-columns:48px 1fr;gap:16px}.exp-date{grid-column:1 / -1;padding-top:0;margin-bottom:-8px}nav .links{display:none}section{padding:80px 0}}
