/* ============================================================
   7-MONTH BALM™ COACHING — balm-7month.css
   Section colour plan (no two adjacent same):
   Hero        → Espresso
   Hook        → White
   Stakes      → Cream
   What        → Espresso
   Struggle    → Sage-light
   Framework   → White
   Months      → Espresso
   Fit         → Cream
   Cost        → White
   Apply       → Sage-light
   Final       → Espresso
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Lato:wght@400;700;900&display=swap');

.mm-b7-page {
  --b7-e:   #2C1A0E;
  --b7-c:   #FDFBD4;
  --b7-t:   #E2725B;
  --b7-g:   #87AE73;
  --b7-gd:  #5d7a51;
  --b7-gl:  #edf4e8;
  --b7-go:  #C8963E;
  --b7-w:   #ffffff;
  --b7-gr:  #6b5f57;
  --b7-f1:  #f5f0eb;
  --b7-gold: #C8963E;
  font-family: 'Lato', sans-serif;
  color: var(--b7-e);
}

/* ── SECTION BACKGROUNDS ── */
.mm-b7-hero     { background: var(--b7-e); }
.mm-b7-hook     { background: var(--b7-w); }
.mm-b7-stakes   { background: var(--b7-c); }
.mm-b7-what     { background: var(--b7-e); }
.mm-b7-struggle { background: var(--b7-gl); }
.mm-b7-framework{ background: var(--b7-w); }
.mm-b7-months   { background: var(--b7-e); }
.mm-b7-fit      { background: var(--b7-f1); }
.mm-b7-cost     { background: var(--b7-w); }
.mm-b7-apply    { background: var(--b7-c); }
.mm-b7-final    { background: var(--b7-e); }

/* ── PADDING ── */
.mm-b7-hook,.mm-b7-stakes,.mm-b7-what,.mm-b7-struggle,
.mm-b7-framework,.mm-b7-months,.mm-b7-fit,.mm-b7-cost,.mm-b7-apply { padding: 5rem 0; }
.mm-b7-hero  { padding: 6rem 0 5rem; min-height: 90vh; display: flex; align-items: center; position: relative; }
.mm-b7-final { padding: 6rem 0; }

