/*
 * Trust section (id="trust"): the human side of the membership on the cream
 * surface. Tokens only (--c-* alias layer); the rgba() values below are the
 * design's alpha composites (hairlines, ring shadows, scrims), kept literal
 * per the landing conventions. Gold appears only as tiny decorative accents
 * (the design's row dots / active deck dot) and on dark surfaces.
 */

.trust-section_section__fn5qe {
  background: var(--c-cream);
  padding: 56px 0 60px;
}

/* ── 1 · Centered intro ────────────────────────────────────────────────────── */

.trust-section_intro__ApaCF {
  max-width: 900px;
  margin: 0 auto 44px;
  padding: 0 32px;
  text-align: center;
}

/* The coaching illustration (a coach and a member across a table) carries the
   emotional weight of this section, so it is a proper figure rather than a
   mascot ornament. No tilt: it is a scene, and rocking it would read as a
   sticker. Sized to the art's own 1.57:1 so nothing letterboxes.
   300px, not 420: at 420 it was 267px tall and pushed the heading it is meant
   to introduce most of a fold down the page. It sets the scene; it is not the
   argument. Keep this and the Image's `sizes` hint in step. */
.trust-section_mascot__lGBzY {
  width: min(300px, 72vw);
  margin: 0 auto 20px;
}

.trust-section_mascotImg__E4Waf {
  display: block;
  width: 100%;
  height: auto;
}

.trust-section_heading__Pf6II {
  font-family: var(--font-heading);
  font-size: clamp(28px, 5.4vw, 35px);
  line-height: 1.18;
  color: var(--c-light-head);
  font-weight: 500;
  letter-spacing: -0.02em;
  max-width: 680px;
  margin: 0 auto;
}

.trust-section_headingItalic__F_Ehp {
  font-style: italic;
  font-weight: inherit;
}

/* ── 2 · Coach / sessions two-column grid ──────────────────────────────────── */

.trust-section_columns__Ejv9q {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: 52px;
  align-items: start;
}

.trust-section_eyebrow__zeKuS {
  margin-bottom: 20px;
}

.trust-section_coachRows__oIbtc {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.trust-section_coachRow__aIVGS {
  padding-top: 18px;
  border-top: 1px solid rgba(85, 111, 36, 0.24);
}

.trust-section_coachRowTitle__ZYLVs {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.005em;
  color: var(--c-light-head);
  margin-bottom: 7px;
  display: flex;
  align-items: center;
  gap: 9px;
}

.trust-section_coachRowDot__kJ5Ln {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  /* The design's gold dot, re-toned: gold never sits on cream (globals rule),
     so the row markers use the brand green instead. */
  background: var(--c-green-dark);
  flex-shrink: 0;
}

.trust-section_coachRowBody___AZsd {
  font-size: 14px;
  line-height: 1.7;
  color: var(--c-light-mute);
  /* Short block: balance the line lengths. */
  text-wrap: balance;
}

.trust-section_payoff__JJFmP {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 21px;
  line-height: 1.45;
  color: var(--c-green-dark);
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid rgba(85, 111, 36, 0.24);
  /* Short block: balance the line lengths. */
  text-wrap: balance;
}

.trust-section_payoffStrong__WNLCL {
  color: var(--c-light-head);
}

.trust-section_sessionsHeading__4_jBd {
  font-family: var(--font-heading);
  font-size: 24px;
  line-height: 1.26;
  color: var(--c-light-head);
  font-weight: 500;
  letter-spacing: -0.015em;
  margin-bottom: 10px;
}

.trust-section_sessionsBody__L_Hh3 {
  font-size: 14.5px;
  color: var(--c-light-mute);
  line-height: 1.7;
  margin-bottom: 24px;
  /* Short block: balance the line lengths. */
  text-wrap: balance;
}

/* Recorded-session poster card: deliberately NOT interactive (the CTA below
   is the link out), so no hover/focus affordances here. */
.trust-section_posterCard__wwWFh {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  height: 270px;
  box-shadow: 0 24px 50px -30px rgba(27, 15, 51, 0.45);
}

.trust-section_posterImg__q4VX2 {
  object-fit: cover;
}

.trust-section_posterScrim__mPcLI {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 18, 25, 0.1), rgba(11, 18, 25, 0.7));
  pointer-events: none;
}

.trust-section_posterText__freEc {
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 22px;
  text-align: left;
  pointer-events: none;
}

/* Light-on-dark title over the scrim; Lora 600 in the design becomes 500
   (600 is not loaded). */
.trust-section_posterTitle__LycL_ {
  font-family: var(--font-heading);
  color: var(--c-cream);
  font-size: 21px;
  font-weight: 500;
  line-height: 1.25;
}

