/* Two-card monthly / annual pricing block. Card-interior styles (price block,
   feature list) live here so the selector owns its presentation; the route's
   page.module.css keeps the page, header, section, staff-notice, and FAQ. */

.pricing-plan-selector_selector__KTKXf {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.pricing-plan-selector_cards__riDaJ {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
  align-items: stretch;
}

.pricing-plan-selector_card__Wyezf {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  padding: var(--space-7);
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

/* Annual is the recommended plan: a green inner ring, no scale change so the
   two cards stay the same size. */
.pricing-plan-selector_featured__OSmSd {
  border-color: var(--c-green-dark);
  box-shadow: inset 0 0 0 2px var(--c-green-dark), var(--shadow);
}

.pricing-plan-selector_planName__OBOfS {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--c-wood-oak);
}

/* Price (rendered by PlanPriceBlock) */
.pricing-plan-selector_priceBlock__lFOTE {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.pricing-plan-selector_priceRow__HEY2e {
  display: flex;
  align-items: baseline;
  gap: var(--space-1);
  flex-wrap: wrap;
}

.pricing-plan-selector_price__q0UVg {
  font-family: var(--font-heading);
  font-size: 44px;
  font-weight: 500;
  color: var(--c-light-head);
  letter-spacing: -0.03em;
  line-height: 1;
}

.pricing-plan-selector_period__mQxi1 {
  font-size: 16px;
  font-weight: 300;
  color: var(--c-light-mute);
}

.pricing-plan-selector_saveTag___F9YU {
  align-self: baseline;
  margin-left: var(--space-2);
}

.pricing-plan-selector_priceNote__e_ie2 {
  font-size: 13px;
  font-weight: 300;
  color: var(--c-light-mute);
}

/* Feature list */
.pricing-plan-selector_featureList__V3SGa {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.pricing-plan-selector_featureItem__9vBUn {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  font-size: 14px;
  font-weight: 300;
  color: var(--c-light-body);
  line-height: 1.4;
}

.pricing-plan-selector_featureCheck__a_FXP {
  color: var(--c-green-dark);
  font-size: 13px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* Trust-signal callout, pinned to the bottom so the two cards' CTAs align even
   when feature lists differ in height. */
.pricing-plan-selector_callout__X6bi4 {
  margin-top: auto;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.55;
  color: var(--c-light-mute);
  text-align: center;
}

/* Sits under both plans, above the payment reassurances. Serif italic so it
   reads as a statement of intent rather than another line of plan fine print,
   matching how the same sentence closes the landing pricing card. */
.pricing-plan-selector_mission__6nsv5 {
  max-width: 620px;
  margin: 26px auto 0;
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 14px;
  line-height: 1.65;
  color: var(--c-green-dark);
  text-align: center;
  text-wrap: pretty;
}

@media (max-width: 640px) {
  .pricing-plan-selector_cards__riDaJ {
    grid-template-columns: 1fr;
  }
}

.checkout-button_wrapper__cv4SD {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

.checkout-button_error__9Ttcs {
  font-size: 13px;
  color: var(--c-red);
  text-align: center;
}

/* Reassurance row under the membership CTA. Sits on the white plan card, so it
   uses the light muted token. Items are gap-separated (no visible separators),
   centered, and wrap cleanly on a narrow card. */

.trust-signals_root__Lg8XO {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px 16px;
  font-size: 12px;
  font-weight: 300;
  color: var(--c-light-mute);
  text-align: center;
  line-height: 1.5;
}

.trust-signals_item__thY1I {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.trust-signals_lock__oY85O {
  flex-shrink: 0;
  color: var(--c-green-dark);
}

/* "What this would cost you elsewhere" comparison. Layout/typography are
   tone-agnostic; colours live under .light / .dark scopes (mirroring
   proof-stats) so the same component reads correctly on cream (/pricing) and
   on green-deep (homepage). Marketing token convention: --c-* colours,
   unprefixed --space-/--fs-/--font-* scale. */

.value-anchor_list__MUVdp {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.value-anchor_item__rqu9p {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) 0;
  border-top: 1px solid;
}

.value-anchor_item__rqu9p:first-child {
  border-top: none;
}

.value-anchor_num__IIycc {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
}

.value-anchor_body__POLui {
  min-width: 0;
}

.value-anchor_label__UcKna {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  font-weight: 400;
  margin: 0;
}

.value-anchor_source__qVOl4 {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: color var(--dur-fast, 120ms) ease;
}

/* NOT nowrap any more, and that is the whole bug. It was safe while the rows
   read "$20K+": a short token that could never be wider than its column. The
   rows are now sentences ("$2,495 to $20,000 and up per engagement."), and an
   unbreakable sentence in an `auto` grid track overflows its own column and
   prints straight over the label beside it, which is what it did on a phone.
   Wrapping is the fix; the mobile block below then stops them competing for
   one line at all. */
.value-anchor_price__Jkki_ {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  text-decoration: line-through;
  text-align: right;
}

.value-anchor_total__mS8qw {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-4) 0 0;
  padding-top: var(--space-4);
  border-top: 1px solid;
}

.value-anchor_totalLabel__n8tz_ {
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 500;
}

.value-anchor_totalWas__CITCK {
  margin-left: auto;
  font-family: var(--font-body);
  font-size: var(--fs-md);
  text-decoration: line-through;
}

.value-anchor_totalNow__w38RH {
  font-family: var(--font-heading);
  font-size: var(--fs-xl);
  font-weight: 500;
}

/* Smaller unit-and-annual suffix so the annual figure reads clearly without
   dominating the big monthly number it sits beside. */
.value-anchor_totalUnit__Yska8 {
  font-size: var(--fs-md);
  font-weight: 400;
}

.value-anchor_footnote__TUoKK {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-weight: 300;
  line-height: 1.5;
  margin: var(--space-4) 0 0;
  opacity: 0.7;
}

/* ── Narrow: the price takes its own line ─────────────────────────────────
   Two columns instead of three, so the price wraps under the label rather
   than fighting it for the same row. At 390px a three-column row leaves the
   label about 150px, which broke "Executive coaching and outplacement." into
   four lines beside a price that needed two: two tall stacks, side by side,
   reading as neither.
   The price lands in column 2 explicitly; left to flow it would sit under the
   number in column 1. Items align to the start so the number sits on the
   label's first line rather than floating at the centre of a tall row. */
@media (max-width: 560px) {
  .value-anchor_item__rqu9p {
    grid-template-columns: auto 1fr;
    align-items: start;
    row-gap: var(--space-1);
  }

  .value-anchor_price__Jkki_ {
    grid-column: 2;
    text-align: left;
  }
}

/* ── Tone: dark (homepage, on green-deep). Preserves the current look. ── */
.value-anchor_dark__0Y0F4 .value-anchor_item__rqu9p {
  border-top-color: var(--c-border-dark, rgba(245, 240, 234, 0.12));
}

.value-anchor_dark__0Y0F4 .value-anchor_num__IIycc,
.value-anchor_dark__0Y0F4 .value-anchor_source__qVOl4,
.value-anchor_dark__0Y0F4 .value-anchor_price__Jkki_,
.value-anchor_dark__0Y0F4 .value-anchor_totalWas__CITCK,
.value-anchor_dark__0Y0F4 .value-anchor_footnote__TUoKK {
  color: var(--c-text-mute);
}

.value-anchor_dark__0Y0F4 .value-anchor_label__UcKna,
.value-anchor_dark__0Y0F4 .value-anchor_totalLabel__n8tz_ {
  color: var(--c-text);
}

.value-anchor_dark__0Y0F4 .value-anchor_source__qVOl4:hover {
  color: var(--on-dark-accent-warm);
}

.value-anchor_dark__0Y0F4 .value-anchor_totalNow__w38RH {
  color: var(--c-warm-amber);
}

.value-anchor_dark__0Y0F4 .value-anchor_total__mS8qw {
  border-top-color: color-mix(in srgb, var(--c-gold) 50%, transparent);
}

/* ── Tone: light (on cream, /pricing) ──
   The total "now" uses --c-green-dark (AA on cream), not --c-warm-amber which
   fails AA at this size on a light surface (same reasoning as proof-stats). */
.value-anchor_light__s2Ifl .value-anchor_item__rqu9p,
.value-anchor_light__s2Ifl .value-anchor_total__mS8qw {
  border-top-color: var(--c-border);
}

.value-anchor_light__s2Ifl .value-anchor_num__IIycc,
.value-anchor_light__s2Ifl .value-anchor_source__qVOl4,
.value-anchor_light__s2Ifl .value-anchor_price__Jkki_,
.value-anchor_light__s2Ifl .value-anchor_totalWas__CITCK,
.value-anchor_light__s2Ifl .value-anchor_footnote__TUoKK {
  color: var(--c-light-mute);
}

.value-anchor_light__s2Ifl .value-anchor_label__UcKna,
.value-anchor_light__s2Ifl .value-anchor_totalLabel__n8tz_ {
  color: var(--c-light-head);
}

.value-anchor_light__s2Ifl .value-anchor_source__qVOl4:hover,
.value-anchor_light__s2Ifl .value-anchor_totalNow__w38RH {
  color: var(--c-green-dark);
}

.toolbox-vs-team_grid__GRStV {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  align-items: stretch;
}

.toolbox-vs-team_column__IAG94 {
  border: 1px solid var(--c-border);
  border-radius: 16px;
  padding: var(--space-7);
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.toolbox-vs-team_light__D8WAi {
  background: #fff;
}

.toolbox-vs-team_dark__5f9RB {
  background: var(--c-green-dark);
  border-color: var(--c-green-dark);
}

.toolbox-vs-team_head__joFWr {
  font-family: var(--font-mono, "DM Mono", monospace);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-wood-oak);
}

.toolbox-vs-team_dark__5f9RB .toolbox-vs-team_head__joFWr {
  color: color-mix(in srgb, var(--c-cream) 78%, transparent);
}

.toolbox-vs-team_list__D_L3n {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.toolbox-vs-team_item__Ytvkj {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
  color: var(--c-light-body);
  padding-left: var(--space-5);
  position: relative;
  text-wrap: pretty;
}

.toolbox-vs-team_item__Ytvkj::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-golden-sand);
}

.toolbox-vs-team_dark__5f9RB .toolbox-vs-team_item__Ytvkj {
  color: color-mix(in srgb, var(--c-cream) 88%, transparent);
}

@media (max-width: 768px) {
  .toolbox-vs-team_grid__GRStV {
    grid-template-columns: 1fr;
  }
}

.pricing-testimonials_wrap__an_96 {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  align-items: center;
}

.pricing-testimonials_eyebrow__URv00 {
  margin: 0;
  font-family: var(--font-mono, "DM Mono", monospace);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-wood-oak);
}

.pricing-testimonials_lead__yVyPZ {
  margin: 0;
  width: 100%;
  text-align: center;
}

.pricing-testimonials_leadQuote__Tx_gj {
  font-family: var(--font-heading, "Lora", serif);
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 500;
  color: var(--c-light-head);
  letter-spacing: -0.015em;
  line-height: 1.4;
  margin: 0 auto;
  max-width: 820px;
  text-wrap: pretty;
}

.pricing-testimonials_grid__vhhxq {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-6);
  width: 100%;
}

.pricing-testimonials_card__iHxmk {
  margin: 0;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  padding: var(--space-7);
}

.pricing-testimonials_cardQuote__EEZQ0 {
  font-size: 15px;
  font-weight: 300;
  color: var(--c-light-body);
  line-height: 1.7;
  margin: 0 0 var(--space-5);
  text-wrap: pretty;
}

.pricing-testimonials_cite__WQBfi {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pricing-testimonials_citeName__Rliw5 {
  font-family: var(--font-heading, "Lora", serif);
  font-size: 15px;
  font-weight: 500;
  color: var(--c-light-head);
}

.pricing-testimonials_citeRole__BIfE2 {
  font-size: 13px;
  font-weight: 400;
  color: var(--c-light-mute);
  line-height: 1.4;
}

.pricing-testimonials_lead__yVyPZ .pricing-testimonials_cite__WQBfi {
  align-items: center;
  margin-top: var(--space-4);
}

@media (max-width: 640px) {
  .pricing-testimonials_grid__vhhxq {
    grid-template-columns: 1fr;
  }
}

.page_page__BwVZt {
  min-height: 100vh;
  background: var(--c-cream-light);
}

/* ── Hero ── */
.page_header__9vm19 {
  background: var(--surface-hero);
  padding: calc(var(--nav-height) + var(--space-11)) var(--page-gutter)
    var(--space-10);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.page_eyebrow__ulh9s {
  font-family: var(--font-mono, "DM Mono", monospace);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-wood-oak);
}

.page_heading__juub_ {
  font-family: var(--font-heading);
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 500;
  color: var(--c-light-head);
  letter-spacing: -0.025em;
  line-height: 1.1;
  margin: 0;
  max-width: 760px;
  text-wrap: balance;
}

.page_subheading__WZPEq {
  font-size: 18px;
  font-weight: 300;
  color: var(--c-light-body);
  line-height: 1.6;
  max-width: 600px;
  margin: 0;
  text-wrap: pretty;
}

/* ── Section wrapper (one per content block) ── */
.page_section___pU3S {
  max-width: 1080px;
  margin: 0 auto;
  padding: var(--space-9) var(--page-gutter);
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.page_sectionEyebrow__H3N3n {
  font-family: var(--font-mono, "DM Mono", monospace);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-wood-oak);
}

.page_sectionHeading__VVk3U {
  font-family: var(--font-heading);
  font-size: clamp(26px, 3.4vw, 40px);
  font-weight: 500;
  color: var(--c-light-head);
  letter-spacing: -0.02em;
  line-height: 1.18;
  margin: 0;
  max-width: 760px;
  text-wrap: balance;
}

/* ── Cost-comparison card (white chrome the shared ValueAnchor sits inside) ── */
.page_anchorCard__l1O4F {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  padding: var(--space-7);
  box-shadow: var(--shadow);
}

/* ── Stats band ── */
.page_statsBand__iYXfN {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 16px;
  padding: var(--space-8) var(--space-7);
}

/* ── Staff / existing-member notice (passed to the selector as the action slot) ── */
.page_staffNotice__JnNx1 {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  background: var(--c-cream-light);
  border: 1px solid var(--c-border);
  border-radius: 10px;
  padding: var(--space-4);
  text-align: center;
}

.page_staffNoticeText__XLwJm {
  font-size: 13px;
  font-weight: 400;
  color: var(--c-light-body);
  line-height: 1.5;
}

.page_staffNoticeBtn__WQh6E {
  display: block;
  padding: var(--space-3) var(--space-4);
  background: var(--c-navy);
  color: var(--c-cream);
  border-radius: 9px;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  text-transform: capitalize;
  text-decoration: none;
}

.page_staffNoticeBtn__WQh6E:hover {
  background: #1a2a3a;
}

/* ── FAQ ── */
.page_faqGrid__6jfNT {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: var(--space-9);
}

.page_faqItem__MUxjB {
  border-top: 1px solid var(--c-border);
  padding: var(--space-5) 0;
}

.page_faqQ__bWnkp {
  font-size: 15px;
  font-weight: 500;
  color: var(--c-light-head);
  margin-bottom: var(--space-2);
}

.page_faqA__SqJXg {
  font-size: 14px;
  font-weight: 300;
  color: var(--c-light-body);
  line-height: 1.65;
}

.page_faqLink__egXX6 {
  color: var(--c-green-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .page_section___pU3S {
    padding: var(--space-8) var(--page-gutter);
  }
}

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