/* ── BUTTONS ── */
.mm-b7-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; font-family: 'Lato', sans-serif; font-weight: 700; font-size: .875rem; text-decoration: none; border-radius: 8px; padding: .9rem 2rem; transition: all .2s ease; cursor: pointer; border: 2px solid transparent; letter-spacing: .02em; }
.mm-b7-btn--primary { background: var(--b7-t); color: #fff; border-color: var(--b7-t); }
.mm-b7-btn--primary:hover { background: #c45a43; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(226,114,91,.35); color: #fff; }
.mm-b7-btn--ghost { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.5); }
.mm-b7-btn--ghost:hover { background: rgba(255,255,255,.2); border-color: rgba(255,255,255,.8); color: #fff; }
.mm-b7-btn--lg { padding: 1.1rem 2.5rem; font-size: 1rem; }
.mm-b7-btn--block { width: 100%; }

/* ── EYEBROW ── */
.mm-b7-eyebrow { display: block; font-family: 'Lato', sans-serif; font-weight: 700; font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; color: var(--b7-t); margin-bottom: 1rem; }
.mm-b7-eyebrow--light { color: rgba(253,251,212,.5); }
.mm-b7-struggle .mm-b7-eyebrow, .mm-b7-apply .mm-b7-eyebrow { color: var(--b7-gd); }

/* ── HEADINGS ── */
h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(1.8rem,3.5vw,2.8rem); font-weight: 700; line-height: 1.15; margin-bottom: 1.25rem; }
.mm-b7-hero h1,.mm-b7-what h2,.mm-b7-months h2,.mm-b7-final h2 { color: var(--b7-c); }
.mm-b7-hook h2,.mm-b7-framework h2,.mm-b7-cost h2 { color: var(--b7-e); }
.mm-b7-stakes h2,.mm-b7-struggle h2,.mm-b7-fit h2,.mm-b7-apply h2 { color: var(--b7-e); }

/* ══════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════ */
.mm-b7-hero__bg { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 80% 20%, rgba(200,150,62,.12), transparent 50%), radial-gradient(circle at 10% 80%, rgba(226,114,91,.07), transparent 50%); }
.mm-b7-hero__inner { display: grid; grid-template-columns: 1fr 460px; gap: 5rem; align-items: center; position: relative; z-index: 1; width: 100%; }
.mm-b7-badge { display: inline-flex; align-items: center; gap: .6rem; background: rgba(226,114,91,.15); border: 1px solid rgba(226,114,91,.35); border-radius: 100px; padding: .4rem 1rem; margin-bottom: 1.5rem; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--b7-t); }
.mm-b7-badge__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--b7-t); animation: b7p 2s infinite; }
@keyframes b7p { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)} }
.mm-b7-hero__title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: clamp(2.4rem,5vw,3.8rem); font-weight: 700; color: var(--b7-c); line-height: 1.1; margin-bottom: 1.5rem; }
.mm-b7-hero__eyebrow { display: block; font-family: 'Lato', sans-serif; font-weight: 900; font-size: .82rem; letter-spacing: .18em; text-transform: uppercase; color: var(--b7-t); margin-bottom: .5rem; }
.mm-b7-hero__tagline { font-size: 1.05rem; color: rgba(253,251,212,.82); line-height: 1.7; margin-bottom: 2.5rem; }
.mm-b7-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
.mm-b7-hero__proof { display: flex; align-items: center; gap: .6rem; font-size: .85rem; color: rgba(253,251,212,.55); margin: 0; }
.mm-b7-dot-pulse { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--b7-g); animation: b7dp 2s infinite; flex-shrink: 0; }
@keyframes b7dp { 0%,100%{opacity:1}50%{opacity:.35} }
.mm-b7-hero__photo-wrap { position: relative; }
.mm-b7-hero__photo { width: 100%; border-radius: 16px; box-shadow: 0 24px 80px rgba(0,0,0,.4); display: block; }
.mm-b7-hero__photo-card { position: absolute; bottom: -1rem; left: -1.5rem; background: var(--b7-go); border-radius: 12px; padding: .9rem 1.2rem; display: flex; gap: .75rem; align-items: center; box-shadow: 0 8px 32px rgba(200,150,62,.4); max-width: 210px; }
.mm-b7-hero__photo-card span { font-size: 1.4rem; flex-shrink: 0; }
.mm-b7-hero__photo-card strong { display: block; font-size: .88rem; color: var(--b7-e); font-weight: 900; }
.mm-b7-hero__photo-card div span { font-size: .73rem; color: rgba(44,26,14,.7); line-height: 1.4; }

/* ══════════════════════════════════════════════════
   HOOK
══════════════════════════════════════════════════ */
.mm-b7-hook__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.mm-b7-hook__built { display: flex; flex-direction: column; gap: .5rem; padding-top: .5rem; }
.mm-b7-hook__built p { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.6rem; font-weight: 600; color: var(--b7-e); margin: 0; line-height: 1.3; }
.mm-b7-hook__question { font-size: 1rem; color: var(--b7-gr); line-height: 1.7; margin-bottom: 1.25rem; font-style: italic; }
.mm-b7-hook__quote { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.5rem; font-style: italic; color: var(--b7-e); border-left: 4px solid var(--b7-t); padding: 1rem 1.5rem; margin: 0 0 1.5rem; background: rgba(226,114,91,.05); border-radius: 0 8px 8px 0; line-height: 1.45; }
.mm-b7-hook__reveal p { font-size: .98rem; color: var(--b7-gr); line-height: 1.75; margin-bottom: 1rem; }
.mm-b7-hook__reveal strong { color: var(--b7-e); }

/* ══════════════════════════════════════════════════
   STAKES
══════════════════════════════════════════════════ */
.mm-b7-stakes__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.mm-b7-stakes__text h2 { font-size: clamp(1.6rem,3vw,2.4rem); }
.mm-b7-stakes__text p { font-size: 1rem; color: var(--b7-gr); line-height: 1.7; margin-bottom: 1rem; }
.mm-b7-stakes__grid { display: flex; flex-direction: column; gap: .65rem; }
.mm-b7-stake { display: flex; align-items: flex-start; gap: .85rem; background: var(--b7-w); border: 1px solid rgba(44,26,14,.08); border-left: 3px solid var(--b7-t); border-radius: 0 8px 8px 0; padding: .9rem 1.1rem; }
.mm-b7-stake span { font-size: 1.2rem; flex-shrink: 0; }
.mm-b7-stake p { margin: 0; font-size: .92rem; color: var(--b7-e); font-weight: 600; line-height: 1.4; }
.mm-b7-stakes__conclusion { grid-column: 1 / -1; font-size: 1rem; color: var(--b7-gr); line-height: 1.75; background: rgba(44,26,14,.05); border-radius: 10px; padding: 1.25rem 1.5rem; margin-top: 1rem; }
.mm-b7-stakes__conclusion strong { color: var(--b7-e); }

