/* ============================================================
   YummyMath — Terms & Privacy page (Step 6a)
   ------------------------------------------------------------
   Converted from "terms_privacy.html". Shared chrome (nav/footer,
   design tokens, buttons) lives in assets/theme.css — this file only
   holds the page-specific breadcrumb, hero, and long-form legal
   prose styles.
   ============================================================ */

/* BREADCRUMB — shared .crumbs/.crumbs__inner now lives in theme.css */

/* ---------- HERO ---------- */
.legal-hero { background: var(--color-cream); padding: 3.25rem 2.5rem; }
.legal-hero__inner { max-width: 760px; margin: 0 auto; text-align: center; }
.legal-hero__eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--color-accent-deep);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--color-accent-deep);
}
.legal-hero__headline {
  font-family: var(--font-serif);
  font-size: 2.4rem;
  font-weight: 600;
  color: var(--color-green);
  line-height: 1.12;
  letter-spacing: -0.015em;
  margin-bottom: 1.1rem;
}
.legal-hero__sub { font-size: 1.08rem; color: var(--color-text); line-height: 1.55; margin-bottom: 0; }
.legal-hero__sub a { color: var(--color-green); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--color-green); }

/* ---------- LEGAL (Terms & Privacy prose) ---------- */
.legal { background: var(--color-cream); border-top: 1px solid var(--color-divider); padding: 2.75rem 2.5rem 3.25rem; }
.legal__inner { max-width: 760px; margin: 0 auto; }
.legal__updated { font-size: 0.85rem; color: var(--color-text-muted); text-align: right; margin: 2.75rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--color-divider); }
.legal__part { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 600; color: var(--color-green); margin: 0 0 1.25rem; letter-spacing: -0.01em; }
.legal__part:not(:first-of-type) { margin-top: 3rem; padding-top: 2.25rem; border-top: 1px solid var(--color-divider); }
.legal h3 { font-family: var(--font-serif); font-size: 1.15rem; font-weight: 600; color: var(--color-text); margin: 1.9rem 0 0.5rem; }
.legal p { font-size: 0.98rem; line-height: 1.65; color: var(--color-text); margin: 0 0 1rem; }
.legal ul { margin: 0 0 1rem; padding-left: 1.25rem; }
.legal li { font-size: 0.98rem; line-height: 1.6; color: var(--color-text); margin-bottom: 0.5rem; }
.legal a { color: var(--color-green); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--color-green); }
.legal__lead { font-weight: 600; color: var(--color-text); }

/* ---------- CLOSER ---------- */
.legal-closer { background: var(--color-green); color: #FFFFFF; padding: 3rem 2.5rem; text-align: center; }
.legal-closer__inner { max-width: 880px; margin: 0 auto; }
.legal-closer__headline { font-family: var(--font-serif); font-size: 2rem; font-weight: 600; line-height: 1.15; margin-bottom: 0.9rem; }
.legal-closer__sub { font-size: 1.02rem; line-height: 1.55; margin-bottom: 1.6rem; opacity: 0.95; max-width: 600px; margin-left: auto; margin-right: auto; }
.legal-closer .ym-btn--light { background: #FFFFFF; color: var(--color-green); }
.legal-closer .ym-btn--light:hover { background: var(--color-cream); }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 720px) {
  .legal-hero { padding: 2.5rem 1.25rem; }
  .legal-hero__headline { font-size: 1.9rem; }
  .legal, .legal-closer { padding-left: 1.25rem; padding-right: 1.25rem; }
  .legal__part { font-size: 1.4rem; }
  .legal-closer__headline { font-size: 1.7rem; }
}
