
/* ===== RESET & ROOT ===== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --bg:#07070E;
  --surface:#0F0F1A;
  --surface2:#181826;
  --surface3:#20202F;
  --accent:#8B5CF6;
  --accent2:#C084FC;
  --accent3:#38BDF8;
  --text:#EDEAF8;
  --muted:#8E8BA8;
  --border:#252438;
  --grad:linear-gradient(120deg,#8B5CF6 0%,#C084FC 60%,#38BDF8 100%);
  --grad2:linear-gradient(120deg,#8B5CF6,#C084FC);
}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  overflow-x:hidden;
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px;}

/* ===== NOISE OVERLAY ===== */
body::before{
  content:'';
  position:fixed;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:0;
}

/* ===== NAV ===== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(7,7,14,0.8);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.nav-inner{
  max-width:1140px;margin:0 auto;
  padding:.9rem 2rem;
  display:flex;justify-content:space-between;align-items:center;
}
.nav-logo{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;font-size:1.15rem;
  background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  text-decoration:none;
}
.nav-links{display:flex;gap:1.75rem;list-style:none;}
.nav-links a{
  color:var(--muted);text-decoration:none;
  font-size:.85rem;font-weight:500;letter-spacing:.02em;
  transition:color .2s;
}
.nav-links a:hover{color:var(--text);}
.nav-cta{
  background:var(--grad2);color:#fff!important;
  padding:.4rem 1.1rem;border-radius:6px;
  font-size:.82rem!important;font-weight:600!important;
}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--muted);border-radius:2px;transition:all .3s;}
.mobile-menu{display:none;flex-direction:column;gap:0;background:var(--surface);border-bottom:1px solid var(--border);}
.mobile-menu a{padding:1rem 2rem;color:var(--muted);text-decoration:none;font-size:.9rem;border-bottom:1px solid var(--border);}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu.open{display:flex;}

/* ===== HERO ===== */
#hero{
  min-height:100vh;
  display:flex;align-items:center;
  padding:7rem 2rem 4rem;
  max-width:1140px;margin:0 auto;
  position:relative;z-index:1;
}
.hero-grid{
  display:grid;grid-template-columns:1fr 420px;
  gap:4rem;align-items:center;width:100%;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent2);font-weight:600;margin-bottom:1.25rem;
}
.hero-eyebrow::before{content:'';width:24px;height:2px;background:var(--grad2);border-radius:1px;}
.hero-name{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(2.8rem,5.5vw,4.5rem);
  font-weight:700;line-height:1.05;
  margin-bottom:.5rem;
  letter-spacing:-.02em;
}
.hero-name span{
  background:var(--grad);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.hero-role{
  font-size:1.2rem;color:var(--muted);
  font-weight:400;margin-bottom:1.5rem;
}
.hero-bio{
  color:var(--muted);font-size:.95rem;line-height:1.85;
  margin-bottom:2.25rem;max-width:520px;
}
.hero-btns{display:flex;gap:.85rem;flex-wrap:wrap;}
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.72rem 1.5rem;border-radius:8px;
  font-weight:600;font-size:.875rem;
  text-decoration:none;cursor:pointer;
  transition:all .22s;border:none;
}
.btn-primary{
  background:var(--grad2);color:#fff;
  box-shadow:0 4px 20px rgba(139,92,246,.3);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(139,92,246,.45);}
.btn-ghost{
  background:transparent;color:var(--muted);
  border:1px solid var(--border);
}
.btn-ghost:hover{border-color:var(--accent2);color:var(--accent2);}

