@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto+Slab:wght@400;700&display=swap');

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: #1f2029; /* dark but not pitch-black */
  color: #e0e0e0;
  line-height: 1.7;
}

/* Hero */
header.hero {
  text-align: center;
  padding: 5rem 1rem;
  background: linear-gradient(135deg, #2b2d42, #3a3d5c);
  color: #fff;
  font-family: 'Roboto Slab', serif;
  border-bottom: 2px solid #4a90ff;
  box-shadow: 0 6px 20px rgba(0,0,0,0.4);
}

.hero h1 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #4a90ff;
}

.hero h2 {
  font-size: 1.6rem;
  font-weight: 500;
  color: #ccc;
  margin-bottom: 1rem;
}

.hero p {
  max-width: 650px;
  margin: 0 auto 1.5rem;
  font-weight: 400;
  color: #ddd;
}

.btn {
  display: inline-block;
  background: linear-gradient(135deg, #4a90ff, #3571e0);
  color: #fff;
  padding: 0.8rem 1.8rem;
  border-radius: 0.6rem;
  text-decoration: none;
  font-weight: 700;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0,0,0,0.4);
}
.btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.6);
}

/* Sections */
section {
  max-width: 900px;
  margin: 4rem auto;
  padding: 0 1.2rem;
}

section h3 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: #4a90ff;
  font-weight: 700;
}

/* Projects */
.project {
  background-color: #2b2d42;
  padding: 1.5rem;
  margin-bottom: 2rem;
  border-radius: 0.8rem;
  transition: transform 0.3s, box-shadow 0.3s;
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.project:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.7);
}
.project h4 a {
  color: #4a90ff;
  text-decoration: none;
  font-weight: 700;
}
.project h4 a:hover {
  text-decoration: underline;
}

/* Skills badges */
.skills-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.skill {
  background: #3a3d5c;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-weight: 600;
  color: #fff;
  transition: background 0.3s;
}
.skill:hover {
  background: #4a90ff;
  cursor: default;
}

/* Footer */
footer {
  text-align: center;
  padding: 2rem;
  background-color: #2b2d42;
  font-size: 1rem;
  color: #ccc;
  font-weight: 500;
}
footer a {
  color: #4a90ff;
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}

/* Mobile */
@media (max-width: 600px) {
  .hero h1 { font-size: 2.2rem; }
  .hero h2 { font-size: 1.3rem; }
  section { margin: 2.5rem auto; }
  .btn { padding: 0.6rem 1.2rem; font-size: 0.9rem; }
  .skills-container { gap: 0.5rem; }
}
