/* ── Families page ────────────────────────────────────────────
   Extends resources.css with a warmer tone and larger
   narrative sections. Uses .fam-* namespace so the Resources
   page remains unchanged.
   ────────────────────────────────────────────────────────────── */

.fam-hero {
  padding: 80px 0 16px;
  text-align: center;
}

.fam-hero h1 {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 1rem + 4vw, 3.5rem);
  font-weight: 700;
  color: var(--accent-gold);
  margin: 0 0 12px;
  letter-spacing: 0.01em;
}

.fam-hero-sub {
  color: var(--text-muted);
  font-size: 1.1rem;
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.6;
}

.fam-welcome {
  max-width: 680px;
  margin: 12px auto 48px;
  padding: 28px 28px;
  background: var(--bg-card);
  border: 1px solid var(--border-tactical);
  border-radius: 12px;
}

.fam-welcome p {
  color: var(--text-primary);
  font-size: 1rem;
  line-height: 1.75;
  margin: 0 0 14px;
}

.fam-welcome p:last-child {
  margin-bottom: 0;
  color: var(--accent-gold);
  font-style: italic;
  text-align: center;
  font-size: 1.02rem;
  padding-top: 6px;
}

.fam-section {
  margin-bottom: 56px;
}

.fam-section-heading {
  font-family: var(--font-heading);
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--accent-gold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 2px solid var(--accent-gold);
}

.fam-section-desc {
  color: var(--text-muted);
  font-size: 0.95rem;
  line-height: 1.65;
  max-width: 680px;
  margin: 0 0 20px;
}

.fam-card {
  /* Slightly softer than the base .res-card to feel less tactical */
  border-radius: 10px;
}

.fam-section-cta {
  margin-top: 20px;
  text-align: center;
}

.fam-connect {
  max-width: 680px;
  margin: 72px auto 96px;
  padding: 36px 28px;
  background: var(--bg-card);
  border: 1px solid var(--border-tactical);
  border-radius: 12px;
  text-align: center;
}

.fam-connect h2 {
  font-family: var(--font-heading);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 12px;
}

.fam-connect p {
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.7;
  max-width: 520px;
  margin: 0 auto 24px;
}

.fam-connect-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

@media (max-width: 600px) {
  .fam-welcome,
  .fam-connect {
    padding: 24px 20px;
  }

  .fam-section-heading {
    font-size: 1.2rem;
  }

  .res-family-callout {
    flex-direction: column;
    align-items: flex-start;
  }
}
