:root {
  --ink: #202422;
  --ink-soft: #424945;
  --paper: #f5f1e8;
  --white: #fffefd;
  --mist: #e5e0d6;
  --sea: #c8beb0;
  --gold: #a6885d;
  --gold-light: #dfd0b7;
  --line: rgba(16, 35, 33, 0.18);
  --serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sans: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --page: min(1280px, calc(100vw - 72px));
  --section-space: clamp(92px, 11vw, 170px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body.nav-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.skip-link {
  position: fixed;
  top: -100px;
  left: 18px;
  z-index: 100;
  padding: 12px 18px;
  background: var(--white);
  color: var(--ink);
}
.skip-link:focus { top: 18px; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  width: 100%;
  min-height: 88px;
  padding: 14px max(36px, calc((100vw - 1440px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  background: rgba(247, 245, 239, 0.93);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(18px);
  transition: border-color 180ms ease, min-height 180ms ease;
}
.site-header.scrolled { min-height: 72px; border-color: var(--line); }
.wordmark {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
  font-family: var(--serif);
  line-height: 0.82;
  white-space: nowrap;
}
.wordmark span { font-size: 30px; letter-spacing: -0.04em; }
.wordmark small {
  margin: 9px 0 0 29px;
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}
.site-nav { display: flex; align-items: center; gap: clamp(18px, 2.2vw, 38px); }
.site-nav a {
  position: relative;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.055em;
}
.site-nav a:not(.nav-cta)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.nav-cta {
  padding: 12px 18px;
  border: 1px solid var(--ink);
  text-transform: uppercase;
}
.menu-toggle { display: none; }

.hero {
  width: var(--page);
  min-height: min(820px, calc(100vh - 88px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(380px, 0.82fr) minmax(520px, 1.18fr);
  align-items: stretch;
}
.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(70px, 8vw, 130px) clamp(40px, 6vw, 100px) clamp(70px, 8vw, 130px) 0;
}
.eyebrow, .section-number, .card-label {
  margin: 0 0 22px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-transform: uppercase;
}
.section-number { color: var(--ink-soft); }
h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: 400; line-height: 1.02; }
h1 { font-size: clamp(58px, 6.6vw, 106px); letter-spacing: -0.055em; }
h2 { font-size: clamp(48px, 5.5vw, 86px); letter-spacing: -0.045em; }
h3 { font-size: clamp(29px, 2.5vw, 42px); letter-spacing: -0.03em; }
.hero-lede { max-width: 600px; margin: 38px 0; color: var(--ink-soft); font-size: clamp(18px, 1.4vw, 22px); }
.hero-actions { display: flex; align-items: center; gap: 30px; flex-wrap: wrap; }
.hero-support { max-width: 520px; margin: 30px 0 0; color: #657875; font-family: var(--serif); font-size: 19px; font-style: italic; }
.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border: 1px solid currentColor;
  text-decoration: none;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: var(--white); border-color: var(--ink); }
.button-dark:hover, .button-dark:focus-visible { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.button-light { background: var(--white); color: var(--ink); border-color: var(--white); }
.button-light:hover, .button-light:focus-visible { background: transparent; color: var(--white); }
.button-gold { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.button-gold:hover, .button-gold:focus-visible { background: var(--white); border-color: var(--white); }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 3px;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
}
.text-link span { transition: transform 160ms ease; }
.text-link:hover span { transform: translate(3px, 3px); }
.text-link-light { color: var(--white); }
.hero-image { position: relative; margin: 0; overflow: hidden; min-height: 680px; }
.hero-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(16,35,33,.1), transparent 35%), linear-gradient(0deg, rgba(16,35,33,.18), transparent 35%);
}
.hero-image img { height: 100%; object-fit: cover; object-position: 50% 40%; }
.hero-image figcaption {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 20px;
  color: var(--white);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.values-band {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: #0a0a09;
  color: var(--white);
}
.values-band span {
  padding: 24px 28px;
  border-right: 1px solid rgba(255,255,255,.18);
  text-align: center;
  font-family: var(--serif);
  font-size: clamp(18px, 2vw, 27px);
}
.values-band span:last-child { border-right: 0; }

.rebuild-results { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px, 8vw, 120px); align-items: start; }
.results-heading { position: sticky; top: 130px; }
.results-heading > p:last-child { max-width: 600px; margin: 30px 0 0; color: var(--ink-soft); font-size: 19px; }
.deliverable-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.deliverable-card { min-height: 345px; padding: clamp(28px, 3vw, 44px); display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--line); }
.deliverable-card > span { margin-bottom: 46px; color: #70807e; font-size: 10px; font-weight: 750; letter-spacing: .16em; }
.deliverable-card h3 { font-size: clamp(28px, 2.4vw, 38px); }
.deliverable-card > p { margin: 18px 0 30px; color: var(--ink-soft); font-size: 14px; line-height: 1.6; }
.deliverable-card-dark { background: var(--ink); color: var(--white); }
.deliverable-card-dark > span, .deliverable-card-dark > p { color: rgba(255,255,255,.68); }
.mini-bars, .mini-fields, .mini-week, .mini-goal, .mini-score, .mini-roadmap { margin-top: auto; }
.mini-bars { display: grid; gap: 9px; }
.mini-bars i { display: block; width: 100%; height: 7px; background: rgba(16,35,33,.1); }
.mini-bars i::after { content: ""; display: block; width: var(--score); height: 100%; background: var(--gold); }
.mini-fields { display: grid; gap: 10px; }
.mini-fields i { height: 24px; border-bottom: 1px solid var(--line); }
.mini-week { display: grid; grid-template-columns: 45px 1fr; gap: 9px 16px; align-items: center; }
.mini-week b { color: var(--gold); font-size: 9px; letter-spacing: .12em; }
.mini-week em { padding-bottom: 7px; border-bottom: 1px solid var(--line); font-size: 12px; font-style: normal; }
.mini-goal { display: flex; gap: 8px; }
.mini-goal i { width: 34px; height: 34px; border: 1px solid var(--line); }
.mini-goal i:nth-child(-n+3) { background: var(--mist); }
.mini-score { display: grid; grid-template-columns: 48px 1fr; gap: 9px 12px; align-items: center; }
.mini-score small { font-size: 9px; text-transform: uppercase; }
.mini-score i { height: 7px; background: var(--mist); }
.mini-score i:last-child { width: 82%; background: var(--gold); }
.mini-roadmap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.mini-roadmap i { height: 48px; border: 1px solid rgba(255,255,255,.25); }
.mini-roadmap i:nth-child(2) { border-color: var(--gold); }

.offer-lanes { display: grid; grid-template-columns: .8fr 1fr 1fr; background: var(--mist); }
.offer-lanes-heading, .offer-lane { min-height: 460px; padding: clamp(38px, 5vw, 72px); }
.offer-lanes-heading { display: flex; flex-direction: column; justify-content: center; }
.offer-lanes-heading h2 { font-size: clamp(42px, 4.5vw, 68px); }
.offer-lane { display: flex; flex-direction: column; justify-content: flex-end; border-left: 1px solid rgba(16,35,33,.17); }
.offer-lane h3 { font-size: clamp(32px, 3vw, 48px); }
.offer-lane > p:not(.card-label) { margin: 24px 0 30px; color: var(--ink-soft); }
.offer-lane .text-link { align-self: flex-start; }
.offer-lane-dark { background: var(--ink); color: var(--white); }
.offer-lane-dark .card-label { color: var(--gold-light); }
.offer-lane-dark > p:not(.card-label) { color: rgba(255,255,255,.72); }

.section { width: var(--page); margin: 0 auto; padding-top: var(--section-space); padding-bottom: var(--section-space); }
.intro-video { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(420px, 1fr); gap: clamp(60px, 10vw, 150px); align-items: center; }
.video-frame { position: relative; width: min(100%, 560px); aspect-ratio: 3 / 2; margin-inline: auto; overflow: hidden; background: var(--ink); color: var(--white); }
.video-frame video { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--ink); }
.video-frame img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center 42%; }
.video-shade { position: absolute; inset: 0; background: linear-gradient(rgba(16,35,33,.04), rgba(16,35,33,.42)); }
.video-play {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.video-play span {
  width: 0;
  height: 0;
  margin-left: 7px;
  border-top: 11px solid transparent;
  border-bottom: 11px solid transparent;
  border-left: 17px solid var(--white);
}
.video-frame > p {
  position: absolute;
  left: 24px;
  bottom: 18px;
  margin: 0;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.video-copy > p:not(.section-number):not(.eyebrow) { margin: 30px 0; color: var(--ink-soft); font-size: 19px; }
.free-reset {
  width: 100%;
  padding: clamp(84px, 10vw, 150px) max(36px, calc((100vw - 1280px) / 2));
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(480px, 1.18fr);
  gap: clamp(60px, 10vw, 150px);
  align-items: center;
  overflow: hidden;
  background: var(--ink);
  color: var(--white);
}
.reset-preview { position: relative; width: min(100%, 430px); aspect-ratio: 8.5 / 11; margin-inline: auto; }
.reset-page { position: absolute; inset: 0; border: 1px solid rgba(234,217,184,.36); }
.reset-page-back { transform: rotate(-4deg) translate(-11px, 3px); background: #242321; }
.reset-page-front { padding: clamp(28px, 4vw, 50px); overflow: hidden; background: #0a0a09; box-shadow: 0 28px 70px rgba(0,0,0,.34); }
.reset-brand { font-family: var(--serif); font-size: 18px; font-weight: 700; letter-spacing: -.03em; }
.reset-brand span { margin-left: 5px; color: var(--gold); font-family: var(--sans); font-size: 6px; letter-spacing: .14em; }
.reset-page-front > p { margin: clamp(48px, 7vw, 90px) 0 20px; color: var(--gold-light); font-size: 9px; font-weight: 700; letter-spacing: .16em; line-height: 1.5; }
.reset-page-front h2 { max-width: 330px; font-size: clamp(40px, 4.5vw, 62px); }
.reset-page-front small { display: block; margin-top: 26px; color: rgba(255,255,255,.67); font-size: 11px; line-height: 1.55; }
.reset-orbit { position: absolute; right: -12px; bottom: -20px; width: 150px; height: 150px; border: 1px solid var(--gold); border-radius: 50%; }
.reset-orbit::before, .reset-orbit::after, .reset-orbit span { content: ""; position: absolute; inset: 24px; border: 1px solid var(--gold); border-radius: 50%; }
.reset-orbit::after { inset: 50% -8px auto; height: 1px; border: 0; border-top: 1px solid var(--gold); border-radius: 0; }
.reset-orbit span { inset: -8px 50% -8px auto; width: 1px; border: 0; border-left: 1px solid var(--gold); border-radius: 0; }
.reset-copy .eyebrow { color: var(--gold-light); }
.reset-copy h2 { max-width: 690px; }
.reset-copy > p:not(.eyebrow):not(.reset-note) { max-width: 650px; margin: 32px 0; color: rgba(255,255,255,.74); font-size: 19px; }
.reset-includes { max-width: 660px; margin: 34px 0 40px; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.2); }
.reset-includes span { padding: 16px 14px 16px 0; border-bottom: 1px solid rgba(255,255,255,.2); color: var(--white); font-size: 13px; }
.reset-includes span:nth-child(even) { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.2); }
.reset-note { margin: 18px 0 0; color: rgba(255,255,255,.52); font-size: 11px; letter-spacing: .04em; }
.statement { display: grid; grid-template-columns: 0.65fr 1.8fr; gap: clamp(40px, 9vw, 150px); align-items: start; }
.statement h2 { max-width: 920px; }
.statement > div > p { max-width: 810px; margin: 34px 0 0; font-size: clamp(19px, 1.6vw, 24px); color: var(--ink-soft); }
.pillars {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--mist);
}
.pillars article { min-height: 330px; padding: clamp(30px, 4vw, 62px); border-right: 1px solid rgba(16,35,33,.16); }
.pillars article:last-child { border-right: 0; }
.pillars article > span { display: block; margin-bottom: 70px; font-size: 10px; font-weight: 750; letter-spacing: .14em; }
.pillars h3 { font-size: clamp(27px, 2.4vw, 40px); }
.pillars p { margin: 18px 0 0; color: var(--ink-soft); font-size: 15px; }
.section-heading { max-width: 820px; margin-bottom: clamp(54px, 7vw, 92px); }
.section-heading > p:last-child { max-width: 680px; margin: 28px 0 0; color: var(--ink-soft); font-size: 19px; }

.paths { border-top: 1px solid var(--line); }
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.path-card { background: var(--white); }
.path-image { height: clamp(360px, 39vw, 560px); overflow: hidden; }
.path-image img { height: 100%; object-fit: cover; object-position: center 35%; transition: transform 700ms cubic-bezier(.2,.7,.2,1); }
.path-image-landscape img { object-position: 52% center; }
.path-image-book { display: grid; place-items: center; padding: clamp(24px, 3vw, 44px); }
.path-image-book img { width: auto; max-width: 100%; height: 100%; object-fit: contain; object-position: center; filter: drop-shadow(0 18px 24px rgba(0,0,0,.2)); }
.path-image-workbook { background: #151411; }
.path-image-kitchen { background: #e8e1d5; }
.path-card:hover img { transform: scale(1.025); }
.path-copy { padding: 36px 30px 40px; }
.path-copy .card-label { margin-bottom: 14px; color: #627673; }
.path-copy h3 { min-height: 2.05em; font-size: clamp(28px, 2.1vw, 38px); }
.path-copy p:not(.card-label) { min-height: 5.1em; margin: 20px 0; color: var(--ink-soft); }

.quiz-section {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(60px, 10vw, 150px);
  align-items: start;
  border-top: 1px solid var(--line);
}
.quiz-intro { position: sticky; top: 130px; }
.quiz-intro > p:not(.section-number):not(.eyebrow):not(.quiz-note) { max-width: 650px; margin: 30px 0 18px; color: var(--ink-soft); font-size: 19px; }
.quiz-note { margin: 0; color: #657875; font-size: 12px; }
.quiz-shell { min-height: 620px; padding: clamp(38px, 6vw, 80px); display: grid; align-items: center; background: var(--white); border: 1px solid var(--line); }
.quiz-shell [hidden] { display: none !important; }
.quiz-start, .quiz-result { text-align: center; }
.quiz-start { position: relative; min-height: 460px; padding: 42px 28px; display: grid; place-content: center; overflow: hidden; isolation: isolate; }
.quiz-start::after { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255,255,255,.78); }
.quiz-start-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .28; filter: grayscale(1); }
.quiz-mark { width: 92px; height: 92px; margin: 0 auto 36px; display: grid; place-items: center; border: 1px solid var(--ink); border-radius: 50%; font-family: var(--serif); font-size: 46px; }
.quiz-start > p { max-width: 430px; margin: 0 auto 34px; color: var(--ink-soft); font-family: var(--serif); font-size: 27px; line-height: 1.35; }
.quiz-progress-row { margin-bottom: 54px; }
.quiz-progress-row > span { display: block; margin-bottom: 12px; color: #657875; font-size: 10px; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.quiz-progress { width: 100%; height: 2px; overflow: hidden; background: rgba(16,35,33,.12); }
.quiz-progress span { display: block; width: 20%; height: 100%; background: var(--gold); transition: width 240ms ease; }
.quiz-stage h3 { margin-bottom: 38px; font-size: clamp(32px, 3vw, 48px); }
.quiz-options { display: grid; gap: 10px; }
.quiz-option {
  width: 100%;
  padding: 17px 18px;
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.4;
  text-align: left;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.quiz-option:hover, .quiz-option:focus-visible { background: var(--mist); border-color: var(--ink); transform: translateX(4px); }
.quiz-result .card-label { color: #657875; }
.quiz-result h3 { margin: 18px 0 24px; font-size: clamp(40px, 4vw, 62px); }
.quiz-result > p:not(.card-label) { max-width: 520px; margin: 0 auto 34px; color: var(--ink-soft); }
.quiz-restart { display: block; margin: 22px auto 0; padding: 8px; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--ink-soft); cursor: pointer; font: 650 12px var(--sans); }

.section-dark {
  width: 100%;
  padding-left: max(36px, calc((100vw - 1280px) / 2));
  padding-right: max(36px, calc((100vw - 1280px) / 2));
  background: var(--ink);
  color: var(--white);
}
.coaching-intro { display: grid; grid-template-columns: 0.7fr 1.35fr; column-gap: clamp(40px, 8vw, 140px); align-items: start; }
.coaching-intro .section-number { grid-row: span 4; color: var(--gold-light); }
.coaching-intro .eyebrow { color: var(--gold-light); }
.coaching-intro > p:not(.eyebrow):not(.section-number):not(.availability) { max-width: 660px; margin: 30px 0 0; color: rgba(255,255,255,.74); font-size: 19px; }
.availability { margin: 28px 0 0; color: var(--gold-light); font-size: 12px; font-weight: 700; letter-spacing: .11em; line-height: 1.7; text-transform: uppercase; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: clamp(70px, 9vw, 120px); background: rgba(255,255,255,.22); }
.price-card {
  position: relative;
  min-height: 640px;
  padding: clamp(32px, 3.5vw, 52px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 34px;
  background: var(--ink);
}
.price-card-featured { background: #1b3531; }
.featured-label {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 8px;
  background: var(--gold);
  color: var(--ink);
  text-align: center;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.price-card-featured > div:first-of-type { margin-top: 18px; }
.price-card .card-label { color: var(--gold-light); }
.price-card h3 { min-height: 2em; font-size: clamp(30px, 2.4vw, 40px); }
.price { margin: 36px 0 0; font-family: var(--serif); font-size: clamp(60px, 6vw, 88px); line-height: 1; }
.price span { margin-right: 4px; font-family: var(--sans); font-size: 21px; vertical-align: top; }
.price-sale { display: flex; align-items: baseline; gap: 18px; }
.price-sale del { color: rgba(255,255,255,.46); font-family: var(--sans); font-size: 24px; text-decoration-thickness: 1px; }
.price-sale strong { color: var(--gold-light); font: inherit; font-weight: 400; }
.price-note { margin: 8px 0 0; color: rgba(255,255,255,.64); font-size: 13px; }
.price-card ul, .editorial-list { margin: 0; padding: 0; list-style: none; }
.price-card li { padding: 13px 0; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.76); font-size: 14px; }
.price-card li:last-child { border-bottom: 1px solid rgba(255,255,255,.15); }
.program-details { margin-top: clamp(72px, 10vw, 140px); display: grid; gap: 2px; }
.program-detail {
  padding: clamp(38px, 6vw, 84px);
  background: #152c29;
  border: 1px solid rgba(255,255,255,.16);
}
.program-detail-featured { background: #1b3531; border-color: rgba(200,164,106,.5); }
.program-detail-heading { max-width: 920px; }
.program-detail .card-label { color: var(--gold-light); }
.program-detail h3 { max-width: 820px; margin: 16px 0 28px; font-size: clamp(42px, 5vw, 70px); }
.program-detail-heading > p:not(.card-label) { max-width: 850px; margin: 18px 0 0; color: rgba(255,255,255,.7); font-size: 17px; }
.program-detail-heading .program-lede { color: var(--white) !important; font-family: var(--serif); font-size: clamp(24px, 2.6vw, 34px) !important; line-height: 1.35; }
.program-detail-columns { margin-top: clamp(48px, 7vw, 82px); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(42px, 7vw, 100px); }
.program-detail h4 { margin: 0 0 24px; color: var(--gold-light); font-size: 12px; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.program-list, .program-phases { margin: 0; padding: 0; list-style: none; }
.program-list li { position: relative; padding: 11px 0 11px 24px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.78); font-size: 14px; }
.program-list li:last-child { border-bottom: 1px solid rgba(255,255,255,.14); }
.program-list li::before { content: "—"; position: absolute; left: 0; color: var(--gold); }
.program-phases { counter-reset: phase; }
.program-phases li { padding: 0 0 28px 52px; position: relative; counter-increment: phase; }
.program-phases li::before {
  content: "0" counter(phase);
  position: absolute;
  top: 2px;
  left: 0;
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .12em;
}
.program-phases strong, .program-phases span { display: block; }
.program-phases strong { margin-bottom: 7px; font-family: var(--serif); font-size: 24px; font-weight: 400; }
.program-phases span { color: rgba(255,255,255,.68); font-size: 14px; }
.best-for { margin-top: 16px; padding: 28px; border: 1px solid rgba(200,164,106,.38); }
.best-for h4 { margin-bottom: 14px; }
.best-for p { margin: 0; color: rgba(255,255,255,.76); font-size: 14px; }
.application { margin-top: clamp(72px, 10vw, 140px); padding: clamp(38px, 6vw, 84px); display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(48px, 8vw, 110px); background: var(--white); color: var(--ink); }
.application-intro .card-label { color: #657875; }
.application-intro > p:not(.card-label):not(.application-privacy) { margin: 28px 0; color: var(--ink-soft); font-size: 17px; }
.application-privacy { padding-top: 20px; border-top: 1px solid var(--line); color: #657875; font-size: 11px; }
.application-form { display: grid; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.application-form label { display: grid; gap: 8px; color: var(--ink-soft); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.application-form input, .application-form select, .application-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 0; background: var(--paper); color: var(--ink); font: 15px/1.5 var(--sans); text-transform: none; }
.application-form input, .application-form select { min-height: 52px; padding: 12px 14px; }
.application-form textarea { min-height: 118px; padding: 14px; resize: vertical; }
.application-form input:focus, .application-form select:focus, .application-form textarea:focus { outline: 2px solid var(--gold); outline-offset: 1px; }
.application-form .button { justify-self: start; cursor: pointer; }
.form-status { min-height: 1.5em; margin: -8px 0 0; color: #657875; font-size: 12px; }
.method { display: grid; grid-template-columns: .9fr 1.3fr; gap: clamp(60px, 10vw, 160px); }
.method .section-heading { position: sticky; top: 130px; align-self: start; }
.method-list { margin: 0; padding: 0; list-style: none; }
.method-list li { padding: 34px 0; display: grid; grid-template-columns: 55px 1fr; gap: 26px; border-top: 1px solid var(--line); }
.method-list li:last-child { border-bottom: 1px solid var(--line); }
.method-list li > span { color: #71817f; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.method-list h3 { font-size: 36px; }
.method-list p { margin: 12px 0 0; color: var(--ink-soft); }

.resources-heading { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(44px, 9vw, 140px); align-items: start; border-top: 1px solid var(--line); padding-bottom: 0; }
.resources-heading > div > p:last-child { max-width: 720px; margin: 30px 0 0; color: var(--ink-soft); font-size: 19px; }

.product { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(60px, 10vw, 150px); align-items: center; border-top: 1px solid var(--line); }
.product-image { position: relative; margin: 0; height: min(760px, 75vw); overflow: hidden; background: var(--mist); }
.product-image img { height: 100%; object-fit: cover; object-position: center; }
.product-cover { padding: clamp(26px, 4vw, 56px); background: #151411; }
.product-cover img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 22px 30px rgba(0,0,0,.28)); }
.image-note {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 12px 18px;
  background: rgba(247,245,239,.94);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .14em;
  text-align: center;
  text-transform: uppercase;
}
.product-copy > p:not(.section-number):not(.eyebrow) { margin: 30px 0; color: var(--ink-soft); font-size: 19px; }
.editorial-list { margin-bottom: 34px; }
.editorial-list li { padding: 13px 0 13px 26px; border-top: 1px solid var(--line); position: relative; font-size: 15px; }
.editorial-list li:last-child { border-bottom: 1px solid var(--line); }
.editorial-list li::before { content: "—"; position: absolute; left: 0; color: var(--gold); }
.product-price { margin: 0 0 28px; display: flex; justify-content: space-between; align-items: end; }
.product-price span { font-size: 12px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.product-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.product-price strong { font-family: var(--serif); font-size: 46px; font-weight: 400; line-height: 1; }

.kitchen { width: 100%; padding: 0; display: grid; grid-template-columns: 1fr 1fr; background: var(--gold-light); }
.kitchen-copy { padding: var(--section-space) max(36px, calc((100vw - 1280px) / 2)); padding-right: clamp(50px, 8vw, 140px); }
.kitchen-copy > p:not(.section-number):not(.eyebrow) { max-width: 700px; margin: 30px 0; color: var(--ink-soft); font-size: 19px; }
.format-prices { margin: 36px 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(16,35,33,.28); border-bottom: 1px solid rgba(16,35,33,.28); }
.format-prices div { padding: 20px 20px 20px 0; display: flex; flex-direction: column; gap: 4px; }
.format-prices div + div { padding-left: 24px; border-left: 1px solid rgba(16,35,33,.28); }
.format-prices span { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.format-prices strong { font-family: var(--serif); font-size: 34px; font-weight: 400; }
.kitchen-image { min-height: 760px; margin: 0; overflow: hidden; }
.kitchen-image img { height: 100%; object-fit: cover; object-position: 55% center; }
.cookbook-cover { padding: clamp(36px, 5vw, 76px); display: grid; place-items: center; background: #f7f2e9; }
.cookbook-cover img { width: auto; max-width: 100%; height: 100%; object-fit: contain; object-position: center; filter: drop-shadow(0 22px 34px rgba(16,35,33,.2)); }

.section-blue {
  width: 100%;
  padding-left: max(36px, calc((100vw - 1280px) / 2));
  padding-right: max(36px, calc((100vw - 1280px) / 2));
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(60px, 10vw, 150px);
  align-items: center;
  background: var(--mist);
}
.about-image { height: 710px; margin: 0; overflow: hidden; }
.about-image img { height: 100%; object-fit: cover; object-position: center 45%; }
.about-copy > p:not(.section-number):not(.eyebrow):not(.signature) { max-width: 690px; margin: 28px 0; color: var(--ink-soft); font-size: 19px; }
.signature { margin: 30px 0 0; color: var(--gold); font-family: var(--serif); font-size: 56px; font-style: italic; line-height: 1; }

.faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(50px, 9vw, 140px); }
.faq .section-heading { margin-bottom: 0; }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary {
  padding: 28px 44px 28px 0;
  position: relative;
  cursor: pointer;
  list-style: none;
  font-family: var(--serif);
  font-size: clamp(23px, 2vw, 31px);
  line-height: 1.2;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 0; top: 25px; font-family: var(--sans); font-size: 24px; font-weight: 300; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 50px 30px 0; color: var(--ink-soft); }

.connect { position: relative; min-height: 760px; display: grid; place-items: center; overflow: hidden; color: var(--white); }
.connect > img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center 60%; }
.connect-overlay { position: absolute; inset: 0; background: linear-gradient(rgba(16,35,33,.3), rgba(16,35,33,.68)); }
.connect-copy { position: relative; z-index: 2; width: min(880px, calc(100vw - 48px)); text-align: center; }
.connect-copy h2 { font-size: clamp(56px, 7vw, 104px); }
.connect-copy p:not(.eyebrow) { max-width: 700px; margin: 30px auto 38px; font-size: 19px; }
.connect-copy .text-link { display: table; margin: 24px auto 0; }

.site-footer {
  padding: 72px max(36px, calc((100vw - 1280px) / 2)) 32px;
  display: grid;
  grid-template-columns: .7fr 1fr .7fr;
  gap: 40px;
  align-items: start;
  background: var(--ink);
  color: var(--white);
}
.wordmark-footer { color: var(--white); }
.site-footer > p { margin: 0; color: rgba(255,255,255,.65); font-family: var(--serif); font-size: 20px; }
.footer-links { display: flex; flex-direction: column; align-items: flex-end; gap: 9px; }
.footer-links a { font-size: 12px; font-weight: 650; letter-spacing: .08em; text-underline-offset: 4px; }
.copyright { grid-column: 1 / -1; padding-top: 36px; border-top: 1px solid rgba(255,255,255,.15); font-family: var(--sans) !important; font-size: 10px !important; letter-spacing: .12em; text-transform: uppercase; }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity 650ms ease, transform 650ms ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1080px) {
  :root { --page: min(100% - 48px, 980px); }
  .site-header { padding-inline: 24px; }
  .site-nav { gap: 18px; }
  .site-nav a { font-size: 11px; }
  .hero { grid-template-columns: .85fr 1.15fr; }
  .hero-copy { padding-right: 36px; }
  .offer-lanes { grid-template-columns: 1fr 1fr; }
  .offer-lanes-heading { grid-column: 1 / -1; min-height: auto; }
  .path-grid { grid-template-columns: 1fr 1fr; }
  .path-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .path-card:last-child .path-image { height: 100%; min-height: 430px; }
  .pillars { grid-template-columns: 1fr 1fr; }
  .pillars article:nth-child(2) { border-right: 0; }
  .pillars article:nth-child(-n+2) { border-bottom: 1px solid rgba(16,35,33,.16); }
  .pricing-grid { grid-template-columns: 1fr; }
  .price-card { min-height: auto; display: grid; grid-template-columns: 1.1fr 1fr; align-items: end; }
  .price-card .button { grid-column: 1 / -1; }
  .featured-label { right: auto; padding-inline: 18px; }
  .program-detail-columns { gap: 48px; }
  .kitchen { grid-template-columns: 1.1fr .9fr; }
  .kitchen-copy { padding-left: 48px; padding-right: 48px; }
  .section-blue { padding-inline: 48px; }
}

@media (max-width: 780px) {
  :root { --page: calc(100% - 32px); --section-space: 88px; }
  body { font-size: 16px; }
  .site-header { min-height: 72px; }
  .wordmark span { font-size: 27px; }
  .menu-toggle {
    position: relative;
    z-index: 52;
    width: 44px;
    height: 44px;
    padding: 0;
    display: grid;
    place-content: center;
    gap: 7px;
    border: 0;
    background: transparent;
  }
  .menu-toggle span:not(.sr-only) { display: block; width: 25px; height: 1px; background: var(--ink); transition: transform 180ms ease; }
  .nav-open .menu-toggle span:first-child { transform: translateY(4px) rotate(45deg); }
  .nav-open .menu-toggle span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }
  .site-nav {
    position: fixed;
    inset: 0;
    z-index: 50;
    padding: 110px 30px 40px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    background: var(--paper);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
  }
  .nav-open .site-nav { opacity: 1; pointer-events: auto; }
  .site-nav a { font-family: var(--serif); font-size: 34px; font-weight: 400; letter-spacing: -0.025em; }
  .site-nav .nav-cta { margin-top: 20px; padding: 13px 18px; font-family: var(--sans); font-size: 11px; }
  .hero { width: 100%; min-height: auto; display: flex; flex-direction: column; }
  .hero-copy { order: 2; padding: 58px 22px 70px; }
  .hero h1 { font-size: clamp(50px, 15vw, 72px); }
  .hero-lede { margin: 28px 0 34px; }
  .hero-image { min-height: 60vh; max-height: 660px; }
  .hero-image img { object-position: center 36%; }
  .values-band { grid-template-columns: 1fr; }
  .values-band span { padding: 13px 18px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); font-size: 18px; }
  .intro-video, .free-reset, .statement, .method, .product, .faq, .quiz-section, .rebuild-results, .application, .resources-heading { display: block; }
  .results-heading { position: static; margin-bottom: 48px; }
  .deliverable-grid { grid-template-columns: 1fr; }
  .deliverable-card { min-height: 300px; }
  .offer-lanes { display: block; }
  .offer-lanes-heading, .offer-lane { min-height: auto; padding: 62px 24px; }
  .offer-lane { border-top: 1px solid rgba(16,35,33,.17); border-left: 0; }
  .video-frame { width: min(100%, 420px); min-height: 0; margin-bottom: 58px; }
  .reset-preview { margin-bottom: 72px; }
  .statement .section-number { margin-bottom: 44px; }
  .section-heading { margin-bottom: 48px; }
  .path-grid { grid-template-columns: 1fr; }
  .path-card:last-child { grid-column: auto; display: block; }
  .path-image, .path-card:last-child .path-image { height: 480px; min-height: 0; }
  .path-copy h3, .path-copy p:not(.card-label) { min-height: auto; }
  .pillars { grid-template-columns: 1fr; }
  .pillars article { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(16,35,33,.16); }
  .pillars article > span { margin-bottom: 42px; }
  .quiz-intro { position: static; margin-bottom: 48px; }
  .quiz-shell { min-height: 590px; padding: 38px 24px; }
  .quiz-start { min-height: 510px; padding-inline: 18px; }
  .coaching-intro { display: block; }
  .coaching-intro .section-number { margin-bottom: 44px; }
  .price-card { min-height: 590px; display: flex; }
  .program-detail { padding: 42px 24px; }
  .program-detail-columns { grid-template-columns: 1fr; }
  .program-detail h3 { font-size: 44px; }
  .application-intro { margin-bottom: 46px; }
  .form-row { grid-template-columns: 1fr; }
  .method .section-heading { position: static; }
  .method-list li { grid-template-columns: 42px 1fr; gap: 18px; }
  .product-image { height: 650px; margin-bottom: 58px; }
  .product-cover { padding: 34px; }
  .product-copy h2 { font-size: 54px; }
  .kitchen { display: flex; flex-direction: column; }
  .kitchen-copy { padding: 88px 22px; }
  .kitchen-image { min-height: 540px; order: -1; }
  .cookbook-cover { padding: 34px; }
  .section-blue { padding-inline: 22px; display: flex; flex-direction: column; align-items: stretch; }
  .about-image { height: 620px; }
  .about-copy h2 { font-size: 54px; }
  .faq .section-heading { margin-bottom: 50px; }
  .connect { min-height: 680px; }
  .connect > img { object-position: 50% center; }
  .site-footer { grid-template-columns: 1fr; padding-inline: 22px; }
  .footer-links { align-items: flex-start; }
}

@media (max-width: 480px) {
  h2 { font-size: 47px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .video-frame { min-height: 0; }
  .free-reset { padding-inline: 22px; }
  .reset-includes { grid-template-columns: 1fr; }
  .reset-includes span:nth-child(even) { padding-left: 0; border-left: 0; }
  .path-image, .path-card:last-child .path-image { height: 410px; }
  .product-image { height: 560px; }
  .about-image { height: 550px; }
  .format-prices { grid-template-columns: 1fr; }
  .format-prices div + div { padding-left: 0; border-top: 1px solid rgba(16,35,33,.28); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Concise editorial Rebuild pages */
.site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.premium-hero { grid-template-columns: minmax(500px,1.1fr) minmax(360px,.72fr); gap: clamp(42px,6vw,92px); min-height: auto; padding-block: clamp(54px,7vw,98px); }
.premium-hero .hero-copy { padding: 0; }
.premium-hero .hero-image { width: min(100%,500px); height: min(660px,calc(100vh - 160px)); min-height: 560px; justify-self: end; background: #ded8cd; }
.premium-hero .hero-image img { object-position: 50% 34%; }
.premium-hero .hero-image figcaption { writing-mode: initial; right: 18px; bottom: 14px; }
.compact-results,.rhythm-section { display:grid; grid-template-columns:.78fr 1.22fr; gap:clamp(50px,8vw,120px); align-items:start; }
.compact-heading h2 { font-size:clamp(44px,4.6vw,72px); }
.compact-heading>p:last-child { max-width:620px; margin:28px 0 0; color:var(--ink-soft); font-size:18px; }
.outcome-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.outcome-list li { padding:24px 0; display:grid; grid-template-columns:54px 1fr; gap:22px; border-bottom:1px solid var(--line); align-items:baseline; }
.outcome-list span { color:var(--gold); font-size:11px; font-weight:750; letter-spacing:.15em; }
.outcome-list strong { font-family:var(--serif); font-size:clamp(24px,2.5vw,36px); font-weight:400; }
.choice-section { display:grid; grid-template-columns:.72fr 1fr 1fr; background:#ded8cd; }
.choice-heading,.program-summary { padding:clamp(42px,5.2vw,76px); }
.choice-heading { display:flex; flex-direction:column; justify-content:center; }
.choice-heading h2 { font-size:clamp(42px,4.3vw,67px); }
.program-summary { border-left:1px solid rgba(32,36,34,.18); }
.program-summary h3 { min-height:150px; font-size:clamp(31px,2.6vw,45px); }
.program-summary>p:not(.card-label) { margin:22px 0; color:var(--ink-soft); }
.program-summary-dark { background:var(--ink); color:var(--white); }
.program-summary-dark>p:not(.card-label),.program-summary-dark dd,.program-summary-dark span { color:rgba(255,255,255,.88); }
.program-summary .card-label { font-size:clamp(17px,1.35vw,22px); line-height:1.35; letter-spacing:.13em; }
.program-price { margin:28px 0; display:flex; flex-direction:column; border-top:1px solid currentColor; padding-top:20px; }
.program-price strong { font-family:var(--serif); font-size:46px; font-weight:400; line-height:1; }
.program-price span { font-size:12px; }
.program-summary dl { margin:30px 0; border-top:1px solid currentColor; }
.program-summary dl div { padding:18px 0; display:grid; grid-template-columns:104px 1fr; gap:22px; border-bottom:1px solid currentColor; }
.program-summary dt { font-size:10px; font-weight:750; letter-spacing:.13em; text-transform:uppercase; }
.program-summary dd { margin:0; color:var(--ink-soft); font-size:15px; line-height:1.55; }
.program-summary.program-summary-dark dd { color:#f5f3ee !important; opacity:1; }
.home-introduction { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(54px,8vw,120px); align-items:center; }
.home-video video { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; background:#0d1d1b; }
.home-introduction-copy>p:not(.eyebrow) { margin:28px 0 0; color:rgba(255,255,255,.74); font-size:18px; }
.consultation-preview { margin-top:42px; padding-top:30px; border-top:1px solid rgba(255,255,255,.25); }
.consultation-preview .card-label { color:var(--gold-light); }
.consultation-preview h3 { font-size:clamp(30px,3vw,44px); }
.consultation-preview p:not(.card-label) { max-width:560px; margin:18px 0 22px; color:rgba(255,255,255,.74); font-size:15px; }
.rhythm-grid { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); }
.rhythm-grid article { padding:clamp(34px,4vw,58px); }
.rhythm-grid article+article { border-left:1px solid var(--line); }
.rhythm-grid span { color:var(--gold); font-size:11px; font-weight:800; letter-spacing:.18em; }
.rhythm-grid h3 { margin-top:24px; }
.rhythm-grid p { margin:20px 0 0; color:var(--ink-soft); font-size:15px; }
.method-strip { padding:var(--section-space) max(36px,calc((100vw - 1280px)/2)); background:var(--ink); color:var(--white); }
.method-intro { max-width:820px; margin-bottom:70px; }
.method-intro .section-number { color:var(--gold-light); }
.method-steps { margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); list-style:none; border-top:1px solid rgba(255,255,255,.25); }
.method-steps li { padding:34px 30px 0 0; }
.method-steps li+li { padding-left:30px; border-left:1px solid rgba(255,255,255,.18); }
.method-steps span { color:var(--gold-light); font-size:11px; }
.method-steps h3 { margin:28px 0 16px; }
.method-steps p { color:rgba(255,255,255,.86); font-size:16px; line-height:1.65; }
.meet-section { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(50px,8vw,120px); align-items:center; }
.meet-image { height:590px; margin:0; overflow:hidden; }
.meet-image img { height:100%; object-fit:cover; object-position:50% 43%; }
.meet-copy p:not(.section-number) { max-width:700px; color:var(--ink-soft); font-size:18px; }
.meet-copy .text-link { color:var(--ink); }
.compact-faq { grid-template-columns:.7fr 1.3fr; }
.final-cta { padding:clamp(80px,10vw,150px) max(36px,calc((100vw - 1000px)/2)); background:var(--ink); color:var(--white); text-align:center; }
.final-cta p:not(.eyebrow) { max-width:650px; margin:28px auto 34px; color:rgba(255,255,255,.72); }
.final-cta .text-link { margin:26px auto 0; display:table; }
.page-hero { width:var(--page); margin:0 auto; padding-block:clamp(90px,12vw,170px); }
.page-hero h1 { max-width:1060px; }
.page-hero>p:not(.eyebrow) { max-width:740px; margin:32px 0 38px; color:var(--ink-soft); font-size:21px; }
.page-hero.section-dark { width:100%; padding-inline:max(36px,calc((100vw - 1280px)/2)); }
.page-hero.section-dark>p:not(.eyebrow) { color:rgba(255,255,255,.72); }
.program-detail { display:grid; grid-template-columns:1fr .8fr; gap:clamp(60px,9vw,140px); }
.program-detail:not(.section-dark) { background:var(--paper); color:var(--ink); border:0; }
.program-detail:not(.section-dark) .card-label { color:var(--gold); }
.program-detail.section-dark { background:var(--ink); color:var(--white); border:0; }
.program-detail.section-dark h2,.program-detail.section-dark h3,.program-detail.section-dark strong { color:var(--white); }
.program-detail.section-dark p { color:rgba(255,255,255,.78); }
.program-detail.section-dark .program-price span { color:rgba(255,255,255,.72); }
.program-detail.section-dark .card-label { color:var(--gold-light); }
.program-detail .card-label { font-size:clamp(18px,1.6vw,24px); line-height:1.35; letter-spacing:.13em; }
.program-detail h2 { font-size:clamp(48px,5vw,76px); }
.program-detail .program-lede { font-family:var(--serif); font-size:24px; }
.program-detail>div>p { max-width:680px; }
.program-includes h3 { margin-bottom:24px; }
.section-dark .editorial-list li { border-color:rgba(255,255,255,.2); }
.intro-option { margin-top:54px; padding-top:30px; border-top:1px solid var(--line); }
.intro-option h3 { font-size:30px; }
.intro-option p { color:var(--ink-soft); }
.about-hero { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(60px,9vw,140px); align-items:center; }
.about-hero figure { height:700px; margin:0; overflow:hidden; }
.about-hero img { height:100%; object-fit:cover; object-position:center 42%; }
.about-hero p:not(.eyebrow) { color:var(--ink-soft); font-size:21px; }
.story-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(60px,9vw,140px); }
.story-section h2 { font-size:clamp(46px,4.5vw,70px); }
.story-section>div:last-child { max-width:760px; font-size:19px; }
.video-page { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(60px,8vw,120px); align-items:center; }
.video-page video { width:100%; }
.resource-grid { display:grid; grid-template-columns:1fr 1fr; }
.resource-grid article { min-height:430px; padding:clamp(40px,5vw,72px); border:1px solid var(--line); }
.resource-grid h2 { font-size:clamp(42px,4vw,62px); }
.resource-grid p:not(.card-label) { max-width:560px; color:var(--ink-soft); }
.quiz-page { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(60px,8vw,120px); align-items:start; }
.quiz-page .quiz-intro { position:sticky; top:120px; }
.quiz-page .quiz-intro h1 { font-size:clamp(52px,5.5vw,82px); }
.guide-page,.product-page { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(60px,9vw,140px); align-items:center; }
.guide-mockup { min-height:700px; display:grid; place-items:center; background:#e1d8c9; }
.guide-mockup .reset-page-front { position:relative; width:min(420px,76%); min-height:560px; }
.guide-page h1,.product-page h1 { font-size:clamp(56px,6vw,92px); }
.guide-page>div:last-child>p:not(.eyebrow),.product-lede { color:var(--ink-soft); font-size:20px; }
.product-cover { min-height:760px; margin:0; padding:clamp(44px,6vw,86px); display:grid; place-items:center; background:#ded8cd; }
.product-cover img { max-height:700px; width:auto; object-fit:contain; filter:drop-shadow(0 24px 38px rgba(32,36,34,.2)); }
.consultation-hero { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(60px,9vw,140px); align-items:start; }
.consultation-hero h1 { font-size:clamp(62px,7vw,108px); }
.consultation-lede { max-width:700px; margin:34px 0; color:var(--ink-soft); font-size:clamp(19px,1.6vw,23px); }
.consultation-price { display:flex; align-items:baseline; gap:18px; margin:30px 0 38px; }
.consultation-price s { color:#777; font-size:23px; }
.consultation-price strong { font-family:var(--serif); font-size:62px; font-weight:400; line-height:1; }
.consultation-price span { font-size:13px; color:var(--ink-soft); }
.consultation-details { padding:clamp(36px,5vw,66px); background:#ded8cd; }
.consultation-details>p:last-child { margin:30px 0 0; color:var(--ink-soft); font-size:15px; }

@media(max-width:1080px){.site-nav{gap:13px}.site-nav a{font-size:10px}.premium-hero{grid-template-columns:1fr .72fr}.choice-section{grid-template-columns:1fr 1fr}.choice-heading{grid-column:1/-1}}
@media(max-width:780px){.premium-hero{width:100%;padding:0;gap:0}.premium-hero .hero-image{order:1;width:100%;max-width:none;height:68vh;min-height:520px}.premium-hero .hero-copy{order:2;padding:58px 22px 72px}.compact-results,.rhythm-section,.meet-section,.program-detail,.about-hero,.story-section,.video-page,.home-introduction,.consultation-hero,.quiz-page,.guide-page,.product-page{display:block}.choice-section,.resource-grid{grid-template-columns:1fr}.choice-heading{grid-column:auto}.program-summary{border-left:0;border-top:1px solid var(--line)}.program-summary h3{min-height:auto}.outcome-list,.rhythm-grid,.meet-image,.about-hero figure,.video-page video,.home-introduction-copy,.consultation-details,.guide-mockup,.product-cover{margin-top:48px}.rhythm-grid{grid-template-columns:1fr}.rhythm-grid article+article{border-left:0;border-top:1px solid var(--line)}.method-steps{grid-template-columns:1fr 1fr}.method-steps li{padding:30px 20px 30px 0;border-bottom:1px solid rgba(255,255,255,.18)}.method-steps li+li{padding-left:20px}.meet-image,.about-hero figure{height:520px}.quiz-page .quiz-intro{position:static}.resource-grid article{min-height:auto}.guide-mockup,.product-cover{min-height:560px}.product-cover img{max-height:510px}}
@media(max-width:480px){.premium-hero .hero-image{height:62vh;min-height:460px}.method-steps{grid-template-columns:1fr}.method-steps li+li{padding-left:0;border-left:0}}

/* Keep all supporting copy readable against charcoal surfaces. */
.section-dark p:not(.card-label):not(.eyebrow):not(.section-number),
.program-summary-dark > p:not(.card-label),
.program-summary-dark dd,
.program-summary-dark span,
.method-strip .method-steps p,
.final-cta p:not(.eyebrow) {
  color: #f5f3ee !important;
  opacity: 1;
}

/* Keep Angela's art practice visible without competing with the primary coaching CTA. */
.site-nav .nav-art {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border: 1px solid var(--gold);
  background: var(--gold-light);
  color: var(--ink);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.11em;
  line-height: 1.3;
  text-transform: uppercase;
  transition: background-color 180ms ease, border-color 180ms ease;
}
.site-nav .nav-art::after { display: none; }
.site-nav .nav-art:hover,
.site-nav .nav-art:focus-visible {
  border-color: var(--gold);
  background: var(--gold);
}
.site-nav .nav-art:focus-visible,
.site-nav .nav-cta:focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}

@media (max-width: 780px) {
  .site-nav {
    justify-content: flex-start;
    gap: 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .site-nav a {
    font-family: var(--serif);
    font-size: clamp(28px, 9vw, 34px);
    line-height: 1.08;
  }
  .site-nav .nav-art,
  .site-nav .nav-cta {
    padding: 13px 18px;
    font-family: var(--sans);
    font-size: 11px;
    line-height: 1.35;
  }
  .site-nav .nav-art { margin-top: 10px; }
  .site-nav .nav-cta { margin-top: 0; }
}
