:root{
  --bg:#0b1020;
  --surface:#0f1733;
  --text:#e6e9f5;
  --muted:#a7b0d9;
  --primary:#7c4dff; /* purple */
  --primary-700:#5b34d6;
  --accent:#00e5ff; /* cyan */
  --accent-2:#ff6ec7; /* pink */
  --shadow:0 12px 30px rgba(0,0,0,.35), 0 6px 16px rgba(0,0,0,.25);
  --shadow-strong:0 20px 50px rgba(0,0,0,.55), 0 12px 28px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Poppins',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

.container{width:min(1120px, 92%); margin:0 auto}

/* Navbar */
.navbar{position:sticky; top:0; z-index:50; backdrop-filter:blur(10px); background:rgba(11,16,32,.6); border-bottom:1px solid rgba(255,255,255,.06); box-shadow:0 10px 24px rgba(0,0,0,.35)}
.nav-inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0}
.brand{color:var(--text); text-decoration:none; font-weight:700; letter-spacing:.6px}
.navbar nav a{color:var(--muted); text-decoration:none; margin-left:18px; transition:color .2s, text-shadow .2s}
.navbar nav a:hover{color:#fff; text-shadow:0 0 18px rgba(124,77,255,.7)}

/* Hero */
.hero{padding:84px 0 48px}
.hero-inner{display:grid; grid-template-columns:1.15fr .85fr; gap:28px; align-items:center}
.hero-text{background:linear-gradient(180deg, rgba(124,77,255,.12), rgba(0,229,255,.08)); border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:20px; box-shadow:var(--shadow)}
.eyebrow{color:var(--accent); letter-spacing:1px; font-weight:600; text-transform:uppercase; margin:0 0 6px}
.name{font-size:clamp(28px, 5vw, 42px); margin:0; line-height:1.2}
.role{margin:6px 0 12px; color:var(--muted); font-weight:500}
.summary{margin:10px 0 18px; color:var(--muted)}
.hero-cta{display:flex; gap:12px}

.btn{display:inline-block; padding:10px 16px; border-radius:10px; background:linear-gradient(135deg,var(--primary),var(--accent)); color:#0a0f1f; font-weight:700; text-decoration:none; transition:transform .2s, box-shadow .2s; box-shadow:var(--shadow); border:1px solid rgba(255,255,255,.14)}
.btn:hover{transform:translateY(-3px) scale(1.03); box-shadow:var(--shadow-strong)}
.btn:active{transform:translateY(-1px)}
.btn-outline{background:transparent; color:#e6e9f5; border:1px solid rgba(255,255,255,.2); box-shadow:none}
.btn-secondary{background:linear-gradient(135deg, var(--primary-700), var(--primary)); color:#fff}

/* Orbit visual */
.orbit{position:relative; width:100%; height:320px}
.planet{position:absolute; width:160px; height:160px; border-radius:50%; background:radial-gradient(circle at 30% 30%, #9db2ff, #5a78ff 60%, #2b3f9e); box-shadow:0 30px 80px rgba(92,121,255,.35), inset 0 0 40px rgba(255,255,255,.15); top:50%; left:50%; transform:translate(-50%,-50%)}
.satellite{position:absolute; width:20px; height:20px; border-radius:50%; background:var(--accent); box-shadow:0 0 16px rgba(34,211,238,.8); animation:orbit 7s linear infinite}
.glow{position:absolute; inset:-20px; background:radial-gradient(200px 120px at 50% 50%, rgba(34,211,238,.08), transparent 70%); filter:blur(4px)}
@keyframes orbit{from{transform:rotate(0deg) translateX(130px) rotate(0)} to{transform:rotate(360deg) translateX(130px) rotate(-360deg)}}

/* Sections */
.section{padding:64px 0}
.section-header{margin-bottom:18px}
.title{margin:0 0 6px}
.subtitle{margin:0; color:var(--muted)}

/* Grid and cards */
.grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px}
.skills-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px}
.about-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px}

.card{position:relative; background:linear-gradient(180deg, rgba(124,77,255,.10), rgba(0,229,255,.05)); border:1px solid rgba(255,255,255,.12); border-radius:16px; box-shadow:var(--shadow); overflow:hidden; transform-style:preserve-3d; transition:transform .3s ease, box-shadow .3s ease; filter:drop-shadow(0 8px 24px rgba(0,0,0,.25))}
.card:hover{box-shadow:0 18px 40px rgba(0,0,0,.45), 0 10px 22px rgba(0,0,0,.35); transform:translateY(-6px)}
.card::before{content:""; position:absolute; inset:-2px; border-radius:16px; padding:2px; background:linear-gradient(130deg, rgba(108,140,255,.6), rgba(34,211,238,.6), rgba(255,255,255,.1)); -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; opacity:.0; transition:opacity .3s}
.card:hover::before{opacity:1}
.card-media{position:relative; height:180px; background:linear-gradient(135deg, rgba(124,77,255,.30), rgba(0,229,255,.30)); border-bottom:1px solid rgba(255,255,255,.08)}
.card-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.0), rgba(0,0,0,.22))}
.card-content{padding:16px}
.card-title{margin:0 0 8px}
.card-desc{margin:0 0 12px; color:var(--muted)}
.tags{display:flex; flex-wrap:wrap; gap:8px; margin:10px 0 12px}
.tag{padding:6px 10px; font-size:12px; color:#1b1f35; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:linear-gradient(135deg, var(--accent), var(--accent-2)); transition:transform .2s, box-shadow .2s}
.tag:hover{transform:translateY(-2px); box-shadow:0 6px 16px rgba(108,140,255,.25)}

/* Contact */
.contact .contact-inner{display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:18px}
.contact-list{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:12px; width:100%; margin:8px 0 12px}
.contact-item{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:10px; text-decoration:none; color:#0a0f1f; background:linear-gradient(135deg, var(--accent), var(--accent-2)); border:1px solid rgba(255,255,255,.18); box-shadow:var(--shadow); transition:transform .2s, box-shadow .2s, filter .2s}
.contact-item i{font-size:14px}
.contact-item:hover{transform:translateY(-2px); box-shadow:var(--shadow-strong); filter:saturate(1.15)}
.contact-item.icon-only{justify-content:center; font-size:18px; color:#0a0f1f; min-height:42px}

/* Footer */
.footer{padding:28px 0; border-top:1px solid rgba(255,255,255,.06); color:var(--muted); background:linear-gradient(180deg, transparent, rgba(255,255,255,.03))}

/* Shimmer */
.shimmer{position:relative; overflow:hidden}
.shimmer::after{content:""; position:absolute; inset:0; background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.25) 40%, transparent 80%); transform:translateX(-100%); animation:shimmer 3s infinite}
@keyframes shimmer{to{transform:translateX(100%)}}

/* Reveal animations */
[data-animate]{opacity:0; transform:translateY(8px); transition:opacity .6s ease, transform .6s ease}
.show-slide-up{opacity:1; transform:translateY(0)}
.show-fade-in{opacity:1; transform:none}
.show-pop-in{opacity:1; transform:none; animation:pop .5s ease both}
@keyframes pop{0%{transform:scale(.95); opacity:0} 100%{transform:scale(1); opacity:1}}

/* Responsive */
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr; text-align:center}
  .orbit{height:260px}
  .contact .contact-inner{flex-direction:column}
}

