:root {
  --bg: #0b1020;
  --text: #e6e8ee;
  --muted: #b7c0d1;
  --brand: #8bd3ff;
  --brand-2: #a78bfa;
  --brand-3: #77ffc9;
  --glass-bg: rgba(255,255,255,0.08);
  --glass-border: rgba(255,255,255,0.25);
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}
[data-theme="light"] {
  --bg: #eef2f8;
  --text: #0f1222;
  --muted: #4b5567;
  --brand: #0066ff;
  --brand-2: #7c3aed;
  --brand-3: #00c2a8;
  --glass-bg: rgba(255,255,255,0.7);
  --glass-border: rgba(255,255,255,0.9);
  --shadow: 0 8px 28px rgba(16,24,40,.18);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--text);
  background: radial-gradient(1200px 800px at 15% -10%, rgba(0, 102, 255, .18), transparent 60%),
              radial-gradient(1000px 700px at 110% 10%, rgba(124, 58, 237, .18), transparent 60%),
              radial-gradient(900px 600px at -10% 90%, rgba(0, 194, 168, .18), transparent 60%),
              var(--bg);
  background-attachment: fixed;
}
.container{width:min(1120px,92vw);margin:0 auto}

/* Glass card base */
.glass{
  background:var(--glass-bg);
  backdrop-filter:blur(14px) saturate(120%);
  -webkit-backdrop-filter:blur(14px) saturate(120%);
  border:1px solid var(--glass-border);
  box-shadow:var(--shadow);
  border-radius:20px;
  will-change: transform;
  transition: transform .6s cubic-bezier(.2,.6,.2,1), box-shadow .6s ease, background .3s ease;
}

/* Parallax scaffold */
.parallax-scene{ perspective: 1000px; transform-style: preserve-3d; }
.parallax-item{ transform-style: preserve-3d; }

/* Slower hover “bounce” */
.glass:hover{
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 16px 40px rgba(0,0,0,.22);
}

.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(255,255,255,.1));border:1px solid rgba(255,255,255,.35);font-size:.78rem;color:var(--muted)}
a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}

/* Buttons */
.btn{
  appearance:none;border:0;cursor:pointer;font-weight:600;
  padding:.9rem 1.2rem;border-radius:14px;letter-spacing:.2px;
  transition:transform .25s ease,box-shadow .25s ease, background .2s ease, color .2s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.12)
}
/* Glass buttons (Apple-style) */
.btn.glass{
  background: linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.18));
  border: 1px solid rgba(255,255,255,.45);
  color: var(--text);
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  box-shadow: 0 10px 25px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.4);
}
.btn.glass.primary{
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.22)),
    radial-gradient(120% 120% at 50% -20%, var(--brand) 0%, transparent 60%);
  border: 1px solid rgba(255,255,255,.55);
}
.btn.glass:hover{ transform: translateY(-2px); box-shadow:0 14px 30px rgba(0,0,0,.18); }
.btn.glass:active{ transform: translateY(0); }

.nav-wrap{position:sticky;top:12px;z-index:40}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem}
.brand{display:flex;align-items:center;gap:.75rem;font-weight:800;letter-spacing:.3px}
.brand-badge{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
.nav-links{display:flex;gap:1rem;align-items:center}
.nav-links a{padding:.55rem .8rem;border-radius:10px}
.nav-links a:hover{background:rgba(255,255,255,.12);text-decoration:none}
.nav-cta{display:flex;align-items:center;gap:.6rem}
.hamburger{display:none;width:36px;height:36px;border-radius:10px;place-items:center}
.mobile-menu{display:none;position:fixed;inset:12px 12px auto 12px;padding:.75rem}
.mobile-menu.open{display:block}

/* Hero */
.hero{display:grid;grid-template-columns:160px 1fr;gap:1.5rem;align-items:center;padding:2rem}
.avatar{width:160px;height:160px;border-radius:30px;overflow:hidden;position:relative;box-shadow:var(--shadow);border:1px solid var(--glass-border)}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.hero h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.05}
.subtitle{color:var(--muted);margin-top:.25rem;font-size:1.05rem}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.socials{display:flex;gap:.6rem;margin-top:.6rem}
.icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35)}
.icon svg{width:20px;height:20px;fill:currentColor;color:var(--text)}

