/**
 * Founding Member landing page (/founding-member/) — page-scoped styles.
 *
 * Enqueued only on this page via nd_skies_gm_enqueue() in functions.php. Holds ONLY
 * what the shared design system (styles.css) doesn't already cover, plus page-scoped
 * overrides of the shared [sk_group_countdown] markup so this page can present the
 * timer differently from the Group Mentoring page WITHOUT changing the shortcode (the
 * GM page keeps its original navy-band treatment).
 *
 * Brand rules: no drop shadows, no gradients. Montserrat display / Roboto Slab body.
 */

/* ---------- Page wrapper (mirrors .gm-page) ------------------------------- */
.fm-page { color: var(--ink); }

/* Constrain in-flow .section bands to the reading column; full-bleed navy bands
   (.gm-hero/.fm-hero) self-constrain via negative margins. */
.fm-page .section {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* Section separator lines, constrained to the content column (like the PFP page)
   rather than full viewport width. Page-scoped; dividers elsewhere are unaffected. */
.fm-page hr.divider {
  display: block;
  width: calc(100% - 48px);
  max-width: 772px;
  margin-left: auto;
  margin-right: auto;
}

/* Uniform gap between each section heading and its body content. */
.fm-page .gm-who,
.fm-page .fm-includes,
.fm-page .fm-schedule,
.fm-page .fm-value-card,
.fm-page .fm-tm-grid { margin-top: 24px; }

/* ---------- Logo-only sticky bar (no site menu) -------------------------- */
.fm-bar {
  background: var(--blue-primary);
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.fm-bar-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 13px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.fm-bar-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }
.fm-bar-logo img { height: 30px; width: auto; display: block; }
.fm-bar-logo span {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
}
.fm-bar .btn-gold { padding: 10px 22px; font-size: 13px; }

/* ---------- Hero --------------------------------------------------------- */
/* Gold emphasis on the second clause of the headline (wraps naturally; no <br>). */
.fm-hl-gold { color: var(--gold-secondary); }

/* Let the subhead span the full hero column instead of the default 660px cap, so it
   doesn't wrap prematurely and the centred countdown below reads as balanced. */
.fm-hero .gm-hero-sub { max-width: none; }

/* Primary hero CTA: full-width within the countdown column, large + prominent. */
.fm-hero-cta { max-width: 460px; margin: 22px auto 0; }
.fm-cta-lg {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 16px;
  padding: 18px 32px;
}

/* ---------- Founding-discount stamp on the countdown box corner ---------- */
/* The countdown shortcode is wrapped in .fm-cd-wrap (constrained to the box width and
   centred) so the absolutely-positioned stamp lands on the box's top-right corner
   regardless of viewport width. */
.fm-cd-wrap { position: relative; max-width: 460px; margin: 0 auto; }
.fm-hero .fm-cd-wrap { margin-top: 44px; }
.stamp-burst { position: absolute; top: -30px; right: -30px; width: 108px; height: 108px; transform: rotate(10deg); z-index: 5; }
.stamp-burst svg { width: 100%; height: 100%; display: block; }
.stamp-burst .t { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: var(--blue-primary); }
/* translateX nudges counteract the tilt swinging the stacked lines off-centre. */
.stamp-burst .t b { font-family: var(--font-display); font-weight: 900; font-size: 30px; line-height: .9; transform: translateX(1px); }
.stamp-burst .t i { font-family: var(--font-display); font-weight: 800; font-style: normal; font-size: 14px; letter-spacing: .18em; transform: translateX(2.4px); }

/* Bio: restore paragraph breaks (the shared .t-body carries no margin). */
.fm-page .pfp-bio-grid p + p { margin-top: 16px; }

/* ---------- Countdown — page-scoped (no gold border, no scarcity bar) ----- */
/* Neutralise the shared shortcode's full-bleed navy band. */
.fm-page .gm-countdown {
  background: transparent;
  margin-left: 0;
  margin-right: 0;
  padding: 0;
}
.fm-page .gm-countdown-inner {
  flex-direction: column;
  align-items: center;
  gap: 14px;
  flex-wrap: nowrap;
  max-width: 460px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}
.fm-page .gm-countdown-timer {
  width: 100%;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.fm-page .gm-countdown-label { margin-bottom: 0; text-align: center; }
.fm-page .gm-countdown-units { justify-content: center; gap: 20px; }
/* "95 spots left" — large, emphasised, no background bar; reads as part of the timer. */
.fm-page .gm-seats-pill {
  width: auto;
  justify-content: center;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  color: var(--gold-primary);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.1;
}
/* Hero: keep a clean cream card (NO gold outline) so the timer reads as one unit. */
.fm-hero .gm-countdown { margin-top: 6px; }
/* Asymmetric padding (more top, less bottom) optically centres the content: the
   "95 spots left" pill carries 9px of its own padding, so symmetric box padding
   left its text sitting higher off the bottom than the label sits from the top. */
.fm-hero .gm-countdown-inner {
  background: var(--surface);
  border-radius: 12px;
  padding: 30px 28px 18px;
}
/* Final CTA: no box at all — the countdown sits as plain text on the white section,
   so it no longer clashes with the gold-bordered pricing card below it. */
.fm-final .gm-countdown { margin-top: 64px; }
.fm-page .fm-final { padding-bottom: 56px; }

/* ---------- Value card -------------------------------------------------- */
.fm-value-card {
  max-width: none;
  margin: 28px auto 0;
  background: #fff;
  border: 1px solid var(--border);
  border-top: 3px solid var(--gold-primary);
  border-radius: 10px;
  overflow: hidden;
}
.fm-value-list { list-style: none; margin: 0; padding: 6px 28px; }
.fm-value-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid var(--border);
}
.fm-value-item:last-child { border-bottom: none; }
.fm-vi-name {
  flex: 1;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 16px;
  color: var(--ink);
  line-height: 1.4;
}
.fm-vi-name small {
  display: block;
  font-size: 13px;
  color: var(--ink-muted);
  margin-top: 3px;
}
.fm-vi-price {
  flex: 0 0 auto;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--ink-muted);
  white-space: nowrap;
}
.fm-vi-incl { color: var(--green); font-size: 14px; }
.fm-value-foot {
  background: var(--surface);
  border-top: 1px solid var(--border);
  padding: 20px 28px 26px;
}
.fm-vf-total {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--ink-muted);
}
.fm-vf-total-num { color: var(--ink-muted); }
.fm-vf-price {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px dashed var(--border);
}
.fm-vf-price-label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--blue-primary);
}
.fm-vf-price-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 40px;
  line-height: 1;
  color: var(--blue-primary);
}
/* Savings header banner across the top of the value card — value anchor, prominent.
   Navy (not gold-filled) so it reads as a header ribbon, not a button. */
