:root{
  --bg: #ffffff;
  --text: #0f1720;
  --muted: #586069;
  --accent: #0066ff;
  --card: #f7f8fa;
}

[data-theme="dark"]{
  --bg: #0b1220;
  --text: #e6eef8;
  --muted: #98a3b3;
  --accent: #58a6ff;
  --card: #071025;
}

*{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.45;
}
.container{max-width:1000px;margin:0 auto;padding:2rem}
.site-header{background:transparent;position:sticky;top:0;z-index:10}
.nav-row{display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:700;font-size:1.1rem;color:var(--text);text-decoration:none}
.logo span{color:var(--accent)}
.main-nav a{margin-left:1rem;color:var(--muted);text-decoration:none}
#themeToggle{margin-left:1rem;border:0;background:transparent;font-size:1.1rem;cursor:pointer}

.hero{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:center;padding-top:2rem;padding-bottom:2rem}
.hero h1{margin:0 0 .25rem 0;font-size:2.2rem}
.lead{color:var(--muted);margin-top:0}
.btn{background:var(--accent);color:white;padding:.6rem 1rem;border-radius:8px;text-decoration:none;border:0;display:inline-block}
.btn.ghost{background:transparent;color:var(--accent);border:1px solid rgba(0,0,0,0.06)}

.hero-figure img{max-width:100%;border-radius:12px;border:6px solid var(--card)}

.about, .projects, .skills, .contact{padding-top:2rem;padding-bottom:2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.card{background:var(--card);padding:1rem;border-radius:10px}
.card img{width:100%;height:140px;object-fit:cover;border-radius:6px}
.card h3{margin:0.75rem 0 0.25rem 0}
.link{color:var(--accent);text-decoration:none}

.skills-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.skills-list li{background:var(--card);padding:.4rem .7rem;border-radius:999px;font-size:.9rem}


label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text)}

/* Emphasize contact form fields */
.contact input,
.contact textarea{
  width:100%;
  padding:.75rem 1rem;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.12);
  background:#000;
  box-shadow:0 6px 18px rgba(2,6,23,0.55);
  color:#fff;
  transition:box-shadow .18s ease,transform .12s ease,border-color .12s ease;
}

.contact input::placeholder,
.contact textarea::placeholder{
  color: rgba(255,255,255,0.65);
}

.contact input:focus,
.contact textarea:focus{
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 10px 36px rgba(6,96,255,0.14), 0 3px 8px rgba(2,6,23,0.45);
  transform: translateY(-1px);
}

.contact textarea{min-height:140px}

.form-message{margin-top:.5rem;color:var(--muted)}

.site-footer{padding:2rem 0;color:var(--muted)}

@media (max-width:880px){
  .hero{grid-template-columns:1fr; text-align:center}
  .hero-figure{order:-1}
  .main-nav a{display:none}
}
