/* ================= HERO ================= */
.hero {
  padding: 96px 24px 120px;
}

.hero-inner {
  max-width: 860px;
}

.hero h1 {
  font-size: clamp(40px, 6vw, 64px);
  line-height: 1.15;
  margin-bottom: 28px;
}

.hero p {
  max-width: 620px;
  color: var(--muted);
  font-size: 18px;
  margin-bottom: 40px;
}

.hero-actions {
  display: flex;
  gap: 28px;
  align-items: center;
}

/* ================= SECTIONS (HOME ONLY) ================= */
.section {
  padding: 110px 24px;
}

.section h2 {
  text-align: center;
  margin-bottom: 72px;
  font-size: 32px;
}

/* ================= WHAT WE DO ================= */
.section.soft {
  background: var(--bg-soft);
}

.card em {
  display: block;
  color: var(--accent);
  font-style: italic;
  margin-bottom: 16px;
}

.card {
  transition: all 0.25s ease;
}

.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.08);
}

/* ================= WHY ================= */
.why-banner {
  background: linear-gradient(90deg, var(--navy), var(--navy-soft));
  color: #fff;
  padding: 64px 24px;
  text-align: center;
  font-size: 32px;
  font-weight: 600;
}

.why-section {
  padding: 110px 24px;
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

@media (max-width: 900px) {
  .why-grid {
    grid-template-columns: 1fr;
  }
}

/* ================= CTA ================= */
.cta {
  padding: 140px 24px;
  text-align: center;
}

.cta h2 {
  font-size: 40px;
  margin-bottom: 24px;
}

.cta p {
  color: var(--muted);
  margin-bottom: 48px;
}