.fm-value-banner {
  background: var(--blue-primary);
  color: var(--gold-secondary);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 13px 16px;
}
/* Primary CTA inside the value card, below the savings line. */
.fm-value-cta { margin-top: 20px; }

/* ---------- "What's included" — 6-card grid ----------------------------- */
.fm-includes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
  margin-top: 8px;
}
.fm-include {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 18px 20px;
}
.fm-include-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  color: var(--blue-primary);
  margin: 0 0 4px;
}
.fm-include-desc {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 13px;
  line-height: 1.55;
  color: var(--ink-muted);
  margin: 0;
}

/* ---------- Curriculum schedule line ------------------------------------ */
.fm-schedule {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 14px;
  color: var(--ink-muted);
  margin: 10px 0 0;
}

/* ---------- Testimonials (social proof) --------------------------------- */
.fm-tm-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 28px;
}
.fm-tm-card {
  margin: 0;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
/* Trustpilot-green stars, tiled 5× (SVG, not emoji). */
.fm-tm-stars {
  width: 90px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M12%202l3.09%206.26L22%209.27l-5%204.87%201.18%206.88L12%2017.77l-6.18%203.25L7%2014.14l-5-4.87%206.91-1.01L12%202z'%20fill='%2300b67a'/%3E%3C/svg%3E");
  background-size: 18px 18px;
  background-repeat: repeat-x;
}
.fm-tm-quote {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.7;
  color: var(--ink);
}
.fm-tm-person {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}
.fm-tm-avatar {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--blue-primary);
  color: var(--gold-secondary);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.03em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.fm-tm-name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 14px;
  color: var(--blue-primary);
}

