html { scroll-behavior: smooth; }
body {
  font-family: Arial, Helvetica, sans-serif;
  color: #17233c;
  background: #fff;
}
.navbar { background: #102b4e; padding: 1rem 0; }
.navbar-brand { letter-spacing: .03em; }
.nav-link { color: rgba(255,255,255,.82) !important; margin-left: 1rem; }
.nav-link:hover { color: #fff !important; }

.hero {
  color: white;
  background:
    radial-gradient(circle at 85% 30%, rgba(255,255,255,.12), transparent 26%),
    linear-gradient(120deg, #102b4e 0%, #15539a 100%);
}
.min-vh-75 { min-height: 72vh; }
.eyebrow, .section-label {
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
}
.eyebrow { color: #d6e8ff; }
.hero .lead { max-width: 760px; color: #e5eef9; font-size: 1.3rem; }

.section-space { padding: 6rem 0; }
.section-label { color: #1565b8; display: inline-block; margin-bottom: .75rem; }
.section-heading { max-width: 760px; }

.project-card {
  border: 1px solid #e3e9f0;
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(20,43,75,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.project-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(20,43,75,.12);
}
.project-number {
  font-size: 2.3rem;
  font-weight: 800;
  color: #dbe9f8;
  line-height: 1;
  margin-bottom: 1.5rem;
}
.project-meta {
  color: #1565b8;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.badge {
  background: #eef5fc;
  color: #174f86;
  font-weight: 600;
  margin: .15rem .25rem .15rem 0;
  padding: .5rem .65rem;
}
.project-link {
  color: #145fa8;
  text-decoration: none;
  font-weight: 700;
}
.project-link:hover { text-decoration: underline; }
.add-card { border-style: dashed; background: #fafcff; }
.plus { font-size: 3rem; color: #8aabc9; line-height: 1; margin-bottom: 1rem; }

.bg-soft { background: #f5f8fb; }
.education-box {
  background: white;
  border-left: 5px solid #1565b8;
  padding: 2rem;
  border-radius: 0 12px 12px 0;
  box-shadow: 0 8px 24px rgba(20,43,75,.05);
}
.contact-section { background: #15385f; color: white; }
.light-label { color: #bcd8f4; }
footer { background: #0d243e; color: #bfcbd7; }

@media (max-width: 768px) {
  .hero .display-3 { font-size: 2.6rem; }
  .section-space { padding: 4rem 0; }
  .nav-link { margin-left: 0; }
}
