/* File: style.css
   Place in root alongside index.html.
   Uses CSS variables for light/dark theme. */
:root{
  --bg: #f2f6fb;
  --card: #ffffff;
  --text: #17212b;
  --muted: #5b6a78;
  --accent: #2f6fc1;
  --accent-2: #1f2a44;
  --soft: #f7f9fc;
  --glass: rgba(255,255,255,0.6);
  --shadow: 0 6px 25px rgba(31,42,68,0.08);
  --radius: 12px;
  --max-w: 1100px;
}

[data-theme="dark"]{
  --bg: #0f1620;
  --card: #0f1720;
  --text: #e6eef8;
  --muted: #9fb1cc;
  --accent: #6ea8ff;
  --accent-2: #0b1220;
  --soft: #0b1220;
  --glass: rgba(255,255,255,0.04);
  --shadow: 0 8px 30px rgba(0,0,0,0.6);
}

/* Basic reset & typography */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  -webkit-tap-highlight-color:transparent;
}

/* Container */
.container{
  width:100%;
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 20px;
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  backdrop-filter: blur(6px);
  background: linear-gradient(180deg, rgba(255,255,255,0.6), rgba(255,255,255,0.4));
  transition: all 240ms ease;
  border-bottom: 1px solid rgba(0,0,0,0.04);
}
[data-theme="dark"] .site-header{
  background: linear-gradient(180deg, rgba(10,14,20,0.6), rgba(10,14,20,0.4));
  border-bottom: 1px solid rgba(255,255,255,0.04);
}
.header-inner{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
}

/* Brand */
.brand{
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
  color:var(--text);
}
.brand-img{
  width:42px;
  height:42px;
  border-radius:8px;
  object-fit:cover;
  box-shadow:var(--shadow);
  border:2px solid rgba(255,255,255,0.04);
}
.brand-text{
  font-weight:600;
  letter-spacing:0.2px;
}

/* Nav */
.nav{display:block}
.nav-list{
  display:flex;
  gap:18px;
  list-style:none;
  margin:0;
  padding:0;
}
.nav-list a{
  text-decoration:none;
  color:var(--muted);
  font-weight:600;
  padding:8px 10px;
  border-radius:8px;
  transition: all 180ms;
}
.nav-list a:hover,
.nav-list a.active{
  color:var(--accent);
  background:var(--glass);
}

/* Controls */
.controls{
  display:flex;
  gap:8px;
  align-items:center;
}

/* Buttons */
.btn{cursor:pointer;border:0;background:none;padding:6px;border-radius:8px}
.icon-btn{display:flex;align-items:center;gap:8px}
.primary{
  display:inline-block;
  background:var(--accent);
  color:white;
  padding:10px 14px;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
}
.ghost{
  display:inline-block;
  color:var(--accent);
  border-radius:10px;
  padding:10px 12px;
  text-decoration:none;
}

/* Hamburger (mobile) */
.hamburger{display:none}
.hamburger-box{width:28px;height:18px;display:inline-block;position:relative}
.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after{
  width:100%;
  height:2px;
  background:var(--text);
  display:block;
  border-radius:2px;
  position:absolute;
  transition: transform 240ms ease, top 240ms ease, opacity 240ms ease;
}
.hamburger-inner{top:50%;transform:translateY(-50%)}
.hamburger-inner::before{content:"";top:-8px}
.hamburger-inner::after{content:"";top:8px}
.hamburger.open .hamburger-inner{background:transparent}
.hamburger.open .hamburger-inner::before{top:0;transform:rotate(45deg)}
.hamburger.open .hamburger-inner::after{top:0;transform:rotate(-45deg)}

/* Mobile nav overlay */
.mobile-nav{
  display:none;
  position:fixed;
  inset:72px 20px auto 20px;
  z-index:70;
  background:var(--card);
  border-radius:12px;
  box-shadow:var(--shadow);
  padding:18px;
}
.mobile-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.mobile-nav-list a{color:var(--text);text-decoration:none;padding:8px 12px;border-radius:8px}

/* Hero */
.hero{
  padding:48px 0;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1fr 320px;
  gap:28px;
  align-items:start;
}
.hero-card{
  display:flex;
  gap:18px;
  align-items:flex-start;
  background:linear-gradient(180deg, var(--card), var(--card));
  padding:20px;
  border-radius:16px;
  box-shadow:var(--shadow);
}
.hero-photo{
  width:140px;
  height:140px;
  object-fit:cover;
  border-radius:12px;
  flex-shrink:0;
}
.hero-text h1{margin:0;font-size:1.6rem}
.lead{color:var(--muted);margin-top:10px}
.muted{color:var(--muted);font-size:0.95rem}

/* Hero stats */
.hero-stats{display:flex;flex-direction:column;gap:14px}
.stat{background:var(--card);padding:14px;border-radius:12px;box-shadow:var(--shadow);}

/* Sections */
.section{padding:48px 0}
.bg-soft{background:var(--soft)}
.card{background:var(--card);padding:18px;border-radius:12px;box-shadow:var(--shadow);margin-bottom:16px}
.grid-education{display:flex;justify-content:space-between;align-items:center;gap:20px}

/* Skills grid */
.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.skill-card{background:var(--card);padding:14px;border-radius:10px;box-shadow:var(--shadow)}

/* Contact grid */
.contact-grid{display:grid;grid-template-columns:1fr 320px;gap:20px}
.contact-list{list-style:none;padding:0;margin:0;line-height:1.8}
.tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.tags li{background:var(--accent-2);color:white;padding:8px 12px;border-radius:999px;font-size:0.95rem}

/* Footer */
.footer{padding:26px 0;text-align:center;color:var(--muted)}

/* Responsive */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-stats{order:2}
  .nav-list{display:none}
  .hamburger{display:inline-flex}
  .mobile-nav{display:block;right:20px;left:20px;top:72px}
  .contact-grid{grid-template-columns:1fr}
}

/* Small screens */
@media (max-width:520px){
  .brand-text{display:none}
  .hero-photo{width:120px;height:120px}
  .hero-text h1{font-size:1.3rem}
}

/* Focus states */
a:focus, button:focus{outline:3px solid rgba(47,111,193,0.14);outline-offset:3px}