/* ---------- Final CTA --------------------------------------------------- */
.fm-final { text-align: center; }
.fm-final .t-h2 { margin-bottom: 12px; }
.fm-page .gm-pricing-section { padding-bottom: 80px; }

/* ---------- Bottom "wall of reviews" (compact 3-up) --------------------- */
.fm-tm-wall { padding-top: 80px; }
.fm-tm-grid-3 { grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fm-tm-grid-3 .fm-tm-card { padding: 20px; gap: 12px; }
.fm-tm-grid-3 .fm-tm-quote { font-size: 14px; line-height: 1.65; }
.fm-tm-grid-3 .fm-tm-avatar { width: 34px; height: 34px; font-size: 12px; }
.fm-tm-grid-3 .fm-tm-name { font-size: 13px; }
@media (max-width: 820px) { .fm-tm-grid-3 { grid-template-columns: 1fr 1fr; } }

/* Bottom checkout button → brand gold (the shared .gm-cta-btn is navy on the GM page;
   this override is page-scoped, so the GM page is unaffected). */
.fm-page .gm-cta-btn {
  background: var(--gold-primary);
  border: 1px solid var(--gold-primary);
  color: #fff;
}
.fm-page .gm-cta-btn:hover {
  background: var(--gold-secondary);
  border-color: var(--gold-secondary);
  color: var(--blue-primary);
}

/* ---------- Responsive -------------------------------------------------- */
@media (max-width: 600px) {
  .fm-bar-logo span { font-size: 13px; }
  .fm-bar-inner { padding: 11px 20px; }
  .fm-value-list { padding: 6px 20px; }
  .fm-value-foot { padding: 18px 20px 22px; }
  .fm-vf-price-num { font-size: 34px; }
  .fm-page .gm-countdown-units { gap: 14px; }
  .fm-tm-grid { grid-template-columns: 1fr; }
  /* Shrink the stamp + leave gutter so its overhang never causes horizontal scroll. */
  .fm-cd-wrap { max-width: calc(100% - 56px); }
  .stamp-burst { width: 86px; height: 86px; top: -20px; right: -16px; }
  .stamp-burst .t b { font-size: 24px; transform: translateX(0.8px); }
  .stamp-burst .t i { font-size: 11px; transform: translateX(1.9px); }
}

/* ============================================================================
 * App spotlights (GammaLens + Daily Implied Move) — added 0.4.1
 * ============================================================================ */
.fm-app-sub {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink);
  margin: 14px 0 0;
}
.fm-apps { margin-top: 28px; display: flex; flex-direction: column; gap: 24px; }

.fm-app {
  background: #fff;
  border: 1px solid var(--border);
  border-top: 3px solid var(--gold-primary);
  border-radius: 10px;
  padding: 28px;
}

/* Badge pill row */
.fm-app-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.fm-pill {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--font-display); font-weight: 600;
  font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 6px 12px; border-radius: 999px;
  background: var(--surface); border: 1px solid var(--border); color: var(--ink);
}
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); display: inline-block; }

.fm-app-eyebrow {
  display: block;
  font-family: var(--font-display); font-weight: 600;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold-primary); margin-bottom: 8px;
}
.fm-app-title {
  font-family: var(--font-display); font-weight: 700;
  font-size: 26px; line-height: 1.25; color: var(--blue-primary); margin: 0 0 12px;
}
.fm-app-title em { font-style: italic; color: var(--gold-primary); }
.fm-app-lead {
  font-family: var(--font-body); font-weight: 300;
  font-size: 16px; line-height: 1.75; color: var(--ink); margin: 0;
}

/* Feature row (3-up, framed by rules) */
.fm-app-features {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  margin: 24px 0;
  padding: 24px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.fm-feat-label {
  display: block;
  font-family: var(--font-display); font-weight: 600;
  font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gold-primary); margin-bottom: 6px;
}
.fm-feat-title {
  font-family: var(--font-display); font-weight: 600;
  font-size: 15px; color: var(--blue-primary); margin: 0 0 5px;
}
.fm-feat-desc {
  font-family: var(--font-body); font-weight: 300;
  font-size: 13px; line-height: 1.6; color: var(--ink-muted); margin: 0;
}

