.page-hero {
  padding: 3rem 0 2rem;
  text-align: left;
}

.page-hero h1 {
  font-size: clamp(2.2rem, 4vw, 3rem);
  color: var(--deep-blue);
}

.page-hero .lead {
  font-size: 1.2rem;
  color: var(--blue);
  max-width: 680px;
}

.page-section {
  padding: 2.5rem 0;
}

.page-section.accent {
  background: rgba(61, 87, 137, 0.08);
  border-top: 1px solid rgba(61, 87, 137, 0.2);
  border-bottom: 1px solid rgba(61, 87, 137, 0.2);
}

.two-column {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 2rem;
}

.page-section h2 {
  color: var(--deep-blue);
  margin-bottom: 0.6rem;
}

.page-hero,
.page-section {
  animation: fadeIn 0.6s ease both;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