.trust-section_posterMeta__Fn9y2 {
  font-size: 12px;
  color: rgba(245, 242, 235, 0.78);
  font-style: italic;
  margin-top: 6px;
  /* Short block: balance the line lengths. */
  text-wrap: balance;
}

/* Placement only; PlayBadge owns the disc. Gold on the dark poster imagery is
   the allowed surface. This card is decorative, not a control, so the badge
   never takes pointer events. */
.trust-section_posterPlay__3GXXw {
  position: absolute;
  left: 50%;
  top: 44%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.trust-section_sessionsCtaRow__hlJFb {
  margin-top: 20px;
}

/* Outline pill on the cream surface: green-dark text, green-alpha border. */
.trust-section_sessionsCta__a_T_b {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--c-green-dark);
  border: 1px solid rgba(85, 111, 36, 0.3);
  padding: 13px 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.trust-section_sessionsCta__a_T_b:hover {
  background: rgba(85, 111, 36, 0.1);
  border-color: var(--c-green-dark);
}

.trust-section_sessionsCta__a_T_b:focus-visible {
  outline: 3px solid var(--c-green-dark);
  outline-offset: 3px;
}

/* ── 3 · Career experts behind the sessions ────────────────────────────────────── */

.trust-section_people__qjhjj {
  max-width: 960px;
  margin: 44px auto 0;
  padding: 0 32px;
  text-align: center;
}

.trust-section_peopleHeading__F1TVA {
  font-family: var(--font-heading);
  font-size: 26px;
  color: var(--c-light-head);
  font-weight: 500;
  letter-spacing: -0.01em;
  margin-bottom: 12px;
}

.trust-section_peopleSub__MeV5H {
  font-size: 14.5px;
  color: var(--c-light-mute);
  line-height: 1.7;
  max-width: 560px;
  margin: 0 auto 34px;
}

.trust-section_coachGrid__gtzVY {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr));
  gap: 34px 30px;
}

.trust-section_coachCard__eqYh8 {
  padding: 0 8px;
  display: flex;
  flex-direction: column;
}

/* Extra class merged onto the shared CoachAvatar span: the design's warm ring,
   re-toned to golden-sand alphas because gold never sits on cream (globals
   rule). The lift lives on the avatar itself, a GRANDCHILD of the stagger
   container, so it never fights the .nari-reveal-stagger > * reveal transform
   on the card. */
.trust-section_coachPhoto__SBvUm {
  margin: 0 auto 16px;
  box-shadow: 0 0 0 1px rgba(168, 104, 32, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.trust-section_coachPhoto__SBvUm:hover {
  transform: translateY(-3px);
  box-shadow: 0 0 0 2px rgba(168, 104, 32, 0.55),
    0 16px 30px -20px rgba(27, 15, 51, 0.5);
}

.trust-section_coachName__tQM1g {
  font-family: var(--font-heading);
  font-size: 18px;
  color: var(--c-light-head);
  font-weight: 500;
  text-align: center;
}

.trust-section_coachTitle__CM_uF {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--c-light-mute);
  letter-spacing: 0.04em;
  margin: 4px 0 12px;
  text-align: center;
}

.trust-section_coachQuote__jZGZy {
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--c-light-mute);
  text-align: center;
}

/* Small standalone link; vertical padding brings the target to ~44px. */
.trust-section_coachLink__olRpU {
  font-size: 12px;
  color: var(--c-wood-oak);
  display: block;
  margin-top: auto;
  padding: 14px 8px;
  text-align: center;
  text-decoration: none;
}

.trust-section_coachLink__olRpU:hover {
  text-decoration: underline;
}

.trust-section_coachLink__olRpU:focus-visible {
  outline: 3px solid var(--c-green-dark);
  outline-offset: 2px;
  border-radius: 6px;
}

.trust-section_credentials__6sWqs {
  font-size: 14px;
  color: var(--c-light-body);
  max-width: 600px;
  margin: 28px auto 0;
  line-height: 1.75;
}

.trust-section_credentials__6sWqs strong {
  font-weight: 500;
  color: var(--c-light-head);
}

/* ── 4 · Deck intro + deck ─────────────────────────────────────────────────── */

.trust-section_deckIntro__dR5Wu {
  max-width: 820px;
  margin: 56px auto 0;
  padding: 0 32px;
  text-align: center;
}

.trust-section_deckIntroLead__UjpgP {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 19px;
  color: var(--c-green-dark);
  margin-bottom: 6px;
}

.trust-section_deckIntroSub__p_Kz1 {
  font-size: 14px;
  color: var(--c-light-mute);
}