/* GammaLens screenshot (full width within the card) */
.fm-gl-shot { margin: 0; }
.fm-gl-shot img {
  display: block; width: 100%; height: auto;
  border: 1px solid var(--border); border-radius: 8px;
}
.fm-gl-shot-cap, .fm-dim-cap {
  font-family: var(--font-body); font-weight: 300;
  font-size: 12px; line-height: 1.5; color: var(--ink-muted);
  margin: 10px 0 0; text-align: center;
}

/* GammaLens 4-level explainer grid */
.fm-gl-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 20px; }
.fm-gl-level {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 3px solid var(--gold-primary);
  border-radius: 0 8px 8px 0;
  padding: 14px 16px;
}
.fm-gl-level .code {
  display: block; font-family: var(--font-display); font-weight: 700;
  font-size: 13px; color: var(--blue-primary); margin-bottom: 5px;
}
.fm-gl-level .desc {
  font-family: var(--font-body); font-weight: 300;
  font-size: 13px; line-height: 1.55; color: var(--ink-muted); margin: 0;
}

/* Daily Implied Move representative table (.fm-dim*) moved to styles.css — shared with the daily-implied-move page. */

/* "See what it does →" link inside the existing include cards */
.fm-inc-see { color: var(--gold-primary); text-decoration: none; white-space: nowrap; }
.fm-inc-see:hover { text-decoration: underline; }

/* ============================================================================
 * Contact prompt + inline reveal form — added 0.4.1
 * ============================================================================ */
.fm-contact-prompt {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 4px solid var(--gold-primary);
  border-radius: 0 8px 8px 0;
  padding: 22px 26px; margin-top: 8px;
}
.fm-contact-prompt-text { flex: 1; min-width: 260px; }
.fm-contact-prompt strong {
  display: block;
  font-family: var(--font-display); font-weight: 600;
  font-size: 18px; color: var(--blue-primary); margin-bottom: 4px;
}
.fm-contact-prompt .sub {
  font-family: var(--font-body); font-weight: 300;
  font-size: 14px; line-height: 1.6; color: var(--ink-muted);
}
.fm-contact-prompt .btn-outline-navy { flex: 0 0 auto; }

/* Inline reveal — hidden until JS adds .open */
.fm-inline-form { display: none; margin-top: 18px; }
.fm-inline-form.open { display: block; }
/* .fm-form-card + its Gravity Forms field/submit overrides were MOVED to the
   shared assets/css/styles.css (0.7.0) so the Founding Member, Private Mentoring,
   and Contact Us pages share one source of truth. Edit them there, not here. */

/* ---------- Responsive (apps + contact) ---------- */
@media (max-width: 700px) {
  .fm-app-features { grid-template-columns: 1fr; gap: 18px; }
  .fm-gl-grid { grid-template-columns: 1fr; }
  .fm-app, .fm-form-card { padding: 22px; }
  .fm-app-title { font-size: 22px; }
}

/* ============================================================================
 * "The PFP Course" explainer — three-layer pillars + active-support grid — 0.4.12
 * Light treatment, reuses the .fm-include / .fm-gl-level vocabulary. Pillar accents
 * are existing tokens (navy / gold / green) — no new colors, no theme.json change.
 * ============================================================================ */
.fm-pfp-intro {
  font-family: var(--font-body); font-weight: 300;
  font-size: 16px; line-height: 1.75; color: var(--ink);
  margin: 14px 0 0; max-width: 660px;
}

/* Three pillars (P / F / P) */
.fm-pfp-pillars {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
  margin-top: 28px;
}
.fm-pfp-pillar {
  background: #fff;
  border: 1px solid var(--border);
  border-top: 3px solid var(--gold-primary);
  border-radius: 8px;
  padding: 22px 22px 24px;
}
/* All pillar top-rules + letters use gold, matching every other card on the page
   (the is-positioning/is-flows/is-price classes are kept as semantic hooks only). */
.fm-pfp-letter {
  display: block;
  font-family: var(--font-display); font-weight: 700;
  font-size: 34px; line-height: 1; margin-bottom: 8px;
  color: var(--gold-primary);
}
.fm-pfp-name {
  display: block;
  font-family: var(--font-display); font-weight: 600;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  margin-bottom: 10px;
  color: var(--gold-primary);
}