/* ══════════════════════════════════════════════════
   WHAT
══════════════════════════════════════════════════ */
.mm-b7-what__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.mm-b7-what__left p { font-size: 1rem; color: rgba(253,251,212,.75); line-height: 1.75; margin-bottom: 1rem; }
.mm-b7-what__left strong { color: var(--b7-go) !important; }
.mm-b7-what__quote { border-left: 3px solid var(--b7-go); padding: 1rem 1.5rem; margin: 1.5rem 0; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.2rem; font-style: italic; color: var(--b7-c); background: rgba(200,150,62,.08); border-radius: 0 8px 8px 0; line-height: 1.5; }
.mm-b7-what__tags { display: flex; flex-direction: column; gap: .75rem; padding-top: .5rem; }
.mm-b7-what-tag { display: flex; align-items: center; gap: 1rem; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; padding: 1rem 1.25rem; }
.mm-b7-what-tag span { font-size: 1.5rem; flex-shrink: 0; }
.mm-b7-what-tag strong { font-size: .95rem; color: var(--b7-c); font-weight: 700; }

/* ══════════════════════════════════════════════════
   STRUGGLE
══════════════════════════════════════════════════ */
.mm-b7-struggle__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.mm-b7-struggle h2 { font-size: clamp(1.5rem,3vw,2.2rem); }
.mm-b7-struggle > .mm-b7-struggle__inner > div > p { font-size: 1rem; color: var(--b7-gd); line-height: 1.75; margin-bottom: 1rem; }
.mm-b7-struggle__intro { font-size: .95rem; font-weight: 700; color: var(--b7-e); margin-bottom: 1rem; }
.mm-b7-struggle__item { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: .6rem; }
.mm-b7-struggle__item span { color: var(--b7-gr); flex-shrink: 0; margin-top: 2px; }
.mm-b7-struggle__item p { margin: 0; font-size: .92rem; color: var(--b7-e); line-height: 1.5; }
.mm-b7-struggle__truth { font-size: .95rem; color: var(--b7-gd); line-height: 1.7; margin-top: 1.25rem; padding: 1rem 1.25rem; background: rgba(135,174,115,.15); border-radius: 8px; border: 1px solid rgba(135,174,115,.25); }
.mm-b7-struggle__truth strong { color: var(--b7-e); }

/* ══════════════════════════════════════════════════
   FRAMEWORK
══════════════════════════════════════════════════ */
.mm-b7-framework { text-align: center; }
.mm-b7-framework__sub { font-size: 1rem; color: var(--b7-gr); max-width: 680px; margin: 0 auto 3rem; line-height: 1.7; }
.mm-b7-framework__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; text-align: left; }
.mm-b7-framework-card { background: var(--b7-c); border: 1px solid rgba(44,26,14,.08); border-top: 3px solid var(--b7-t); border-radius: 14px; padding: 1.75rem 1.5rem; }
.mm-b7-framework-card__num { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 3rem; font-weight: 700; color: rgba(226,114,91,.2); line-height: 1; margin-bottom: .5rem; }
.mm-b7-framework-card h3 { font-family: 'Lato', sans-serif; font-size: .9rem; font-weight: 900; color: var(--b7-e); margin-bottom: .6rem; }
.mm-b7-framework-card p  { font-size: .88rem; color: var(--b7-gr); line-height: 1.65; margin: 0; }

