:root {
  --ivory: #f7f4ed;
  --surface: #fffefa;
  --forest: #173c33;
  --forest-light: #285246;
  --ink: #26362f;
  --muted: #5d695f;
  --line: #dcded2;
  --sage: #e8ecdf;
  --sage-soft: #f0f2e9;
  --gold: #a7824c;
  --error: #913d31;
  --body-font: 18px;
  --small-font: 16px;
  --control-font: 18px;
  --radius: 18px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  color: var(--ink);
  background: var(--ivory);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 28px; }
body { margin: 0; font-size: var(--body-font); line-height: 1.65; }
body.large-text { --body-font: 21px; --small-font: 18px; --control-font: 20px; }
button, input, select, textarea { font: inherit; color: inherit; }
button, a, input, select, summary { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .55; }
button, input, select { touch-action: manipulation; }
a { color: var(--forest); text-underline-offset: 4px; }
a:hover { text-decoration-thickness: 2px; }
button, input, select, textarea, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #b87922;
  outline-offset: 5px;
  box-shadow: 0 0 0 2px var(--surface);
}
main:focus, h1[tabindex="-1"]:focus { outline: none; }
img { max-width: 100%; display: block; }
svg { display: block; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3 {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--forest);
  font-weight: 400;
  letter-spacing: -.035em;
}
h1 { font-size: clamp(2.25rem, 4.5vw, 3rem); line-height: 1.12; }
h2 { font-size: clamp(1.8rem, 3vw, 2.35rem); line-height: 1.16; }
h3 { font-size: 1.5rem; line-height: 1.25; }
p + p { margin-top: 1em; }
ul, ol { padding-left: 1.35em; }
li + li { margin-top: .45em; }
[hidden] { display: none !important; }
.maxwidth, #funnel-main { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.eyebrow {
  display: block;
  color: var(--forest-light);
  font-size: 12px;
  line-height: 1.55;
  letter-spacing: 1.9px;
  font-weight: 700;
  text-transform: uppercase;
}
.visually-hidden, .sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  padding: 0;
  border: 0;
}
.skip-link {
  position: fixed;
  z-index: 200;
  top: -90px;
  left: 18px;
  padding: 14px 20px;
  background: var(--forest);
  color: white;
  border-radius: 8px;
}
.skip-link:focus { top: 14px; }

/* The quiet, familiar frame stays the same throughout the journey. */
.funnel-header {
  width: min(1280px, calc(100% - 80px));
  min-height: 108px;
  margin-inline: auto;
  padding-block: 24px;
  display: flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 11px; text-decoration: none; flex: none; }
