:root { --rgb-y:255,192,0; --y:#FFC000; --yd:#B28600; --yg:#FFD740; --blk:#000; --card:#0D0D0D; --border:#1C1C1C; }
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--blk);color:#fff;font-family:'Space Mono',monospace;overflow-x:hidden;cursor:none;}
body::before{content:'';position:fixed;inset:0;background-image:radial-gradient(circle,rgba(var(--rgb-y),0.18) 1.5px,transparent 1.5px);background-size:28px 28px;pointer-events:none;z-index:0;}
::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-track{background:var(--blk);}::-webkit-scrollbar-thumb{background:var(--y);box-shadow:0 0 8px var(--y);}

/* SCROLL BAR */
#spb{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--yd),var(--y),var(--yg));z-index:9999;width:0%;box-shadow:0 0 10px var(--y);}

/* PARTICLES */
#pc{position:fixed;inset:0;pointer-events:none;z-index:1;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:999;display:flex;align-items:center;justify-content:space-between;padding:16px 48px;background:rgba(0,0,0,0.93);border-bottom:1px solid var(--y);backdrop-filter:blur(12px);box-shadow:0 0 30px rgba(var(--rgb-y),0.18);transition:transform .4s ease;}
.nav-logo{font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:4px;color:var(--y);text-shadow:0 0 16px var(--y);text-decoration:none;}
.nav-links{display:flex;gap:26px;list-style:none;}
.nav-links a{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#666;text-decoration:none;transition:color .2s,text-shadow .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--y);text-shadow:0 0 10px var(--y);}
.wrap{max-width:1160px;margin:0 auto;padding:0 48px;}
section{position:relative;z-index:2;padding:96px 0;}
.sec-label{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:5px;text-transform:uppercase;color:var(--y);margin-bottom:10px;display:flex;align-items:center;gap:10px;}
.sec-label::before{content:'';width:28px;height:1px;background:var(--y);box-shadow:0 0 8px var(--y);}
.sec-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(44px,6vw,78px);letter-spacing:4px;line-height:1;color:#fff;margin-bottom:52px;}
.sec-title span{color:var(--y);text-shadow:0 0 24px var(--y),0 0 70px rgba(var(--rgb-y),.35);}
.glow-line{position:relative;z-index:2;width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--y),transparent);box-shadow:0 0 14px var(--y);}

/* =====================================================
   BIDIRECTIONAL ANIMATION SYSTEM
   Scroll DOWN → elements fly IN from below
   Scroll UP   → elements fly IN from above (reverse)
   Leaving viewport → elements exit the way they came
===================================================== */
.ax{
  opacity:0;
  transform:translateY(70px) scale(0.95);
  transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1), filter .8s ease;
  will-change:transform,opacity;
}
.ax.from-left  { transform:translateX(-90px) skewX(5deg) scale(0.95); }
.ax.from-right { transform:translateX(90px) skewX(-5deg) scale(0.95); }
.ax.from-zoom  { transform:scale(0.5) rotate(-4deg); }
.ax.from-flip  { transform:rotateX(80deg) translateY(30px); transform-origin:top center; perspective:900px; }
.ax.from-rot   { transform:rotate(-18deg) scale(0.65) translateX(-20px); }
.ax.from-blur  { transform:scale(1.06); filter:blur(24px) brightness(0.2); }

/* VISIBLE */
.ax.in{
  opacity:1;
  transform:none;
  filter:none;
}

/* EXIT — scrolled past going DOWN (element above viewport) */
.ax.exit-top{
  opacity:0;
  transform:translateY(-60px) scale(0.97);
  transition:opacity .5s ease, transform .5s ease, filter .5s ease;
}
.ax.exit-top.from-left  { transform:translateX(60px) skewX(-3deg); }
.ax.exit-top.from-right { transform:translateX(-60px) skewX(3deg); }
.ax.exit-top.from-zoom  { transform:scale(1.12) rotate(2deg); }
.ax.exit-top.from-flip  { transform:rotateX(-50deg); transform-origin:bottom center; }
.ax.exit-top.from-rot   { transform:rotate(12deg) scale(0.75); }
.ax.exit-top.from-blur  { filter:blur(14px) brightness(0.3); transform:scale(0.96); }