/* Impact */
.impact{margin-top:1rem;padding:.8rem 1.2rem}
.impact-list{display:flex;flex-wrap:wrap;gap:.8rem;list-style:none;justify-content:center}
.impact-list li{padding:.5rem .8rem;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12)}

/* Sections */
section{scroll-margin-top:100px}
.section{padding:2rem;margin-top:1.2rem}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.section h2{margin:0;font-size:clamp(1.4rem,2.6vw,1.8rem)}

/* About — compact image */
.about{
  display:grid;
  grid-template-columns: auto 1fr;
  gap:1rem;
  align-items:start;
}
.about .img-wrap{
  width: clamp(180px, 24vw, 240px);
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid var(--glass-border);
}
.about .img-wrap img{ width:100%; height:100%; object-fit:cover; }
.about-text{margin-top:1rem;line-height:1.7;color:var(--text)}
.pill-cards{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}
.pill-card{text-align:center;padding:1rem}
.pill-card h3{margin:.25rem 0 .5rem;color:var(--brand)}

/* Skills */
.card-pad{padding:1rem}
.card-title{margin:.3rem 0 1rem}
.grid{display:grid;gap:1rem}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.skill{display:flex;align-items:center;gap:.9rem;padding:.9rem;border-radius:16px}
.skill img{width:28px;height:28px}
.skill h3{margin:0;font-size:1rem}
.skill small{color:var(--muted)}

/* Projects */
.project{padding:1rem;text-align:center;display:flex;flex-direction:column;align-items:center;height:100%}
.project img{width:100%;max-width:280px;aspect-ratio:4/3;object-fit:cover;border-radius:16px;border:1px solid var(--glass-border);box-shadow:var(--shadow)}
.project-title{margin:.75rem 0}
.project-desc{color:var(--muted);font-size:.95rem;margin:0 0 .75rem;flex-grow:1;text-align:center}
.btn-group{margin-top:auto;padding-top:.75rem;display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}

/* Contact */
.contact-row{display:flex;flex-wrap:wrap;gap:1rem}
.contact-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:14px}
.contact-card a{font-weight:600;text-decoration:none}

/* Footer */
footer{padding:1.6rem;text-align:center;color:var(--muted)}
.footer-links{margin-top:.6rem;display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}

/* Liquid blobs */
.blob{position:fixed;z-index:-1;filter:blur(40px);opacity:.55;pointer-events:none;background:radial-gradient(circle at 30% 30%,var(--brand) 0%, rgba(0,0,0,0) 60%);mix-blend-mode:screen;width:44vmax;height:44vmax;border-radius:50%;animation:float 18s ease-in-out infinite}
.blob.b2{background:radial-gradient(circle at 70% 40%,var(--brand-2) 0%, rgba(0,0,0,0) 60%);animation-duration:22s}
.blob.b3{background:radial-gradient(circle at 40% 60%,var(--brand-3) 0%, rgba(0,0,0,0) 60%);animation-duration:26s}
@keyframes float{0%,100%{transform:translate(-10%,-6%) scale(1)}50%{transform:translate(6%,8%) scale(1.06)}}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(10px) scale(.98);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* Responsive */
@media (max-width:920px){
  .grid.cols-3{grid-template-columns:1fr 1fr}
  .about{grid-template-columns:1fr}
  .hero{grid-template-columns:1fr;text-align:center}
  .hero .avatar{margin:0 auto}
}
@media (max-width:680px){
  .grid.cols-2,.grid.cols-3{grid-template-columns:1fr}
  .nav-links{display:none}
  .hamburger{display:grid}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .blob{display:none}
  .reveal{opacity:1 !important;transform:none !important}
  *{animation:none !important;transition:none !important}
}
