@font-face {
  font-family: "Inter Local";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/inter-400.woff2") format("woff2");
}

@font-face {
  font-family: "Inter Local";
  font-style: normal;
  font-weight: 600 700;
  font-display: swap;
  src: url("assets/fonts/inter-600.woff2") format("woff2");
}

:root {
  --forest: #0d301f;
  --green: #09552b;
  --grass: #71c27a;
  --logo-green: #80c889;
  --cream: #fffefa;
  --blue: #7fa3cb;
  --blue-light: #c9daeb;
  --yellow: #ffe57b;
  --grey: #f3f3f3;
  --ink: #10291d;
  --muted: #587064;
  --line: rgba(13, 48, 31, 0.22);
  --line-light: rgba(255, 254, 250, 0.26);
  --max: 1320px;
  --pad: clamp(20px, 4vw, 64px);
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--cream);
  color: var(--green);
  font-family: "Inter Local", Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

body.sticky-active { padding-bottom: 0; }

img, video { display: block; max-width: 100%; }
button, input, select { font: inherit; }
a { color: inherit; }

::selection { background: var(--yellow); color: var(--forest); }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 10px;
  padding: 11px 15px;
  transform: translateY(-160%);
  background: var(--yellow);
  color: var(--forest);
  font-weight: 700;
}

.skip-link:focus { transform: translateY(0); }

:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 4px;
}

.announcement {
  min-height: 31px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 6px 20px;
  background: var(--logo-green);
  color: var(--forest);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}

.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid var(--line-light);
  background: var(--forest);
  color: var(--cream);
}

.header-inner {
  width: min(100%, var(--max));
  min-height: 74px;
  margin: 0 auto;
  padding: 0 var(--pad);
  display: grid;
  grid-template-columns: 220px 1fr auto;
  align-items: center;
  gap: 34px;
}

.logo { display: inline-flex; width: min(100%, 220px); }
.logo img { width: 100%; height: auto; object-fit: contain; }

.desktop-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3vw, 42px);
}

.desktop-nav a {
  position: relative;
  padding: 24px 0;
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.desktop-nav a::after {
  position: absolute;
  right: 0;
  bottom: 18px;
  left: 0;
  height: 1px;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--logo-green);
  content: "";
  transition: transform .2s ease;
}

.desktop-nav a:hover::after { transform: scaleX(1); }

.header-cta {
  min-height: 44px;
  padding: 12px 17px;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  background: var(--logo-green);
  color: var(--forest);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-decoration: none;
  text-transform: uppercase;
}

.header-cta:hover { background: var(--yellow); }

.hero {
  width: min(100%, var(--max));
  min-height: calc(100svh - 105px);
  margin: 0 auto;
  padding: clamp(42px, 6vw, 84px) var(--pad);
  display: grid;
  grid-template-columns: minmax(0, .93fr) minmax(460px, 1.07fr);
  align-items: center;
  gap: clamp(46px, 7vw, 104px);
}

.hero-copy { max-width: 690px; }

.rating-link {
  margin-bottom: 24px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
  font-size: 12px;
}

.rating-link > span { color: var(--blue); letter-spacing: .08em; }
.rating-link strong { font-size: 13px; }

.eyebrow {
  margin: 0 0 18px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.4;
  text-transform: uppercase;
}

h1, h2, h3, p { margin-top: 0; }

h1, h2 {
  margin-bottom: 24px;
  color: var(--green);
  font-weight: 600;
  letter-spacing: -.055em;
  line-height: .96;
}

h1 { max-width: 760px; font-size: clamp(54px, 6vw, 88px); }
h2 { font-size: clamp(48px, 5.2vw, 78px); }
h2 em { color: var(--logo-green); font-style: normal; }

.hero-lead {
  max-width: 650px;
  margin-bottom: 29px;
  color: var(--muted);
  font-size: clamp(16px, 1.4vw, 19px);
  line-height: 1.65;
}

.hero-offer {
  margin-bottom: 26px;
  padding: 17px 0;
  display: flex;
  align-items: baseline;
  gap: 18px;
  border-block: 1px solid var(--line);
}