/* STAGGER */
.ax.in.s1{transition-delay:.05s;} .ax.in.s2{transition-delay:.13s;} .ax.in.s3{transition-delay:.21s;}
.ax.in.s4{transition-delay:.29s;} .ax.in.s5{transition-delay:.37s;} .ax.in.s6{transition-delay:.45s;}
.ax.exit-top.s1,.ax.exit-top.s2,.ax.exit-top.s3,
.ax.exit-top.s4,.ax.exit-top.s5,.ax.exit-top.s6{transition-delay:0s;}

/* Section gold accent line */
.sec-line{position:relative;}
.sec-line::after{content:'';position:absolute;left:0;top:0;width:3px;height:0;background:linear-gradient(180deg,var(--y),rgba(var(--rgb-y),.05));box-shadow:0 0 20px var(--y);transition:height 1.3s cubic-bezier(.16,1,.3,1);z-index:5;}
.sec-line.line-on::after{height:100%;}

/* HERO */
#hero{min-height:100vh;display:flex;align-items:center;position:relative;z-index:2;padding-top:80px;}
.hero-grid{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:center;width:100%;}
.hero-tag{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--y);margin-bottom:18px;display:flex;align-items:center;gap:8px;}
.hero-tag::before{content:'▶';font-size:8px;animation:blink 1.1s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.hero-name{font-family:'Bebas Neue',sans-serif;font-size:clamp(58px,9vw,118px);line-height:.92;letter-spacing:5px;color:#fff;margin-bottom:10px;}
.hero-name .yl{color:var(--y);text-shadow:0 0 30px var(--y),0 0 90px rgba(var(--rgb-y),.4);}
.domain-ticker{display:flex;align-items:center;gap:12px;margin-bottom:28px;height:38px;overflow:hidden;}
.d-prefix{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:2px;color:#444;white-space:nowrap;}
.d-slot{overflow:hidden;height:38px;display:flex;align-items:center;}
.d-word{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:3px;color:var(--y);text-shadow:0 0 22px var(--y);animation:slideUp .45s ease;white-space:nowrap;}
@keyframes slideUp{from{transform:translateY(38px);opacity:0}to{transform:translateY(0);opacity:1}}
.hero-summary{font-size:14px;line-height:1.8;color:#BBBBBB;max-width:520px;margin-bottom:34px;border-left:2px solid var(--y);padding-left:20px;box-shadow:-4px 0 20px rgba(var(--rgb-y),.12);}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px;}
.btn-p{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:13px 30px;background:var(--y);color:#000;font-weight:700;border:2px solid var(--y);text-decoration:none;transition:all .25s;animation:btnPulse 2.5s infinite;}
@keyframes btnPulse{0%,100%{box-shadow:0 0 18px rgba(var(--rgb-y),.4)}50%{box-shadow:0 0 44px rgba(var(--rgb-y),.8)}}
.btn-p:hover{background:transparent;color:var(--y);}
.btn-o{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:13px 30px;background:transparent;color:var(--y);font-weight:700;border:2px solid var(--y);text-decoration:none;transition:all .25s;box-shadow:0 0 12px rgba(var(--rgb-y),.15);}
.btn-o:hover{background:var(--y);color:#000;box-shadow:0 0 30px var(--y);}
.hero-contacts{display:flex;flex-direction:column;gap:8px;}
.c-chip{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:1px;color:#555;text-decoration:none;display:flex;align-items:center;gap:8px;transition:color .2s,text-shadow .2s;}
.c-chip:hover{color:var(--y);text-shadow:0 0 8px var(--y);}
.c-chip .ic{color:var(--y);}

/* PROFILE CARD */
.profile-card{display:flex;flex-direction:column;align-items:center;gap:0;}
.p-frame{width:280px;height:340px;position:relative;}
.p-frame::before{content:'';position:absolute;top:-8px;left:-8px;right:8px;bottom:8px;border:2px solid var(--y);z-index:1;animation:glowFrame 2.5s ease-in-out infinite;}
.p-frame::after{content:'';position:absolute;top:8px;left:8px;right:-8px;bottom:-8px;border:1px solid rgba(var(--rgb-y),.22);z-index:0;}
@keyframes glowFrame{0%,100%{box-shadow:0 0 14px rgba(var(--rgb-y),.4)}50%{box-shadow:0 0 44px rgba(var(--rgb-y),.9)}}
.p-slot{width:100%;height:100%;background:var(--card);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;position:relative;overflow:hidden;z-index:2;cursor:default;}
.p-slot::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 12px,rgba(var(--rgb-y),.025) 12px,rgba(var(--rgb-y),.025) 24px);}
#myPhoto{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:5;}
.avatar-ring{width:86px;height:86px;border:2px solid var(--y);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;animation:glowFrame 2.5s ease-in-out infinite;position:relative;z-index:4;}
.slot-lbl{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:3px;color:var(--y);text-transform:uppercase;text-align:center;position:relative;z-index:4;}
.info-strip{width:280px;}
.i-row{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border:1px solid var(--border);border-top:none;font-family:'Share Tech Mono',monospace;font-size:10px;transition:border-color .3s,background .3s;}
.i-row:first-child{border-top:1px solid var(--border);}
.i-row:hover{border-color:var(--y);background:rgba(var(--rgb-y),.03);}
.i-row .k{color:var(--y);}.i-row .v{color:#ccc;}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.about-text{font-size:14px;line-height:1.8;color:#BBBBBB;}
.about-text p{margin-bottom:14px;}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.stat{background:var(--card);border:1px solid var(--border);padding:28px;text-align:center;transition:border-color .3s,box-shadow .3s,transform .3s;}
.stat:hover{border-color:var(--y);box-shadow:0 0 28px rgba(var(--rgb-y),.14);transform:scale(1.05);}
.stat-n{font-family:'Bebas Neue',sans-serif;font-size:52px;color:var(--y);line-height:1;text-shadow:0 0 22px var(--y);}
.stat-l{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;color:#444;text-transform:uppercase;margin-top:6px;}

/* EDUCATION */
.edu-card{background:var(--card);border:1px solid var(--border);padding:40px;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;position:relative;overflow:hidden;transition:border-color .3s,box-shadow .3s;}
.edu-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--y);box-shadow:0 0 18px var(--y);}
.edu-card:hover{border-color:var(--y);box-shadow:0 0 36px rgba(var(--rgb-y),.1);}
.edu-yr{font-family:'Bebas Neue',sans-serif;font-size:60px;color:var(--y);letter-spacing:2px;line-height:1;opacity:.35;}
.edu-deg{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:3px;color:#fff;margin-bottom:4px;}
.edu-dept{font-family:'Share Tech Mono',monospace;font-size:13px;letter-spacing:2px;color:var(--y);text-transform:uppercase;margin-bottom:6px;}
.edu-col{font-size:14px;color:#555;margin-bottom:14px;}
.cgpa-bar{display:flex;align-items:center;gap:12px;}
.cgpa-lbl{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;color:#444;}
.cgpa-track{flex:1;height:3px;background:var(--border);}
.cgpa-fill{height:100%;background:var(--y);width:0;box-shadow:0 0 10px var(--y);transition:width 2s cubic-bezier(.16,1,.3,1);}
.cgpa-val{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--y);text-shadow:0 0 14px var(--y);}

/* SKILLS */
.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.sk-cat{background:var(--card);border:1px solid var(--border);padding:30px;transition:border-color .3s,box-shadow .3s,transform .3s;}
.sk-cat:hover{border-color:var(--y);box-shadow:0 0 20px rgba(var(--rgb-y),.09);transform:translateY(-4px);}
.sk-title{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:4px;color:var(--y);text-transform:uppercase;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.tags{display:flex;flex-wrap:wrap;gap:7px;}
.tag{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:1px;padding:5px 11px;border:1px solid rgba(255,215,0,.25);color:#aaa;text-transform:uppercase;transition:all .2s;cursor:default;}
.tag:hover{background:var(--y);color:#000;border-color:var(--y);box-shadow:0 0 14px rgba(var(--rgb-y),.5);}

/* DOMAINS */
.domains-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;}
.dom-card{background:var(--card);border:1px solid var(--border);padding:24px 18px;text-align:center;transition:border-color .3s,box-shadow .3s,background .3s,transform .3s;cursor:default;}
.dom-card:hover{border-color:var(--y);background:rgba(var(--rgb-y),.04);box-shadow:0 0 26px rgba(var(--rgb-y),.16);transform:translateY(-6px) scale(1.04);}
.dom-num{font-family:'Bebas Neue',sans-serif;font-size:30px;color:rgba(var(--rgb-y),.18);line-height:1;margin-bottom:8px;}
.dom-name{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1px;color:var(--y);text-transform:uppercase;line-height:1.6;}

/* PROJECTS */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.proj-card{background:var(--card);border:1px solid var(--border);padding:34px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s;}
.proj-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--y);box-shadow:0 0 12px var(--y);transition:width .4s;}
.proj-card:hover{border-color:var(--y);transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px rgba(var(--rgb-y),.15);}
.proj-card:hover::after{width:100%;}
.proj-num{font-family:'Bebas Neue',sans-serif;font-size:58px;color:rgba(var(--rgb-y),.05);position:absolute;top:12px;right:14px;line-height:1;}
.proj-title{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:2px;color:#fff;line-height:1.2;}
.proj-desc{font-size:13px;line-height:1.6;color:#555;flex:1;}
.proj-tech{display:flex;flex-wrap:wrap;gap:5px;}
.pchip{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:1px;padding:3px 8px;background:rgba(var(--rgb-y),.06);color:var(--y);border:1px solid rgba(var(--rgb-y),.18);text-transform:uppercase;}
.proj-link{font-family:'Share Tech Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--y);text-decoration:none;text-transform:uppercase;display:flex;align-items:center;gap:6px;transition:gap .2s,text-shadow .2s;}
.proj-link:hover{gap:12px;text-shadow:0 0 10px var(--y);}

/* CERTIFICATIONS */
.certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.cert-card{background:var(--card);border:1px solid var(--border);overflow:hidden;transition:border-color .4s,box-shadow .4s,transform .4s;position:relative;}
.cert-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--y),transparent);transform:scaleX(0);transition:transform .5s ease;}
.cert-card:hover{border-color:var(--y);box-shadow:0 0 40px rgba(255,215,0,.18),0 20px 60px rgba(0,0,0,.8);transform:translateY(-8px) scale(1.02);}
.cert-card:hover::before{transform:scaleX(1);}
.cert-photo-slot{width:100%;height:230px;background:#060606;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;position:relative;overflow:hidden;transition:background .3s;}
.cert-photo-slot::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(255,215,0,.015) 8px,rgba(255,215,0,.015) 16px);}
.cert-photo-slot:hover{background:#0a0a0a;}
.cert-photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;z-index:5;cursor:pointer;}
.cert-photo-img.loaded{display:block;}
.upload-icon{font-size:28px;color:#333;transition:color .3s,transform .3s;position:relative;z-index:2;}
.cert-photo-slot:hover .upload-icon{color:var(--y);transform:scale(1.2);}
.upload-hint{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:3px;color:#333;text-transform:uppercase;text-align:center;position:relative;z-index:2;transition:color .3s;}
.cert-photo-slot:hover .upload-hint{color:var(--y);}
.cert-num-badge{position:absolute;top:10px;right:10px;font-family:'Bebas Neue',sans-serif;font-size:18px;color:rgba(var(--rgb-y),.25);z-index:3;line-height:1;}
.photo-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:6;flex-direction:column;transition:opacity .3s;}
.cert-photo-img.loaded ~ .photo-overlay{display:flex;opacity:0;}
.cert-photo-slot:hover .photo-overlay{opacity:1 !important;}
.overlay-lbl{font-family:'Share Tech Mono',monospace;font-size:9px;letter-spacing:2px;color:var(--y);text-transform:uppercase;}
.cert-details{padding:18px 20px;display:flex;gap:13px;align-items:flex-start;}
.cert-ic{font-size:19px;min-width:26px;margin-top:2px;}
.cert-name{font-family:'Space Mono',monospace;font-size:13px;font-weight:700;color:#fff;line-height:1.4;margin-bottom:4px;}
.cert-org{font-family:'Share Tech Mono',monospace;font-size:11px;letter-spacing:1px;color:var(--y);text-transform:uppercase;}
.cert-yr{font-family:'Share Tech Mono',monospace;font-size:11px;color:#333;margin-top:3px;}
.cert-file-input{display:none;}

/* STRENGTHS */
.str-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.str-card{background:var(--card);border:1px solid var(--border);padding:32px;text-align:center;transition:border-color .3s,box-shadow .3s,transform .3s;}
.str-card:hover{border-color:var(--y);box-shadow:0 0 30px rgba(var(--rgb-y),.1);transform:translateY(-6px);}
.str-ic{font-size:28px;margin-bottom:14px;}
.str-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:3px;color:var(--y);margin-bottom:8px;}
.str-desc{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:1px;color:#444;line-height:1.6;}

/* CONTACT */
#contact{background:var(--card);position:relative;z-index:2;border-top:1px solid var(--y);border-bottom:1px solid var(--y);box-shadow:0 0 50px rgba(var(--rgb-y),.07);padding:80px 0;}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.c-links{display:flex;flex-direction:column;gap:10px;}
.c-row{display:flex;align-items:center;gap:16px;padding:15px 20px;border:1px solid var(--border);text-decoration:none;transition:border-color .3s,background .3s,box-shadow .3s,transform .3s;}
.c-row:hover{border-color:var(--y);background:rgba(var(--rgb-y),.03);box-shadow:0 0 22px rgba(var(--rgb-y),.08);transform:translateX(8px);}
.c-row-ic{font-size:16px;width:26px;text-align:center;}
.c-row-lbl{font-family:'Share Tech Mono',monospace;font-size:8px;letter-spacing:2px;color:var(--y);text-transform:uppercase;margin-bottom:2px;}
.c-row-val{font-family:'Share Tech Mono',monospace;font-size:15px;color:#bbb;word-break:break-all;}
footer{position:relative;z-index:2;text-align:center;padding:26px;border-top:1px solid var(--border);}
footer p{font-family:'Share Tech Mono',monospace;font-size:12px;letter-spacing:3px;color:var(--y);text-transform:uppercase;font-weight:bold;text-shadow:0 0 10px rgba(var(--rgb-y),0.5);}
footer span{color:var(--y);}

/* MODERN CURSOR */
.cursor-dot{width:6px;height:6px;background:var(--y);position:fixed;top:0;left:0;transform:translate(-50%,-50%);border-radius:50%;z-index:10000;pointer-events:none;}
.cursor-outline{width:32px;height:32px;border:1px solid rgba(var(--rgb-y),.5);position:fixed;top:0;left:0;transform:translate(-50%,-50%);border-radius:50%;z-index:10000;pointer-events:none;transition:left .1s,top .1s,width .2s,height .2s,background .2s,border-radius .2s;}
body.hover-active .cursor-outline{width:50px;height:50px;background:rgba(var(--rgb-y),.1);border-color:var(--y);}
a,button,input,label,.cert-photo-slot,.c-row,.sk-cat,.proj-card,.stat,.dom-card,.edu-card,.str-card,.c-chip{cursor:none !important;}

@media(max-width:860px){
  nav{padding:14px 20px;}.nav-links{display:none;}.wrap{padding:0 20px;}
  .hero-grid{grid-template-columns:1fr;}.profile-card{display:none;}
  .about-grid,.skills-grid,.proj-grid,.str-grid{grid-template-columns:1fr;}
  .domains-grid{grid-template-columns:repeat(2,1fr);}.contact-inner{grid-template-columns:1fr;}
  #contact{padding:60px 0;}.certs-grid{grid-template-columns:1fr;}
}