:root{--bg:#05060d;--bg2:#080a14;--panel:rgba(255,255,255,.045);--line:rgba(255,255,255,.11);--text:#fff;--muted:#a1a1aa;--purple:#a855f7;--deep:#7c3aed;--cyan:#38bdf8;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:radial-gradient(circle at 50% -10%,#171126 0,transparent 34%),var(--bg);color:var(--text);font-family:Inter,sans-serif;overflow-x:hidden}body.modal-open{overflow:hidden}::selection{background:var(--purple);color:white}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.section{position:relative;z-index:2}.content-section{max-width:var(--max);margin:auto;padding:120px 28px}.preloader{position:fixed;inset:0;z-index:9999;background:#03040a;display:grid;place-items:center;overflow:hidden}.pre-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(168,85,247,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(168,85,247,.06) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent,#000,transparent)}.pre-inner{width:min(520px,84vw)}.pre-brand{font:700 76px/1 Space Grotesk;color:#fff;letter-spacing:-7px;margin-bottom:34px}.pre-brand span{color:var(--purple)}.pre-steps p{opacity:.2;margin:9px 0;font:600 12px/1.5 Space Grotesk;letter-spacing:2px}.pre-steps b{display:inline-block;color:var(--purple);width:34px}.pre-line{height:2px;background:#171724;margin-top:28px;overflow:hidden}.pre-line i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--deep),var(--purple),var(--cyan))}.scroll-progress{position:fixed;z-index:5000;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--deep),var(--purple),var(--cyan));box-shadow:0 0 12px var(--purple)}#three-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.55}.ambient{position:fixed;width:420px;height:420px;border-radius:50%;filter:blur(120px);opacity:.1;pointer-events:none;z-index:0}.ambient-a{background:var(--purple);left:-180px;top:20%}.ambient-b{background:var(--cyan);right:-250px;bottom:0}.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:10000;border-radius:50%;transform:translate(-50%,-50%)}.cursor-dot{width:6px;height:6px;background:var(--purple)}.cursor-ring{width:34px;height:34px;border:1px solid rgba(168,85,247,.65);transition:width .2s,height .2s,border-color .2s,background .2s}.cursor-ring.hover{width:56px;height:56px;background:rgba(168,85,247,.08);border-color:var(--cyan)}.nav-shell{position:fixed;z-index:1000;left:50%;top:18px;transform:translateX(-50%);width:min(1180px,calc(100% - 34px));height:66px;padding:8px 10px 8px 16px;border:1px solid rgba(255,255,255,.1);background:rgba(7,8,16,.68);backdrop-filter:blur(18px);border-radius:18px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 18px 60px rgba(0,0,0,.28)}.brand{display:flex;align-items:center;gap:10px;font:600 14px Space Grotesk;white-space:nowrap}.brand b{color:var(--purple)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(168,85,247,.4);border-radius:11px;background:linear-gradient(135deg,rgba(168,85,247,.2),rgba(56,189,248,.04));color:#fff;font:700 12px Space Grotesk;box-shadow:inset 0 0 18px rgba(168,85,247,.1)}#mainNav{position:relative;display:flex;gap:2px;padding:3px;background:rgba(255,255,255,.025);border-radius:12px}.nav-link{position:relative;z-index:2;padding:10px 12px;color:#aaa9b4;font-size:12px;transition:.3s}.nav-link:hover,.nav-link.active{color:#fff}.nav-indicator{position:absolute;z-index:1;top:3px;height:36px;border:1px solid rgba(168,85,247,.25);border-radius:9px;background:rgba(168,85,247,.12);box-shadow:0 0 24px rgba(168,85,247,.12);transition:.35s cubic-bezier(.2,.8,.2,1)}.menu-btn{display:none;background:none;border:0;width:42px;height:42px}.menu-btn i{display:block;width:22px;height:1px;background:white;margin:6px auto}.hero{min-height:100svh;max-width:1480px;margin:auto;padding:150px 7vw 70px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:7vw;overflow:hidden}.hero-copy{position:relative;z-index:4;max-width:780px}.eyebrow{color:#c7b7d8;font:600 11px/1.4 Space Grotesk;letter-spacing:3px;text-transform:uppercase}.hero h1,.section-head h2{font-family:Space Grotesk,sans-serif}.hero h1{font-size:clamp(62px,7vw,116px);line-height:.85;letter-spacing:-6px;margin:20px 0 28px}.hero h1 span,.section-head h2 span,.contact-copy h2 span,footer h2 span,.modal h2 span{color:var(--purple)}.type-row{height:32px;display:flex;align-items:center;gap:10px;font:600 clamp(13px,1.35vw,19px) Space Grotesk;letter-spacing:2px;color:#e8e4ed}.terminal-caret{color:var(--purple);font-size:25px}.hero-id{font-weight:600;margin:18px 0 10px}.hero-lead{max-width:690px;color:var(--muted);line-height:1.8;font-size:15px}.hero-actions{display:flex;gap:12px;margin-top:32px}.btn{border:1px solid var(--line);border-radius:12px;padding:14px 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:white;cursor:pointer;background:transparent;font-weight:600;font-size:13px;transition:.25s}.btn.primary{background:linear-gradient(135deg,var(--deep),var(--purple));border-color:transparent;box-shadow:0 12px 34px rgba(124,58,237,.25)}.btn:hover{transform:translateY(-2px);border-color:rgba(168,85,247,.55)}.hero-foot{margin-top:52px;display:flex;justify-content:space-between;max-width:650px;color:#777783;font-size:11px;letter-spacing:1px;text-transform:uppercase}.hero-foot span:first-child{display:flex;align-items:center;gap:8px}.hero-foot i,.status i,.research-kicker i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 12px #34d399}.hero-visual{position:relative;z-index:3;height:min(650px,68vh);min-height:500px;display:grid;place-items:center}.portrait-card{position:relative;width:min(410px,78%);height:78%;min-height:470px;border:1px solid rgba(255,255,255,.13);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.018));backdrop-filter:blur(10px);border-radius:30px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.55),0 0 80px rgba(124,58,237,.12)}.portrait-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,6,13,.85));z-index:2}.portrait-card img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.86) contrast(1.03)}.portrait-head,.portrait-footer{position:absolute;z-index:4;left:20px;right:20px;display:flex;justify-content:space-between;font:600 9px Space Grotesk;letter-spacing:1.4px;color:#d5cedd}.portrait-head{top:18px}.portrait-footer{bottom:18px;flex-direction:column;gap:4px}.portrait-footer span:last-child{color:#8f8a99}.status{display:flex;gap:6px;align-items:center}.scanline{position:absolute;z-index:3;left:0;right:0;height:1px;background:var(--cyan);box-shadow:0 0 14px var(--cyan);opacity:.5;animation:scan 5s linear infinite}@keyframes scan{0%{top:8%}50%{top:88%}100%{top:8%}}.portrait-orbit{position:absolute;border:1px solid rgba(168,85,247,.18);border-radius:50%;animation:spin 20s linear infinite}.orbit-1{width:520px;height:520px}.orbit-2{width:600px;height:360px;transform:rotate(65deg);border-style:dashed;animation-direction:reverse}@keyframes spin{to{rotate:360deg}}.hud{position:absolute;z-index:6;min-width:150px;padding:13px 15px;border:1px solid rgba(255,255,255,.11);background:rgba(8,10,20,.76);backdrop-filter:blur(14px);border-radius:13px;box-shadow:0 18px 40px rgba(0,0,0,.3);animation:float 5s ease-in-out infinite}.hud small{display:block;color:#85818e;font:600 8px Space Grotesk;letter-spacing:1.5px;margin-bottom:7px}.hud strong{font:600 13px/1.25 Space Grotesk}.hud em{font-style:normal;color:#777;font-size:10px}.hud-a{left:-2%;top:21%}.hud-b{right:-1%;top:34%;animation-delay:-1.5s}.hud-b strong{font-size:22px;color:var(--purple)}.hud-c{left:3%;bottom:17%;animation-delay:-3s}@keyframes float{50%{transform:translateY(-10px)}}.wave{position:absolute;width:540px;height:700px;opacity:.22;background:repeating-radial-gradient(ellipse at center,transparent 0 14px,rgba(168,85,247,.42) 15px 16px,transparent 17px 25px);filter:blur(.2px);mask-image:linear-gradient(to bottom,transparent 2%,#000 20% 80%,transparent)}.wave-left{left:-330px;top:12%;transform:rotate(22deg) skewY(8deg)}.wave-right{right:-350px;top:8%;transform:rotate(-18deg) skewY(-7deg)}.section-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;margin-bottom:58px}.section-head .eyebrow{grid-column:1/-1;margin:0}.section-head h2{font-size:clamp(42px,5vw,76px);line-height:.98;letter-spacing:-4px;margin:0}.section-head>p:last-child{color:var(--muted);line-height:1.7;max-width:470px;margin:0 0 6px}.panel{border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));border-radius:22px;backdrop-filter:blur(10px);box-shadow:0 24px 70px rgba(0,0,0,.16)}.about-grid{display:grid;grid-template-columns:1.7fr .8fr;gap:18px}.about-main{padding:34px}.panel-index{color:var(--purple);font:600 10px Space Grotesk;letter-spacing:2px;margin-bottom:28px}.about-main p{color:#c1bec7;line-height:1.9;font-size:15px}.focus-tags,.paper-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.focus-tags span,.paper-meta span{border:1px solid var(--line);padding:8px 10px;border-radius:999px;color:#b8b3c1;font-size:10px}.profile-stats{display:grid;gap:18px}.stat{padding:24px;display:flex;flex-direction:column;justify-content:center}.stat small{color:#85818e;font-size:9px;letter-spacing:1.6px}.stat strong{font:700 54px Space Grotesk;color:var(--purple);letter-spacing:-3px;margin-top:7px}.stat strong.stat-text{font-size:30px;letter-spacing:-1px;color:white}.stat span{font-size:11px;color:#888391}.edu-wrap,.leadership{margin-top:100px}.mini-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.mini-head span{color:var(--purple);font:600 10px Space Grotesk;letter-spacing:2px}.mini-head h3{font:600 32px Space Grotesk;margin:0}.edu-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.edu-line:before{content:"";position:absolute;left:8%;right:8%;top:41px;height:1px;background:linear-gradient(90deg,var(--purple),rgba(255,255,255,.12),var(--cyan))}.edu-card{position:relative;padding-top:70px}.edu-card>b{position:absolute;top:0;color:#9a95a3;font:600 10px Space Grotesk}.edu-card>i{position:absolute;top:35px;left:0;width:13px;height:13px;border-radius:50%;background:var(--bg);border:2px solid var(--purple);box-shadow:0 0 18px rgba(168,85,247,.5)}.edu-card small{color:var(--purple);font-size:9px;letter-spacing:1.5px}.edu-card h4{font:600 17px/1.35 Space Grotesk;margin:10px 0}.edu-card p{color:#888391;font-size:12px;line-height:1.7}.edu-card>strong{font-size:11px}.research-node>i{border-color:var(--cyan)}.timeline{position:relative;display:grid;gap:14px}.timeline:before{content:"";position:absolute;left:34px;top:35px;bottom:35px;width:1px;background:linear-gradient(var(--purple),rgba(255,255,255,.08),var(--cyan))}.timeline-card{position:relative;display:grid;grid-template-columns:70px 1fr;gap:20px;padding:28px 28px 28px 0;border-bottom:1px solid rgba(255,255,255,.08);transition:.3s}.timeline-card:hover{background:linear-gradient(90deg,transparent,rgba(168,85,247,.035),transparent)}.timeline-no{position:relative;z-index:2;width:70px;display:grid;place-items:start center;padding-top:3px;color:var(--purple);font:600 11px Space Grotesk}.timeline-no:before{content:"";position:absolute;top:5px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--purple);transform:translateY(24px)}.timeline-card .meta{float:right;color:#777280;font:600 10px Space Grotesk;letter-spacing:1px}.timeline-card small,.lead-grid small{color:var(--purple);font-size:10px;letter-spacing:1px}.timeline-card h3,.lead-grid h3{font:600 24px Space Grotesk;margin:10px 0}.timeline-card p,.lead-grid p{color:#97929f;line-height:1.8;font-size:13px;max-width:850px}.lead-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.lead-grid article{padding:28px}.lead-grid article>span{font-size:9px;color:#777;letter-spacing:1px;display:block;margin-bottom:20px}.lead-words{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.lead-words span{font:600 11px Space Grotesk;letter-spacing:1px;color:#7d7885;border-bottom:1px solid var(--purple);padding:8px 0}.project-filters,.skill-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.project-filters button,.skill-filters button,.gallery-toolbar button{border:1px solid var(--line);background:rgba(255,255,255,.025);color:#918c9a;border-radius:999px;padding:9px 14px;cursor:pointer;font-size:11px}.project-filters button.active,.skill-filters button.active{background:rgba(168,85,247,.15);color:white;border-color:rgba(168,85,247,.45)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{position:relative;min-height:320px;padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));overflow:hidden;transition:opacity .3s,transform .2s,border-color .3s}.project-card:before{content:"";position:absolute;width:180px;height:180px;right:-90px;top:-90px;background:var(--purple);filter:blur(80px);opacity:0;transition:.35s}.project-card:hover{border-color:rgba(168,85,247,.38)}.project-card:hover:before{opacity:.12}.project-card.hidden{display:none}.project-num{position:absolute;right:22px;top:20px;color:#4d4954;font:600 11px Space Grotesk}.project-card small{color:var(--purple);font-size:9px;letter-spacing:1.5px}.project-card h3{font:600 24px/1.15 Space Grotesk;margin:40px 0 14px}.project-card p{color:#918c99;font-size:13px;line-height:1.8}.project-card>a{position:absolute;bottom:26px;left:28px;color:#d8d3df;font-size:11px}.project-foot{position:absolute;bottom:25px;left:28px;right:28px;display:flex;justify-content:space-between;color:#6f6b75;font-size:9px;letter-spacing:1px}.paper{display:grid;grid-template-columns:160px 1fr;overflow:hidden}.paper-side{min-height:420px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(168,85,247,.14),transparent 60%)}.paper-side span{font:700 38px Space Grotesk}.paper-side b{color:var(--purple);margin:6px 0}.paper-side small{color:#777}.paper-body{padding:44px}.research-kicker{display:flex;align-items:center;gap:8px;color:#a39dab;font:600 9px Space Grotesk;letter-spacing:1.5px}.research-kicker i{display:inline-block}.paper h3,.thesis h3{font:600 clamp(28px,3vw,46px)/1.12 Space Grotesk;letter-spacing:-1.5px;margin:24px 0}.paper p,.thesis p{color:#96919e;line-height:1.8}.paper .btn{margin-top:26px}.thesis-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:16px;margin-top:16px}.thesis,.pipeline{padding:30px}.pipeline{display:flex;align-items:center;justify-content:space-around;gap:8px}.pipeline div{display:grid;place-items:center;gap:9px;color:#b9b3c0}.pipeline i{font-size:20px;color:var(--purple)}.pipeline span{font:600 8px Space Grotesk;letter-spacing:1px}.pipeline b{color:#48444f}.interest-panel{margin-top:16px;padding:32px;display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:center}.interest-panel small{color:var(--purple);font-size:9px;letter-spacing:1.4px}.interest-panel h3{font:600 27px Space Grotesk}.constellation{display:flex;flex-wrap:wrap;gap:10px}.constellation span{position:relative;padding:10px 12px 10px 26px;border:1px solid var(--line);border-radius:999px;color:#a39eaa;font-size:10px}.constellation span:before{content:"";position:absolute;left:11px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--purple);box-shadow:0 0 10px var(--purple)}.skill-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.skill-card{min-height:130px;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;justify-content:space-between;transition:.3s}.skill-card:hover{transform:translateY(-4px);border-color:rgba(168,85,247,.4);background:rgba(168,85,247,.05)}.skill-card i{font-size:22px;color:var(--purple)}.skill-card span{font:600 12px Space Grotesk}.skill-card.hidden{display:none}.cert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.cert-card{position:relative;aspect-ratio:1.15/1;border-radius:18px;overflow:hidden;border:1px solid var(--line);cursor:pointer;background:#0b0c14}.cert-card img{width:100%;height:100%;object-fit:cover;opacity:.68;transition:.45s}.cert-card:hover img{transform:scale(1.06);opacity:.88}.cert-overlay{position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 30%,rgba(4,5,10,.92))}.cert-overlay small{color:var(--purple);font-size:8px;letter-spacing:1px}.cert-overlay h3{font:600 14px/1.3 Space Grotesk;margin:6px 0 0}.gallery-section{max-width:1440px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:#9e99a5;font:600 11px Space Grotesk;letter-spacing:1px}.gallery-toolbar div{display:flex;gap:8px}.gallery-toolbar button{width:42px;height:42px;padding:0;font-size:18px}.expanding-gallery{height:590px;display:flex;gap:8px;overflow:hidden}.gallery-option{position:relative;min-width:34px;flex:1;border-radius:18px;overflow:hidden;cursor:pointer;border:1px solid var(--line);transition:flex .7s cubic-bezier(.2,.8,.2,1),filter .4s;filter:saturate(.45) brightness(.6)}.gallery-option.active{flex:15;filter:saturate(.95) brightness(.92)}.gallery-option img{width:100%;height:100%;object-fit:cover}.gallery-option span{position:absolute;left:16px;bottom:15px;opacity:0;font:600 10px Space Grotesk;letter-spacing:1px;text-shadow:0 2px 8px #000}.gallery-option.active span{opacity:1}.presence-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.presence{padding:25px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:15px;transition:.3s}.presence:hover{transform:translateY(-3px);border-color:rgba(168,85,247,.4)}.presence>i{font-size:20px;color:var(--purple)}.presence small{font-size:8px;color:#777;letter-spacing:1px}.presence h3{font:600 18px Space Grotesk;margin:4px 0}.presence b{color:#777}.contact-section{max-width:var(--max);margin:40px auto 0;padding:120px 28px 150px;display:grid;grid-template-columns:1fr .85fr;gap:90px;align-items:center}.contact-copy h2{font:600 clamp(54px,7vw,100px)/.95 Space Grotesk;letter-spacing:-5px;margin:18px 0}.contact-copy h3{font:600 20px Space Grotesk}.contact-copy>p{color:#97929f;line-height:1.8;max-width:520px}.contact-sign{margin-top:50px;font:600 20px/1.6 Space Grotesk;color:#66616c}.contact-sign span{color:var(--purple)}.contact-form{padding:30px}.contact-form label{display:block;color:#aaa5b0;font-size:10px;letter-spacing:1px;margin-bottom:20px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:8px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:11px;padding:13px 14px;color:white;outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(168,85,247,.08)}.contact-form .btn{width:100%}.form-status{font-size:11px;color:#9a95a1;min-height:16px}.contact-glow{position:absolute;width:400px;height:400px;background:var(--purple);filter:blur(160px);opacity:.08;left:20%;top:30%;pointer-events:none}footer{position:relative;z-index:2;border-top:1px solid var(--line);max-width:var(--max);margin:auto;padding:60px 28px 28px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-brand h2{font:600 24px Space Grotesk;margin:0}.footer-brand p{color:#77717f;font-size:11px;margin-left:auto}footer nav{display:flex;gap:22px;flex-wrap:wrap;margin:44px 0;color:#8f8996;font-size:11px}.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:22px;display:flex;justify-content:space-between;color:#615d67;font-size:10px}.footer-bottom div{display:flex;gap:16px}.modal{position:fixed;inset:0;z-index:9000;background:rgba(2,3,8,.86);backdrop-filter:blur(16px);display:none;place-items:center;padding:25px}.modal.open{display:grid}.modal-card{position:relative;width:min(1100px,95vw);height:min(820px,90vh);background:#080a12;border:1px solid var(--line);border-radius:22px;overflow:hidden}.modal-close{position:absolute;z-index:4;right:16px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(0,0,0,.55);color:white;font-size:24px;cursor:pointer}.modal-head{height:90px;padding:18px 70px 18px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-head small{font-size:8px;color:var(--purple);letter-spacing:1px}.modal-head h2{font:600 22px Space Grotesk;margin:4px 0}.resume-card iframe{width:100%;height:calc(100% - 90px);border:0;background:white}.image-modal-card{position:relative;width:min(1100px,95vw);height:min(820px,90vh);display:grid;place-items:center}.image-modal-card img{max-width:100%;max-height:82vh;object-fit:contain;border-radius:14px;box-shadow:0 30px 100px #000}.image-nav{position:absolute;top:50%;z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:rgba(0,0,0,.55);color:white;cursor:pointer}.image-nav.prev{left:10px}.image-nav.next{right:10px}.image-caption{position:absolute;bottom:-4px;font:600 10px Space Grotesk;letter-spacing:1px;color:#aaa}.reveal{will-change:transform,opacity}
@media(max-width:1050px){#mainNav .nav-link{padding:10px 8px;font-size:10px}.hero{grid-template-columns:1fr 420px;gap:20px;padding-left:5vw;padding-right:5vw}.hero h1{font-size:72px}.hud{display:none}.section-head{grid-template-columns:1fr}.project-grid{grid-template-columns:repeat(2,1fr)}.cert-grid{grid-template-columns:repeat(3,1fr)}.skill-grid{grid-template-columns:repeat(4,1fr)}.edu-line{grid-template-columns:repeat(2,1fr)}.edu-line:before{display:none}.edu-card{padding-top:38px}.edu-card>i{top:4px}.lead-grid{grid-template-columns:1fr 1fr}.expanding-gallery{height:500px}.contact-section{gap:40px}}
@media(max-width:820px){.cursor-dot,.cursor-ring{display:none}.nav-shell{top:10px;height:58px}.menu-btn{display:block}#mainNav{position:absolute;left:0;right:0;top:66px;padding:10px;display:none;grid-template-columns:1fr 1fr;background:rgba(6,7,14,.96);border:1px solid var(--line);backdrop-filter:blur(18px);border-radius:16px}#mainNav.open{display:grid}.nav-indicator{display:none}.nav-link{padding:13px!important;font-size:12px!important}.hero{grid-template-columns:1fr;padding:130px 28px 70px;text-align:left}.hero-copy{max-width:none}.hero h1{font-size:clamp(58px,17vw,90px)}.hero-visual{height:570px;min-height:0}.portrait-card{width:min(390px,85%)}.hero-foot{display:none}.section-head h2{font-size:54px}.about-grid,.thesis-grid,.interest-panel,.contact-section{grid-template-columns:1fr}.profile-stats{grid-template-columns:repeat(3,1fr)}.stat{padding:18px}.stat strong{font-size:34px}.stat strong.stat-text{font-size:20px}.timeline-card .meta{float:none;display:block;margin-bottom:8px}.lead-grid{grid-template-columns:1fr}.cert-grid{grid-template-columns:repeat(2,1fr)}.skill-grid{grid-template-columns:repeat(3,1fr)}.paper{grid-template-columns:1fr}.paper-side{min-height:120px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;gap:14px}.pipeline{overflow:auto;justify-content:flex-start}.presence-grid{grid-template-columns:1fr}.contact-section{padding-top:90px}.footer-brand{align-items:flex-start;flex-wrap:wrap}.footer-brand p{width:100%;margin-left:0}.expanding-gallery{height:480px;overflow-x:auto;scroll-snap-type:x mandatory}.gallery-option,.gallery-option.active{flex:0 0 76vw;min-width:76vw;filter:saturate(.9) brightness(.8);scroll-snap-align:center}.gallery-option span{opacity:1}}
@media(max-width:560px){.content-section{padding:90px 18px}.hero{padding-left:18px;padding-right:18px}.hero h1{letter-spacing:-4px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-visual{height:500px}.portrait-card{height:86%;min-height:0}.portrait-orbit{display:none}.section-head{margin-bottom:38px}.section-head h2{font-size:44px;letter-spacing:-3px}.about-grid{display:block}.profile-stats{grid-template-columns:1fr;margin-top:14px}.edu-line{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-card{min-height:290px}.skill-grid{grid-template-columns:repeat(2,1fr)}.cert-grid{grid-template-columns:1fr 1fr}.cert-overlay{padding:12px}.cert-overlay h3{font-size:11px}.paper-body{padding:26px}.paper h3,.thesis h3{font-size:28px}.pipeline{padding:22px 16px}.contact-section{padding:90px 18px 110px}.contact-copy h2{font-size:62px}.modal-head{height:130px;align-items:flex-start;flex-direction:column;padding:18px 58px 16px 18px}.resume-card iframe{height:calc(100% - 130px)}footer{padding-left:18px;padding-right:18px}.footer-bottom{gap:15px;flex-direction:column}.expanding-gallery{height:420px}.gallery-option,.gallery-option.active{flex-basis:84vw;min-width:84vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.scanline,.portrait-orbit{display:none}}


/* ===== V2: refined education, Spread Fx gallery, live GIF and portfolio bot ===== */
.edu-line{grid-template-columns:repeat(3,1fr)}
.live-gif-surface{position:absolute;inset:7% 2% 5% 3%;border-radius:42px;overflow:hidden;opacity:.26;filter:saturate(1.15) contrast(1.05);mix-blend-mode:screen;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 2%,#000 25%,#000 80%,transparent 100%)}
.live-gif-surface img{width:100%;height:100%;object-fit:cover;transform:scale(1.07)}
.portrait-card,.portrait-orbit,.hud{z-index:2}
.research-live{margin-top:16px;min-height:240px;display:grid;grid-template-columns:.72fr 1.28fr;align-items:stretch;overflow:hidden}
.research-live-copy{padding:32px;align-self:center}
.research-live-copy small{color:var(--purple);font-size:9px;letter-spacing:1.3px}.research-live-copy h3{font:600 28px Space Grotesk;margin:8px 0}.research-live-copy p{color:#8e8995;line-height:1.7;font-size:12px}.research-live img{width:100%;height:100%;min-height:240px;object-fit:cover;opacity:.72;mask-image:linear-gradient(90deg,transparent 0,#000 20%)}
.gallery-section{max-width:1500px;overflow:visible}.spread-gallery{width:min(1180px,88vw);margin:35px auto 95px;display:flex;justify-content:center;align-items:center;flex-flow:row wrap;gap:7px;perspective:700px;overflow:visible}.spread-item{position:relative;list-style:none;width:112px;height:78px;margin:0;perspective-origin:center center;transform-style:preserve-3d;transform:rotateX(40deg);transition:transform .4s ease,filter .35s ease;cursor:pointer;outline:none;z-index:1}.spread-item:nth-child(3n+2){width:86px;height:118px}.spread-item:nth-child(4n){width:126px;height:86px}.spread-item:nth-child(5n){width:76px;height:100px}.spread-item:hover,.spread-item:focus-visible{transform:translateZ(100px) rotateX(20deg);z-index:30}.spread-item:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 5px rgba(168,85,247,.55)}.spread-item li{position:absolute;left:0;top:0;backface-visibility:hidden;width:100%;height:100%;transition:transform .3s,filter 1s;border-radius:4px;background-image:var(--spread-image);background-repeat:no-repeat;background-size:300% 300%;filter:grayscale(.82) brightness(.68);text-indent:999px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}.spread-item:hover li,.spread-item:focus-visible li{filter:grayscale(0) brightness(.95)}.spread-item li:first-of-type{transform:none}.spread-item li:nth-of-type(2){left:100%;transform-origin:left center;transform:rotateY(180deg)}.spread-item li:nth-of-type(3){top:100%;transform-origin:center top;transform:rotateX(-180deg)}.spread-item li:nth-of-type(4){left:-100%;transform-origin:right center;transform:rotateY(-180deg)}.spread-item li:nth-of-type(5){top:-100%;transform-origin:center bottom;transform:rotateX(180deg)}.spread-item li:nth-of-type(6){top:100%;left:100%;transform-origin:center top;transform:rotateX(-180deg)}.spread-item li:nth-of-type(7){top:100%;left:-100%;transform-origin:right center;transform:rotateY(-180deg)}.spread-item li:nth-of-type(8){top:-100%;left:-100%;transform-origin:center bottom;transform:rotateX(180deg)}.spread-item li:nth-of-type(9){top:-100%;left:100%;transform-origin:left center;transform:rotateY(180deg)}.spread-item li:nth-of-type(2),.spread-item li:nth-of-type(3),.spread-item li:nth-of-type(4),.spread-item li:nth-of-type(5){transition-delay:.03s}.spread-item li:nth-of-type(6),.spread-item li:nth-of-type(7),.spread-item li:nth-of-type(8),.spread-item li:nth-of-type(9){transition-delay:0s}.spread-item:hover li:nth-of-type(2),.spread-item:hover li:nth-of-type(3),.spread-item:hover li:nth-of-type(4),.spread-item:hover li:nth-of-type(5),.spread-item:focus-visible li:nth-of-type(2),.spread-item:focus-visible li:nth-of-type(3),.spread-item:focus-visible li:nth-of-type(4),.spread-item:focus-visible li:nth-of-type(5){transition-delay:0s}.spread-item:hover li:nth-of-type(6),.spread-item:hover li:nth-of-type(7),.spread-item:hover li:nth-of-type(8),.spread-item:hover li:nth-of-type(9),.spread-item:focus-visible li:nth-of-type(6),.spread-item:focus-visible li:nth-of-type(7),.spread-item:focus-visible li:nth-of-type(8),.spread-item:focus-visible li:nth-of-type(9){transition-delay:.2s}.spread-item:hover li:nth-of-type(2),.spread-item:hover li:nth-of-type(4),.spread-item:hover li:nth-of-type(7),.spread-item:hover li:nth-of-type(9),.spread-item:focus-visible li:nth-of-type(2),.spread-item:focus-visible li:nth-of-type(4),.spread-item:focus-visible li:nth-of-type(7),.spread-item:focus-visible li:nth-of-type(9){transform:rotateY(0)}.spread-item:hover li:nth-of-type(3),.spread-item:hover li:nth-of-type(5),.spread-item:hover li:nth-of-type(6),.spread-item:hover li:nth-of-type(8),.spread-item:focus-visible li:nth-of-type(3),.spread-item:focus-visible li:nth-of-type(5),.spread-item:focus-visible li:nth-of-type(6),.spread-item:focus-visible li:nth-of-type(8){transform:rotateX(0)}.spread-item li:nth-of-type(1){background-position:center center}.spread-item li:nth-of-type(2){background-position:right center}.spread-item li:nth-of-type(3){background-position:center bottom}.spread-item li:nth-of-type(4){background-position:left center}.spread-item li:nth-of-type(5){background-position:center top}.spread-item li:nth-of-type(6){background-position:right bottom}.spread-item li:nth-of-type(7){background-position:left bottom}.spread-item li:nth-of-type(8){background-position:left top}.spread-item li:nth-of-type(9){background-position:right top}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.farhad-bot{position:fixed;right:22px;bottom:22px;z-index:8500;font-family:Inter,sans-serif}.bot-launch{min-width:154px;height:48px;border-radius:999px;padding:0 16px;border:1px solid rgba(168,85,247,.38);background:rgba(8,10,20,.88);backdrop-filter:blur(18px);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 16px 55px rgba(0,0,0,.42),0 0 28px rgba(168,85,247,.1)}.bot-launch b{font:600 11px Space Grotesk}.bot-launch i{color:#c084fc}.bot-pulse{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:botPulse 2s infinite}@keyframes botPulse{70%{box-shadow:0 0 0 9px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.bot-panel{position:absolute;right:0;bottom:60px;width:min(380px,calc(100vw - 28px));height:560px;max-height:calc(100vh - 105px);display:flex;flex-direction:column;background:rgba(7,8,16,.96);border:1px solid rgba(168,85,247,.22);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.6);backdrop-filter:blur(24px);overflow:hidden;opacity:0;pointer-events:none;transform:translateY(14px) scale(.97);transform-origin:bottom right;transition:.28s ease}.bot-panel.open{opacity:1;pointer-events:auto;transform:none}.bot-panel>header{height:72px;flex:0 0 auto;padding:13px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,rgba(168,85,247,.08),transparent)}.bot-panel>header>div{display:flex;align-items:center;gap:10px}.bot-avatar{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#a855f7);font:700 12px Space Grotesk;box-shadow:0 0 25px rgba(168,85,247,.25)}.bot-panel header strong{display:block;font:600 13px Space Grotesk}.bot-panel header small{display:block;color:#7f7a86;font-size:9px;margin-top:4px}.bot-panel header small i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#22c55e;margin-right:5px}.bot-panel header button{width:34px;height:34px;padding:0;border:0;background:transparent;color:#8b8592;font-size:22px}.bot-messages{flex:1;overflow:auto;padding:16px;scroll-behavior:smooth}.bot-msg{display:flex;margin:0 0 11px}.bot-msg p{max-width:88%;margin:0;padding:11px 12px;border-radius:14px;font-size:11px;line-height:1.65}.bot-msg.bot p{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.06);color:#c8c4cd;border-bottom-left-radius:4px}.bot-msg.user{justify-content:flex-end}.bot-msg.user p{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;border-bottom-right-radius:4px}.typing p{display:flex;gap:4px}.typing span{width:5px;height:5px;border-radius:50%;background:#9a94a1;animation:typing 1s infinite alternate}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing{to{transform:translateY(-4px);opacity:.4}}.bot-chips{display:flex;gap:6px;overflow:auto;padding:0 12px 10px}.bot-chips button{white-space:nowrap;padding:7px 9px;border-radius:999px;border:1px solid rgba(168,85,247,.22);background:rgba(168,85,247,.06);color:#bdb7c4;font-size:9px}.bot-panel form{margin:0 12px 8px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035);display:flex;padding:5px}.bot-panel input{flex:1;min-width:0;border:0;background:transparent;color:white;outline:0;padding:7px 8px;font-size:11px}.bot-panel form button{width:34px;height:34px;padding:0;border:0;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#a855f7);color:white}.bot-panel>footer{padding:0 14px 10px;text-align:center;color:#57525e;font-size:8px}
@media(max-width:1050px){.edu-line{grid-template-columns:repeat(3,1fr)}.spread-gallery{width:92vw}.research-live{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.live-gif-surface{opacity:.16}.edu-line{grid-template-columns:1fr}.research-live{grid-template-columns:1fr}.research-live img{max-height:260px;mask-image:linear-gradient(180deg,transparent 0,#000 20%)}.spread-gallery{width:100%;gap:10px;margin-bottom:55px;perspective:520px}.spread-item,.spread-item:nth-child(n){width:96px;height:76px;transform:rotateX(28deg)}.spread-item:nth-child(3n+2){height:106px}.spread-item:hover,.spread-item:focus-visible{transform:translateZ(65px) rotateX(12deg)}.farhad-bot{right:14px;bottom:14px}.bot-launch{min-width:48px;width:48px;padding:0}.bot-launch b{display:none}}
@media(max-width:560px){.spread-gallery{gap:8px}.spread-item,.spread-item:nth-child(n){width:82px;height:68px}.spread-item:nth-child(3n+2){height:92px}.bot-panel{height:min(560px,calc(100vh - 90px));bottom:58px}.research-live-copy{padding:24px}}
@media(prefers-reduced-motion:reduce){.bot-pulse,.typing span{animation:none}.live-gif-surface,.research-live img{display:none}.spread-item,.spread-item li{transition:none!important;transform:none!important}.spread-item li:not(:first-child){display:none}.spread-item li:first-child{background-size:cover;background-position:center}}

/* GitHub project refresh */
.github-project-cta{margin-top:2rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.08)}
.github-project-cta>span{font-size:.72rem;letter-spacing:.18em;color:var(--muted,#a1a1aa)}
@media (max-width:700px){.github-project-cta{align-items:flex-start;flex-direction:column}}

/* V4 project repository + live deployment actions */
.repo-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.project-card .repo-actions a{display:inline-flex;align-items:center;gap:7px;margin-top:0;padding:9px 11px;border:1px solid rgba(255,255,255,.11);border-radius:9px;background:rgba(255,255,255,.025);transition:.25s}
.project-card .repo-actions a:hover{border-color:rgba(168,85,247,.55);background:rgba(168,85,247,.08);transform:translateY(-2px)}
.project-card .repo-actions .live-link{border-color:rgba(56,189,248,.25);color:#dff6ff}
.project-card .repo-actions .live-link:hover{border-color:rgba(56,189,248,.65);background:rgba(56,189,248,.08)}
.featured-live{position:relative;overflow:hidden}
.featured-live:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:linear-gradient(180deg,var(--purple),var(--cyan));opacity:.8}
.live-badge{position:absolute;right:18px;top:18px;display:flex;align-items:center;gap:6px;color:#b8f8e1;font:600 8px Space Grotesk;letter-spacing:1.1px}
.live-badge i{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399;animation:livepulse 1.8s ease-in-out infinite}
@keyframes livepulse{50%{opacity:.35;transform:scale(.75)}}
@media(max-width:600px){.repo-actions{flex-direction:column}.project-card .repo-actions a{justify-content:center}.live-badge{position:static;margin-top:14px}}

/* ===== V5: Skills dashboard inspired by reference + Gallery title refinement ===== */
.skills-showcase{max-width:1320px}.skills-showcase .section-head{margin-bottom:42px}.skills-dashboard{min-height:520px;display:grid;grid-template-columns:76px minmax(300px,.9fr) minmax(430px,1.15fr);gap:0;padding:0;overflow:hidden;border-radius:26px;background:linear-gradient(135deg,rgba(11,15,31,.94),rgba(8,10,20,.92));box-shadow:0 30px 90px rgba(0,0,0,.35),inset 0 0 0 1px rgba(56,189,248,.05)}
.skills-rail{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:22px 10px;border-right:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,rgba(56,189,248,.045),rgba(168,85,247,.035))}.skills-rail:before{content:"";position:absolute;inset:20px 12px;border:1px solid rgba(56,189,248,.23);border-radius:26px;box-shadow:0 0 22px rgba(56,189,248,.12),inset 0 0 18px rgba(56,189,248,.035);pointer-events:none}.skills-rail button{position:relative;z-index:2;width:42px;height:42px;border:0;border-radius:14px;background:transparent;color:#718093;display:grid;place-items:center;cursor:pointer;transition:.28s ease}.skills-rail button i{font-size:14px}.skills-rail button span{position:absolute;left:52px;white-space:nowrap;opacity:0;pointer-events:none;transform:translateX(-5px);padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#0a0d18;color:#fff;font:600 9px Space Grotesk;letter-spacing:.7px;transition:.2s}.skills-rail button:hover span,.skills-rail button:focus-visible span{opacity:1;transform:none}.skills-rail button:hover,.skills-rail button.active{color:#fff;background:rgba(56,189,248,.16);box-shadow:0 0 24px rgba(56,189,248,.22),inset 0 0 0 1px rgba(56,189,248,.28)}
.skills-visual{position:relative;min-height:520px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(56,189,248,.15),transparent 31%),radial-gradient(circle at 45% 58%,rgba(168,85,247,.12),transparent 42%)}.skills-visual:after{content:"";position:absolute;left:10%;right:8%;bottom:16%;height:1px;background:linear-gradient(90deg,transparent,rgba(56,189,248,.5),rgba(168,85,247,.35),transparent);box-shadow:0 0 18px rgba(56,189,248,.3);transform:rotate(-10deg)}.skill-orbit{position:absolute;border:1px solid rgba(56,189,248,.18);border-radius:50%;animation:skillOrbit 18s linear infinite}.skill-orbit.orbit-a{width:250px;height:250px}.skill-orbit.orbit-b{width:360px;height:360px;border-color:rgba(168,85,247,.13);animation-direction:reverse;animation-duration:27s}.skill-orbit:before,.skill-orbit:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 16px var(--cyan)}.skill-orbit:before{left:12%;top:18%}.skill-orbit:after{right:8%;bottom:28%;background:var(--purple);box-shadow:0 0 16px var(--purple)}@keyframes skillOrbit{to{transform:rotate(360deg)}}.skill-core{position:relative;z-index:2;width:126px;height:126px;border-radius:34px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(56,189,248,.12),rgba(124,58,237,.14));border:1px solid rgba(56,189,248,.32);box-shadow:0 20px 70px rgba(0,0,0,.4),0 0 42px rgba(56,189,248,.16);transform:rotate(-8deg)}.skill-core i{font-size:44px;color:#dff8ff;text-shadow:0 0 22px rgba(56,189,248,.7)}.skill-float{position:absolute;z-index:3;width:52px;height:52px;border-radius:16px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(8,12,24,.72);backdrop-filter:blur(8px);box-shadow:0 12px 30px rgba(0,0,0,.3);animation:skillFloat 4s ease-in-out infinite}.skill-float i{font-size:22px}.skill-float-a{left:20%;top:24%;color:#ffd64a}.skill-float-b{right:18%;top:28%;color:var(--cyan);animation-delay:-1s}.skill-float-c{left:24%;bottom:25%;color:#fff;animation-delay:-2s}.skill-float-d{right:21%;bottom:22%;color:var(--purple);animation-delay:-3s}@keyframes skillFloat{50%{transform:translateY(-10px) rotate(4deg)}}.skill-scan{position:absolute;left:14%;right:14%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 16px var(--cyan);animation:skillScan 4.8s ease-in-out infinite}@keyframes skillScan{0%,100%{transform:translateY(-110px);opacity:.15}50%{transform:translateY(110px);opacity:.65}}
.skills-content{padding:64px 54px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(255,255,255,.055)}.skills-kicker{margin:0 0 12px;color:var(--cyan);font:700 10px Space Grotesk;letter-spacing:2.2px}.skills-content h3{margin:0 0 15px;font:700 clamp(28px,3vw,44px)/1.05 Space Grotesk;letter-spacing:-2px}.skills-copy{max-width:640px;margin:0 0 30px;color:var(--muted);font-size:13px;line-height:1.75}.skills-content .skill-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.skills-content .skill-card{min-height:54px;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025);transition:.3s ease;position:relative;overflow:hidden}.skills-content .skill-card:after{content:"";position:absolute;left:48px;right:12px;bottom:7px;height:1px;background:linear-gradient(90deg,rgba(56,189,248,.6),rgba(168,85,247,.18),transparent);transform-origin:left;transform:scaleX(.55);transition:.35s}.skills-content .skill-card:hover{transform:translateX(4px);border-color:rgba(56,189,248,.28);background:rgba(56,189,248,.045)}.skills-content .skill-card:hover:after{transform:scaleX(1)}.skills-content .skill-card i{width:25px;color:var(--cyan);font-size:17px;text-align:center}.skills-content .skill-card span{font:600 11px Space Grotesk;color:#e6e8ed}.skills-content .skill-card.hidden{display:none}
.gallery-section .section-head h2{max-width:900px}
@media(max-width:1050px){.skills-dashboard{grid-template-columns:70px .8fr 1.2fr}.skills-content{padding:48px 34px}.skills-content .skill-grid{grid-template-columns:1fr}.skill-orbit.orbit-b{width:300px;height:300px}}
@media(max-width:820px){.skills-dashboard{grid-template-columns:1fr;min-height:0}.skills-rail{order:2;flex-direction:row;padding:12px;gap:8px;border-right:0;border-top:1px solid rgba(255,255,255,.07)}.skills-rail:before{inset:7px 14px;border-radius:18px}.skills-rail button span{display:none}.skills-visual{min-height:330px}.skills-content{order:1;padding:38px 28px 30px;border-left:0}.skills-visual{order:3}.skill-orbit.orbit-b{width:280px;height:280px}.skill-orbit.orbit-a{width:190px;height:190px}.skill-core{width:104px;height:104px}.skill-float{width:45px;height:45px}}
@media(max-width:560px){.skills-showcase .section-head h2{font-size:52px}.skills-content{padding:32px 18px 24px}.skills-content h3{font-size:31px;letter-spacing:-1.5px}.skills-content .skill-grid{grid-template-columns:1fr 1fr;gap:8px}.skills-content .skill-card{min-height:50px;padding:10px}.skills-content .skill-card span{font-size:10px}.skills-content .skill-card:after{display:none}.skills-visual{min-height:280px}.skill-orbit.orbit-b{width:240px;height:240px}.skill-float-a{left:14%}.skill-float-b{right:13%}.skill-float-c{left:18%}.skill-float-d{right:16%}}
@media(prefers-reduced-motion:reduce){.skill-orbit,.skill-float,.skill-scan{animation:none!important}}

/* V7: horizontal skills category bar */
.skills-dashboard{grid-template-columns:minmax(300px,.9fr) minmax(430px,1.15fr);grid-template-rows:auto 1fr}
.skills-rail{grid-column:1/-1;grid-row:1;flex-direction:row;justify-content:center;align-items:center;gap:14px;padding:14px 20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.075);background:linear-gradient(90deg,rgba(56,189,248,.045),rgba(168,85,247,.035))}
.skills-rail:before{inset:7px 18px;border-radius:18px}
.skills-rail button{width:auto;min-width:118px;height:44px;padding:0 18px;display:flex;gap:9px}
.skills-rail button span{position:static;opacity:1;transform:none;padding:0;border:0;background:transparent;color:inherit;font:600 10px Space Grotesk;letter-spacing:.8px;pointer-events:auto}
.skills-visual{grid-column:1;grid-row:2}.skills-content{grid-column:2;grid-row:2}
@media(max-width:820px){.skills-dashboard{grid-template-columns:1fr;grid-template-rows:auto auto auto}.skills-rail{grid-column:1;grid-row:1;order:initial;overflow-x:auto;justify-content:flex-start;padding:12px 16px;border-top:0;border-bottom:1px solid rgba(255,255,255,.07)}.skills-rail button{min-width:max-content;padding:0 14px}.skills-rail button span{display:inline}.skills-content{grid-column:1;grid-row:2;order:initial}.skills-visual{grid-column:1;grid-row:3;order:initial}}
/* V8: show one skill category at a time */
.skill-card.hidden{display:none!important}

/* Live GitHub contribution calendar */
.github-activity{margin-top:92px;padding:30px 30px 24px;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(13,19,35,.94),rgba(9,10,20,.9));border-color:rgba(56,189,248,.16)}
.github-activity:before{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(circle at 16% 0%,rgba(56,189,248,.10),transparent 32%),radial-gradient(circle at 78% 10%,rgba(168,85,247,.10),transparent 34%)}
.github-activity>*{position:relative;z-index:1}.github-activity-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px}.github-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--cyan);font:600 9px Space Grotesk;letter-spacing:1.8px}.github-activity h3{margin:9px 0 6px;font:650 clamp(26px,3vw,40px)/1 Space Grotesk;letter-spacing:-1.5px}.github-activity h3 span{color:var(--purple)}.github-activity-head p{margin:0;color:#8f93a2;font-size:12px}.github-profile-link{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(56,189,248,.18);border-radius:10px;background:rgba(56,189,248,.04);color:#cbd5e1;font:600 11px Space Grotesk;transition:.25s}.github-profile-link:hover{color:#fff;border-color:rgba(168,85,247,.45);box-shadow:0 0 28px rgba(168,85,247,.1)}
.github-chart-shell{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:22px;align-items:start}.github-chart-main{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(2,6,16,.34);padding:18px 18px 13px;overflow:hidden}.github-months{height:18px;margin-left:34px;display:grid;grid-template-columns:repeat(53,minmax(10px,1fr));column-gap:3px;color:#82889a;font:500 9px Inter}.github-months span{white-space:nowrap;transform:translateX(-2px)}.github-grid-wrap{display:grid;grid-template-columns:26px minmax(660px,1fr);gap:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(168,85,247,.35) transparent;padding-bottom:5px}.github-weekdays{height:94px;display:grid;grid-template-rows:repeat(7,10px);gap:4px;color:#6f7585;font-size:8px;line-height:10px}.github-weekdays span:nth-child(even){opacity:1}.github-weekdays span:nth-child(odd){opacity:.22}.github-contribution-grid{height:94px;display:grid;grid-template-columns:repeat(53,minmax(10px,1fr));grid-template-rows:repeat(7,10px);grid-auto-flow:column;gap:4px;align-content:start}.github-day{min-width:10px;height:10px;border-radius:2px;background:rgba(148,163,184,.06);outline:1px solid rgba(255,255,255,.018);transition:transform .16s,box-shadow .16s,background .16s}.github-day[data-level="1"]{background:rgba(56,189,248,.28)}.github-day[data-level="2"]{background:rgba(56,189,248,.55)}.github-day[data-level="3"]{background:rgba(168,85,247,.72)}.github-day[data-level="4"]{background:#a855f7;box-shadow:0 0 8px rgba(168,85,247,.35)}.github-day:not(.empty):hover,.github-day:not(.empty):focus-visible{transform:scale(1.45);z-index:4;outline:1px solid rgba(255,255,255,.55);box-shadow:0 0 12px rgba(56,189,248,.34)}.github-day.empty{visibility:hidden}.github-chart-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:9px;color:#777e90;font-size:9px}.github-legend{display:flex;align-items:center;gap:4px}.github-legend i{width:9px;height:9px;border-radius:2px;background:rgba(148,163,184,.06)}.github-legend i[data-level="1"]{background:rgba(56,189,248,.28)}.github-legend i[data-level="2"]{background:rgba(56,189,248,.55)}.github-legend i[data-level="3"]{background:rgba(168,85,247,.72)}.github-legend i[data-level="4"]{background:#a855f7}
.github-years{display:grid;gap:7px}.github-years button{width:100%;border:1px solid transparent;border-radius:9px;padding:11px 12px;text-align:left;background:transparent;color:#858b9c;font:600 11px Space Grotesk;cursor:pointer;transition:.25s}.github-years button:hover{color:#fff;background:rgba(255,255,255,.04)}.github-years button.active{color:#fff;border-color:rgba(56,189,248,.25);background:linear-gradient(135deg,rgba(56,189,248,.18),rgba(124,58,237,.36));box-shadow:0 8px 22px rgba(0,0,0,.2)}.github-chart-status{min-height:16px;margin-top:10px;color:#7f8493;font-size:10px}.github-chart-status.error{color:#fda4af}
@media(max-width:760px){.github-activity{margin-top:68px;padding:22px 16px}.github-activity-head{flex-direction:column;gap:13px}.github-chart-shell{grid-template-columns:1fr}.github-years{grid-template-columns:repeat(2,minmax(0,1fr));order:-1}.github-years button{text-align:center}.github-chart-main{padding:14px 12px 10px}.github-months{min-width:660px}.github-grid-wrap{grid-template-columns:24px 660px}.github-chart-footer{min-width:660px}.github-profile-link{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.github-day{transition:none}}

/* V10 — compact, more visual research presentation */
.research-compact{padding-top:88px;padding-bottom:88px}
.research-compact .section-head{margin-bottom:34px}
.compact-paper{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:0;overflow:hidden}
.compact-paper .paper-side{position:relative;min-height:245px;padding:24px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;background:radial-gradient(circle at 40% 35%,rgba(168,85,247,.16),transparent 44%),rgba(255,255,255,.015)}
.paper-mark{display:flex;flex-direction:column;gap:5px;position:relative;z-index:2}
.paper-mark span{font:700 23px Space Grotesk}
.paper-mark b{font:600 12px Space Grotesk;color:var(--purple)}
.paper-mark small{font-size:10px;color:#77717f}
.dct-matrix{width:120px;height:74px;display:grid;grid-template-columns:repeat(8,1fr);gap:3px;transform:perspective(240px) rotateX(58deg) rotateZ(-10deg);transform-origin:left bottom;opacity:.9}
.dct-matrix i{display:block;border-radius:2px;background:rgba(168,85,247,.11);border:1px solid rgba(168,85,247,.12);animation:dctPulse 2.8s ease-in-out infinite}
.dct-matrix i:nth-child(3n){background:rgba(56,189,248,.28);border-color:rgba(56,189,248,.26);animation-delay:-.6s}
.dct-matrix i:nth-child(5n){background:rgba(168,85,247,.45);animation-delay:-1.2s}
@keyframes dctPulse{50%{opacity:.35;transform:translateZ(7px)}}
.compact-paper .paper-body{padding:26px 30px 24px}
.compact-paper .research-kicker{font-size:8px}
.compact-paper h3{font-size:clamp(25px,2.55vw,38px);line-height:1.08;letter-spacing:-1.2px;margin:14px 0 12px;max-width:940px}
.compact-paper p{font-size:12.5px;line-height:1.65;margin:0;color:#9994a1;max-width:980px}
.paper-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.compact-paper .paper-meta{margin:0;gap:6px}
.compact-paper .paper-meta span{padding:6px 8px;font-size:8px}
.compact-doi{margin:0!important;padding:10px 13px;font-size:10px;border-radius:9px;white-space:nowrap}
.compact-thesis{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;margin-top:12px}
.compact-thesis .thesis{padding:22px 24px;min-height:190px}
.compact-thesis .panel-index{margin-bottom:14px;font-size:8px}
.compact-thesis .thesis h3{font-size:clamp(23px,2.25vw,33px);line-height:1.08;letter-spacing:-1px;margin:0 0 12px}
.compact-thesis .thesis p{font-size:11px;line-height:1.5;margin:0}
.compact-thesis .focus-tags{margin-top:15px;gap:6px}
.compact-thesis .focus-tags span{padding:6px 8px;font-size:8px}
.compact-thesis .pipeline{min-height:190px;padding:22px 24px;background:radial-gradient(circle at 50% 50%,rgba(168,85,247,.075),transparent 55%),linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012))}
.compact-thesis .pipeline div{position:relative;min-width:58px;gap:7px}
.compact-thesis .pipeline div:before{content:"";position:absolute;width:34px;height:34px;border-radius:10px;background:rgba(168,85,247,.07);border:1px solid rgba(168,85,247,.14);z-index:-1}
.compact-thesis .pipeline i{font-size:17px}
.compact-thesis .pipeline span{font-size:7px}
.compact-thesis .pipeline b{font-size:10px}
@media(max-width:820px){.research-compact{padding-top:72px;padding-bottom:72px}.compact-paper{grid-template-columns:1fr}.compact-paper .paper-side{min-height:104px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center}.dct-matrix{width:105px;height:50px}.paper-footer{align-items:flex-start;flex-direction:column}.compact-thesis{grid-template-columns:1fr}.compact-thesis .pipeline{min-height:150px;overflow-x:auto}}
@media(max-width:560px){.compact-paper .paper-body{padding:22px 20px}.compact-paper h3{font-size:25px}.compact-thesis .thesis{padding:20px}.compact-thesis .thesis h3{font-size:24px}.compact-thesis .pipeline{padding:18px 14px;gap:5px}.compact-thesis .pipeline div{min-width:52px}}

/* ===== V11: continuously animated 3D My Moments gallery ===== */
.gallery-section{max-width:1500px;overflow:hidden}.gallery-heading{margin-bottom:34px}.moments-stage{position:relative;min-height:560px;border:1px solid rgba(255,255,255,.09);border-radius:30px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(124,58,237,.15),transparent 34%),linear-gradient(180deg,rgba(10,12,26,.96),rgba(5,6,13,.9));display:grid;place-items:center;isolation:isolate}.moments-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(56,189,248,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(168,85,247,.03) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,transparent 0,#000 25%,#000 78%,transparent);z-index:-1}.moments-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-150%);font:800 clamp(70px,10vw,170px)/.8 Space Grotesk,sans-serif;letter-spacing:-7px;color:rgba(255,255,255,.055);white-space:nowrap;user-select:none}.moments-slider{position:relative;width:min(1080px,88vw);height:360px;perspective:1000px;transform-style:preserve-3d;display:grid;place-items:center}.moment-card{--x:0px;--z:0px;--ry:0deg;--scale:1;--opacity:1;position:absolute;width:220px;height:300px;padding:0;border:1px solid rgba(255,255,255,.14);border-radius:18px;overflow:hidden;background:#0b0d18;box-shadow:0 30px 70px rgba(0,0,0,.45);transform:translate3d(var(--x),0,var(--z)) rotateY(var(--ry)) scale(var(--scale));opacity:var(--opacity);transition:transform .75s cubic-bezier(.2,.7,.15,1),opacity .55s ease,filter .55s ease,border-color .35s;cursor:pointer;filter:grayscale(.75) brightness(.58);will-change:transform,opacity}.moment-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.moment-card span{position:absolute;right:10px;bottom:9px;padding:5px 7px;border-radius:8px;background:rgba(5,6,13,.68);backdrop-filter:blur(8px);font:700 9px Space Grotesk;letter-spacing:1px;color:#ddd}.moment-card.active{filter:none;border-color:rgba(56,189,248,.55);box-shadow:0 30px 90px rgba(0,0,0,.58),0 0 48px rgba(168,85,247,.2)}.moment-card:hover,.moment-card:focus-visible{filter:none;border-color:rgba(168,85,247,.8);outline:none}.moments-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:160;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.13);background:rgba(8,10,20,.75);backdrop-filter:blur(12px);color:#fff;font-size:21px;cursor:pointer;transition:.25s}.moments-nav:hover{border-color:var(--purple);box-shadow:0 0 26px rgba(168,85,247,.22);transform:translateY(-50%) scale(1.06)}.moments-nav.prev{left:28px}.moments-nav.next{right:28px}.moments-meta{position:absolute;left:30px;right:30px;bottom:24px;display:flex;justify-content:space-between;align-items:center;font:600 10px Space Grotesk;letter-spacing:1.7px;color:#85818e}.moments-meta span:first-child{color:#fff}.moments-meta span:last-child:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399;margin-right:7px}
@media(max-width:900px){.moments-stage{min-height:500px}.moments-watermark{font-size:clamp(58px,14vw,110px);transform:translate(-50%,-170%)}.moments-slider{height:320px}.moment-card{width:180px;height:250px}.moments-nav.prev{left:16px}.moments-nav.next{right:16px}}
@media(max-width:560px){.moments-stage{min-height:430px;border-radius:22px}.moments-watermark{font-size:56px;letter-spacing:-4px;transform:translate(-50%,-190%)}.moments-slider{width:100%;height:280px}.moment-card{width:148px;height:210px;border-radius:14px}.moments-nav{width:38px;height:38px}.moments-nav.prev{left:10px}.moments-nav.next{right:10px}.moments-meta{left:16px;right:16px;bottom:16px}.moments-meta span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.moment-card{transition:none}.moments-meta span:last-child{display:none}}

/* V12 final — compact achievement cards + What I Offer */
.offer-section{padding-top:105px}.offer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.offer-card{position:relative;min-height:300px;padding:26px;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s ease,border-color .35s ease,background .35s ease}.offer-card:before{content:"";position:absolute;inset:auto -60px -100px auto;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(168,85,247,.18),transparent 68%);transition:transform .5s ease,opacity .4s}.offer-card:hover{transform:translateY(-7px);border-color:rgba(168,85,247,.42);background:linear-gradient(150deg,rgba(168,85,247,.07),rgba(56,189,248,.025))}.offer-card:hover:before{transform:scale(1.25);opacity:1}.offer-icon{width:48px;height:48px;border:1px solid rgba(56,189,248,.25);border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(56,189,248,.11),rgba(124,58,237,.11));box-shadow:inset 0 0 24px rgba(56,189,248,.04)}.offer-icon i{font-size:18px;color:#38bdf8}.offer-no{position:absolute;right:24px;top:24px;font:700 9px Space Grotesk;letter-spacing:1.6px;color:#59566a}.offer-card h3{font:600 20px/1.2 Space Grotesk;margin:28px 0 12px;letter-spacing:-.6px}.offer-card p{margin:0;color:#96919e;font-size:11px;line-height:1.8}.offer-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:22px}.offer-tags span{padding:7px 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#aaa5b2;font:600 8px Space Grotesk;letter-spacing:.5px}.profile-stats .stat strong.stat-text{font-size:clamp(18px,2vw,27px);line-height:1.05}.profile-stats .stat span{line-height:1.35}.hud-b strong{color:#a855f7}
@media(max-width:1050px){.offer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.offer-section{padding-top:80px}.offer-grid{grid-template-columns:1fr}.offer-card{min-height:250px}}

/* Underway / upcoming project status */
.underway-project{border-color:rgba(168,85,247,.24)}
.underway-badge{color:#eadcff}
.underway-badge i{background:var(--purple);box-shadow:0 0 10px var(--purple)}