/* ══════════════════════════════════════════════════
   7 MONTHS
══════════════════════════════════════════════════ */
.mm-b7-months { text-align: center; }
.mm-b7-months h2 { color: var(--b7-c); margin-bottom: 3rem; }
.mm-b7-months__grid { display: flex; flex-direction: column; gap: 1.25rem; text-align: left; }
.mm-b7-month { display: grid; grid-template-columns: 160px 1fr; gap: 2.5rem; align-items: start; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; padding: 2rem 2.5rem; transition: background .2s; }
.mm-b7-month:hover { background: rgba(255,255,255,.1); }
.mm-b7-month__num { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1rem; font-weight: 700; color: var(--b7-t); text-transform: uppercase; letter-spacing: .1em; padding-top: .25rem; }
.mm-b7-month__content h3 { font-family: 'Lato', sans-serif; font-size: 1rem; font-weight: 900; color: var(--b7-c); margin-bottom: .3rem; }
.mm-b7-month__sub { font-size: .82rem; font-weight: 700; color: var(--b7-go) !important; margin-bottom: .75rem !important; text-transform: uppercase; letter-spacing: .05em; }
.mm-b7-month__content p { font-size: .9rem; color: rgba(253,251,212,.65); line-height: 1.7; margin-bottom: .5rem; }

/* ══════════════════════════════════════════════════
   FIT
══════════════════════════════════════════════════ */
.mm-b7-fit__inner { display: grid; grid-template-columns: 1fr 2px 1fr; gap: 3rem; max-width: 940px; margin: 0 auto; }
.mm-b7-fit__divider { background: rgba(44,26,14,.12); align-self: stretch; }
.mm-b7-fit__yes h3,.mm-b7-fit__no h3 { font-family: 'Lato', sans-serif; font-size: 1.05rem; font-weight: 900; color: var(--b7-e); margin-bottom: 1.25rem; }
.mm-b7-fit__yes ul,.mm-b7-fit__no ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .65rem; }
.mm-b7-fit__yes li,.mm-b7-fit__no li { display: flex; gap: .75rem; font-size: .93rem; color: var(--b7-e); line-height: 1.5; }
.mm-b7-fit__yes li span { color: var(--b7-g); font-weight: 900; flex-shrink: 0; }
.mm-b7-fit__no  li span { color: var(--b7-t); font-weight: 900; flex-shrink: 0; }

/* ══════════════════════════════════════════════════
   COST
══════════════════════════════════════════════════ */
.mm-b7-cost { text-align: center; }
.mm-b7-cost h2 { margin-bottom: 2.5rem; }
.mm-b7-cost__grid { display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem; align-items: start; text-align: left; }
.mm-b7-cost__wrong h3 { color: var(--b7-t); font-family: 'Lato', sans-serif; font-size: 1rem; font-weight: 900; margin-bottom: 1rem; }
.mm-b7-cost__right h3 { color: var(--b7-gd); font-family: 'Lato', sans-serif; font-size: 1rem; font-weight: 900; margin-bottom: 1rem; }
.mm-b7-cost__item { display: flex; align-items: flex-start; gap: .75rem; font-size: .93rem; color: var(--b7-e); margin-bottom: .65rem; line-height: 1.5; }
.mm-b7-cost__item--bad  span { color: var(--b7-t); font-weight: 900; flex-shrink: 0; }
.mm-b7-cost__item--good span { color: var(--b7-g); font-weight: 900; flex-shrink: 0; }
.mm-b7-cost__vs { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 2rem; font-weight: 700; color: var(--b7-e); opacity: .15; align-self: center; text-align: center; }

