/* ─────────────────────────────────────────────────────────────────────────
   The Master Mind — /master-mind/

   The top of the ladder, so it gets more room than a tier card: a wide hero
   with the facts stated up front, the season explained on its own, what a
   season contains as a grid, and the entry check paired with the price.
   Violet is the Master Mind's accent everywhere else on the site; it stays
   the accent here.
   ───────────────────────────────────────────────────────────────────────── */

/* ── Hero ───────────────────────────────────────────────────────────────── */
.mm-hero {
  /* .master-container carries no horizontal padding — each section adds the
     house gutter itself, or the copy runs into the screen edge below 1140px. */
  padding: clamp(52px, 7vw, 92px) clamp(16px, 4vw, 32px) clamp(40px, 5vw, 64px);
}

.mm-hero__title {
  margin: 10px 0 0;
  color: var(--master-color-plumb);
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: clamp(40px, 6.4vw, 76px);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.mm-hero__lead {
  max-width: 62ch;
  margin: 18px 0 0;
  color: var(--master-ink-secondary);
  font-size: clamp(16.5px, 1.7vw, 19.5px);
  line-height: 1.6;
}

.mm-hero__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1px;
  margin: clamp(26px, 3.4vw, 38px) 0 clamp(24px, 3vw, 32px);
  background: var(--master-color-tracing);
  border: 1px solid var(--master-color-caliper);
  border-radius: 12px;
  overflow: hidden;
}