.hero-offer strong { color: var(--forest); font-size: 30px; letter-spacing: -.04em; }
.hero-offer span { color: var(--muted); font-size: 13px; }
.hero-offer span b { margin-inline: 4px; color: var(--green); }

.hero-actions { display: flex; align-items: center; gap: 24px; }

.button {
  min-height: 58px;
  padding: 16px 19px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  border: 1px solid currentColor;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .18s ease, color .18s ease;
}

.button-primary { min-width: 270px; background: var(--green); color: var(--cream); }
.button-primary:hover { background: var(--forest); }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid currentColor;
  text-decoration: none;
  font-size: 13px;
  font-weight: 600;
}

.text-link:hover { color: var(--forest); }

.hero-safety {
  max-width: 570px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.hero-safety span { margin-right: 6px; color: var(--green); font-weight: 700; }

.hero-media {
  position: relative;
  min-height: min(72svh, 720px);
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid var(--forest);
  background: var(--forest);
  isolation: isolate;
}

.hero-media::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 32%;
  height: 27%;
  background: var(--yellow);
  content: "";
  z-index: -1;
}

.hero-word {
  position: absolute;
  top: 5%;
  left: -1.5%;
  color: var(--logo-green);
  font-size: clamp(88px, 12vw, 184px);
  font-weight: 700;
  letter-spacing: -.09em;
  line-height: .8;
  opacity: .22;
  white-space: nowrap;
  z-index: -1;
}

.hero-media > img {
  width: auto;
  height: min(68svh, 660px);
  margin-top: 20px;
  object-fit: contain;
  filter: drop-shadow(0 18px 0 rgba(0, 0, 0, .12));
}

.hero-sticker {
  position: absolute;
  top: 8%;
  right: 5%;
  width: 118px;
  aspect-ratio: 1;
  display: grid;
  align-content: center;
  justify-items: center;
  border-radius: 50%;
  background: var(--yellow);
  color: var(--forest);
  text-transform: uppercase;
  transform: rotate(7deg);
}

.hero-sticker strong { font-size: 16px; letter-spacing: .08em; }
.hero-sticker span { font-size: 11px; font-weight: 700; letter-spacing: .1em; }

.hero-media-note {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 17px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-top: 1px solid var(--line-light);
  background: var(--cream);
  color: var(--forest);
  font-size: 12px;
}

.hero-media-note b { text-align: right; }

.proof-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-block: 1px solid var(--forest);
  background: var(--yellow);
  color: var(--forest);
}

.proof-strip > div {
  min-height: 132px;
  padding: 25px clamp(20px, 3vw, 46px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--forest);
}

.proof-strip > div:last-child { border-right: 0; }
.proof-strip strong { margin-bottom: 5px; font-size: clamp(18px, 2vw, 26px); letter-spacing: -.03em; }
.proof-strip span { font-size: 12px; }

.section { padding: clamp(86px, 10vw, 154px) var(--pad); }
.section-dark { padding: clamp(86px, 10vw, 154px) var(--pad); background: var(--forest); color: var(--cream); }
.section-blue { padding: clamp(86px, 10vw, 154px) var(--pad); background: var(--blue-light); color: var(--forest); }
.section-yellow { padding: clamp(82px, 9vw, 136px) var(--pad); background: var(--yellow); color: var(--forest); }

.section-heading { max-width: 940px; margin: 0 auto clamp(44px, 6vw, 82px); text-align: center; }
.section-heading > p:last-child { max-width: 660px; margin: 0 auto; color: var(--muted); font-size: 17px; }
.section-heading-light h2 { color: var(--cream); }
.section-heading-light > p:last-child { color: rgba(255, 254, 250, .7); }

.stage-figure {
  width: min(100%, 1260px);
  margin: 0 auto;
}

.stage-figure img {
  width: 100%;
  max-height: 65svh;
  object-fit: contain;
  background: var(--forest);
}

.stage-figure figcaption {
  max-width: 860px;
  margin: 20px auto 0;
  padding-left: 17px;
  border-left: 3px solid var(--logo-green);
  color: rgba(255, 254, 250, .7);
  font-size: 13px;
}

.stage-figure figcaption strong { color: var(--cream); }