/* ══════════════════════════════════════════════════
   APPLY
══════════════════════════════════════════════════ */
.mm-b7-apply__inner { display: grid; grid-template-columns: 1fr 480px; gap: 5rem; align-items: start; }
.mm-b7-apply__text p { font-size: 1rem; color: var(--b7-gr); line-height: 1.75; margin-bottom: 1rem; }
.mm-b7-apply__stat { display: flex; align-items: center; gap: .75rem; margin: 1.5rem 0; }
.mm-b7-apply__stat p { margin: 0; font-size: .9rem; color: var(--b7-gr); }
.mm-b7-apply__stat strong { color: var(--b7-e); }
.mm-b7-apply__promises { display: flex; flex-direction: column; gap: .75rem; margin-top: 1.5rem; }
.mm-b7-apply__promise { display: flex; gap: .85rem; align-items: flex-start; }
.mm-b7-apply__promise span { font-size: 1.2rem; flex-shrink: 0; }
.mm-b7-apply__promise p { margin: 0; font-size: .9rem; color: var(--b7-gr); line-height: 1.5; }
.mm-b7-apply__form-wrap { background: var(--b7-w); border: 1px solid rgba(44,26,14,.08); border-radius: 16px; padding: 2.5rem; box-shadow: 0 8px 40px rgba(44,26,14,.08); }
.mm-b7-form { display: flex; flex-direction: column; gap: 1.25rem; }
.mm-b7-form__field { display: flex; flex-direction: column; gap: .4rem; }
.mm-b7-form__field label { font-size: .82rem; font-weight: 700; color: var(--b7-e); }
.mm-b7-form__req { color: var(--b7-t); }
.mm-b7-form__optional { color: var(--b7-gr); font-weight: 400; }
.mm-b7-form__field input,.mm-b7-form__field textarea { border: 1.5px solid rgba(44,26,14,.15); border-radius: 8px; padding: .85rem 1rem; font-size: .95rem; font-family: 'Lato', sans-serif; color: var(--b7-e); background: var(--b7-c); transition: border-color .2s, box-shadow .2s; outline: none; resize: vertical; }
.mm-b7-form__field input:focus,.mm-b7-form__field textarea:focus { border-color: var(--b7-t); box-shadow: 0 0 0 3px rgba(226,114,91,.12); }
.mm-b7-form__field input::placeholder,.mm-b7-form__field textarea::placeholder { color: #b0a8a0; }
.mm-b7-form__note { font-size: .77rem; color: var(--b7-gr); line-height: 1.6; margin: 0; text-align: center; }
.mm-b7-apply__error { background: rgba(226,114,91,.1); border: 1px solid rgba(226,114,91,.3); border-radius: 8px; padding: .85rem 1rem; font-size: .9rem; color: var(--b7-t); margin-bottom: 1rem; }
.mm-b7-apply__success { text-align: center; padding: 1.5rem 0; }
.mm-b7-apply__success h3 { font-size: 1.5rem; font-weight: 900; color: var(--b7-e); margin-bottom: .75rem; }
.mm-b7-apply__success p { font-size: .95rem; color: var(--b7-gr); line-height: 1.65; }

/* ══════════════════════════════════════════════════
   FINAL
══════════════════════════════════════════════════ */
.mm-b7-final__inner { max-width: 700px; margin: 0 auto; text-align: center; }
.mm-b7-final p { font-size: 1rem; color: rgba(253,251,212,.6); margin-bottom: 2.5rem; line-height: 1.7; }
.mm-b7-final__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }

/* ══════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .mm-b7-hero { min-height: auto; padding: 5rem 0 4rem; }
  .mm-b7-hero__inner,.mm-b7-hook__inner,.mm-b7-stakes__inner,.mm-b7-what__inner,.mm-b7-struggle__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .mm-b7-hero__photo-wrap { max-width: 480px; margin: 0 auto; }
  .mm-b7-stakes__conclusion { grid-column: auto; }
  .mm-b7-framework__grid { grid-template-columns: 1fr 1fr; }
  .mm-b7-month { grid-template-columns: 1fr; gap: 1rem; }
  .mm-b7-apply__inner { grid-template-columns: 1fr; gap: 3rem; }
  .mm-b7-cost__grid { grid-template-columns: 1fr; gap: 2rem; }
  .mm-b7-cost__vs { display: none; }
  .mm-b7-fit__inner { grid-template-columns: 1fr; gap: 2rem; }
  .mm-b7-fit__divider { display: none; }
}
@media (max-width: 640px) {
  .mm-b7-hero,.mm-b7-hook,.mm-b7-stakes,.mm-b7-what,.mm-b7-struggle,.mm-b7-framework,.mm-b7-months,.mm-b7-fit,.mm-b7-cost,.mm-b7-apply { padding: 3.5rem 0; }
  .mm-b7-hero__actions { flex-direction: column; }
  .mm-b7-hero__actions .mm-b7-btn { width: 100%; }
  .mm-b7-hero__photo-card { position: static; margin-top: 1rem; max-width: 100%; }
  .mm-b7-framework__grid { grid-template-columns: 1fr; }
  .mm-b7-month { padding: 1.5rem; }
  .mm-b7-apply__form-wrap { padding: 1.5rem; }
  .mm-b7-final__actions { flex-direction: column; align-items: center; }
  .mm-b7-final__actions .mm-b7-btn { width: 100%; max-width: 320px; }
  .mm-b7-final { padding: 4rem 0; }
}