.brand-mark { width: 42px; height: 47px; flex: none; }
.brand-mark svg { width: 100%; height: 100%; fill: none; stroke: var(--forest); stroke-width: 1.4; stroke-linejoin: round; }
.brand-name { font-family: Georgia, 'Times New Roman', serif; font-size: 22px; line-height: 1.05; letter-spacing: -.045em; color: var(--forest); }
.brand-name strong { font-weight: 400; font-size: 26px; }
.header-nav { display: flex; align-items: center; justify-content: flex-end; gap: 24px; flex-wrap: wrap; margin-left: auto; }
.header-nav a, .header-nav button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  background: transparent;
  border: 0;
  padding: 4px 0;
  text-decoration: none;
  font-size: var(--small-font);
  color: var(--forest);
}
.header-nav a:hover { text-decoration: underline; }
.text-size {
  min-height: 48px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  background: transparent;
  border-radius: 8px;
  font-size: var(--small-font);
  color: var(--forest);
  white-space: nowrap;
}
.text-size[aria-pressed="true"] { border-color: var(--forest); background: var(--sage); }
.header-nav .text-size { display: inline-flex; gap: 7px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: transparent; font-size: var(--small-font); }
.header-nav .text-size[aria-pressed="true"] { border-color: var(--forest); background: var(--sage); }
.text-size > span { font-family: Georgia, serif; font-size: 21px; line-height: 1; }
.text-size > .control-label { font-family: Arial, Helvetica, sans-serif; font-size: var(--small-font); font-weight: 400; line-height: 1.4; }
.primary-button, .secondary-button {
  min-height: 56px;
  padding: 15px 25px;
  border-radius: 9px;
  border: 1px solid var(--forest);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  font-size: var(--control-font);
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: background-color .18s, box-shadow .18s;
}
.primary-button { color: white; background: var(--forest); }
.primary-button:hover { background: var(--forest-light); border-color: var(--forest-light); box-shadow: 0 4px 14px #173c3314; }
.secondary-button { background: transparent; color: var(--forest); }
.secondary-button:hover { background: var(--sage); }
.text-button, .back-button {
  min-height: 48px;
  padding: 10px 4px;
  background: transparent;
  border: 0;
  color: var(--forest);
  font-size: var(--small-font);
  line-height: 1.5;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 5px;
}
.back-button { text-decoration: none; display: inline-flex; align-items: center; gap: 9px; }
.back-button:hover { text-decoration: underline; }

/* Opening: generous editorial typography and one unmistakable next step. */
.landing-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 64px; align-items: center; padding: 65px 0 62px; }
.hero-copy { padding: 12px 0; }
.hero-copy h1 { margin: 20px 0 25px; max-width: 570px; }
.hero-copy > p { max-width: 525px; color: var(--muted); font-size: max(var(--body-font), 19px); line-height: 1.7; }
.hero-copy > .primary-button { margin-top: 30px; }
.hero-reassurance { display: block; margin-top: 13px; color: var(--muted); font-size: var(--small-font); line-height: 1.55; }
.hero-points { display: flex; flex-wrap: wrap; gap: 9px 19px; padding: 0; margin: 24px 0 0; list-style: none; color: var(--muted); font-size: var(--small-font); }
.hero-points li, .hero-points > span { display: inline-flex; align-items: center; gap: 7px; }
.hero-points li:before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: var(--forest-light); flex: none; }
.hero-points svg { width: 17px; height: 17px; color: var(--forest); flex: none; }
.hero-art { position: relative; isolation: isolate; min-width: 0; padding: 10px 0 0 10px; }
.hero-art:before { content: ''; position: absolute; top: 0; right: 13px; left: 0; bottom: 14px; border: 1px solid #c7cdbb; border-radius: 150px 24px 24px 24px; z-index: -1; }
.hero-photo { width: 100%; aspect-ratio: 4 / 4.6; max-height: 580px; object-fit: cover; border-radius: 145px 20px 20px 20px; background: var(--sage); }
.hero-note { position: absolute; bottom: 25px; left: 33px; right: 23px; max-width: 360px; padding: 20px 23px; background: #fffefaf5; border: 1px solid #fffefa; border-radius: 12px; box-shadow: 0 8px 32px #173c3317; color: var(--forest); font-size: var(--small-font); line-height: 1.55; display: grid; grid-template-columns: minmax(0, 1fr) 78px; gap: 12px 16px; align-items: center; }
.hero-note strong { display: block; font-family: Georgia, serif; font-size: 25px; line-height: 1.25; font-weight: 400; margin-bottom: 7px; }
.hero-note .eyebrow { grid-column: 1 / -1; font-size: 10px; margin: 0; letter-spacing: 1.2px; }
.hero-note > p { font-family: Georgia, serif; font-size: 25px; line-height: 1.25; margin: 0; }
.hero-note > img { width: 78px; height: 78px; object-fit: cover; border-radius: 9px; grid-column: 2; }
.landing-how { border-top: 1px solid var(--line); padding: 46px 0 54px; }
.landing-how > h2 { margin: 11px 0 27px; }
.landing-how > p { color: var(--muted); max-width: 730px; margin: 15px 0 25px; }
.how-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px; }
.how-item { padding-top: 5px; }
.how-item > span, .how-item .how-number { color: var(--gold); display: block; font-family: Georgia, serif; font-size: 29px; line-height: 1.2; margin-bottom: 15px; }
.how-item h3 { font-size: 26px; margin-bottom: 12px; }
.how-item p { color: var(--muted); font-size: var(--small-font); line-height: 1.7; }
.quiet-footer { width: min(1200px, calc(100% - 80px)); margin: 16px auto 0; padding: 26px 0 32px; border-top: 1px solid var(--line); display: flex; gap: 18px; justify-content: space-between; align-items: baseline; color: var(--muted); font-size: 14px; }
.quiet-footer a { min-height: 44px; display: inline-flex; align-items: center; color: var(--forest); }
.quiet-footer p { max-width: 780px; }

/* One calm question at a time; the complete label is always a tap target. */
.quiz-shell { width: min(820px, 100%); margin: 35px auto 66px; }
.quiz-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 13px; }
.step-count { color: var(--muted); font-size: var(--small-font); }
.progress-track { height: 5px; border-radius: 20px; background: #dde3d5; overflow: hidden; margin-bottom: 29px; }
.progress-fill { display: block; height: 100%; background: var(--forest); border-radius: inherit; transition: width .25s ease; }
.quiz-card { background: var(--surface); border: 1px solid var(--line); border-radius: 22px; padding: 43px 46px 34px; box-shadow: 0 12px 34px #173c3305; }
.quiz-card h1 { font-size: clamp(1.9rem, 3.8vw, 2.5rem); line-height: 1.17; margin: 13px 0 17px; max-width: 670px; }
.question-help { color: var(--muted); font-size: var(--body-font); max-width: 640px; line-height: 1.65; margin-bottom: 27px; }
#quiz-form { margin-top: 27px; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.answer-choice {
  position: relative;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 13px;
  padding: 20px 19px;
  min-height: 90px;
  align-items: start;
  border: 1px solid #c9d1c1;
  background: var(--surface);
  border-radius: 12px;
  cursor: pointer;
  transition: border-color .15s, background-color .15s;
}
.answer-choice:hover { border-color: var(--forest-light); background: #f4f6ef; }
.answer-choice:has(input:checked) { border-color: var(--forest); background: #edf2e6; box-shadow: inset 0 0 0 1px var(--forest); }
.answer-choice:has(input:focus-visible) { outline: 3px solid #b87922; outline-offset: 4px; }
.answer-choice input { width: 22px; height: 22px; margin: 4px 0 0; accent-color: var(--forest); flex: none; }
.answer-choice input:focus-visible { outline: none; box-shadow: none; }
.choice-indicator { display: none; }
.choice-content { display: block; min-width: 0; }
.choice-content strong { display: block; font-size: var(--control-font); line-height: 1.45; color: var(--forest); font-weight: 600; }
.choice-content small { display: block; font-size: var(--small-font); line-height: 1.6; color: var(--muted); margin-top: 7px; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px; }
.height-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; }
.field-label { display: block; min-width: 0; }
.field-label > span, .field-label > label { display: block; font-size: var(--control-font); font-weight: 600; line-height: 1.5; color: var(--forest); margin-bottom: 10px; }
.field-label input, .field-label select, #quiz-form input[type="number"], #quiz-form input[type="text"] {
  width: 100%;
  min-width: 0;
  min-height: 57px;
  padding: 13px 15px;
  border: 1px solid #aebba6;
  background: var(--surface);
  color: var(--ink);
  border-radius: 8px;
  font-size: var(--control-font);
  line-height: 1.4;
}
.field-label input::placeholder { color: #768170; opacity: 1; }
.field-label input[aria-invalid="true"] { border-color: var(--error); background: #fff8f5; }
.field-hint { display: block; color: var(--muted); font-size: var(--small-font); line-height: 1.55; margin-top: 9px; font-weight: 400; }
.field-label > .field-hint { font-weight: 400; color: var(--muted); font-size: var(--small-font); margin-top: 9px; }
.equation-choice { min-width: 0; margin: 28px 0 0; padding: 0; border: 0; }
.equation-choice legend { padding: 0; color: var(--forest); font-size: var(--control-font); line-height: 1.5; font-weight: 600; }
.equation-choice > .field-hint { margin: 9px 0 17px; }
.choice-grid.compact > .answer-choice:last-child:nth-child(odd) { grid-column: 1 / -1; }
.unit-toggle { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid var(--line); background: var(--sage-soft); border-radius: 10px; margin: 0 0 25px; }
.unit-toggle button { min-height: 48px; padding: 10px 19px; border: 1px solid transparent; background: transparent; color: var(--forest); border-radius: 7px; font-size: var(--small-font); }
.unit-toggle button[aria-pressed="true"] { background: var(--forest); color: white; border-color: var(--forest); }
.focus-question { margin-top: 25px; padding: 22px; background: var(--sage-soft); border: 1px solid #d3ddc8; border-radius: 12px; }
.focus-question h2, .focus-question h3 { font-family: Arial, Helvetica, sans-serif; font-size: var(--control-font); line-height: 1.5; font-weight: 600; letter-spacing: 0; margin-bottom: 14px; }
.focus-question > p { margin-bottom: 15px; color: var(--forest); }
.focus-question .answer-choice { background: var(--surface); min-height: 72px; padding: 16px; }
.stage-help { margin-top: 24px; padding-top: 9px; border-top: 1px solid var(--line); color: var(--muted); font-size: var(--small-font); }
.stage-help summary { min-height: 48px; padding: 11px 0; color: var(--forest); cursor: pointer; }
.stage-help p { margin: 8px 0 0; line-height: 1.75; }
.form-error, .inline-error { color: var(--error); font-size: var(--small-font); line-height: 1.6; }
.form-error:not(:empty) { padding: 15px 18px; border-left: 3px solid var(--error); background: #fff0e8; border-radius: 0 8px 8px 0; margin: 0 0 24px; }
.form-error:focus { outline: 3px solid #b87922; outline-offset: 4px; }
.inline-error { display: block; margin-top: 8px; }
.quiz-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 27px; margin-top: 29px; border-top: 1px solid var(--line); }
.quiz-actions > .primary-button { margin-left: auto; min-width: 170px; }
.privacy-note { color: var(--muted); font-size: var(--small-font); line-height: 1.65; max-width: 730px; margin: 22px auto 0; text-align: center; }

/* Results give the estimate context before asking the reader to join. */
.results-intro { padding: 57px 0 31px; }
.results-intro h1 { max-width: 840px; margin: 14px 0 20px; }
.results-intro p { color: var(--muted); max-width: 745px; }
.results-intro > p { margin-bottom: 29px; }
.result-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.calorie-card { padding: 34px 38px; border: 1px solid var(--forest); background: var(--forest); border-radius: 19px; color: white; }
.result-kicker { display: block; color: #e5ebdf; font-size: 13px; line-height: 1.55; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase; }
.calorie-number { display: block; margin: 17px 0 11px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.7rem, 5.5vw, 4rem); letter-spacing: -.04em; line-height: 1.08; font-weight: 400; color: white; }
.calorie-number small, .calorie-number span { font-family: Arial, sans-serif; font-size: 17px; line-height: 1.5; letter-spacing: 0; white-space: nowrap; }
.calorie-number > span { display: block; margin-top: 10px; }
.results-intro .calorie-number, .results-intro .result-range { color: white; }
.result-range { margin-top: 19px; padding-top: 17px; border-top: 1px solid #ffffff3b; font-size: var(--body-font); line-height: 1.65; }
.result-range strong { font-weight: 600; }
.result-footnote { color: #e4e9dd; font-size: var(--small-font); line-height: 1.65; margin-top: 15px; max-width: 510px; }
.results-intro .result-footnote { color: #e4e9dd; }
.pathway-card { border: 1px solid #cfd8c4; border-radius: 19px; background: #e9eedf; padding: 34px; }
.pathway-icon { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border: 1px solid #b9c8ac; border-radius: 50%; color: var(--forest); margin-bottom: 23px; font-size: 25px; }
.pathway-icon svg { width: 25px; height: 25px; }
.pathway-label { display: block; color: var(--forest-light); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.3px; line-height: 1.6; margin-bottom: 10px; }
.pathway-card h2 { font-size: 35px; margin-bottom: 18px; }
.pathway-card p { font-size: var(--body-font); line-height: 1.7; color: #43583e; }
.pathway-card > small { display: block; margin-top: 19px; color: #4d6245; font-size: var(--small-font); line-height: 1.65; }
.result-details { margin-top: 22px; }
details.result-details, .result-details details { background: var(--surface); border: 1px solid var(--line); border-radius: 11px; padding: 0 23px; }
.result-details summary { cursor: pointer; padding: 17px 0; min-height: 56px; color: var(--forest); font-size: var(--small-font); font-weight: 600; }
details.result-details[open] summary, .result-details details[open] summary { border-bottom: 1px solid var(--line); margin-bottom: 15px; }
details.result-details > p, .result-details details > p { margin: 15px 0 20px; color: var(--muted); }
.result-summary { margin: 0 0 20px; font-size: var(--small-font); }
.result-summary dl, dl.result-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px 24px; }
.result-summary dl > div, dl.result-summary > div { padding: 4px 0; }
.result-summary dt { color: var(--muted); font-size: 14px; }
.result-summary dd { color: var(--forest); margin: 4px 0 0; font-weight: 600; overflow-wrap: anywhere; }
.result-links { display: flex; flex-wrap: wrap; align-items: center; gap: 15px 23px; margin: 25px 0 18px; }
.supportive-result { padding: 35px; background: var(--sage); border: 1px solid #ccd6c1; border-radius: 18px; max-width: 860px; margin: 32px 0; }
.supportive-result h2 { margin-bottom: 18px; }
.supportive-result p { color: #43583e; }
.supportive-result .primary-button, .supportive-result .secondary-button { margin-top: 22px; }
.calorie-card.supportive-result { max-width: none; margin: 0; padding: 34px 38px; background: var(--forest); border-color: var(--forest); }
.calorie-card.supportive-result h2 { color: white; font-size: 33px; margin: 21px 0 18px; }
.calorie-card.supportive-result p { color: #e4e9dd; }

/* Genuine proof and tangible samples sit together in an unhurried page. */
.section-intro { max-width: 740px; margin-bottom: 29px; }
.section-intro h2 { margin: 12px 0 18px; }
.section-intro p { color: var(--muted); line-height: 1.7; }
.proof-section { margin-top: 60px; padding-top: 49px; border-top: 1px solid var(--line); }
.review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 21px; }
.review-card { min-width: 0; padding: 26px; background: var(--surface); border: 1px solid var(--line); border-radius: 15px; display: flex; flex-direction: column; align-items: flex-start; }
.review-card blockquote { margin: 0; color: var(--forest); font-size: var(--body-font); line-height: 1.75; }
.review-card blockquote p { margin: 0; }
.review-mark { font-family: Georgia, serif; font-size: 76px; line-height: .7; color: var(--gold); margin: 13px 0 22px; }
.review-source { font-size: var(--small-font); color: var(--muted); margin: 22px 0 12px; line-height: 1.6; }
.review-card > img, .review-card > a > img { width: 100%; max-height: 290px; object-fit: contain; object-position: center; background: #f1f2eb; border: 1px solid var(--line); border-radius: 8px; margin-top: 17px; }
.review-with-photo > img { margin: 0 0 23px; }
.review-quiet { color: var(--muted); font-size: var(--small-font); line-height: 1.7; margin-top: 15px; }
.review-card .review-original { margin-top: auto; padding-top: 15px; }
button.review-original, .review-original button { border: 0; background: transparent; color: var(--forest); min-height: 48px; padding: 11px 0; font-size: var(--small-font); text-align: left; text-decoration: underline; text-underline-offset: 4px; }
.proof-note { margin-top: 20px; color: var(--muted); font-size: var(--small-font); line-height: 1.65; max-width: 950px; }
.preview-section { margin-top: 65px; padding-top: 49px; border-top: 1px solid var(--line); }
.preview-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 23px; }
.preview-tabs button { background: transparent; border: 1px solid #b7c4ad; min-height: 51px; padding: 12px 21px; color: var(--forest); font-size: var(--small-font); line-height: 1.4; border-radius: 8px; }
.preview-tabs button[aria-selected="true"] { background: var(--forest); border-color: var(--forest); color: white; }
.preview-tabs button:hover:not([aria-selected="true"]) { background: var(--sage); }
.preview-panel { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); border: 1px solid var(--line); border-radius: 19px; overflow: hidden; background: var(--surface); align-items: stretch; }
.preview-image { min-width: 0; background: var(--sage); }
.preview-image img { width: 100%; height: 100%; min-height: 390px; max-height: 680px; object-fit: cover; }
.preview-body { padding: 36px 38px; min-width: 0; }
.preview-body h3 { font-size: 35px; margin: 12px 0 18px; }
.preview-body > p { color: var(--muted); font-size: var(--body-font); line-height: 1.75; }
.sample-meal, .sample-portion, .sample-workout { margin-top: 23px; padding: 22px 24px; border: 1px solid #d5dec9; border-radius: 11px; background: var(--sage-soft); color: var(--forest); font-size: var(--small-font); }
.sample-meal h4, .sample-workout h4, .sample-portion h4 { color: var(--forest); font-size: var(--body-font); line-height: 1.5; margin: 0 0 10px; }
.sample-meal strong, .sample-workout strong { font-weight: 600; }
.sample-meal > p + p, .sample-workout > p + p { margin-top: 11px; }
.sample-meal > p:first-child { font-family: Georgia, serif; font-size: 23px; line-height: 1.35; color: var(--forest); margin-bottom: 16px; }
.sample-line { padding-top: 11px; border-top: 1px solid #d5deca; }
.sample-line strong { display: block; font-size: var(--small-font); color: var(--forest); }
.sample-line > span { display: block; color: #4b6045; margin-top: 3px; }
.sample-list { color: var(--forest); margin: 15px 0 0; padding-left: 21px; font-size: var(--small-font); line-height: 1.75; }
.sample-list li + li { margin-top: 8px; }
.sample-portion > div, .sample-workout > div { padding: 10px 0; border-bottom: 1px solid #d9dfcf; }
.sample-portion > div:last-child, .sample-workout > div:last-child { border-bottom: 0; }
.sample-portion p { font-size: var(--small-font); color: #4b6045; }
.sample-portion strong { color: var(--forest); }
.sample-portion dl { margin: 14px 0 0; }
.sample-portion dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 9px 0; border-bottom: 1px solid #d5deca; }
.sample-portion dl > div:last-child { border-bottom: 0; }
.sample-portion dt { font-size: var(--small-font); }
.sample-portion dd { margin: 0; text-align: right; font-size: var(--body-font); font-weight: 600; line-height: 1.6; }
.sample-workout > ul { margin: 15px 0 0; }
.preview-body > .sample-caption { margin-top: 21px; font-size: var(--small-font); line-height: 1.7; }
.value-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; padding: 31px 0 0; }
.value-item { border-left: 2px solid #c4d0b8; padding-left: 18px; font-size: var(--small-font); color: var(--muted); line-height: 1.65; }
.value-item strong { display: block; color: var(--forest); font-size: var(--body-font); font-weight: 600; margin-bottom: 5px; }
.value-item svg { width: 23px; height: 23px; color: var(--forest); margin-bottom: 12px; }

.join-section { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 54px; align-items: center; padding: 49px 48px; margin-top: 68px; border-radius: 23px; background: var(--forest); color: #f7f4ed; }
.join-copy { min-width: 0; }
.join-copy .eyebrow { color: #c9d5bb; }
.join-copy h2 { color: #fffefa; font-size: clamp(2rem, 3.5vw, 2.7rem); margin: 17px 0 23px; }
.join-copy p { color: #e3e9dc; font-size: var(--body-font); line-height: 1.75; }
.join-copy a { color: white; }
.join-card { min-width: 0; padding: 30px; border-radius: 15px; background: var(--surface); color: var(--ink); }
.offer-label { display: block; font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--forest-light); margin-bottom: 11px; }
.join-card h2 { font-size: 30px; line-height: 1.25; }
.join-card > h3 { font-size: 31px; line-height: 1.25; }
.offer-price { display: block; font-family: Georgia, serif; font-size: 39px; line-height: 1.25; letter-spacing: -.03em; color: var(--forest); margin-top: 19px; }
.offer-price small, .offer-price span { font-family: Arial, sans-serif; font-size: var(--small-font); letter-spacing: 0; }
.offer-price > span { display: block; margin-top: 5px; }
.offer-features { color: var(--muted); padding-left: 21px; font-size: var(--small-font); margin: 23px 0; line-height: 1.7; }
.offer-features li + li { margin-top: 9px; }
.join-card > .primary-button, .join-card > .secondary-button { width: 100%; margin-top: 5px; }
.checkout-note { color: var(--muted); font-size: 15px; line-height: 1.65; margin-top: 15px; }
.checkout-note a { min-height: 44px; display: inline-flex; align-items: center; }
.join-section.personal-guidance { grid-template-columns: 1fr; }
.faq-section { max-width: 900px; margin: 63px auto 0; }
.faq-section > h2 { margin-bottom: 26px; }
.faq-section details { border-top: 1px solid var(--line); }
.faq-section details:last-child { border-bottom: 1px solid var(--line); }
.faq-section summary { min-height: 63px; padding: 18px 28px 18px 0; font-size: var(--body-font); font-weight: 600; color: var(--forest); line-height: 1.55; cursor: pointer; }
.faq-section details > p { color: var(--muted); margin: 0 0 23px; padding-right: 20px; font-size: var(--body-font); line-height: 1.75; }
.method-section { margin: 39px auto 45px; max-width: 900px; }
.method-section details { border: 1px solid var(--line); background: #f1f2e9; padding: 0 23px; border-radius: 11px; }
.method-section summary { min-height: 57px; padding: 16px 0; color: var(--forest); font-size: var(--small-font); font-weight: 600; cursor: pointer; }
.method-content { padding: 4px 0 23px; color: var(--muted); font-size: var(--small-font); line-height: 1.75; overflow-wrap: anywhere; }
.method-content h3 { margin: 23px 0 12px; font-size: 26px; }
.method-content a { text-decoration-thickness: 1px; }
.method-content ul { margin-bottom: 0; }
.method-content code { white-space: normal; font-size: .95em; }

/* Native dialogs preserve keyboard behaviour and give screenshots enough room. */
.image-dialog { width: min(820px, calc(100vw - 36px)); max-width: none; max-height: calc(100dvh - 36px); padding: 63px 24px 23px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); color: var(--ink); box-shadow: 0 20px 70px #0005; overflow: auto; }
.image-dialog::backdrop { background: #10271fe0; }
.dialog-close { position: absolute; top: 10px; right: 12px; min-width: 48px; min-height: 48px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--forest); font-size: var(--small-font); padding: 8px 14px; }
.image-dialog > img { max-width: 100%; height: auto; margin-inline: auto; border-radius: 6px; }
.image-dialog > h2 { font-size: 30px; margin-bottom: 21px; }
.image-dialog > p { margin-top: 18px; font-size: var(--small-font); line-height: 1.6; color: var(--muted); }
.toast { position: fixed; z-index: 300; bottom: 22px; left: 50%; transform: translate(-50%, 20px); max-width: calc(100vw - 36px); width: max-content; padding: 15px 22px; background: var(--forest); color: white; border: 1px solid #65816b; border-radius: 10px; font-size: var(--small-font); line-height: 1.55; text-align: center; box-shadow: 0 8px 35px #0002; opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.toast.visible, .toast.show { opacity: 1; transform: translate(-50%, 0); }
.noscript { margin: 40px auto; width: min(800px, calc(100% - 36px)); padding: 28px; border: 1px solid var(--line); background: var(--surface); border-radius: 14px; }

@media (max-width: 1050px) {
  .maxwidth, #funnel-main, .quiet-footer { width: calc(100% - 60px); }
  .funnel-header { width: calc(100% - 60px); }
  .landing-hero { gap: 39px; padding-top: 48px; }
  .hero-copy h1 { font-size: 48px; }
  .hero-note { left: 28px; right: 18px; bottom: 20px; padding: 17px 19px; }
  .review-grid { gap: 16px; }
  .review-card { padding: 22px; }
  .preview-body { padding: 30px; }
  .join-section { padding: 38px; gap: 34px; }
  .join-card { padding: 26px; }
}

@media (max-width: 800px) {
  .maxwidth, #funnel-main, .quiet-footer { width: calc(100% - 48px); }
  .funnel-header { width: calc(100% - 48px); gap: 15px; padding-block: 19px; min-height: 90px; flex-wrap: wrap; }
  .brand-mark { width: 36px; height: 42px; }
  .brand-name { font-size: 20px; }
  .brand-name strong { font-size: 23px; }
  .header-nav { gap: 17px; }
  .header-nav a, .header-nav button { font-size: 15px; }
  .text-size { font-size: 15px; padding: 8px 10px; }
  .landing-hero { grid-template-columns: 1fr; gap: 30px; padding: 43px 0 45px; }
  .hero-copy { padding: 0; }
  .hero-copy h1 { max-width: 680px; font-size: 50px; margin-top: 17px; }
  .hero-copy > p { max-width: 660px; }
  .hero-art { width: 100%; }
  .hero-photo { max-height: 470px; aspect-ratio: 1.35; border-top-left-radius: 110px; object-position: center 45%; }
  .hero-art:before { border-top-left-radius: 115px; }
  .hero-note { bottom: 22px; max-width: 310px; }
  .how-grid { gap: 25px; }
  .how-item h3 { font-size: 24px; }
  .quiz-shell { margin-top: 25px; }
  .quiz-card { padding: 34px 30px 28px; }
  .result-grid { grid-template-columns: 1fr; gap: 18px; }
  .calorie-card { padding: 31px; }
  .pathway-card { padding: 29px 31px; }
  .pathway-icon { margin-bottom: 17px; }
  .results-intro { padding-top: 42px; }
  .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-grid > .review-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .preview-panel { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .preview-body { padding: 27px; }
  .preview-body h3 { font-size: 31px; }
  .sample-meal, .sample-portion, .sample-workout { padding: 19px; }
  .value-strip { gap: 19px; }
  .join-section { grid-template-columns: 1fr; gap: 28px; padding: 35px; }
  .join-copy h2 { max-width: 590px; }
  .join-card { padding: 30px; }
  .quiet-footer { display: block; }
  .quiet-footer a { margin-top: 8px; }
}

@media (max-width: 570px) {
  html { scroll-padding-top: 18px; }
  .maxwidth, #funnel-main, .quiet-footer, .funnel-header { width: calc(100% - 36px); }
  .funnel-header { min-height: 84px; padding: 17px 0; gap: 12px; }
  .brand { gap: 8px; }
  .brand-mark { width: 32px; height: 37px; }
  .brand-name { font-size: 18px; }
  .brand-name strong { font-size: 22px; }
  .header-nav { order: 3; width: 100%; margin: 0; justify-content: flex-start; gap: 8px 20px; }
  .header-nav a[data-home] { display: none; }
  .header-nav .text-size { margin-left: auto; padding: 8px 10px; }
  .header-nav:empty { display: none; }
  .header-nav a, .header-nav button { min-height: 44px; font-size: var(--small-font); }
  .text-size { margin-left: auto; min-height: 48px; font-size: 15px; padding: 8px 10px; }
  .eyebrow { font-size: 11px; letter-spacing: 1.5px; }
  h1 { font-size: 39px; }
  h2 { font-size: 32px; }
  .landing-hero { padding: 33px 0 36px; gap: 28px; }
  .hero-copy h1 { font-size: 41px; margin: 15px 0 22px; line-height: 1.12; }
  .hero-copy > p { font-size: var(--body-font); line-height: 1.7; }
  .hero-copy > .primary-button { width: 100%; margin-top: 25px; min-height: 58px; }
  .hero-points { margin-top: 18px; gap: 8px 15px; font-size: 15px; }
  .hero-art { padding: 7px 0 0 7px; }
  .hero-photo { border-radius: 85px 15px 15px 15px; aspect-ratio: 1.03; max-height: 440px; }
  .hero-art:before { bottom: 10px; right: 10px; border-radius: 90px 18px 18px 18px; }
  .hero-note { left: 24px; right: 17px; bottom: 17px; padding: 16px 18px; font-size: 15px; max-width: 275px; }
  .hero-note { grid-template-columns: minmax(0, 1fr) 62px; column-gap: 12px; }
  .hero-note > p { font-size: 23px; }
  .hero-note > img { width: 62px; height: 62px; }
  .hero-note strong { font-size: 24px; margin-bottom: 5px; }
  .landing-how { padding: 32px 0 35px; }
  .how-grid { grid-template-columns: 1fr; gap: 24px; }
  .how-item { padding: 0 0 23px; border-bottom: 1px solid var(--line); }
  .how-item:last-child { border-bottom: 0; padding-bottom: 0; }
  .how-item > span, .how-item .how-number { font-size: 25px; margin-bottom: 10px; }
  .how-item h3 { font-size: 27px; margin-bottom: 10px; }
  .how-item p { font-size: var(--body-font); }
  .quiet-footer { margin-top: 10px; padding-top: 22px; font-size: 15px; }
  .quiz-shell { margin: 18px auto 40px; }
  .quiz-top { margin-bottom: 10px; gap: 12px; }
  .step-count { font-size: var(--small-font); }
  .progress-track { margin-bottom: 23px; }
  .quiz-card { padding: 27px 21px 23px; border-radius: 16px; }
  .quiz-card h1 { font-size: 33px; line-height: 1.2; margin: 13px 0 17px; }
  .question-help { font-size: var(--body-font); margin-bottom: 23px; }
  #quiz-form { margin-top: 23px; }
  .choice-grid { grid-template-columns: 1fr; gap: 11px; }
  .answer-choice { padding: 18px 16px; min-height: 76px; gap: 12px; }
  .choice-content small { margin-top: 6px; }
  .field-grid { grid-template-columns: 1fr; gap: 22px; }
  .field-label input, .field-label select, #quiz-form input[type="number"], #quiz-form input[type="text"] { font-size: var(--control-font); min-height: 58px; }
  .unit-toggle { display: flex; width: 100%; margin-bottom: 23px; }
  .unit-toggle button { flex: 1; padding: 11px 12px; font-size: var(--small-font); }
  .focus-question { padding: 18px 15px; margin-top: 23px; }
  .focus-question .answer-choice { padding: 15px 13px; }
  .quiz-actions { padding-top: 23px; margin-top: 25px; gap: 16px; }
  .quiz-actions > .primary-button { min-width: 0; flex: 1; padding: 14px 18px; }
  .quiz-actions > .back-button { padding-left: 0; }
  .primary-button, .secondary-button { padding: 14px 20px; min-height: 56px; }
  .privacy-note { font-size: var(--small-font); text-align: left; margin-top: 20px; }
  .results-intro { padding: 34px 0 25px; }
  .results-intro h1 { font-size: 39px; margin: 14px 0 19px; }
  .result-grid { gap: 16px; }
  .calorie-card { padding: 27px 24px; border-radius: 15px; }
  .calorie-card.supportive-result { padding: 27px 24px; }
  .calorie-card.supportive-result h2 { font-size: 31px; }
  .calorie-number { font-size: 57px; margin-top: 16px; overflow-wrap: anywhere; }
  .calorie-number small, .calorie-number span { font-size: 16px; }
  .result-range { margin-top: 17px; padding-top: 16px; }
  .result-kicker { font-size: 12px; }
  .result-footnote { font-size: var(--small-font); }
  .pathway-card { padding: 26px 24px; border-radius: 15px; }
  .pathway-icon { width: 46px; height: 46px; margin-bottom: 19px; }
  .pathway-card h2 { font-size: 32px; margin-bottom: 17px; }
  .pathway-label { font-size: 12px; }
  .result-details { margin-top: 18px; }
  details.result-details, .result-details details { padding: 0 20px; }
  .result-summary dl, dl.result-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 20px; }
  .result-links { display: grid; grid-template-columns: 1fr; gap: 9px; margin: 22px 0 12px; }
  .result-links .text-button { justify-self: center; text-align: center; }
  .supportive-result { padding: 26px 22px; margin-top: 25px; }
  .supportive-result h2 { font-size: 31px; }
  .section-intro { margin-bottom: 25px; }
  .section-intro h2 { font-size: 33px; margin: 12px 0 18px; }
  .proof-section { margin-top: 39px; padding-top: 34px; }
  .review-grid { grid-template-columns: 1fr; gap: 16px; }
  .review-card { padding: 24px 22px; border-radius: 13px; }
  .review-card blockquote { font-size: var(--body-font); }
  .review-card > img, .review-card > a > img { max-height: 330px; }
  .review-source { margin-top: 19px; }
  .proof-note { font-size: var(--small-font); margin-top: 17px; }
  .preview-section { margin-top: 39px; padding-top: 34px; }
  .preview-tabs { display: grid; grid-template-columns: 1fr; gap: 9px; margin-bottom: 19px; }
  .preview-tabs button { min-height: 51px; font-size: var(--control-font); padding: 13px 18px; text-align: left; }
  .preview-panel { grid-template-columns: 1fr; border-radius: 15px; }
  .preview-image img { min-height: 0; height: 235px; max-height: none; aspect-ratio: 1.4; object-position: center 45%; }
  .preview-body { padding: 26px 22px; }
  .preview-body h3 { font-size: 31px; margin: 13px 0 17px; }
  .sample-meal, .sample-portion, .sample-workout { padding: 19px 17px; margin-top: 20px; font-size: var(--body-font); }
  .sample-list { font-size: var(--body-font); }
  .value-strip { grid-template-columns: 1fr; padding-top: 25px; gap: 21px; }
  .value-item { padding-left: 17px; font-size: var(--body-font); }
  .join-section { margin-top: 43px; padding: 30px 21px 22px; gap: 25px; border-radius: 17px; }
  .join-copy h2 { font-size: 37px; margin: 16px 0 20px; }
  .join-card { padding: 25px 21px; border-radius: 12px; }
  .join-card h2 { font-size: 30px; }
  .offer-price { font-size: 37px; margin-top: 17px; }
  .offer-features { font-size: var(--body-font); margin: 21px 0; }
  .checkout-note { font-size: var(--small-font); }
  .faq-section { margin-top: 39px; }
  .faq-section > h2 { font-size: 33px; margin-bottom: 21px; }
  .faq-section summary { font-size: var(--body-font); padding: 18px 10px 18px 0; }
  .faq-section details > p { padding-right: 0; }
  .method-section { margin: 29px auto 34px; }
  .method-section details { padding: 0 19px; }
  .method-content { font-size: var(--body-font); }
  .method-content h3 { font-size: 26px; }
  .image-dialog { padding: 66px 14px 19px; border-radius: 12px; }
  .image-dialog > p { font-size: var(--small-font); }
  .toast { bottom: 16px; padding: 13px 18px; font-size: var(--small-font); }
  body.large-text .header-nav { flex-wrap: wrap; }
  body.large-text .text-size { font-size: 17px; }
  body.large-text .hero-points { font-size: 18px; }
  body.large-text .hero-note { position: static; max-width: none; margin: 15px 0 0; padding: 19px 20px; font-size: 18px; }
  body.large-text .quiz-card { padding-inline: 19px; }
  body.large-text .quiz-actions { flex-wrap: wrap; }
  body.large-text .quiz-actions > .primary-button { flex-basis: 100%; order: -1; }
}

@media (max-width: 360px) {
  .maxwidth, #funnel-main, .quiet-footer, .funnel-header { width: calc(100% - 28px); }
  .hero-copy h1 { font-size: 38px; }
  .text-size { max-width: 135px; white-space: normal; line-height: 1.4; }
  .quiz-card { padding-inline: 18px; }
  .calorie-number { font-size: 52px; }
  .result-summary dl, dl.result-summary { grid-template-columns: 1fr; }
  .hero-note { left: 21px; right: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

@media (forced-colors: active) {
  .answer-choice:has(input:checked) { border: 3px solid Highlight; }
  .progress-fill { background: Highlight; }
  .primary-button, .secondary-button { border: 2px solid ButtonText; }
}

@media print {
  html, body { background: white; color: black; font-size: 12pt; }
  .funnel-header, .quiet-footer, .result-links, .header-nav, .text-size, .toast,
  .preview-tabs, .join-section, .review-original, .image-dialog, .hero-art { display: none !important; }
  .maxwidth, #funnel-main { width: 100%; max-width: none; }
  .results-intro { padding-top: 0; }
  .result-grid, .review-grid, .preview-panel, .value-strip { display: block; }
  .calorie-card, .pathway-card, .review-card, .preview-panel, .supportive-result { color: black; background: white; border: 1px solid #aaa; margin: 15px 0; break-inside: avoid; box-shadow: none; }
  .calorie-number, .result-kicker, .result-range, .result-footnote { color: black; }
  .calorie-number { font-size: 36pt; }
  .proof-section, .preview-section { margin-top: 25px; padding-top: 20px; }
  .preview-image { display: none; }
  h1, h2, h3 { color: black; break-after: avoid; }
  p, li, blockquote { orphans: 3; widows: 3; }
  a { color: black; }
}

/* Focused journey: one task per screen, with detail available on request. */
body[data-screen="quiz"] .quiet-footer { display: none; }
body[data-screen="quiz"] .funnel-header {
  width: min(760px, calc(100% - 48px));
  min-height: 78px;
  padding: 16px 0;
  gap: 15px;
  flex-wrap: nowrap;
}
body[data-screen="quiz"] .brand { gap: 8px; }
body[data-screen="quiz"] .brand-mark { width: 31px; height: 36px; }
body[data-screen="quiz"] .brand-name { font-size: 18px; }
body[data-screen="quiz"] .brand-name strong { font-size: 22px; }
body[data-screen="quiz"] .header-nav { order: 0; width: auto; margin-left: auto; gap: 0; }
body[data-screen="quiz"] .header-nav > a { display: none; }
body[data-screen="quiz"] .header-nav .text-size {
  min-width: 48px;
  min-height: 48px;
  padding: 9px;
  justify-content: center;
  border-color: transparent;
  background: transparent;
}
body[data-screen="quiz"] .text-size[aria-pressed="true"] { background: var(--sage); }
body[data-screen="quiz"] .text-size .control-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
body[data-screen="quiz"] #funnel-main { width: min(640px, calc(100% - 48px)); }
body[data-screen="quiz"] .quiz-shell { width: 100%; margin: 17px auto 36px; }
body[data-screen="quiz"] .quiz-top { margin-bottom: 10px; }
body[data-screen="quiz"] .quiz-top .back-button { font-size: var(--small-font); }
body[data-screen="quiz"] .step-count { font-size: 14px; letter-spacing: .45px; }
body[data-screen="quiz"] .progress-track { margin-bottom: 22px; height: 4px; }
body[data-screen="quiz"] .quiz-card { padding: 30px 34px; border-radius: 17px; box-shadow: none; }
body[data-screen="quiz"] .quiz-card h1 { margin: 0 0 15px; font-size: 37px; line-height: 1.19; }
body[data-screen="quiz"] .question-help { font-size: var(--body-font); margin-bottom: 23px; line-height: 1.55; }
body[data-screen="quiz"] .question-help:empty { display: none; }
body[data-screen="quiz"] #quiz-form { margin-top: 22px; }
body[data-screen="quiz"] .choice-grid { grid-template-columns: 1fr; gap: 10px; }
body[data-screen="quiz"] .answer-choice { min-height: 59px; padding: 15px 16px; gap: 12px; align-items: start; border-radius: 9px; }
body[data-screen="quiz"] .choice-content strong { font-size: var(--control-font); line-height: 1.5; }
body[data-screen="quiz"] .choice-content small { margin-top: 4px; font-size: var(--small-font); line-height: 1.5; }
body[data-screen="quiz"] .answer-choice input { margin-top: 3px; }
body[data-screen="quiz"] .field-grid { grid-template-columns: 1fr; gap: 18px; }
body[data-screen="quiz"] .field-label input { min-height: 60px; }
body[data-screen="quiz"] .height-fields { gap: 15px; }
body[data-screen="quiz"] .unit-toggle { margin-bottom: 22px; }
body[data-screen="quiz"] .quiz-actions { border: 0; padding: 0; margin: 24px 0 0; justify-content: flex-end; }
body[data-screen="quiz"] .quiz-actions > .primary-button { width: 100%; margin: 0; min-height: 57px; flex: 1; }
body[data-screen="quiz"] .focus-question { margin-top: 21px; padding: 18px; }
body[data-screen="quiz"] .stage-help { margin-top: 18px; padding-top: 5px; }
body[data-screen="quiz"] .safety-detail, body[data-screen="quiz"] .safety-options { margin-top: 18px; }
body[data-screen="quiz"] .form-error:not(:empty) { margin-bottom: 19px; }

.simple-landing h1 { max-width: 620px; }
.simple-landing .hero-copy > p { max-width: 510px; }
.landing-reassurance { display: block; font-size: var(--small-font); color: var(--muted); margin-top: 14px; line-height: 1.6; }
.simple-landing .landing-hero { padding-block: 58px; }
.simple-landing.landing-hero { padding-block: 58px; }
.simple-path { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 26px; padding: 23px 0; margin-bottom: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: var(--small-font); line-height: 1.6; }
.single-field { max-width: 380px; }
.field-label > .input-with-unit { position: relative; display: flex; align-items: center; width: 100%; margin: 0; color: var(--ink); font-weight: 400; line-height: 1.4; }
#quiz-form .input-with-unit > input { padding-right: 72px; font-size: 24px; font-weight: 400; appearance: textfield; -moz-appearance: textfield; }
.input-with-unit > input::-webkit-inner-spin-button, .input-with-unit > input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.input-with-unit > span { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); pointer-events: none; color: var(--muted); font-size: var(--small-font); font-weight: 400; line-height: 1.4; }
#quiz-form .height-fields .input-with-unit > input { padding-right: 43px; font-size: 23px; }
.height-fields .input-with-unit > span { right: 12px; }
.quiet-help { border-top: 1px solid var(--line); margin-top: 17px; padding-top: 5px; color: var(--muted); font-size: var(--small-font); }
.quiet-help summary { min-height: 48px; padding: 11px 0; color: var(--forest); line-height: 1.5; cursor: pointer; }
.quiet-help p { margin: 6px 0 0; line-height: 1.7; }
.funnel-header .header-nav { order: 0; width: auto; margin-left: auto; }
.footer-links { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px 23px; }

.simple-result { width: min(640px, 100%); margin: 44px auto 48px; }
.simple-result > h1 { font-size: 43px; margin: 14px 0 18px; line-height: 1.17; }
.simple-result > p { color: var(--muted); font-size: var(--body-font); line-height: 1.65; }
.focus-pill { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; background: var(--sage); color: var(--forest); border-radius: 7px; padding: 9px 14px; margin: 19px 0 0; font-size: var(--small-font); line-height: 1.55; }
.focus-pill strong { font-weight: 600; }
.simple-calorie { color: white; background: var(--forest); border: 1px solid var(--forest); border-radius: 16px; padding: 28px 31px; margin-top: 23px; }
.simple-calorie .result-kicker { color: #e5ebdf; letter-spacing: 1px; }
.simple-calorie .calorie-number { color: white; font-size: 66px; margin: 17px 0 12px; }
.simple-calorie .calorie-number > span { font-size: 17px; margin-top: 9px; }
.simple-calorie .result-range { color: #eef1e9; font-size: var(--body-font); margin-top: 19px; padding-top: 16px; border-top: 1px solid #ffffff38; }
.simple-calorie .result-footnote { color: #e5ebdf; }
.simple-calorie > p:not(.calorie-number):not(.result-range) { color: #e5ebdf; font-size: var(--small-font); line-height: 1.65; }
.simple-result-note { color: #e5ebdf; font-size: var(--small-font); line-height: 1.65; margin-top: 13px; }
.simple-calorie > h2 { color: white; font-size: 32px; margin: 19px 0 15px; }
.simple-calorie.calorie-free > h2 { margin-top: 0; }
.result-next { margin-top: 25px; }
.result-next > .primary-button { width: 100%; min-height: 57px; }
.simple-result > .result-details { margin-top: 18px; }
.result-edit { margin-top: 12px; }
.result-edit .text-button, button.result-edit { font-size: var(--small-font); }
.simple-result .privacy-note { text-align: left; }

.simple-preview { max-width: 1000px; margin: 24px auto 45px; }
.journey-back { margin-bottom: 17px; }
.journey-back .back-button { padding-left: 0; }
.simple-preview > .section-intro { max-width: 780px; margin-bottom: 27px; }
.simple-preview > .section-intro h1 { font-size: 44px; margin: 11px 0 18px; line-height: 1.17; }
.preview-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 19px; }
.preview-choice {
  position: relative;
  isolation: isolate;
  min-width: 0;
  aspect-ratio: 1;
  padding: 0;
  border: 1px solid #173c3315;
  border-radius: 15px;
  background: var(--forest);
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: left;
  overflow: hidden;
}
.preview-choice:after { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, #0a191207 10%, #0a19124d 35%, #08160fcc 64%, #05110bf5 100%); pointer-events: none; }
.preview-choice > img { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.preview-choice:hover > img { transform: scale(1.025); }
.preview-choice > span { position: relative; z-index: 2; padding: 23px 39px 23px 23px; text-shadow: 0 2px 8px #000c; }
.preview-choice strong { display: block; font-family: Georgia, serif; font-size: 28px; font-weight: 400; line-height: 1.16; letter-spacing: -.03em; color: white; }
.preview-choice small { display: block; color: white; margin-top: 9px; font-size: var(--small-font); line-height: 1.5; }
.preview-choice > b { position: absolute; z-index: 2; bottom: 24px; right: 17px; color: white; font-size: 21px; line-height: 1; }
.preview-choice .sample-link { display: block; font-size: var(--small-font); line-height: 1.5; margin-top: 12px; text-decoration: underline; text-underline-offset: 4px; }
.preview-choice:focus-visible { outline: 3px solid #b87922; outline-offset: 5px; box-shadow: 0 0 0 2px var(--surface); }
.preview-proof { margin: 27px 0; padding: 4px 0 4px 20px; border-left: 2px solid #c7cfbb; }
.preview-proof blockquote { font-family: Georgia, serif; font-size: 23px; line-height: 1.5; color: var(--forest); margin: 0; max-width: 780px; }
.preview-proof .text-button { margin-top: 4px; font-size: var(--small-font); }
.preview-proof > p { color: var(--muted); font-size: var(--small-font); margin-top: 10px; }
.simple-checkout { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 13px 27px; align-items: center; border: 1px solid #cbd6c0; border-radius: 14px; background: var(--surface); padding: 26px 28px; margin-top: 25px; }
.checkout-summary { min-width: 0; }
.checkout-summary h2 { font-size: 28px; line-height: 1.25; margin: 0; }
.checkout-summary .offer-price { font-size: 31px; margin-top: 10px; }
.included-line { font-size: var(--small-font); color: var(--muted); margin-top: 9px; line-height: 1.65; }
.simple-checkout > .primary-button { min-width: 215px; }
.simple-checkout > .checkout-note { grid-column: 1 / -1; margin-top: 1px; font-size: var(--small-font); }
.simple-reviews { max-width: 1000px; margin: 24px auto 44px; }
.simple-reviews > h1 { max-width: 800px; font-size: 44px; margin: 15px 0 24px; }
.simple-reviews > p { color: var(--muted); max-width: 740px; }
.simple-reviews .proof-section { margin-top: 23px; padding-top: 0; border-top: 0; }
.simple-reviews .proof-section > .section-intro { display: block; }
.simple-reviews .proof-section > .section-intro h2 { font-size: 43px; }
.simple-reviews > .primary-button, .simple-reviews > .secondary-button { margin-top: 25px; }
.privacy-page { max-width: 760px; margin: 27px auto 45px; }
.privacy-page > h1 { font-size: 42px; margin: 17px 0 25px; }
.privacy-page .method-section { margin-top: 23px; }
.privacy-page .method-content { font-size: var(--body-font); }

.sample-dialog {
  width: min(850px, calc(100vw - 36px));
  max-width: none;
  max-height: calc(100dvh - 36px);
  padding: 16px 23px 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  color: var(--ink);
  overflow: auto;
  box-shadow: 0 20px 70px #0005;
}
.sample-dialog::backdrop { background: #10271fe0; }
.sample-dialog > .dialog-close { display: flex; align-items: center; justify-content: center; position: sticky; top: 0; right: auto; z-index: 8; width: max-content; margin-left: auto; min-height: 48px; }
.sample-dialog > h2 { font-size: 33px; margin: 14px 0 22px; }
.sample-dialog .preview-panel { grid-template-columns: minmax(180px, .65fr) minmax(0, 1.35fr); border-radius: 11px; }
.sample-dialog .preview-image img { min-height: 100%; max-height: none; }
.sample-dialog .preview-body { padding: 25px; }
.sample-dialog .preview-body h3 { font-size: 30px; }
.sample-dialog .sample-meal, .sample-dialog .sample-portion, .sample-dialog .sample-workout { padding: 18px; }

@media (max-width: 800px) {
  .preview-choices { grid-template-columns: 1fr; gap: 13px; }
  .preview-choice { display: grid; grid-template-columns: 88px minmax(0, 1fr) 20px; gap: 19px; align-items: center; min-height: 120px; aspect-ratio: auto; border: 1px solid var(--line); padding: 15px; color: var(--forest); background: var(--surface); overflow: visible; }
  .preview-choice:after { display: none; }
  .preview-choice > img { position: static; width: 88px; height: 88px; object-fit: cover; border-radius: 8px; }
  .preview-choice:hover > img { transform: none; }
  .preview-choice > span { padding: 0; text-shadow: none; }
  .preview-choice strong { color: var(--forest); font-size: 26px; }
  .preview-choice small { color: var(--muted); font-size: var(--small-font); }
  .preview-choice > b { position: static; color: var(--forest); font-size: 21px; justify-self: end; }
  .simple-checkout { grid-template-columns: 1fr; gap: 19px; }
  .simple-checkout > .primary-button { width: 100%; }
  .simple-checkout > .checkout-note { grid-column: auto; }
  .sample-dialog .preview-panel { grid-template-columns: 1fr; }
  .sample-dialog .preview-image img { min-height: 0; height: 170px; object-position: center 45%; }
}

@media (max-width: 570px) {
  body[data-screen="quiz"] .funnel-header { width: calc(100% - 36px); min-height: 72px; padding: 12px 0; }
  body[data-screen="quiz"] #funnel-main { width: calc(100% - 36px); }
  body[data-screen="quiz"] .brand-mark { width: 27px; height: 32px; }
  body[data-screen="quiz"] .brand-name { font-size: 16px; }
  body[data-screen="quiz"] .brand-name strong { font-size: 20px; }
  body[data-screen="quiz"] .quiz-shell { margin-top: 12px; margin-bottom: 26px; }
  body[data-screen="quiz"] .quiz-top { margin-bottom: 7px; }
  body[data-screen="quiz"] .progress-track { margin-bottom: 20px; }
  body[data-screen="quiz"] .quiz-card { padding: 25px 20px 23px; border-radius: 13px; }
  body[data-screen="quiz"] .quiz-card h1 { font-size: 31px; line-height: 1.2; margin-bottom: 14px; }
  body[data-screen="quiz"] .question-help { font-size: var(--body-font); line-height: 1.55; margin-bottom: 20px; }
  body[data-screen="quiz"] #quiz-form { margin-top: 20px; }
  body[data-screen="quiz"] .answer-choice { min-height: 60px; padding: 15px 14px; gap: 11px; }
  body[data-screen="quiz"] .height-fields { gap: 12px; }
  body[data-screen="quiz"] .height-fields .field-label > span { font-size: var(--small-font); }
  body[data-screen="quiz"] .field-label input { min-height: 58px; }
  body[data-screen="quiz"] .unit-toggle { margin-bottom: 21px; }
  body[data-screen="quiz"] .quiz-actions { margin-top: 22px; }
  body[data-screen="quiz"] .quiz-actions > .primary-button { order: initial; flex-basis: auto; }
  body[data-screen="quiz"] .focus-question { padding: 17px 14px; }
  .simple-landing .landing-hero, .simple-landing.landing-hero { padding: 30px 0 35px; gap: 25px; }
  .simple-landing h1 { font-size: 39px; }
  .simple-landing .hero-art { padding: 0; }
  .simple-landing .hero-art:before { display: none; }
  .simple-landing .hero-photo { height: 180px; max-height: 180px; aspect-ratio: auto; border-radius: 13px; object-position: center 39%; }
  .landing-reassurance { font-size: var(--small-font); margin-top: 12px; }
  .simple-path { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 20px 0 12px; margin-bottom: 16px; }
  .funnel-header .header-nav { flex: none; }
  .funnel-header .text-size { min-width: 48px; min-height: 48px; padding: 9px; justify-content: center; }
  .funnel-header .text-size .control-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .footer-links { display: flex; margin-top: 9px; }
  .quiet-footer .footer-links a { margin-top: 0; }
  .simple-result { margin: 29px auto 35px; }
  .simple-result > h1 { font-size: 35px; margin: 13px 0 17px; }
  .focus-pill { margin-top: 17px; padding: 9px 12px; }
  .simple-calorie { padding: 25px 24px; margin-top: 20px; border-radius: 13px; }
  .simple-calorie .calorie-number { font-size: 59px; margin-top: 16px; }
  .simple-calorie .result-range { font-size: var(--body-font); line-height: 1.6; }
  .result-next { margin-top: 22px; }
  .result-edit { margin-top: 10px; }
  .simple-preview { margin: 15px auto 33px; }
  .journey-back { margin-bottom: 13px; }
  .simple-preview > .section-intro { margin-bottom: 22px; }
  .simple-preview > .section-intro h1 { font-size: 35px; margin: 10px 0 16px; }
  .preview-choices { grid-template-columns: 1fr; gap: 12px; }
  .preview-choice { display: grid; grid-template-columns: 72px minmax(0, 1fr) 16px; gap: 13px; align-items: center; min-height: 102px; aspect-ratio: auto; border: 1px solid var(--line); border-radius: 11px; padding: 13px; color: var(--forest); background: var(--surface); overflow: visible; }
  .preview-choice:after { display: none; }
  .preview-choice > img { position: static; width: 72px; height: 72px; aspect-ratio: 1; object-fit: cover; border-radius: 7px; }
  .preview-choice:hover > img { transform: none; }
  .preview-choice > span { padding: 0; text-shadow: none; }
  .preview-choice strong { color: var(--forest); font-family: Arial, sans-serif; font-size: var(--control-font); font-weight: 600; letter-spacing: 0; line-height: 1.4; }
  .preview-choice small { color: var(--muted); font-size: var(--small-font); line-height: 1.5; margin-top: 5px; }
  .preview-choice > b { position: static; color: var(--forest); font-size: 20px; justify-self: end; }
  .preview-choice .sample-link { margin-top: 7px; }
  .preview-proof { margin: 23px 0; padding-left: 17px; }
  .preview-proof blockquote { font-size: 21px; line-height: 1.5; }
  .simple-checkout { padding: 23px 21px; margin-top: 22px; border-radius: 12px; gap: 17px; }
  .checkout-summary h2 { font-size: 28px; }
  .checkout-summary .offer-price { font-size: 31px; }
  .simple-checkout > .primary-button { min-width: 0; }
  .simple-reviews { margin: 15px auto 32px; }
  .simple-reviews > h1 { font-size: 35px; margin: 13px 0 22px; }
  .simple-reviews .proof-section { margin-top: 19px; }
  .simple-reviews .proof-section > .section-intro h2 { font-size: 35px; }
  .simple-reviews > .primary-button, .simple-reviews > .secondary-button { width: 100%; }
  .privacy-page { margin: 17px auto 34px; }
  .privacy-page > h1 { font-size: 35px; }
  .sample-dialog { width: calc(100vw - 24px); max-height: calc(100dvh - 24px); padding: 10px 13px 17px; border-radius: 12px; }
  .sample-dialog > h2 { font-size: 29px; margin: 12px 3px 20px; }
  .sample-dialog .preview-image img { height: 135px; }
  .sample-dialog .preview-body { padding: 23px 19px; }
  .sample-dialog .preview-body h3 { font-size: 28px; }
  .sample-dialog .sample-meal, .sample-dialog .sample-portion, .sample-dialog .sample-workout { padding: 18px 15px; }
  body.large-text .preview-choice { grid-template-columns: 64px minmax(0, 1fr) 15px; gap: 11px; }
  body.large-text .preview-choice > img { width: 64px; height: 64px; }
  body.large-text .preview-choice small { font-size: var(--small-font); }
  body.large-text #quiz-form .input-with-unit > input { font-size: 26px; }
  body.large-text #quiz-form .height-fields .input-with-unit > input { font-size: 24px; }
}

@media (max-width: 360px) {
  body[data-screen="quiz"] .funnel-header, body[data-screen="quiz"] #funnel-main { width: calc(100% - 28px); }
  body[data-screen="quiz"] .quiz-card { padding-inline: 18px; }
  .simple-calorie .calorie-number { font-size: 55px; }
  .preview-choice { padding: 12px; gap: 11px; grid-template-columns: 64px minmax(0, 1fr) 15px; }
  .preview-choice > img { width: 64px; height: 64px; }
}

@media print {
  .simple-result { max-width: none; margin: 0; }
  .simple-calorie { background: white; border: 1px solid #aaa; color: black; }
  .simple-calorie .calorie-number, .simple-calorie .result-kicker, .simple-calorie .result-range { color: black; }
  .result-next, .result-edit, .journey-back, .simple-checkout, .preview-proof .text-button { display: none !important; }
}

/* The program preview is the editorial sales moment; the quiz stays quiet. */
.simple-preview.preview-story { max-width: 1200px; margin: 23px auto 55px; }
.preview-story > .journey-back { margin-bottom: 20px; }
.preview-story .preview-hero { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 62px; align-items: center; padding: 11px 0 55px; border-bottom: 1px solid var(--line); }
.preview-story .preview-hero-copy { padding: 11px 0; min-width: 0; }
.preview-story .preview-hero h1 { margin: 19px 0 24px; font-size: clamp(2.4rem, 4.6vw, 3.1rem); line-height: 1.1; max-width: 620px; }
.preview-story .preview-lead { color: var(--muted); font-size: max(var(--body-font), 20px); line-height: 1.75; max-width: 530px; }
.preview-story .preview-hero .focus-pill { margin-top: 25px; background: #e8eddf; padding: 10px 15px; }
.preview-story .preview-focus-label { display: block; color: var(--muted); font-size: var(--small-font); line-height: 1.6; margin-top: 11px; max-width: 470px; }
.preview-story .preview-hero-visual { position: relative; isolation: isolate; min-width: 0; margin: 0; padding: 12px 0 0 12px; }
.preview-story .preview-hero-visual:before { content: ''; position: absolute; z-index: -1; top: 0; left: 0; right: 14px; bottom: 14px; border: 1px solid #bfcbb2; border-radius: 130px 22px 22px 22px; }
.preview-story .preview-hero-visual > img { width: 100%; height: auto; aspect-ratio: 4 / 4.25; object-fit: cover; border-radius: 125px 19px 19px 19px; background: var(--sage); }
.preview-story .preview-photo-note { position: absolute; left: 35px; bottom: 25px; right: 23px; max-width: 310px; padding: 20px 23px; border: 1px solid #fffefa; border-radius: 11px; background: #fffefaf5; color: var(--forest); box-shadow: 0 8px 28px #173c3314; }
.preview-story .preview-photo-note > span { display: block; font-size: 10px; font-weight: 700; letter-spacing: 1.7px; line-height: 1.5; margin-bottom: 11px; }
.preview-story .preview-photo-note > strong { display: block; font-family: Georgia, serif; font-size: 27px; font-weight: 400; letter-spacing: -.025em; line-height: 1.25; }
.preview-story .preview-section-heading { max-width: 790px; margin-bottom: 28px; }
.preview-story .preview-section-heading > h2 { font-size: clamp(1.9rem, 3.5vw, 2.4rem); line-height: 1.16; margin: 13px 0 18px; }
.preview-story .preview-section-heading > p { max-width: 750px; font-size: var(--body-font); color: var(--muted); line-height: 1.75; }

.preview-story .preview-day { margin: 52px 0 55px; }
.preview-story .preview-day-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr); gap: 23px; align-items: stretch; }
.preview-story .preview-day-menu { background: var(--surface); border: 1px solid var(--line); border-radius: 17px; padding: 16px 31px 24px; }
.preview-story .preview-day-list { list-style: none; margin: 0; padding: 0; }
.preview-story .preview-day-list > li { display: grid; grid-template-columns: 114px minmax(0, 1fr); gap: 5px 24px; align-items: baseline; padding: 20px 0; margin: 0; border-bottom: 1px solid var(--line); }
.preview-story .preview-day-list > li:last-child { border-bottom: 0; }
.preview-story .day-meal-label { color: var(--forest-light); font-size: var(--small-font); line-height: 1.6; font-weight: 600; }
.preview-story .preview-day-list strong { display: block; color: var(--forest); font-family: Georgia, serif; font-size: 24px; font-weight: 400; line-height: 1.35; letter-spacing: -.02em; }
.preview-story .preview-day-list > li > span:not(.day-meal-label) { display: block; grid-column: 2; color: var(--muted); font-size: var(--small-font); line-height: 1.65; }
.preview-story .preview-caption { color: var(--muted); font-size: var(--small-font); line-height: 1.7; margin-top: 12px; max-width: 660px; }
.preview-story .preview-day-movement { padding: 31px 28px; border: 1px solid #cbd7be; border-top: 3px solid #a7824c; border-radius: 17px; background: #e8eedf; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.preview-story .preview-day-movement > small { color: var(--forest-light); font-size: 11px; letter-spacing: 1.4px; font-weight: 700; line-height: 1.6; }
.preview-story .preview-day-movement > strong { display: block; font-family: Georgia, serif; font-size: 33px; line-height: 1.2; letter-spacing: -.025em; font-weight: 400; color: var(--forest); margin: 21px 0 20px; }
.preview-story .preview-day-movement > p { color: #4b6043; font-size: var(--body-font); line-height: 1.75; }

.preview-story .preview-inside { background: #edf0e5; border: 1px solid #dde4d3; border-radius: 23px; padding: 39px 37px 38px; }
.preview-story .preview-inside .preview-section-heading { max-width: 800px; margin-bottom: 29px; }
.preview-story .preview-choice:after { background: linear-gradient(180deg, #0a19120a 5%, #0a19127a 31%, #08160fe6 65%, #05110bf7 100%); }
.preview-story .preview-choice:focus-visible { outline: 3px solid #b87922; outline-offset: 5px; box-shadow: 0 0 0 2px var(--surface); }

.preview-story .preview-start { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 65px; align-items: start; padding: 53px 0 52px; }
.preview-story .preview-start h2 { color: var(--forest); font-size: 43px; line-height: 1.14; max-width: 430px; }
.preview-story .preview-start > div > h2 { margin: 15px 0 20px; }
.preview-story .preview-start > div > p { color: var(--muted); font-size: var(--body-font); line-height: 1.7; max-width: 400px; }
.preview-story .preview-start > .preview-section-heading { margin: 0; }
.preview-story .preview-start > ol { list-style: none; counter-reset: easy-start; padding: 0; margin: 0; }
.preview-story .preview-start > ol > li { counter-increment: easy-start; display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 18px; padding: 21px 0; margin: 0; border-bottom: 1px solid var(--line); }
.preview-story .preview-start > ol > li:first-child { padding-top: 0; }
.preview-story .preview-start > ol > li:last-child { border-bottom: 0; padding-bottom: 0; }
.preview-story .preview-start > ol > li:before { content: counter(easy-start, decimal-leading-zero); grid-column: 1; grid-row: 1 / span 2; color: var(--gold); font-family: Georgia, serif; font-size: 29px; line-height: 1.2; }
.preview-story .preview-start li > strong { grid-column: 2; color: var(--forest); font-size: 20px; font-weight: 600; line-height: 1.45; }
.preview-story .preview-start li > span { display: block; grid-column: 2; color: var(--muted); font-size: var(--body-font); line-height: 1.7; margin-top: 7px; }

.preview-story > .preview-proof { margin: 0 0 48px; padding: 32px 39px 29px; background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--gold); border-radius: 15px; }
.preview-story .preview-proof > .eyebrow { margin-bottom: 18px; font-size: 11px; }
.preview-story .preview-proof > blockquote { color: var(--forest); font-family: Georgia, serif; font-size: 30px; line-height: 1.45; max-width: 1000px; letter-spacing: -.015em; }
.preview-story .preview-proof > p { margin-top: 18px; font-size: var(--small-font); }
.preview-story .preview-proof .text-button { margin-top: 3px; }
.preview-story .preview-proof > .proof-note { display: block; margin-top: 11px; font-size: 14px; line-height: 1.7; color: var(--muted); }

.simple-checkout.preview-close { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 24px 51px; align-items: center; padding: 43px 44px 31px; margin: 0; border: 0; border-radius: 20px; background: var(--forest); color: var(--surface); }
.preview-close > .checkout-summary { grid-column: 1; grid-row: auto; }
.preview-close .checkout-summary > .eyebrow { color: #cfdac1; font-size: 11px; letter-spacing: 1.5px; margin-bottom: 16px; }
.preview-close .checkout-summary h2 { color: var(--surface); font-size: 43px; line-height: 1.13; letter-spacing: -.035em; max-width: 540px; }
.preview-close .included-line { color: #e3e9dc; font-size: var(--body-font); line-height: 1.75; margin-top: 21px; max-width: 500px; }
.preview-close .preview-close-inclusions { color: #f2f4ed; margin: 22px 0 0; font-size: var(--body-font); line-height: 1.65; }
.preview-close ul.preview-close-inclusions, .preview-close .preview-close-inclusions ul { padding-left: 21px; }
.preview-close .preview-close-inclusions li + li { margin-top: 12px; }
.preview-close .preview-close-inclusions li::marker { color: #cddabf; }
.preview-close .offer-price { color: white; font-size: 37px; margin: 23px 0 0; }
.preview-close > .offer-price { grid-column: 2; }
.preview-close .offer-price > span { color: #e3e9dc; font-size: var(--small-font); }
.preview-close > .primary-button { grid-column: 2; align-self: center; width: 100%; min-width: 0; min-height: 58px; color: var(--forest); border-color: var(--surface); background: var(--surface); }
.preview-close > .primary-button:hover { color: var(--forest); background: #e6ecdc; border-color: #e6ecdc; }
.preview-close > .primary-button:disabled { opacity: .8; }
.preview-close > .checkout-note { grid-column: 1 / -1; margin: 1px 0 0; padding-top: 21px; border-top: 1px solid #ffffff36; color: #e2e9da; font-size: var(--small-font); line-height: 1.7; }
.preview-close a { color: white; }
.preview-close.personal-guidance { grid-template-columns: 1fr; }
.preview-close.personal-guidance > p { color: #e3e9dc; font-size: var(--body-font); line-height: 1.75; }

/* Real recipe and movement details remain easy to read inside the samples. */
.sample-dialog .sample-detail { margin-top: 23px; border: 1px solid #cfdac3; border-radius: 10px; background: var(--surface); color: var(--ink); }
.sample-dialog .sample-detail > summary { min-height: 58px; padding: 16px 18px; border-radius: 9px; background: #edf1e6; color: var(--forest); font-size: var(--body-font); font-weight: 600; line-height: 1.5; cursor: pointer; }
.sample-dialog .sample-detail[open] > summary { border-bottom: 1px solid #d6dfcb; border-radius: 9px 9px 0 0; }
.sample-dialog .sample-detail > h4 { margin: 23px 18px 12px; color: var(--forest); font-size: 20px; line-height: 1.45; font-weight: 600; }
.sample-dialog .sample-detail > p { margin: 15px 18px 20px; color: var(--muted); font-size: var(--body-font); line-height: 1.75; }
.sample-dialog .sample-detail > ul, .sample-dialog .sample-detail > ol { margin: 16px 18px 22px; padding-left: 24px; color: var(--ink); font-size: var(--body-font); line-height: 1.75; }
.sample-dialog .sample-detail li + li { margin-top: 9px; }
.sample-dialog .sample-detail .sample-list a { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; min-height: 48px; padding: 6px 0; color: var(--forest); line-height: 1.65; text-decoration: underline; text-underline-offset: 4px; }
.sample-dialog .sample-detail .sample-list a > span { flex: none; }
.sample-dialog .sample-recipe { padding: 20px 19px 23px; }
.sample-dialog .sample-recipe-meta { color: var(--muted); font-size: var(--small-font); line-height: 1.7; padding-bottom: 16px; margin: 0 0 21px; border-bottom: 1px solid var(--line); }
.sample-dialog .sample-recipe h4 { color: var(--forest); font-size: 20px; line-height: 1.45; font-weight: 600; margin: 23px 0 12px; }
.sample-dialog .sample-recipe ul, .sample-dialog .sample-recipe ol { margin: 0; padding-left: 23px; color: var(--ink); font-size: var(--body-font); line-height: 1.8; }
.sample-dialog .sample-recipe li + li { margin-top: 9px; }
.sample-dialog .sample-recipe ol > li { padding-left: 3px; }
.sample-dialog .sample-recipe ol > li::marker { color: var(--forest); font-weight: 600; }
.sample-dialog .sample-grocery { color: var(--forest); }
.sample-dialog:has(.sample-detail) .preview-image { position: sticky; top: 64px; align-self: start; }
.sample-dialog:has(.sample-detail) .preview-image img { height: 300px; min-height: 0; object-fit: cover; }

@media (min-width: 901px) {
  .preview-story .preview-inside .preview-choices { gap: 22px; }
  .preview-story .preview-inside .preview-choice { min-height: 360px; }
  .preview-story .preview-inside .preview-choice > span { padding: 26px 42px 25px 25px; }
  .preview-story .preview-inside .preview-choice strong { font-size: 30px; }
  .preview-story .preview-inside .preview-choice small { font-size: var(--small-font); line-height: 1.55; margin-top: 11px; }
  .preview-story .preview-inside .preview-choice .sample-link { font-size: var(--small-font); margin-top: 13px; }
  body.large-text .preview-story .preview-inside .preview-choice { min-height: 420px; }
}

@media (max-width: 1050px) {
  .preview-story .preview-hero { gap: 39px; }
  .preview-story .preview-hero h1 { font-size: 49px; }
  .preview-story .preview-inside { padding: 34px 29px; }
  .preview-story .preview-day-layout { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 19px; }
  .preview-story .preview-day-menu { padding-inline: 25px; }
  .preview-story .preview-day-list > li { grid-template-columns: 96px minmax(0, 1fr); gap: 5px 17px; }
  .preview-story .preview-day-movement { padding: 27px 24px; }
  .preview-story .preview-start { gap: 43px; }
  .simple-checkout.preview-close { padding: 38px 34px 29px; gap: 24px 34px; }
  .preview-close .checkout-summary h2 { font-size: 39px; }
}

@media (max-width: 900px) {
  .preview-story .preview-hero { grid-template-columns: 1fr; gap: 29px; padding-bottom: 40px; }
  .preview-story .preview-hero-copy { padding: 0; }
  .preview-story .preview-hero h1 { font-size: 50px; max-width: 760px; }
  .preview-story .preview-lead { max-width: 690px; }
  .preview-story .preview-hero-visual > img { aspect-ratio: 1.55; max-height: 440px; object-position: center 50%; border-top-left-radius: 85px; }
  .preview-story .preview-hero-visual:before { border-top-left-radius: 90px; }
  .preview-story .preview-photo-note { max-width: 330px; }
  .preview-story .preview-day { margin-top: 39px; margin-bottom: 41px; }
  .preview-story .preview-day-layout { grid-template-columns: 1fr; gap: 18px; }
  .preview-story .preview-day-movement { padding: 25px 29px; }
  .preview-story .preview-day-movement > strong { font-size: 30px; margin: 13px 0 14px; }
  .preview-story .preview-inside { padding: 32px 28px; }
  .preview-story .preview-inside .preview-choices { grid-template-columns: 1fr; gap: 13px; }
  .preview-story .preview-inside .preview-choice { display: grid; grid-template-columns: 90px minmax(0, 1fr) 20px; align-items: center; gap: 18px; aspect-ratio: auto; min-height: 125px; padding: 16px; color: var(--forest); background: var(--surface); border: 1px solid #d7dfce; overflow: visible; }
  .preview-story .preview-inside .preview-choice:after { display: none; }
  .preview-story .preview-inside .preview-choice > img { position: static; width: 90px; height: 90px; object-fit: cover; border-radius: 8px; }
  .preview-story .preview-inside .preview-choice:hover > img { transform: none; }
  .preview-story .preview-inside .preview-choice > span { padding: 0; text-shadow: none; }
  .preview-story .preview-inside .preview-choice strong { color: var(--forest); font-size: 26px; }
  .preview-story .preview-inside .preview-choice small { color: var(--muted); font-size: var(--small-font); }
  .preview-story .preview-inside .preview-choice > b { position: static; color: var(--forest); justify-self: end; }
  .preview-story .preview-start { grid-template-columns: 1fr; gap: 27px; padding: 40px 0; }
  .preview-story .preview-start h2 { font-size: 40px; max-width: none; }
  .preview-story .preview-start > ol > li { padding-block: 19px; }
  .preview-story > .preview-proof { margin-bottom: 39px; padding: 29px 30px; }
  .preview-story .preview-proof > blockquote { font-size: 28px; }
  .simple-checkout.preview-close { grid-template-columns: 1fr; padding: 33px 31px 27px; gap: 23px; }
  .preview-close > .checkout-summary, .preview-close > .preview-close-inclusions,
  .preview-close > .offer-price, .preview-close > .primary-button,
  .preview-close > .checkout-note { grid-column: auto; grid-row: auto; }
  .preview-close .checkout-summary h2 { font-size: 40px; }
  .preview-close .included-line { max-width: 700px; margin-top: 18px; }
}

@media (max-width: 800px) {
  .sample-dialog:has(.sample-detail) .preview-image { position: static; }
  .sample-dialog:has(.sample-detail) .preview-image img { height: 160px; }
}

@media (max-width: 570px) {
  .simple-preview.preview-story { margin-top: 14px; margin-bottom: 34px; }
  .preview-story > .journey-back { margin-bottom: 15px; }
  .preview-story .preview-hero { gap: 25px; padding-top: 0; padding-bottom: 32px; }
  .preview-story .preview-hero h1 { font-size: 39px; line-height: 1.12; margin: 15px 0 20px; }
  .preview-story .preview-lead { font-size: var(--body-font); line-height: 1.7; }
  .preview-story .preview-hero .focus-pill { margin-top: 20px; padding: 9px 13px; }
  .preview-story .preview-focus-label { margin-top: 10px; font-size: var(--small-font); }
  .preview-story .preview-hero-visual { padding: 7px 0 0 7px; }
  .preview-story .preview-hero-visual > img { height: 260px; max-height: 260px; aspect-ratio: auto; border-radius: 66px 14px 14px 14px; object-position: center 48%; }
  .preview-story .preview-hero-visual:before { right: 10px; bottom: 10px; border-radius: 70px 16px 16px 16px; }
  .preview-story .preview-photo-note { left: 24px; right: 17px; bottom: 17px; max-width: 270px; padding: 16px 18px; }
  .preview-story .preview-photo-note > span { font-size: 9px; letter-spacing: 1.3px; margin-bottom: 8px; }
  .preview-story .preview-photo-note > strong { font-size: 24px; }
  .preview-story .preview-section-heading { margin-bottom: 23px; }
  .preview-story .preview-section-heading > h2 { font-size: 33px; margin: 12px 0 17px; }
  .preview-story .preview-section-heading > p { font-size: var(--body-font); line-height: 1.7; }
  .preview-story .preview-day { margin: 32px 0 35px; }
  .preview-story .preview-day-layout { gap: 15px; }
  .preview-story .preview-day-menu { padding: 7px 21px 22px; border-radius: 13px; }
  .preview-story .preview-day-list > li { grid-template-columns: 1fr; gap: 7px; padding: 18px 0; }
  .preview-story .preview-day-list > li > span:not(.day-meal-label) { grid-column: 1; }
  .preview-story .day-meal-label { font-size: var(--small-font); }
  .preview-story .preview-day-list strong { font-size: 24px; line-height: 1.35; }
  .preview-story .preview-caption { margin-top: 8px; font-size: var(--small-font); line-height: 1.7; }
  .preview-story .preview-day-movement { padding: 24px 23px; border-radius: 13px; }
  .preview-story .preview-day-movement > small { font-size: 10px; }
  .preview-story .preview-day-movement > strong { font-size: 29px; margin: 14px 0 15px; }
  .preview-story .preview-day-movement > p { font-size: var(--body-font); }
  .preview-story .preview-inside { border-radius: 16px; padding: 26px 17px 20px; }
  .preview-story .preview-inside .preview-section-heading { margin-bottom: 23px; }
  .preview-story .preview-inside .preview-choices { gap: 12px; }
  .preview-story .preview-inside .preview-choice { grid-template-columns: 64px minmax(0, 1fr) 15px; gap: 12px; padding: 13px; min-height: 105px; border-radius: 10px; }
  .preview-story .preview-inside .preview-choice > img { width: 64px; height: 64px; border-radius: 6px; }
  .preview-story .preview-inside .preview-choice strong { font-family: Arial, sans-serif; font-size: var(--control-font); line-height: 1.4; font-weight: 600; letter-spacing: 0; }
  .preview-story .preview-inside .preview-choice small { font-size: var(--small-font); line-height: 1.5; margin-top: 6px; }
  .preview-story .preview-inside .preview-choice .sample-link { margin-top: 8px; font-size: var(--small-font); }
  .preview-story .preview-inside .preview-choice > b { font-size: 19px; }
  .preview-story .preview-start { padding: 35px 0; gap: 23px; }
  .preview-story .preview-start h2 { font-size: 35px; line-height: 1.17; }
  .preview-story .preview-start > ol > li { grid-template-columns: 34px minmax(0, 1fr); column-gap: 14px; padding: 18px 0; }
  .preview-story .preview-start > ol > li:before { font-size: 26px; }
  .preview-story .preview-start li > strong { font-size: var(--control-font); }
  .preview-story .preview-start li > span { font-size: var(--body-font); line-height: 1.7; }
  .preview-story > .preview-proof { padding: 25px 22px; margin-bottom: 33px; border-radius: 12px; }
  .preview-story .preview-proof > .eyebrow { font-size: 10px; margin-bottom: 16px; }
  .preview-story .preview-proof > blockquote { font-size: 25px; line-height: 1.46; }
  .preview-story .preview-proof > p { margin-top: 17px; }
  .preview-story .preview-proof > .proof-note { font-size: 15px; line-height: 1.7; }
  .simple-checkout.preview-close { padding: 28px 23px 25px; border-radius: 15px; gap: 21px; }
  .preview-close .checkout-summary > .eyebrow { font-size: 10px; margin-bottom: 15px; }
  .preview-close .checkout-summary h2 { font-size: 35px; line-height: 1.15; }
  .preview-close .included-line { font-size: var(--body-font); line-height: 1.7; margin-top: 18px; }
  .preview-close > .preview-close-inclusions { font-size: var(--body-font); }
  .preview-close-inclusions li + li { margin-top: 10px; }
  .preview-close .offer-price { font-size: 35px; }
  .preview-close > .primary-button { min-height: 58px; }
  .preview-close > .checkout-note { padding-top: 18px; font-size: var(--small-font); line-height: 1.65; }
  .sample-dialog:has(.sample-detail) .preview-image img { height: 125px; }
  .sample-dialog .sample-detail > summary { min-height: 58px; padding: 15px 16px; font-size: var(--body-font); }
  .sample-dialog .sample-recipe { padding: 18px 16px 21px; }
  .sample-dialog .sample-recipe h4 { font-size: 20px; }
  .sample-dialog .sample-recipe ul, .sample-dialog .sample-recipe ol { padding-left: 21px; }
  body.large-text .preview-story .preview-photo-note { position: static; max-width: none; margin-top: 13px; padding: 19px; }
  body.large-text .preview-story .preview-photo-note > strong { font-size: 27px; }
  body.large-text .preview-story .preview-inside { padding-inline: 15px; }
  body.large-text .preview-story .preview-inside .preview-choice { grid-template-columns: 52px minmax(0, 1fr) 13px; gap: 10px; padding: 12px; }
  body.large-text .preview-story .preview-inside .preview-choice > img { width: 52px; height: 52px; }
  body.large-text .preview-story .preview-inside .preview-choice small { font-size: var(--small-font); }
  body.large-text .preview-story .preview-proof > .proof-note { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .preview-story .preview-choice > img { transition: none; }
}

@media (forced-colors: active) {
  .preview-story .preview-choice { border: 2px solid ButtonText; }
  .preview-story .preview-choice:after { background: Canvas; opacity: .9; }
  .preview-story .preview-choice strong, .preview-story .preview-choice small,
  .preview-story .preview-choice > b, .preview-story .preview-choice .sample-link { color: CanvasText; text-shadow: none; }
  .preview-close > .primary-button { border: 2px solid ButtonText; }
  .preview-story .preview-photo-note, .preview-story .preview-day-menu,
  .preview-story .preview-day-movement, .preview-story .preview-inside,
  .preview-story > .preview-proof, .simple-checkout.preview-close { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
  .sample-dialog .sample-detail, .sample-dialog .sample-detail > summary { border-color: CanvasText; background: Canvas; color: CanvasText; }
}

@media print {
  .preview-story .preview-hero, .preview-story .preview-day-layout, .preview-story .preview-start { display: block; }
  .preview-story .preview-hero-visual, .preview-story .preview-inside, .preview-close { display: none !important; }
  .preview-story .preview-day-menu, .preview-story .preview-day-movement, .preview-story > .preview-proof { background: white; color: black; border: 1px solid #aaa; margin-block: 15px; break-inside: avoid; }
}

/* Membership context augments the tailored preview without adding a step. */
.preview-story .preview-offer-cue { max-width: 480px; margin-top: 25px; padding: 18px 20px 12px; border: 1px solid #cfd9c3; border-radius: 11px; background: var(--surface); color: var(--forest); }
.preview-story .preview-offer-cue strong { color: var(--forest); font-family: Georgia, serif; font-size: 32px; font-weight: 400; line-height: 1.25; letter-spacing: -.025em; }
.preview-story .preview-offer-cue strong + span { display: inline-block; color: var(--forest-light); font-size: var(--small-font); line-height: 1.5; margin-left: 8px; }
.preview-story .preview-offer-cue > p { color: var(--muted); font-size: var(--small-font); line-height: 1.65; }
.preview-story .preview-offer-cue > .offer-price { margin: 0; font-family: Arial, Helvetica, sans-serif; letter-spacing: 0; }
.preview-story .preview-offer-cue > p + p { margin-top: 7px; }
.preview-story .preview-offer-cue .text-button { min-height: 48px; padding: 9px 0; margin-top: 3px; font-size: var(--small-font); }
.preview-story .preview-supportpanel { margin: 33px 0 0; padding: 32px 35px; border: 1px solid var(--line); border-radius: 17px; background: var(--surface); }
.preview-story .preview-supportpanel > h2, .preview-story .preview-supportpanel > div > h2 { font-size: 36px; line-height: 1.18; margin: 13px 0 18px; }
.preview-story .preview-supportpanel > p, .preview-story .preview-supportpanel > div > p { max-width: 850px; color: var(--muted); font-size: var(--body-font); line-height: 1.75; }
.preview-story .preview-supportpanel > ul { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 0; margin: 26px 0 0; }
.preview-story .preview-supportpanel li { border-top: 1px solid #d4ddc9; padding-top: 18px; margin: 0; }
.preview-story .preview-supportpanel li > strong { display: block; color: var(--forest); font-size: 20px; font-weight: 600; line-height: 1.5; }
.preview-story .preview-supportpanel li > span { display: block; color: var(--muted); font-size: var(--body-font); line-height: 1.7; margin-top: 8px; }
@media (max-width: 800px) {
  .preview-story .preview-supportpanel > ul { grid-template-columns: 1fr; gap: 21px; }
  .preview-story .preview-supportpanel { padding: 29px; }
}
@media (max-width: 570px) {
  .preview-story .preview-offer-cue { margin-top: 21px; padding: 17px 18px 11px; border-radius: 10px; }
  .preview-story .preview-offer-cue strong { font-size: 30px; }
  .preview-story .preview-offer-cue strong + span { margin-left: 7px; }
  .preview-story .preview-supportpanel { margin-top: 26px; padding: 25px 22px; border-radius: 13px; }
  .preview-story .preview-supportpanel > h2, .preview-story .preview-supportpanel > div > h2 { font-size: 32px; margin: 12px 0 17px; }
  .preview-story .preview-supportpanel > ul { margin-top: 22px; gap: 20px; }
  .preview-story .preview-supportpanel li { padding-top: 17px; }
  .preview-story .preview-supportpanel li > strong { font-size: var(--control-font); }
}
@media (forced-colors: active) {
  .preview-story .preview-offer-cue, .preview-story .preview-supportpanel { border-color: CanvasText; background: Canvas; color: CanvasText; }
}

/* Keep the result focused and keep member navigation outside the prospect journey. */
body[data-screen="results"] .quiet-footer{display:none}
body:not([data-screen="home"]) .footer-links>a{display:none}