/* HERO VISUAL */
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;}
.orb-bg{
  width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(139,92,246,.18) 0%,rgba(192,132,252,.08) 50%,transparent 70%);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.orb-ring{
  position:absolute;inset:0;border-radius:50%;
  border:1px solid rgba(139,92,246,.2);
  animation:spin 20s linear infinite;
}
.orb-ring::after{
  content:'';position:absolute;
  width:10px;height:10px;border-radius:50%;
  background:var(--accent2);
  top:-5px;left:50%;transform:translateX(-50%);
  box-shadow:0 0 12px var(--accent2);
}
@keyframes spin{to{transform:rotate(360deg);}}
.avatar-hex{
  width:220px;height:220px;
  background:var(--grad2);
  border-radius:38% 62% 63% 37% / 41% 44% 56% 59%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Space Grotesk',sans-serif;
  font-size:5rem;font-weight:700;color:#fff;
  animation:morph 8s ease-in-out infinite;
  position:relative;z-index:2;
}
@keyframes morph{
  0%,100%{border-radius:38% 62% 63% 37% / 41% 44% 56% 59%;}
  33%{border-radius:70% 30% 46% 54% / 30% 43% 57% 70%;}
  66%{border-radius:52% 48% 30% 70% / 54% 65% 35% 46%;}
}
.float-card{
  position:absolute;background:var(--surface2);
  border:1px solid var(--border);border-radius:10px;
  padding:.55rem 1rem;font-size:.75rem;font-weight:600;
  color:var(--accent2);white-space:nowrap;z-index:3;
  animation:float 4s ease-in-out infinite;
}
.float-card:nth-child(3){bottom:30px;right:-20px;animation-delay:.5s;}
.float-card:nth-child(4){top:40px;left:-30px;animation-delay:1.5s;}
@keyframes float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-8px);}
}

/* ===== SECTION WRAPPER ===== */
.section{max-width:1140px;margin:0 auto;padding:5.5rem 2rem;position:relative;z-index:1;}
.section-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent2);font-weight:600;margin-bottom:.75rem;
}
.section-eyebrow::before{content:'';width:20px;height:2px;background:var(--grad2);border-radius:1px;}
.section-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(1.6rem,3vw,2.25rem);
  font-weight:700;margin-bottom:3rem;letter-spacing:-.01em;
}
.divider{height:1px;background:var(--border);max-width:1140px;margin:0 auto;}

/* ===== ABOUT ===== */
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:start;}
.about-text p{color:var(--muted);line-height:1.9;margin-bottom:1.1rem;font-size:.95rem; }
.about-text p:last-child{margin-bottom:0;;}
.stats-grid{display:flex;flex-direction: column; line-height: 30px;;}
.stat-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:14px;padding:1.4rem 1rem;text-align:center;
}
.stat-num{
  font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:700;
  background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.stat-lbl{font-size:.72rem;color:var(--muted);margin-top:.3rem;text-transform:uppercase;letter-spacing:.08em;}

/* ===== SKILLS ===== */
.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;}
.skill-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:16px;padding:1.6rem;
  transition:border-color .2s,transform .2s;
}
.skill-card:hover{border-color:rgba(139,92,246,.5);transform:translateY(-2px);}
.skill-icon{font-size:1.5rem;margin-bottom:.9rem;}
.skill-cat{
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent2);font-weight:600;margin-bottom:.75rem;
}
.tags{display:flex;flex-wrap:wrap;gap:.45rem;}
.tag{
  background:var(--surface3);border:1px solid var(--border);
  border-radius:20px;padding:.28rem .8rem;
  font-size:.78rem;color:var(--text);font-weight:500;
  transition:all .15s;
}
.tag:hover{border-color:var(--accent2);color:var(--accent2);background:rgba(139,92,246,.08);}

/* ===== PROJECTS ===== */
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;}
.project-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:18px;padding:2rem;
  transition:border-color .25s,transform .25s;
  display:flex;flex-direction:column;
}
.project-card:hover{border-color:rgba(139,92,246,.55);transform:translateY(-4px);}
.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;}
.project-icon{
  width:44px;height:44px;border-radius:10px;
  background:rgba(139,92,246,.15);border:1px solid rgba(139,92,246,.25);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;
}
.project-link-icon{
  color:var(--muted);font-size:1.1rem;text-decoration:none;
  transition:color .2s;
  width:32px;height:32px;border-radius:8px;
  background:var(--surface3);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;
}
.project-link-icon:hover{color:var(--accent2);border-color:var(--accent2);}
.project-name{
  font-family:'Space Grotesk',sans-serif;
  font-size:1.05rem;font-weight:700;margin-bottom:.25rem;
}
.project-sub{font-size:.8rem;color:var(--muted);margin-bottom:.9rem;}
.project-desc{color:var(--muted);font-size:.875rem;line-height:1.75;flex:1;margin-bottom:1.25rem;}
.chip-list{display:flex;flex-wrap:wrap;gap:.4rem;}
.chip{
  font-size:.72rem;font-weight:600;
  padding:.24rem .65rem;border-radius:5px;
  background:rgba(139,92,246,.12);
  color:var(--accent2);
  border:1px solid rgba(139,92,246,.28);
}