.fm-pfp-desc {
  font-family: var(--font-body); font-weight: 300;
  font-size: 14px; line-height: 1.65; color: var(--ink-muted); margin: 0;
}

/* Active support — included with PFP access */
.fm-pfp-support-label {
  display: block;
  font-family: var(--font-display); font-weight: 600;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold-primary); margin: 40px 0 16px;
}
.fm-pfp-support {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px;
}
.fm-pfp-si {
  background: var(--surface);
  border: 1px solid var(--border);
  border-left: 3px solid var(--gold-primary);
  border-radius: 0 8px 8px 0;
  padding: 16px 18px;
  transition: border-left-color 0.2s;
}
.fm-pfp-si:hover { border-left-color: var(--gold-secondary); }
.fm-pfp-si-freq {
  display: block;
  font-family: var(--font-display); font-weight: 600;
  font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gold-primary); margin-bottom: 7px;
}
.fm-pfp-si-title {
  display: block;
  font-family: var(--font-display); font-weight: 600;
  font-size: 15px; color: var(--blue-primary); margin-bottom: 6px;
}
.fm-pfp-si-desc {
  font-family: var(--font-body); font-weight: 300;
  font-size: 13px; line-height: 1.6; color: var(--ink-muted); margin: 0;
}

/* "See the full PFP course breakdown →" — internal link to /the-pfp-system/ */
.fm-pfp-link {
  display: inline-block;
  font-family: var(--font-display); font-weight: 600;
  font-size: 13px; letter-spacing: 0.04em;
  color: var(--gold-primary); text-decoration: none;
  margin-top: 28px;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(166, 138, 79, 0.35);
  transition: color 0.2s, border-color 0.2s;
}
.fm-pfp-link:hover { color: var(--gold-secondary); border-bottom-color: var(--gold-secondary); }

@media (max-width: 640px) {
  .fm-pfp-pillars { grid-template-columns: 1fr; }
}

/* ============================================================================
 * Sold-out state — body.fm-sold-out swaps the page from selling into next-cohort
 * interest capture (added 0.4.15). The flag is set server-side (nd_skies_fm_sold_out_
 * body_class in functions.php) only when nd_skies_gm_seats <= 0.
 * ============================================================================ */

/* "Get notified" siblings are hidden until sold out; the checkout CTAs hide when sold
   out. Reveal rules are per-context so each button keeps the display its layout classes
   expect (.btn-gold inline-flex, .fm-cta-lg block, .gm-cta-btn inline-block). */
.fm-notify-cta { display: none; }
.fm-sold-out .fm-checkout-cta { display: none; }
.fm-sold-out .fm-bar .fm-notify-cta { display: inline-flex; }
.fm-sold-out .fm-value-cta.fm-notify-cta { display: block; }
.fm-sold-out .gm-cta-btn.fm-notify-cta { display: inline-block; }

/* Sticky-bar notify label: full text, shortened on small screens. */
.fm-notify-short { display: none; }
@media (max-width: 600px) {
  .fm-bar-notify .fm-notify-full { display: none; }
  .fm-bar-notify .fm-notify-short { display: inline; }
}

/* Hide the offer/scarcity furniture that no longer applies once sold out. */
.fm-sold-out .stamp-burst,
.fm-sold-out #contact,
.fm-sold-out #reserve,
.fm-sold-out .gm-price-label,
.fm-sold-out .gm-price-main,
.fm-sold-out .gm-price-compare,
.fm-sold-out .fm-vf-price { display: none; }
/* Keep the navy value-card banner band, just blank its text (preserves band height). */
.fm-sold-out .fm-value-banner-text { visibility: hidden; }

/* The hero-countdown sold-out variant (.gm-countdown-soldout / .fm-notify-btn) and the
   next-cohort interest modal (.fm-modal*) were MOVED to the global styles.css (0.7.6):
   the Group Mentoring page reuses the same modal + sold-out countdown, so they belong in
   the always-loaded stylesheet rather than this page-scoped one. The .fm-sold-out swap
   rules above stay here — they are Founding-Member-page specific. */
