/* General Reset */
body {
  margin: 0;
  font-family: 'Roboto', 'Segoe UI', Arial, sans-serif;
  background: #f5f7fa;
  color: #333;
  line-height: 1.6;
}

/* Hero Section */
.hero {
  background: linear-gradient(rgba(0,64,128,0.85), rgba(0,64,128,0.85)), 
              url('assets/images/hero-bg.jpg') no-repeat center center;
  background-size: cover;
  color: #fff;
  text-align: center;
  padding: 100px 20px;
}

.hero h1 {
  font-size: 2.2em;
  margin-bottom: 15px;
  font-weight: 600;
  letter-spacing: 1px;
}

.hero p {
  font-size: 1.1em;
  margin-bottom: 25px;
}

.btn-primary, .btn-secondary {
  display: inline-block;
  padding: 12px 22px;
  margin: 8px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  font-size: 1em;
  transition: all 0.3s ease;
}

.btn-primary {
  background: #ffcc00;
  color: #004080;
}

.btn-primary:hover {
  background: #e6b800;
}

.btn-secondary {
  background: #004080;
  color: #fff;
}

.btn-secondary:hover {
  background: #003366;
}

/* Article Section */
.article {
  padding: 60px 20px;
  background: #ffffff;
  text-align: center;
}

.article h2 {
  font-size: 2em;
  margin-bottom: 20px;
  color: #004080;
  font-weight: 600;
}

.article p {
  font-size: 1.1em;
  max-width: 900px;
  margin: 15px auto;
  color: #444;
  line-height: 1.8;
}

/* Highlights Section */
.highlights {
  background: #eef2f7;
  padding: 50px 20px;
  text-align: center;
}

.highlights h2 {
  font-size: 1.8em;
  margin-bottom: 30px;
  color: #004080;
}

.cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.card {
  background: #fff;
  padding: 25px;
  border-radius: 10px;
  flex: 1;
  min-width: 240px;
  max-width: 300px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.1);
}

.card h3 {
  color: #004080;
  margin-bottom: 10px;
  font-size: 1.2em;
}

.card p {
  font-size: 1em;
  color: #555;
}

/* Mobile Optimization */
@media (max-width: 768px) {
  .hero {
    padding: 80px 15px;
  }

  .hero h1 {
    font-size: 1.8em; /* reduced headline */
    font-weight: 700;
  }

  .hero p {
    font-size: 1em; /* balanced subtext */
    margin-bottom: 25px;
  }

  .btn-primary, .btn-secondary {
    width: 100%;
    margin: 12px 0;
    font-size: 1.2em; /* slightly larger but not oversized */
    padding: 18px;
    border-radius: 8px;
  }

  .article h2 {
    font-size: 1.6em;
  }

  .article p {
    font-size: 1em;
    padding: 0 10px;
  }

  .highlights h2 {
    font-size: 1.5em;
    margin-bottom: 20px;
  }

  .cards {
    flex-direction: column;
    align-items: center;
  }

  .card {
    width: 100%;
    max-width: 95%;
    padding: 25px;
  }

  .card h3 {
    font-size: 1.3em;
    margin-bottom: 12px;
  }

  .card p {
    font-size: 1em;
  }
}