.mm-hero__facts p {
  margin: 0;
  padding: 16px 18px;
  background: var(--master-color-chalk);
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.mm-hero__facts strong {
  color: var(--master-color-plumb);
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: clamp(19px, 2vw, 23px);
  font-weight: 700;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}

.mm-hero__facts span {
  color: var(--master-ink-secondary);
  font-size: 13px;
  line-height: 1.4;
}

/* ── A season, not a subscription ───────────────────────────────────────── */
.mm-season {
  padding: clamp(46px, 6vw, 76px) clamp(16px, 4vw, 32px);
}

.mm-h2 {
  margin: 0;
  color: var(--master-color-plumb);
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: clamp(26px, 3.4vw, 38px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.032em;
  text-wrap: balance;
}

.mm-lead {
  max-width: 64ch;
  margin: 14px 0 0;
  color: var(--master-ink-secondary);
  font-size: clamp(15.5px, 1.5vw, 17.5px);
  line-height: 1.6;
}

.mm-seasons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: clamp(10px, 1.4vw, 16px);
  margin-top: clamp(22px, 2.8vw, 30px);
}

.mm-seasons p {
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--master-color-scribe);
  border-radius: 12px;
  background: var(--master-color-chalk);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.mm-seasons strong {
  color: var(--master-accent-text);
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.mm-seasons span {
  color: var(--master-ink-secondary);
  font-size: 13.5px;
  font-variant-numeric: tabular-nums;
}

.mm-note {
  margin: 18px 0 0;
  color: var(--master-ink-secondary);
  font-size: 13.5px;
}

/* ── What's in a season ─────────────────────────────────────────────────── */
.mm-inside {
  padding: clamp(46px, 6vw, 78px) clamp(16px, 4vw, 32px);
}

.mm-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(14px, 1.8vw, 20px);
  margin-top: clamp(24px, 3vw, 34px);
}

.mm-card {
  border: 1px solid var(--master-color-scribe);
  border-radius: 14px;
  background: var(--master-color-chalk);
  padding: clamp(18px, 2vw, 24px);
}

.mm-card__name {
  margin: 0;
  color: var(--master-color-plumb);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.012em;
}

.mm-card__desc {
  margin: 8px 0 0;
  color: var(--master-ink-secondary);
  font-size: 14.5px;
  line-height: 1.55;
}

/* ── Who it's for + apply ───────────────────────────────────────────────── */
.mm-entry {
  /* Contained, not full-bleed: the band sits inside the page gutter as a
     block, with the cream reading around and under it. */
  width: calc(100% - 2 * clamp(16px, 4vw, 32px));
  max-width: 1204px;
  margin: 0 auto clamp(48px, 6vw, 84px);
  border-radius: 20px;
  overflow: hidden;
  background: var(--master-color-pitch);
  color: var(--master-color-gesso);
}

.mm-entry__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(240px, 0.85fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: start;
  padding: clamp(34px, 4.6vw, 60px) clamp(24px, 3.4vw, 52px);
}

/* Grid children of .mm-entry__inner. Declared rather than left implicit —
   an undefined class is how master-btn--outline slipped through. */
.mm-entry__copy { min-width: 0; }

.mm-entry__title {
  margin: 0;
  color: var(--master-color-chalk);
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: clamp(26px, 3.4vw, 38px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.032em;
}

.mm-entry__lead {
  max-width: 60ch;
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(15.5px, 1.5vw, 17.5px);
  line-height: 1.6;
}

.mm-entry__list {
  margin: 20px 0 0;
  padding-left: 20px;
  display: grid;
  gap: 8px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 15px;
  line-height: 1.5;
}

.mm-entry__buy {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  padding: clamp(20px, 2.4vw, 28px);
  background: rgba(255, 255, 255, 0.04);
}

.mm-entry__price {
  margin: 0;
  color: var(--master-color-chalk);
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: clamp(34px, 4.4vw, 48px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.mm-entry__per {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 13.5px;
}

.mm-entry__ctas { margin-top: 18px; }
.mm-entry__ctas .wp-block-button { width: 100%; }
.mm-entry__ctas .wp-block-button__link { width: 100%; text-align: center; }

.mm-entry__exit {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 13px;
}

@media (max-width: 860px) {
  .mm-entry__inner { grid-template-columns: 1fr; }
}

/* ═════════════════════════════════════════════════════════════════════════
   ADDED 2026-09-03 — V7 slice 1. The page grew from four sections to nine
   when the five corpus blocks that had no surface anywhere in the theme were
   built: the pull quote, the application, the boundary list, Firm MasterMind,
   the closing panel and the footer note.

   Every rule below is a new mm-* class used only by patterns/master-mind-*.php.
   Nothing above this line is altered, and no other page can reach these
   selectors. Three older blocks are now UNUSED and are deliberately left in
   place rather than removed in the same change: .mm-hero__facts (the hero strip
   ships at zero items, V7 3.5.3), .mm-seasons (the season calendar the corpus
   contradicts), .mm-card__name (the card headings the corpus does not author).
   ═════════════════════════════════════════════════════════════════════════ */

/* ── The pull quote — /blocks/2/pull_quote ──────────────────────────────── */
.mm-quote {
  max-width: 46ch;
  margin: clamp(24px, 3vw, 34px) 0 0;
  padding: 0 0 0 clamp(16px, 2vw, 22px);
  border-left: 3px solid var(--master-accent-mark);
}

.mm-quote p {
  margin: 0;
  color: var(--master-color-plumb);
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: clamp(19px, 2.2vw, 25px);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -0.02em;
}

/* ── Sub-headings inside the dark qualification band ────────────────────── */
.mm-entry__sub {
  margin: clamp(24px, 3vw, 32px) 0 0;
  color: var(--master-color-chalk);
  font-size: clamp(16px, 1.7vw, 19px);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
}

.mm-entry__payment {
  margin: 14px 0 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: 13.5px;
  line-height: 1.55;
}

/* ── The application — /blocks/5 ────────────────────────────────────────── */
.mm-apply {
  padding: clamp(46px, 6vw, 78px) clamp(16px, 4vw, 32px);
}

.mm-qs {
  display: grid;
  gap: clamp(10px, 1.4vw, 14px);
  margin: clamp(24px, 3vw, 32px) 0 clamp(22px, 2.6vw, 30px);
  max-width: 72ch;
}

.mm-q {
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--master-color-scribe);
  border-radius: 12px;
  background: var(--master-color-foolscap);
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.mm-q strong {
  color: var(--master-color-plumb);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.012em;
}

.mm-q span {
  color: var(--master-ink-secondary);
  font-size: 13.5px;
  line-height: 1.5;
}

/* ── What it does not do — /blocks/6 ────────────────────────────────────── */
.mm-bounds {
  padding: clamp(46px, 6vw, 78px) clamp(16px, 4vw, 32px);
}

.mm-bounds__list {
  margin: clamp(22px, 2.8vw, 30px) 0 0;
  padding-left: 20px;
  max-width: 74ch;
  display: grid;
  gap: 10px;
  color: var(--master-ink-secondary);
  font-size: clamp(15px, 1.5vw, 16.5px);
  line-height: 1.55;
}

/* ── Firm MasterMind — /blocks/7 ────────────────────────────────────────── */
.mm-firm {
  padding: clamp(44px, 5.6vw, 72px) clamp(16px, 4vw, 32px);
}

.mm-firm .master-btns {
  margin-top: clamp(22px, 2.6vw, 28px);
}

/* ── The close — /blocks/8 ──────────────────────────────────────────────── */
.mm-close__title {
  margin: 0;
  color: var(--master-color-chalk);
  font-family: "Space Grotesk", Arial, sans-serif;
  font-size: clamp(28px, 4vw, 46px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.034em;
}

.mm-close__sub {
  max-width: 58ch;
  margin: 16px 0 clamp(24px, 3vw, 30px);
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(15.5px, 1.5vw, 17.5px);
  line-height: 1.6;
}

/* ── The footer note — /blocks/9 ────────────────────────────────────────── */
.mm-footnote {
  padding: clamp(28px, 3.4vw, 42px) clamp(16px, 4vw, 32px) clamp(44px, 5vw, 64px);
}

.mm-footnote__text {
  max-width: 78ch;
  margin: 0;
  padding-top: clamp(18px, 2.2vw, 24px);
  border-top: 1px solid var(--master-color-caliper);
  color: var(--master-ink-secondary);
  font-size: 13px;
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════════════════════
   THE ATTORNEYS COURSE — the entry block, made ground-independent

   A LIVE DEFECT, measured on production 2026-09-10: "$49,997" renders
   #FFFFFF on the cream page ground at 1.11:1 — invisible. The MasterMind page
   carries TWO .mm-entry__* clusters; the first sits inside
   .master-band.mm-entry and is fine, and the second — the one with the actual
   price, the payment line and the exit note — has no .mm-entry ancestor at
   all, so its hard-coded white lands on cream.

   The cause is that these rules paint white unconditionally:
       .mm-entry__price { color: var(--master-color-chalk) }
       .mm-entry__per   { color: rgba(255,255,255,0.66) }
   A raw token and three literals, none of which can know what they are sitting
   on.

   Two fixes were possible. Re-wrapping the orphaned cluster means block-markup
   surgery on production page content, which is exactly what broke /faq/ into a
   double render earlier today. This one instead makes the block CORRECT ON
   EITHER GROUND: --master-ink is #111827 on cream and gesso inside an inverted
   band, so the price is legible whether or not the wrapper is ever restored.
   The wrapper is still worth restoring, and is logged — but the price stops
   being invisible now, and stays legible if someone edits that page again.
   ═══════════════════════════════════════════════════════════════════════ */

[data-course="attorneys"] .mm-entry__price {
  color: var(--master-ink);
}

[data-course="attorneys"] .mm-entry__per,
[data-course="attorneys"] .mm-entry__payment,
[data-course="attorneys"] .mm-entry__exit {
  color: var(--master-ink-secondary);
}

/* The card itself: a 4% white wash and an 18% white rule are invisible on
   cream. color-mix off --master-ink gives the same effect on a dark band and a
   real one on a light ground. */
[data-course="attorneys"] .mm-entry__buy {
  background: color-mix(in srgb, var(--master-ink) 4%, transparent);
  border-color: color-mix(in srgb, var(--master-ink) 18%, transparent);
}

/* Inside the band the aliases have already flipped, so this is the same
   declaration doing the opposite job — which is the point of using them. */
[data-course="attorneys"] .master-band .mm-entry__price,
[data-course="attorneys"] [data-master-surface="inverted"] .mm-entry__price {
  color: var(--master-ink-reversed);
}