.trust-section_deckWrap__aQ3C4 {
  position: relative;
  max-width: 620px;
  /* 56px, not 32px: the perch sits in the gap between the intro copy and the
     card, and at 32px that gap is only 85px on a phone, too short for the
     illustration to stand in without landing on someone's words. */
  margin: 56px auto 0;
  padding: 0 32px;
}

/* Bear perched on the deck corner. right = 24px from the deck edge plus the
   wrapper's 32px gutter (absolute positioning ignores the padding box). */
/* Still a small perch, but the pondering panda is portrait (0.9:1) where the
   old bear was 3:2, so the slot follows the art instead of letterboxing it.

   Anchored by its BOTTOM edge, not its top. `top` was the original anchor, and
   it made the intrusion into the card depend on the art's aspect ratio: the old
   3:2 bear was 69px tall at this width and dipped 17px over the card, but the
   portrait panda is 103px tall and dipped 51px, far enough to paint opaque
   watercolour over whole words of the first quote line at every phone width.
   `bottom: calc(100% - 17px)` pins the dip at 17px whatever the crop is, so
   re-cropping the art can never eat the copy again.

   The slot is 76px, not 92px, because the perch has to stand in the gap
   between the intro copy and the card. At 92px the portrait crop is 104px
   tall against a gap of 85px on a phone and 95px on desktop: too tall
   everywhere, which is why it was painting over the quote. 76px makes it 85px
   tall, and with the wider 56px gap above it that leaves real clearance top
   and bottom for the tilt swing. Verified by measurement at 320 to 1440 on
   all six cards, not by arithmetic. */
.trust-section_deckBear__rjz7P {
  position: absolute;
  bottom: calc(100% - 17px);
  right: 56px;
  width: 76px;
  z-index: 50;
  pointer-events: none;
}

/* Narrow phones give the perch even less room: the intro wraps to more lines
   and the gap collapses further. */
@media (max-width: 400px) {
  .trust-section_deckBear__rjz7P {
    width: 62px;
  }
}

/*
 * Pricing section. Light gradient surface, so the CTA is the shared forest
 * pill (gold never sits on cream or white). The rgba() values are the
 * design's alpha composites and stay literal per the landing conventions.
 * The design's 900px shell is narrower than the shared inner variants, so
 * the two wrappers define their own shell declarations.
 */

.pricing-section_section__cfeTZ {
  background: linear-gradient(
    180deg,
    var(--c-cream-light) 0%,
    #fff 26%,
    #fff 58%,
    var(--c-cream) 100%
  );
  padding: 56px 0;
}

/* Centered intro shell: eyebrow, heading, narrative, then the two panels. */
.pricing-section_intro__alFsa {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 32px;
  text-align: center;
}

.pricing-section_eyebrow__u59zp {
  margin-bottom: 22px;
}

.pricing-section_heading__YPzhN {
  font-family: var(--font-heading);
  font-size: 36px;
  line-height: 1.18;
  color: var(--c-light-head);
  font-weight: 500;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}

.pricing-section_headingItalic__tOS87 {
  font-style: italic;
}

.pricing-section_narrative__F8Hav {
  font-size: 15px;
  line-height: 1.6;
  color: var(--c-light-mute);
  max-width: 640px;
  margin: 0 auto 30px;
  /* Short block: balance the line lengths. */
  text-wrap: balance;
}

.pricing-section_narrative__F8Hav strong {
  font-weight: 500;
  color: var(--c-light-head);
}

/* Two panels: the room list and the membership card. */
.pricing-section_grid__7hz_h {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  gap: 32px;
  align-items: start;
  text-align: left;
}

/* Left: dark green room panel. Gold label and dots are fine here (dark). */
.pricing-section_roomPanel__pNqhZ {
  background: linear-gradient(160deg, var(--c-green-deep), var(--c-green-dark));
  border-radius: 18px;
  padding: 30px 32px;
}

.pricing-section_roomLabel__B5lO_ {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-gold);
  margin-bottom: 15px;
}

.pricing-section_roomList__F5_QT {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.pricing-section_roomItem__P2BMU {
  font-size: 13.5px;
  color: rgba(245, 242, 235, 0.9);
  display: flex;
  align-items: center;
  gap: 10px;
}

.pricing-section_roomDot__3yjWp {
  width: 5px;
  height: 5px;
  background: var(--c-gold);
  border-radius: 50%;
  flex-shrink: 0;
}

/* Right: membership card. */
.pricing-section_card__S1_v2 {
  background: var(--c-cream-light);
  border: 1px solid rgba(85, 111, 36, 0.2);
  border-radius: 22px;
  padding: 34px 34px 28px;
  box-shadow: 0 30px 60px -34px rgba(27, 15, 51, 0.3);
  text-align: center;
  align-self: center;
}

.pricing-section_cardLabel__8P7TR {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-green-dark);
  margin-bottom: 14px;
}