/* ===== EXPERIENCE & EDU ===== */
.exp-layout{display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.timeline{position:relative;padding-left:1.75rem;}
.timeline::before{
  content:'';position:absolute;left:0;top:.6rem;bottom:.6rem;
  width:2px;
  background:linear-gradient(to bottom,var(--accent),transparent);
  border-radius:1px;
}
.t-item{position:relative;margin-bottom:2.25rem;}
.t-item:last-child{margin-bottom:0;}
.t-dot{
  width:9px;height:9px;border-radius:50%;
  background:var(--accent);
  position:absolute;left:-1.85rem;top:.55rem;
  box-shadow:0 0 0 3px rgba(139,92,246,.2),0 0 10px rgba(139,92,246,.4);
}
.t-date{font-size:.72rem;color:var(--muted);font-weight:500;letter-spacing:.04em;margin-bottom:.3rem;}
.t-role{font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:700;margin-bottom:.18rem;}
.t-org{font-size:.85rem;color:var(--accent2);font-weight:500;margin-bottom:.65rem;}
.t-body{color:var(--muted);font-size:.86rem;line-height:1.75;}
.t-body li{list-style:disc;margin-left:1rem;margin-bottom:.3rem;}

/* Certs */
.certs-col{}
.cert-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:12px;padding:1.1rem 1.3rem;
  margin-bottom:1rem;display:flex;align-items:center;gap:1rem;
}
.cert-badge{
  width:40px;height:40px;border-radius:10px;
  background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.25);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;
}
.cert-name{font-weight:600;font-size:.9rem;margin-bottom:.15rem;}
.cert-iss{font-size:.78rem;color:var(--muted);}

/* ===== CONTACT ===== */
#contact{text-align:center;}
.contact-box{
  background:var(--surface);border:1px solid var(--border);
  border-radius:24px;padding:3.5rem 2rem;
  max-width:640px;margin:0 auto;
  position:relative;overflow:hidden;
}
.contact-box::before{
  content:'';position:absolute;
  top:-60px;left:50%;transform:translateX(-50%);
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(139,92,246,.12),transparent 70%);
  pointer-events:none;
}
.contact-tagline{color:var(--muted);font-size:.95rem;margin-bottom:2.25rem;line-height:1.7;position:relative;}
.contact-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:.85rem;margin-bottom:2rem;position:relative;
}
.c-link{
  display:flex;align-items:center;gap:.6rem;
  background:var(--surface2);border:1px solid var(--border);
  border-radius:10px;padding:.7rem 1.1rem;
  font-size:.83rem;color:var(--text);text-decoration:none;
  font-weight:500;transition:all .2s;
}
.c-link:hover{border-color:var(--accent2);color:var(--accent2);transform:translateY(-1px);}
.c-icon{font-size:1rem;flex-shrink:0;}
.c-text{text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ===== FOOTER ===== */
footer{
  text-align:center;padding:2rem;
  border-top:1px solid var(--border);
  font-size:.8rem;color:var(--muted);
  position:relative;z-index:1;
}

/* ===== ANIMATIONS ===== */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:none;}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-visual{display:none;}
  .about-grid,.exp-layout{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .hamburger{display:flex;}
}
@media(max-width:600px){
  .stats-grid{grid-template-columns:repeat(3,1fr);}
  .section{padding:4rem 1.25rem;}
  .contact-box{padding:2.5rem 1.25rem;}
}