.two-jobs {
  width: min(100%, var(--max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  align-items: center;
  gap: clamp(52px, 8vw, 118px);
}

.two-jobs-media { position: relative; }

.mechanism-proof {
  min-height: min(64svh, 620px);
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid var(--forest);
  background: var(--blue-light);
  isolation: isolate;
}

.mechanism-proof::before {
  position: absolute;
  top: 8%;
  left: -2%;
  color: var(--green);
  content: "NOW / NEXT";
  font-size: clamp(70px, 8vw, 126px);
  font-weight: 700;
  letter-spacing: -.08em;
  line-height: .82;
  opacity: .12;
  white-space: nowrap;
  z-index: -1;
}

.mechanism-proof > img {
  width: min(70%, 338px);
  height: auto;
  max-height: min(60svh, 600px);
  object-fit: contain;
}

.mechanism-proof-note {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 18px 22px 20px;
  background: var(--yellow);
  color: var(--forest);
}

.mechanism-proof-note span,
.mechanism-proof-note strong { display: block; }

.mechanism-proof-note span {
  margin-bottom: 5px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.mechanism-proof-note strong { font-size: 16px; line-height: 1.25; }

.two-jobs-copy h2 { max-width: 680px; font-size: clamp(48px, 4.7vw, 70px); }

.benefit-list { margin-top: 42px; border-top: 1px solid var(--line); }
.benefit-list article { padding: 22px 0; display: grid; grid-template-columns: 48px 1fr; gap: 15px; border-bottom: 1px solid var(--line); }
.benefit-list article > span { color: var(--blue); font-size: 12px; font-weight: 700; }
.benefit-list h3 { margin-bottom: 7px; color: var(--green); font-size: 19px; }
.benefit-list p { margin-bottom: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }

.how-to-intro {
  width: min(100%, var(--max));
  margin: 0 auto clamp(45px, 6vw, 82px);
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  column-gap: clamp(50px, 8vw, 130px);
}

.how-to-intro .eyebrow { grid-column: 1 / -1; }
.how-to-intro h2 { max-width: 720px; margin-bottom: 0; }
.how-to-intro > p:last-child { align-self: end; max-width: 500px; margin-bottom: 8px; color: #405c4c; font-size: 17px; }

.how-to-grid {
  width: min(100%, var(--max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(45px, 8vw, 120px);
}

.how-to-photo { position: relative; align-self: stretch; }
.how-to-photo img { width: 100%; height: 100%; min-height: 430px; max-height: min(58svh, 560px); object-fit: cover; object-position: center; }
.how-to-photo span { position: absolute; right: 0; bottom: 0; padding: 15px 17px; background: var(--forest); color: var(--cream); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(13, 48, 31, .4); }
.steps li { padding: 30px 0; display: grid; grid-template-columns: 64px 1fr; gap: 22px; border-bottom: 1px solid rgba(13, 48, 31, .4); }
.steps li > span { color: var(--green); font-size: 13px; font-weight: 700; }
.steps h3 { margin-bottom: 8px; color: var(--forest); font-size: clamp(22px, 2.2vw, 31px); letter-spacing: -.03em; }
.steps p { max-width: 680px; margin-bottom: 0; color: #405c4c; font-size: 15px; line-height: 1.7; }

.safety-note {
  width: min(100%, var(--max));
  margin: clamp(48px, 6vw, 80px) auto 0;
  padding: 24px 28px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  border: 1px solid var(--forest);
  background: rgba(255, 254, 250, .42);
}

.safety-note strong { font-size: 14px; text-transform: uppercase; }
.safety-note p { margin: 0; color: #405c4c; font-size: 12px; }
.safety-note a { font-size: 12px; font-weight: 700; white-space: nowrap; }

.results {
  width: min(100%, var(--max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(54px, 8vw, 120px);
}

.results-copy h2 { font-size: clamp(48px, 4.8vw, 72px); }
.results-copy > p:not(.eyebrow) { max-width: 560px; color: var(--muted); font-size: 16px; line-height: 1.65; }

.check-list { margin: 34px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.check-list li { padding: 15px 0 15px 28px; position: relative; border-bottom: 1px solid var(--line); color: var(--forest); font-size: 13px; }
.check-list li::before { position: absolute; left: 0; content: "✓"; color: var(--green); font-weight: 700; }

.result-figure { margin: 0; }
.result-figure img { width: 100%; max-height: min(65svh, 680px); object-fit: contain; background: var(--cream); }
.result-figure figcaption { margin-top: 12px; color: var(--muted); font-size: 11px; text-align: right; }

.feed-proof { overflow: hidden; }
.feed-heading { width: min(100%, var(--max)); margin: 0 auto clamp(46px, 6vw, 84px); display: grid; grid-template-columns: 1fr 1fr; gap: 28px clamp(60px, 10vw, 150px); }
.feed-heading .eyebrow { grid-column: 1 / -1; }
.feed-heading h2 { margin: 0; color: var(--cream); font-size: clamp(50px, 5.2vw, 78px); }
.feed-heading > p:last-child { align-self: end; max-width: 560px; margin-bottom: 7px; color: rgba(255, 254, 250, .68); font-size: 16px; }

.reel-carousel {
  width: min(100%, 1180px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(52px, 8vw, 118px);
}

.reel-player { width: fit-content; max-width: 100%; min-width: 0; display: grid; justify-items: center; justify-self: center; }

.reel-stage {
  position: relative;
  height: min(64svh, 640px);
  max-width: 100%;
  overflow: hidden;
  aspect-ratio: 9 / 16;
  border: 1px solid var(--line-light);
  background: #071d12;
  touch-action: pan-y;
  user-select: none;
}

.reel-stage::after {
  position: absolute;
  inset: 50% 0 0;
  background: linear-gradient(transparent, rgba(5, 22, 13, .84));
  content: "";
  pointer-events: none;
}

.reel-stage video { width: 100%; height: 100%; object-fit: cover; }

.reel-stage-top {
  position: absolute;
  z-index: 3;
  top: 13px;
  right: 13px;
  left: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.reel-stage-top > span,
.reel-play-toggle {
  min-height: 39px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 254, 250, .48);
  background: rgba(13, 48, 31, .8);
  color: var(--cream);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.reel-play-toggle { cursor: pointer; }
.reel-play-toggle:hover { background: var(--green); }

.reel-stage-meta {
  position: absolute;
  z-index: 2;
  right: 19px;
  bottom: 19px;
  left: 19px;
  color: var(--cream);
}

.reel-stage-meta small { display: block; margin-bottom: 7px; color: var(--logo-green); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.reel-stage-meta strong { display: block; font-size: clamp(21px, 2vw, 29px); letter-spacing: -.035em; line-height: 1.05; }
.reel-stage-meta p { margin: 8px 0 0; color: rgba(255, 254, 250, .72); font-size: 11px; line-height: 1.45; }

.reel-navigation {
  width: 100%;
  min-height: 58px;
  display: grid;
  grid-template-columns: 46px 1fr auto 46px;
  align-items: center;
  gap: 13px;
  border: 1px solid var(--line-light);
  border-top: 0;
}

.reel-arrow { height: 100%; border: 0; background: transparent; color: var(--cream); cursor: pointer; font-size: 18px; }
.reel-arrow:hover { background: rgba(128, 200, 137, .12); }
.reel-arrow:first-child { border-right: 1px solid var(--line-light); }
.reel-arrow:last-child { border-left: 1px solid var(--line-light); }

.reel-dots { display: flex; align-items: center; gap: 7px; }
.reel-dots button { width: 24px; height: 3px; padding: 0; border: 0; background: rgba(255, 254, 250, .26); cursor: pointer; }
.reel-dots button[aria-current="true"] { background: var(--logo-green); }
.reel-count { color: rgba(255, 254, 250, .58); font-size: 10px; font-variant-numeric: tabular-nums; }
.reel-count b { color: var(--cream); }

.reel-story-list { border-top: 1px solid var(--line-light); }

.reel-story-choice {
  width: 100%;
  min-height: 106px;
  padding: 10px 0;
  display: grid;
  grid-template-columns: 62px 1fr auto;
  align-items: center;
  gap: 16px;
  border: 0;
  border-bottom: 1px solid var(--line-light);
  background: transparent;
  color: var(--cream);
  cursor: pointer;
  text-align: left;
  transition: background-color .18s ease, padding .18s ease;
}

.reel-story-choice:hover { padding-inline: 10px; background: rgba(128, 200, 137, .07); }
.reel-story-choice[aria-pressed="true"] { padding-inline: 10px; background: rgba(128, 200, 137, .12); }
.reel-story-choice img { width: 62px; height: 82px; object-fit: cover; border: 1px solid var(--line-light); }
.reel-story-choice span { min-width: 0; display: grid; }
.reel-story-choice small { margin-bottom: 5px; color: var(--logo-green); font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.reel-story-choice strong { overflow: hidden; font-size: 16px; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }
.reel-story-choice b { margin-top: 2px; color: rgba(255, 254, 250, .58); font-size: 10px; font-weight: 400; }
.reel-story-choice time { color: rgba(255, 254, 250, .52); font-size: 10px; font-variant-numeric: tabular-nums; }

.instagram-link {
  width: fit-content;
  margin: 36px auto 0;
  display: block;
  border-bottom: 1px solid currentColor;
  color: var(--logo-green);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.reviews { display: grid; grid-template-columns: .5fr 1.5fr; gap: clamp(60px, 8vw, 130px); }
.review-summary > strong { display: block; margin: 8px 0 -5px; font-size: clamp(94px, 11vw, 176px); letter-spacing: -.09em; line-height: .9; }
.review-stars { display: block; margin: 18px 0 12px; color: var(--green); font-size: 18px; letter-spacing: .16em; }
.review-summary > p:last-child { max-width: 260px; font-size: 12px; }

.review-content { min-width: 0; display: grid; gap: 36px; }
.review-cards { border-top: 1px solid var(--forest); }
.review-cards blockquote { margin: 0; padding: 28px 0; display: grid; grid-template-columns: 110px 1fr auto; align-items: center; gap: 24px; border-bottom: 1px solid var(--forest); }
.review-cards blockquote > span { font-size: 11px; letter-spacing: .09em; }
.review-cards blockquote p { margin: 0; font-size: clamp(20px, 2.1vw, 30px); font-weight: 600; letter-spacing: -.03em; line-height: 1.25; }
.review-cards cite { font-size: 11px; font-style: normal; text-transform: uppercase; }

.review-media { display: grid; grid-template-columns: minmax(180px, .64fr) minmax(260px, 1.36fr); align-items: end; gap: 14px; }
.review-media figure { margin: 0; overflow: hidden; border: 1px solid var(--forest); background: var(--cream); }
.review-media img { width: 100%; height: auto; max-height: 430px; object-fit: contain; }
.review-media-square img { max-height: 360px; }
.review-media figcaption { padding: 11px 13px; border-top: 1px solid var(--forest); font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.founder {
  width: min(100%, var(--max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center;
  gap: clamp(56px, 8vw, 120px);
}

.founder-media img { width: 100%; height: min(64svh, 640px); object-fit: cover; object-position: center; }
.founder-copy h2 { font-size: clamp(48px, 4.8vw, 72px); }
.founder-copy > p:not(.eyebrow) { max-width: 590px; color: var(--muted); font-size: 16px; line-height: 1.7; }
.founder-facts { margin: 34px 0; border-top: 1px solid var(--line); }
.founder-facts span { padding: 13px 0; display: grid; grid-template-columns: 70px 1fr; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.founder-facts strong { color: var(--green); }

.offer { display: grid; grid-template-columns: minmax(0, .95fr) minmax(440px, 1.05fr); align-items: center; gap: clamp(50px, 9vw, 140px); }
.offer-product { max-width: 620px; justify-self: end; }
.offer-product h2 { color: var(--cream); }
.offer-product > p:not(.eyebrow) { max-width: 560px; color: rgba(255, 254, 250, .68); font-size: 16px; line-height: 1.7; }
.offer-product img { width: auto; height: min(55svh, 520px); margin: 28px auto 0; object-fit: contain; }

.offer-panel { width: min(100%, 650px); padding: clamp(25px, 4vw, 46px); background: var(--cream); color: var(--green); }
.offer-heading { padding-bottom: 22px; display: flex; align-items: end; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--line); }
.offer-heading span { font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.offer-heading strong { color: var(--forest); font-size: clamp(32px, 3vw, 44px); letter-spacing: -.04em; }

.purchase-options { margin: 26px 0 0; padding: 0; border: 0; }
.purchase-options legend { margin-bottom: 11px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.purchase-card { min-height: 76px; margin-top: 10px; padding: 15px 16px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 13px; border: 1px solid var(--line); cursor: pointer; }
.purchase-card.is-selected { border-color: var(--green); background: var(--blue-light); }
.purchase-card input { width: 18px; height: 18px; margin: 0; accent-color: var(--green); }
.purchase-card span { display: grid; gap: 2px; }
.purchase-card b { font-size: 14px; }
.purchase-card small { color: var(--muted); font-size: 11px; }
.purchase-card > strong { font-size: 16px; }

.frequency { margin-top: 18px; }
.frequency[hidden] { display: none; }
.frequency label { margin-bottom: 8px; display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.frequency select { width: 100%; min-height: 52px; padding: 0 14px; border: 1px solid var(--green); border-radius: 0; background: var(--cream); color: var(--green); }

.offer-recap { margin: 25px 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.offer-recap li { padding: 11px 0; display: flex; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--line); font-size: 11px; }
.offer-recap span { color: var(--muted); }
.offer-recap strong { text-align: right; }

.offer-button { width: 100%; background: var(--green); color: var(--cream); }
.offer-button:hover { background: var(--forest); }
.purchase-fineprint, .return-note { margin: 13px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.return-note { margin-top: 7px; }

.faq {
  width: min(100%, var(--max));
  margin: 0 auto;
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: clamp(65px, 9vw, 140px);
}

.faq-heading { position: sticky; top: 112px; align-self: start; }
.faq-heading h2 { font-size: clamp(48px, 4.8vw, 72px); }
.faq-heading > p:last-child { max-width: 360px; color: var(--muted); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 24px 50px 24px 0; list-style: none; cursor: pointer; color: var(--green); font-size: clamp(18px, 1.8vw, 24px); font-weight: 600; letter-spacing: -.025em; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span, .faq-list summary span::after { position: absolute; top: 50%; right: 4px; width: 15px; height: 1px; background: var(--green); content: ""; transition: transform .2s ease; }
.faq-list summary span::after { top: 0; right: 0; transform: rotate(90deg); }
.faq-list details[open] summary span::after { transform: rotate(0); }
.faq-list details > div { max-width: 760px; padding: 0 60px 25px 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.faq-list details > div p { margin: 0; }
.faq-list details a { color: var(--green); font-weight: 600; }

.final-cta {
  padding: clamp(70px, 9vw, 130px) var(--pad);
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 60px;
  background: var(--blue);
  color: var(--forest);
}

.final-cta-copy { max-width: 930px; }
.final-cta h2 { max-width: 850px; color: var(--forest); font-size: clamp(58px, 7vw, 108px); }
.final-cta-copy > p:last-child { max-width: 620px; margin: 0; font-size: 16px; }
.button-light { min-width: 270px; flex: 0 0 auto; background: var(--cream); color: var(--forest); }
.button-light:hover { background: var(--yellow); }

.site-footer {
  padding: 54px var(--pad) 42px;
  display: grid;
  grid-template-columns: 240px 1fr auto;
  align-items: center;
  gap: 30px 50px;
  background: var(--forest);
  color: var(--cream);
}

.footer-logo { display: block; width: 240px; }
.footer-logo img { width: 100%; height: auto; }
.site-footer > p { max-width: 430px; margin: 0; color: rgba(255, 254, 250, .62); font-size: 13px; }
.footer-links { display: flex; gap: 23px; }
.footer-links a { color: var(--logo-green); font-size: 11px; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.site-footer small { grid-column: 1 / -1; padding-top: 24px; border-top: 1px solid var(--line-light); color: rgba(255, 254, 250, .46); font-size: 10px; }

.mobile-sticky {
  position: fixed;
  z-index: 200;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 10px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  display: none;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--line-light);
  background: var(--forest);
  color: var(--cream);
  transform: translateY(110%);
  transition: transform .24s ease;
}

.mobile-sticky > div { min-width: 0; flex: 1; display: grid; }
.mobile-sticky strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.mobile-sticky span { color: rgba(255, 254, 250, .65); font-size: 9px; }
.mobile-sticky a { min-height: 45px; padding: 11px 13px; display: inline-flex; align-items: center; gap: 10px; background: var(--logo-green); color: var(--forest); font-size: 10px; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.mobile-sticky a span { color: inherit; font-size: inherit; }

.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.js .reveal.in-view { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .header-inner { grid-template-columns: 190px 1fr auto; }
  .desktop-nav { gap: 18px; }
  .hero { grid-template-columns: minmax(0, .95fr) minmax(410px, 1.05fr); gap: 48px; }
  .hero-media { min-height: 620px; }
  .hero-media > img { height: 565px; }
  .proof-strip { grid-template-columns: repeat(2, 1fr); }
  .proof-strip > div:nth-child(2) { border-right: 0; }
  .proof-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--forest); }
  .how-to-intro { grid-template-columns: 1fr 1fr; }
  .reel-carousel { grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 46px; }
  .offer { gap: 50px; }
  .reviews { grid-template-columns: .7fr 1.3fr; }
  .review-cards blockquote { grid-template-columns: 90px 1fr; }
  .review-cards cite { grid-column: 2; }
  .site-footer { grid-template-columns: 220px 1fr; }
  .footer-links { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  html { scroll-padding-top: 74px; }
  .header-inner { min-height: 67px; grid-template-columns: minmax(150px, 220px) auto; }
  .desktop-nav { display: none; }
  .header-cta { justify-self: end; }
  .hero { min-height: 0; grid-template-columns: 1fr; gap: 52px; }
  .hero-copy { max-width: 760px; }
  .hero-media { min-height: min(72svh, 680px); }
  .hero-media > img { height: min(66svh, 610px); }
  .two-jobs, .results, .founder, .offer { grid-template-columns: 1fr; }
  .two-jobs-media { order: 2; }
  .how-to-intro { grid-template-columns: 1fr; }
  .how-to-intro .eyebrow { grid-column: auto; }
  .how-to-intro h2 { margin-bottom: 20px; }
  .how-to-grid { grid-template-columns: minmax(250px, .9fr) minmax(0, 1.1fr); gap: 36px; }
  .safety-note { grid-template-columns: 1fr; gap: 10px; }
  .feed-heading { grid-template-columns: 1fr; }
  .feed-heading .eyebrow { grid-column: auto; }
  .feed-heading h2 { margin-bottom: 0; }
  .reel-carousel { grid-template-columns: 1fr; gap: 48px; }
  .reel-story-list { width: min(100%, 720px); margin: 0 auto; }
  .reviews { grid-template-columns: 1fr; }
  .review-summary { display: grid; grid-template-columns: auto 1fr; align-items: end; column-gap: 24px; }
  .review-summary .eyebrow, .review-summary > p:last-child { grid-column: 1 / -1; }
  .review-summary > strong { font-size: 112px; }
  .review-stars { margin-bottom: 20px; }
  .founder-media { order: 2; }
  .offer-product { max-width: none; justify-self: stretch; }
  .offer-product img { height: 420px; }
  .offer-panel { width: 100%; max-width: 720px; }
  .faq { grid-template-columns: 1fr; gap: 50px; }
  .faq-heading { position: static; }
  .final-cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 620px) {
  body.sticky-active { padding-bottom: 72px; }
  .announcement { min-height: 30px; gap: 8px; font-size: 9px; letter-spacing: .09em; }
  .header-inner { min-height: 64px; padding-inline: 16px; grid-template-columns: minmax(118px, 170px) auto; gap: 12px; }
  .logo { width: 150px; }
  .header-cta { min-height: 40px; padding: 10px 12px; font-size: 10px; }
  .header-cta span { display: none; }
  .hero { padding: 44px 20px 58px; gap: 42px; }
  .rating-link { margin-bottom: 21px; font-size: 11px; }
  h1 { font-size: clamp(49px, 14vw, 64px); }
  h2 { font-size: clamp(43px, 12vw, 58px); }
  .hero-lead { font-size: 16px; }
  .hero-offer { align-items: flex-start; flex-direction: column; gap: 4px; }
  .hero-actions { align-items: stretch; flex-direction: column; gap: 15px; }
  .button-primary { width: 100%; min-width: 0; }
  .text-link { width: fit-content; }
  .hero-media { min-height: 545px; }
  .hero-media > img { height: 500px; margin-top: 14px; }
  .hero-word { top: 9%; font-size: 92px; }
  .hero-sticker { top: 6%; right: 3%; width: 94px; }
  .hero-sticker strong { font-size: 13px; }
  .hero-media-note { padding: 13px 14px; font-size: 10px; }
  .proof-strip { grid-template-columns: 1fr; }
  .proof-strip > div { min-height: 97px; border-right: 0; border-bottom: 1px solid var(--forest); }
  .proof-strip > div:nth-child(2) { border-right: 0; }
  .proof-strip > div:last-child { border-bottom: 0; }
  .section, .section-dark, .section-blue, .section-yellow { padding: 78px 20px; }
  .section-heading { text-align: left; }
  .section-heading > p:last-child { margin-left: 0; }
  .stage-figure img { max-height: none; }
  .stage-figure figcaption { font-size: 12px; }
  .two-jobs { padding-inline: 20px; gap: 46px; }
  .mechanism-proof { min-height: 540px; }
  .mechanism-proof > img { width: min(72%, 338px); height: auto; max-height: 520px; }
  .mechanism-proof-note { padding: 15px 17px; }
  .founder-media img { height: min(58svh, 520px); }
  .benefit-list article { grid-template-columns: 38px 1fr; }
  .how-to-grid { grid-template-columns: 1fr; }
  .how-to-photo img { min-height: 0; max-height: none; aspect-ratio: 3 / 2; }
  .steps li { grid-template-columns: 44px 1fr; gap: 12px; }
  .safety-note { padding: 20px; }
  .results { padding-inline: 20px; gap: 45px; }
  .result-figure img { max-height: none; }
  .result-figure figcaption { text-align: left; }
  .feed-proof { padding-right: 0; }
  .feed-heading, .reel-carousel { padding-right: 20px; }
  .reel-stage { width: min(78vw, 350px); height: auto; max-height: none; }
  .reel-story-list { width: calc(100% + 20px); padding: 0 20px 10px 0; display: flex; gap: 11px; overflow-x: auto; border-top: 0; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .reel-story-list::-webkit-scrollbar { display: none; }
  .reel-story-choice { width: 78vw; min-width: 78vw; min-height: 104px; padding: 10px; border: 1px solid var(--line-light); scroll-snap-align: start; }
  .reel-story-choice:hover, .reel-story-choice[aria-pressed="true"] { padding: 10px; }
  .instagram-link { margin-right: 20px; }
  .review-summary { display: block; }
  .review-summary > strong { font-size: 105px; }
  .review-cards blockquote { grid-template-columns: 1fr; gap: 11px; }
  .review-cards cite { grid-column: auto; }
  .review-media { grid-template-columns: 1fr; }
  .review-media figure { width: min(100%, 350px); }
  .review-media-square { justify-self: end; }
  .founder { padding-inline: 20px; gap: 46px; }
  .founder-facts span { grid-template-columns: 62px 1fr; }
  .offer { padding-inline: 20px; }
  .offer-product img { height: 350px; }
  .offer-panel { padding: 24px 18px; }
  .offer-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .purchase-card { grid-template-columns: auto 1fr; }
  .purchase-card > strong { grid-column: 2; }
  .faq { padding-inline: 20px; }
  .faq-list summary { padding-right: 38px; font-size: 19px; }
  .faq-list details > div { padding-right: 22px; font-size: 13px; }
  .final-cta { padding: 75px 20px; gap: 36px; }
  .final-cta h2 { font-size: clamp(57px, 16vw, 76px); }
  .button-light { width: 100%; min-width: 0; }
  .site-footer { padding: 48px 20px 36px; grid-template-columns: 1fr; }
  .footer-logo { width: min(75vw, 250px); }
  .footer-links { grid-column: auto; flex-wrap: wrap; }
  .site-footer small { grid-column: auto; }
  .mobile-sticky { display: flex; }
  body.sticky-active:not(.sticky-hidden) .mobile-sticky { transform: translateY(0); }
}

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