/* ============================================================
   YummyMath — Membership page (Step 6b)
   ------------------------------------------------------------
   Converted from "membership.html". Shared chrome (nav/footer,
   design tokens, buttons) lives in assets/theme.css — this file
   only holds the page-specific breadcrumb, hero, pricing tiers,
   quotes, FAQ, and closer styles.

   NOTE (MEM-3): reverted to the mockup's single $35/yr price card
   per explicit client override — the earlier 3-tier freemium ladder
   is removed.
   ============================================================ */

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

/* ---------- HERO ---------- */
.m-hero { background: var(--color-cream); padding: 3.25rem 2.5rem; }
.m-hero__inner { max-width: 760px; margin: 0 auto; text-align: center; }
.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);
}
.m-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;
}
.m-hero__sub { font-size: 1.08rem; color: var(--color-text); line-height: 1.55; margin-bottom: 1.6rem; }
.m-hero__ctas { display: flex; gap: 0.75rem; flex-wrap: wrap; justify-content: center; }
.m-hero__note { margin-top: 1.1rem; font-size: 0.85rem; color: var(--color-text-muted); }
.m-hero__note a { color: var(--color-green); font-weight: 600; text-decoration: none; }

/* ============================================================
   PRICING — single $35/year card (MEM-3).
   ============================================================ */
.price { background: var(--color-cream); border-top: 1px solid var(--color-divider); padding: 3rem 2.5rem; }
.price__inner { max-width: 560px; margin: 0 auto; }
.price-card { background: #FFFFFF; border: 1px solid var(--color-divider); border-radius: 10px; padding: 2.25rem 2rem; text-align: center; box-shadow: 0 1px 3px rgba(0,0,0,0.03); }
.price-card__tier { font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: var(--color-accent-deep); margin-bottom: 0.75rem; }
.price-card__amount { font-family: var(--font-serif); font-size: 3rem; font-weight: 600; color: var(--color-green); line-height: 1; }
.price-card__amount span { font-family: var(--font-body); font-size: 1rem; font-weight: 500; color: var(--color-text-muted); }
.price-card__line { font-size: 0.98rem; color: var(--color-text); margin: 1rem 0 1.5rem; }
.price-card .ym-btn { width: 100%; }
.price-card__promise { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--color-divider); font-size: 0.92rem; color: var(--color-text); line-height: 1.55; }
.price-card__promise strong { font-weight: 600; }
.price-card__terms { margin-top: 0.85rem; font-size: 0.82rem; color: var(--color-text-muted); line-height: 1.5; }
.price-card__terms a { color: var(--color-green); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--color-green); }
.price__aside { margin-top: 1.25rem; font-size: 0.9rem; color: var(--color-text-muted); text-align: center; line-height: 1.55; }
.price__aside a { color: var(--color-green); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--color-green); white-space: nowrap; }

/* ---------- QUOTES ---------- */
.quotes { background: #FFFFFF; border-top: 1px solid var(--color-divider); padding: 2.75rem 2.5rem 3rem; }
.section-inner { max-width: 1000px; margin: 0 auto; }
.quotes .section-head, .quotes .section-lede { text-align: left; margin-left: 0; margin-right: 0; }
.quotes__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.quote {
  background: var(--color-cream);
  border: 1px solid var(--color-divider);
  border-radius: 8px;
  padding: 1.5rem 1.4rem;
}
.quote::before { content: ""; display: block; width: 28px; height: 2px; background: var(--color-coral-line); margin-bottom: 1rem; }
.quote p { font-size: 0.96rem; line-height: 1.6; color: var(--color-text); }
.quote cite { display: block; margin-top: 0.9rem; font-size: 0.85rem; color: var(--color-text-muted); font-style: normal; font-weight: 600; }

/* ---------- FAQ (page-local, before-you-join questions) ---------- */
.faq { background: var(--color-cream); border-top: 1px solid var(--color-divider); padding: 2.75rem 2.5rem 3rem; }
.faq__inner { max-width: 800px; margin: 0 auto; }
.faq__header {
  font-family: var(--font-serif);
  font-size: 1.9rem;
  font-weight: 400;
  color: var(--color-green);
  margin-bottom: 1.75rem;
  letter-spacing: -0.01em;
}
.faq__list { display: flex; flex-direction: column; gap: 1.25rem; }
.faq__item { border-top: 1px solid var(--color-divider); padding-top: 1rem; }
.faq__q { font-size: 1rem; font-weight: 600; color: var(--color-text); margin-bottom: 0.4rem; }
.faq__a { font-size: 0.95rem; line-height: 1.6; color: var(--color-text); }
.faq__a a { color: var(--color-green); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--color-green); }

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

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  .quotes__grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .m-hero { padding: 2.5rem 1.25rem; }
  .m-hero__headline { font-size: 1.9rem; }
  .price, .quotes, .faq, .closer { padding-left: 1.25rem; padding-right: 1.25rem; }
  .section-head, .faq__header { font-size: 1.4rem; }
  .closer__headline { font-size: 1.7rem; }
}