/* Animated background */
.bg{position:fixed; inset:0; z-index:-1; background:radial-gradient(1200px 600px at 10% -10%, rgba(124,77,255,.22), transparent 60%), radial-gradient(900px 500px at 110% 10%, rgba(0,229,255,.18), transparent 60%), var(--bg); overflow:hidden}
.blob{position:absolute; width:360px; height:360px; background:radial-gradient(circle at 30% 30%, rgba(124,77,255,.6), rgba(0,229,255,.45)); filter:blur(40px) drop-shadow(0 30px 60px rgba(0,0,0,.35)); border-radius:50%; opacity:.38; animation:float 12s ease-in-out infinite}
.blob.b1{top:-80px; left:-60px; animation-delay:0s}
.blob.b2{right:-120px; top:20%; animation-delay:2s}
.blob.b3{left:40%; bottom:-120px; animation-delay:4s}
@keyframes float{0%,100%{transform:translateY(0) translateX(0)} 50%{transform:translateY(-30px) translateX(20px)}}

/* Hero subtle float */
.planet{animation:planetFloat 8s ease-in-out infinite}
.orbit{filter:drop-shadow(0 20px 50px rgba(34,211,238,.18))}
/* Section separators */
.section{position:relative}
.section::after{content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.08), transparent)}
@keyframes planetFloat{0%,100%{transform:translate(-50%,-50%) scale(1)} 50%{transform:translate(-50%,-53%) scale(1.02)}}