.pricing-section_price__daUJK {
  font-family: var(--font-heading);
  font-size: 48px;
  font-weight: 500;
  color: var(--c-light-head);
  line-height: 1;
}

.pricing-section_priceUnit__xjg9j {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 300;
  color: var(--c-light-mute);
}

.pricing-section_annualLine__e5nju {
  font-size: 13px;
  color: var(--c-light-mute);
  margin: 8px 0 22px;
}

/* Forest pill, not the mockup's gold: gold is banned on light surfaces.
   white-space normal so the label wraps instead of overflowing at 360px. */
.pricing-section_cta__OI_lY {
  width: 100%;
  justify-content: center;
  font-size: 15px;
  padding-left: 20px;
  padding-right: 20px;
  white-space: normal;
  text-align: center;
}

.pricing-section_ctaSub__yY5NC {
  font-size: 12.5px;
  color: var(--c-light-mute);
  margin-top: 10px;
}

.pricing-section_rule__MhMpU {
  border: none;
  border-top: 1px solid rgba(85, 111, 36, 0.14);
  margin: 24px 0 18px;
}

.pricing-section_fine__9ue25 {
  text-align: left;
}

.pricing-section_fineLine__Etx45 {
  font-size: 13.5px;
  line-height: 1.7;
  margin-bottom: 8px;
  color: var(--c-light-body);
  /* Short block: balance the line lengths. */
  text-wrap: balance;
}

.pricing-section_fineLine__Etx45 strong {
  font-weight: 500;
  color: var(--c-light-head);
}

.pricing-section_mission__Lyldl {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--c-green-dark);
  margin-top: 16px;
}

/* Download teasers. Plain divs, never links: the files are members-only in
   a private bucket, so there is no hover lift and no link affordance. */
.pricing-section_downloadsWrap__pkFfC {
  max-width: 900px;
  margin: 44px auto 0;
  padding: 0 32px;
}

.pricing-section_downloadsInner__ip47p {
  border-top: 1px solid rgba(85, 111, 36, 0.18);
  padding-top: 26px;
}

.pricing-section_downloadsLabel__Yird6 {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-wood-oak);
  text-align: center;
  margin-bottom: 18px;
}

.pricing-section_downloadsGrid__8o5x5 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 14px;
  max-width: 760px;
  margin: 0 auto;
}

.pricing-section_downloadCard__sSJ1i {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border: 1px solid rgba(85, 111, 36, 0.22);
  border-radius: 12px;
  padding: 12px 18px 12px 14px;
  box-shadow: 0 10px 22px -16px rgba(27, 15, 51, 0.3);
  color: var(--c-light-head);
}

.pricing-section_downloadIcon__yn8Ab {
  color: var(--c-wood-oak);
  flex-shrink: 0;
}

.pricing-section_downloadText__88nPG {
  min-width: 0;
}

.pricing-section_downloadTitle__scg4z {
  display: block;
  font-family: var(--font-heading);
  font-size: 14.5px;
  line-height: 1.3;
}

.pricing-section_downloadMeta__nALbN {
  display: block;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  color: var(--c-light-mute);
  margin-top: 2px;
}

/* Where the design had a download arrow: a membership tag instead. */
.pricing-section_downloadTag__PKG6G {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 8.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.5;
  color: var(--c-green-dark);
  text-align: right;
  max-width: 96px;
}

/* Tighter card padding on narrow phones so the pill label has room. */
@media (max-width: 420px) {
  .pricing-section_card__S1_v2 {
    padding: 28px 22px 24px;
  }
}

/*
 * Landing page shell. The heavy lifting lives in the per-section modules under
 * components/marketing/landing/; this file only anchors the page container.
 * (The previous 1470-line single-module layout was retired with the 2026-08
 * redesign.)
 */

.page_page__duJP_ {
  position: relative;
  /* Widow/orphan control for the whole landing, inherited by every section.
   * `pretty` keeps a last line from stranding a single word, which is the
   * failure this page kept hitting ("...no pitch at the | end."). Carried over
   * from the pre-redesign page module, which set the same pair. */
  text-wrap: pretty;
}

/* Headings balance instead: even line lengths read better than one long line
 * plus a short one, and it fixes "Nari hands you a | resume." Browsers cap
 * balancing at a handful of lines, so this is safe on the clamped hero h1. */
.page_page__duJP_ h1,
.page_page__duJP_ h2,
.page_page__duJP_ h3 {
  text-wrap: balance;
}

