/* CHL Impeccable Green v2
   Three layers: primitives -> semantic roles -> component contracts. */
body.chl-v2 {
  /* Primitive tokens */
  --chl-green-950: #082d21;
  --chl-green-900: #0b3b2b;
  --chl-green-800: #174c37;
  --chl-green-700: #2e6a4d;
  --chl-green-500: #4f8064;
  --chl-lime-300: #ddebba;
  --chl-lime-200: #e8f2ca;
  --chl-sage-100: #edf3e9;
  --chl-sage-050: #f6f8f2;
  --chl-ivory-050: #fffdf7;
  --chl-white: #ffffff;
  --chl-ink-900: #172c23;
  --chl-ink-700: #456151;
  --chl-line-green: rgba(23, 76, 55, .2);
  --chl-line-light: rgba(255, 253, 247, .22);
  --chl-shadow-green: rgba(5, 32, 22, .14);

  --chl-space-1: 4px;
  --chl-space-2: 8px;
  --chl-space-3: 12px;
  --chl-space-4: 16px;
  --chl-space-5: 20px;
  --chl-space-6: 24px;
  --chl-space-8: 32px;
  --chl-space-10: 40px;
  --chl-space-12: 48px;
  --chl-space-16: 64px;
  --chl-space-20: 80px;
  --chl-space-24: 96px;
  --chl-radius-sm: 8px;
  --chl-radius-md: 12px;
  --chl-radius-lg: 16px;

  /* Semantic tokens */
  --chl-color-surface-page: var(--chl-ivory-050);
  --chl-color-surface-subtle: var(--chl-sage-050);
  --chl-color-surface-tint: var(--chl-sage-100);
  --chl-color-surface-inverse: var(--chl-green-950);
  --chl-color-surface-action: var(--chl-green-900);
  --chl-color-surface-accent: var(--chl-lime-300);
  --chl-color-text-primary: var(--chl-ink-900);
  --chl-color-text-secondary: var(--chl-ink-700);
  --chl-color-text-inverse: var(--chl-ivory-050);
  --chl-color-text-accent: var(--chl-green-700);
  --chl-color-border: var(--chl-line-green);
  --chl-color-border-inverse: var(--chl-line-light);
  --chl-focus-ring: var(--chl-green-500);
  --chl-page-width: min(1240px, calc(100vw - 64px));
  --chl-reading-width: 70ch;
  --chl-section-space: var(--chl-space-24);
  --chl-ease-out: cubic-bezier(.16, 1, .3, 1);

  /* Component tokens */
  --chl-button-height: 54px;
  --chl-button-radius: var(--chl-radius-md);
  --chl-button-bg: var(--chl-color-surface-action);
  --chl-button-fg: var(--chl-color-text-inverse);
  --chl-card-radius: var(--chl-radius-lg);
  --chl-card-border: 1px solid var(--chl-color-border);
  --chl-offer-bg: var(--chl-white);
  --chl-offer-radius: var(--chl-radius-lg);
  --chl-gallery-radius: var(--chl-radius-lg);
  --chl-control-min: 44px;

  margin: 0;
  overflow-x: clip;
  background: var(--chl-color-surface-page);
  color: var(--chl-color-text-primary);
  font-family: Manrope, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;

  /* Keep legacy aliases coherent while the immutable stylesheet remains loaded. */
  --forest: var(--chl-green-950);
  --emerald: var(--chl-green-800);
  --leaf: var(--chl-green-700);
  --paper: var(--chl-color-surface-page);
  --lime: var(--chl-lime-300);
  --ink: var(--chl-color-text-primary);
  --white: var(--chl-white);
  --mist: var(--chl-sage-100);
  --line: var(--chl-color-border);
  --shell: var(--chl-page-width);
  --radius: var(--chl-card-radius);
  --shadow: 0 18px 48px var(--chl-shadow-green);
}

body.chl-v2 ::selection {
  background: var(--chl-color-surface-accent);
  color: var(--chl-green-950);
}

body.chl-v2 :focus-visible {
  outline: 3px solid var(--chl-focus-ring);
  outline-offset: 3px;
}

body.chl-v2 :is(button, a, summary) {
  text-underline-offset: 4px;
}

body.chl-v2 :is(h1, h2, h3) {
  color: inherit;
  font-weight: 650;
  letter-spacing: -.035em;
  line-height: 1.05;
}

body.chl-v2 :is(p, li, dd) {
  overflow-wrap: break-word;
}

body.chl-v2 :is(#customer-reviews, #formula, .evidence, .lifestyle, #questions, .closing, .site-footer) {
  content-visibility: visible;
  contain-intrinsic-block-size: none;
}

body.chl-v2 .offer-strip {
  height: 32px;
  background: var(--chl-color-surface-inverse);
  color: var(--chl-color-text-inverse);
  font-size: 11px;
  letter-spacing: .08em;
}

body.chl-v2 .site-header {
  width: var(--chl-page-width);
  height: 74px;
}

body.chl-v2 .site-header nav {
  gap: var(--chl-space-8);
}

body.chl-v2 .nav-offer {
  min-height: var(--chl-control-min);
  display: inline-flex;
  align-items: center;
  padding: var(--chl-space-2) var(--chl-space-5);
  border-radius: var(--chl-radius-md);
  background: var(--chl-color-surface-accent);
  color: var(--chl-green-950);
}

/* Hero: product story at right, native gallery at left. */
body.chl-v2 .hero {
  padding: 14px 0 var(--chl-space-20);
  background: var(--chl-color-surface-page);
}

body.chl-v2 .hero-shell {
  width: var(--chl-page-width);
  grid-template-columns: minmax(0, 592px) minmax(0, 1fr);
  grid-template-areas: "media story" "media offer";
  gap: var(--chl-space-6) var(--chl-space-12);
}

body.chl-v2 .hero-story {
  padding: var(--chl-space-2) 0 0;
}

body.chl-v2 .product-title {
  margin: 0 0 var(--chl-space-1);
  color: var(--chl-color-text-accent);
  font-size: 16px;
  line-height: 1.35;
}

body.chl-v2 .hero-facts {
  gap: 0;
  margin: 0 0 var(--chl-space-4);
}

body.chl-v2 .hero-facts span {
  color: var(--chl-color-text-secondary);
  font-size: 14px;
  font-weight: 500;
}

body.chl-v2 .hero-story h1 {
  max-width: none;
  font-size: clamp(52px, 4vw, 56px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

body.chl-v2 .hero-story h1 em {
  color: var(--chl-green-700);
  letter-spacing: -.03em;
}

body.chl-v2 .review-proof {
  margin-top: var(--chl-space-2);
  color: var(--chl-color-text-primary);
  font-size: 14px;
}

body.chl-v2 .pain-line,
body.chl-v2 .support-line {
  max-width: 54ch;
  font-size: 16px;
  line-height: 1.55;
}

body.chl-v2 .pain-line {
  margin-top: var(--chl-space-4);
}

body.chl-v2 .support-line {
  margin-top: var(--chl-space-1);
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .hero-media {
  display: block;
  min-width: 0;
}

body.chl-v2 .gallery-native .gallery-stage {
  aspect-ratio: 1;
  border-radius: var(--chl-gallery-radius);
  box-shadow: 0 18px 48px var(--chl-shadow-green);
}

body.chl-v2 .gallery-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--chl-space-2);
  margin-top: var(--chl-space-3);
}

body.chl-v2 .gallery-tabs button {
  display: flex;
  min-width: 0;
  min-height: 70px;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: var(--chl-space-1);
  overflow: hidden;
  padding: var(--chl-space-1);
  border: 1px solid transparent;
  border-radius: var(--chl-radius-sm);
  background: transparent;
  color: var(--chl-color-text-primary);
}

body.chl-v2 .gallery-tabs img {
  width: 100%;
  height: 42px;
  border-radius: 5px;
  object-fit: cover;
  opacity: .78;
}

body.chl-v2 .gallery-tabs span {
  position: static;
  display: block;
  min-width: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.2;
  white-space: normal;
}

body.chl-v2 .gallery-tabs button[aria-pressed="true"] {
  border-color: var(--chl-green-700);
  background: var(--chl-color-surface-tint);
}

body.chl-v2 .gallery-tabs button[aria-pressed="true"] img {
  opacity: 1;
}

body.chl-v2 .gallery-native .gallery-slide-caption {
  max-width: calc(100% - var(--chl-space-6));
  padding: var(--chl-space-2) var(--chl-space-3);
  background: var(--chl-green-950);
  color: var(--chl-color-text-inverse);
  font-size: 13px;
  backdrop-filter: none;
}

body.chl-v2 .hero-offer-shortcut {
  margin-top: var(--chl-space-4);
}

body.chl-v2 .hero-offer-shortcut .early-offer {
  min-height: 58px;
  margin: 0;
  padding: var(--chl-space-3) var(--chl-space-4);
  border: var(--chl-card-border);
  border-radius: var(--chl-radius-sm);
  background: var(--chl-color-surface-tint);
}

body.chl-v2 .early-offer small {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .hero-story-proof {
  width: 100%;
  grid-template-columns: 44px minmax(0, 1fr) 24px;
  gap: var(--chl-space-3);
  margin-top: var(--chl-space-4);
  padding: var(--chl-space-3) 0;
  border: 0;
  border-top: 1px solid var(--chl-color-border);
  border-radius: 0;
  background: transparent;
}

body.chl-v2 .hero-story-proof:hover {
  border-color: var(--chl-green-700);
  background: transparent;
}

body.chl-v2 .hero-story-proof img {
  width: 44px;
  height: 44px;
}

/* Purchase component */
body.chl-v2 .offer {
  padding: var(--chl-space-6);
  border: var(--chl-card-border);
  border-radius: var(--chl-offer-radius);
  background: var(--chl-offer-bg);
  box-shadow: none;
}

body.chl-v2 .offer > header {
  margin-bottom: var(--chl-space-4);
}

body.chl-v2 .offer > header h2 {
  font-size: 24px;
}

body.chl-v2 .offer > header p,
body.chl-v2 .plan-options small,
body.chl-v2 .offer-inclusions span,
body.chl-v2 .renewal-line,
body.chl-v2 .price-focus > [data-plan-today-detail] {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .plan-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--chl-space-2);
}

body.chl-v2 .plan-options label {
  min-height: 86px;
  padding: var(--chl-space-3);
  border: var(--chl-card-border);
  border-radius: var(--chl-radius-md);
  background: var(--chl-white);
  transition: border-color 180ms var(--chl-ease-out), background-color 180ms var(--chl-ease-out), color 180ms var(--chl-ease-out);
}

body.chl-v2 .plan-options label:has(input:checked) {
  border-color: var(--chl-green-950);
  background: var(--chl-green-950);
  color: var(--chl-color-text-inverse);
  box-shadow: none;
}

body.chl-v2 .plan-options label:has(input:checked) small {
  color: var(--chl-lime-200);
}

body.chl-v2 .plan-options input {
  width: 20px;
  height: 20px;
  border-color: var(--chl-green-500);
}

body.chl-v2 .plan-options input:checked {
  border: 6px solid var(--chl-lime-300);
  background: var(--chl-green-950);
}

body.chl-v2 .offer-inclusions {
  margin: var(--chl-space-4) 0 0;
  padding: var(--chl-space-3) 0;
  border-bottom: 1px solid var(--chl-color-border);
}

body.chl-v2 .offer-inclusions strong,
body.chl-v2 .offer-inclusions span {
  font-size: 12px;
}

body.chl-v2 .price-focus {
  margin: var(--chl-space-5) 0 var(--chl-space-4);
}

body.chl-v2 .price-kicker {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .price-focus > [data-plan-today] {
  margin: var(--chl-space-1) 0;
  color: var(--chl-green-950);
  font-size: 44px;
}

body.chl-v2 .renewal-line {
  margin-top: var(--chl-space-2);
}

body.chl-v2 .buy-button {
  min-height: var(--chl-button-height);
  border-radius: var(--chl-button-radius);
  background: var(--chl-button-bg);
  color: var(--chl-button-fg);
  transition: background-color 180ms var(--chl-ease-out), color 180ms var(--chl-ease-out), transform 180ms var(--chl-ease-out);
}

body.chl-v2 .buy-button:hover {
  background: var(--chl-green-800);
}

body.chl-v2 .buy-button:active {
  transform: translateY(1px);
}

body.chl-v2 .buy-button:disabled {
  opacity: .58;
  cursor: not-allowed;
}

body.chl-v2 .offer-testing {
  min-height: 58px;
  margin-top: var(--chl-space-3);
  border: var(--chl-card-border);
  border-radius: var(--chl-radius-sm);
  background: var(--chl-color-surface-subtle);
}

body.chl-v2 .offer-testing small {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .guarantee {
  margin-top: var(--chl-space-3);
}

body.chl-v2 .guarantee a {
  color: var(--chl-color-text-secondary);
}

/* Formula chapter */
body.chl-v2 .formula {
  padding: var(--chl-section-space) 0;
  background: var(--chl-color-surface-inverse);
  color: var(--chl-color-text-inverse);
}

body.chl-v2 .formula-shell {
  width: var(--chl-page-width);
}

body.chl-v2 .formula-heading {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr);
  gap: var(--chl-space-12);
  align-items: end;
  margin: 0;
  text-align: left;
}

body.chl-v2 .formula-heading h2 {
  max-width: 12ch;
  font-size: clamp(56px, 5vw, 64px);
  letter-spacing: -.04em;
}

body.chl-v2 .formula-heading p {
  max-width: 40ch;
  margin: 0 0 var(--chl-space-2);
  color: var(--chl-lime-200);
  font-size: 18px;
  line-height: 1.55;
}

body.chl-v2 .formula-composition {
  grid-template-columns: minmax(180px, 1fr) minmax(400px, 460px) minmax(180px, 1fr);
  max-width: 1100px;
  margin-top: var(--chl-space-10);
}

body.chl-v2 .capsule-macro {
  border-radius: 50%;
  box-shadow: 0 24px 70px var(--chl-shadow-green);
}

body.chl-v2 .ingredient-one {
  margin-right: -20px;
}

body.chl-v2 .ingredient-two {
  margin-left: -20px;
}

body.chl-v2 .ingredient strong {
  color: var(--chl-lime-300);
  font-size: clamp(52px, 5vw, 72px);
  letter-spacing: -.04em;
}

body.chl-v2 .ingredient h3 {
  margin-top: var(--chl-space-3);
  font-size: 20px;
}

body.chl-v2 .ingredient p,
body.chl-v2 .formula-foot p,
body.chl-v2 .benefit-list p,
body.chl-v2 .active-layout header p,
body.chl-v2 .path span,
body.chl-v2 .path small {
  color: var(--chl-lime-200);
}

body.chl-v2 .ingredient p {
  font-size: 14px;
}

body.chl-v2 .formula-foot {
  margin-top: var(--chl-space-6);
}

body.chl-v2 .facts-button {
  min-height: var(--chl-control-min);
  border: 1px solid var(--chl-color-border-inverse);
  border-radius: var(--chl-radius-sm);
}

body.chl-v2 .formula-support {
  max-width: none;
  margin-top: var(--chl-space-12);
  border-top: 1px solid var(--chl-color-border-inverse);
}

body.chl-v2 .benefit-list {
  gap: 0;
  padding: var(--chl-space-6) 0;
}

body.chl-v2 .benefit-list article {
  min-width: 0;
  align-items: flex-start;
  gap: var(--chl-space-4);
  padding: 0 var(--chl-space-6);
}

body.chl-v2 .benefit-list article:first-child {
  padding-left: 0;
}

body.chl-v2 .benefit-list article + article {
  border-left: 1px solid var(--chl-color-border-inverse);
}

body.chl-v2 .benefit-list img {
  width: 56px;
  height: 56px;
  flex: 0 0 auto;
}

body.chl-v2 .benefit-list h3 {
  font-size: 16px;
}

body.chl-v2 .benefit-list p {
  font-size: 14px;
  line-height: 1.5;
}

body.chl-v2 .formula-details {
  max-width: none;
  margin-top: 0;
  border-top: 1px solid var(--chl-color-border-inverse);
}

body.chl-v2 .formula-details summary {
  min-height: 64px;
}

/* Evidence */
body.chl-v2 .evidence {
  padding: var(--chl-section-space) 0;
  background: var(--chl-color-surface-tint);
}

body.chl-v2 .evidence-shell {
  width: var(--chl-page-width);
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
  grid-template-areas: "label head" "label report" "label quote";
  gap: 0 clamp(48px, 6vw, 88px);
}

body.chl-v2 .evidence-header h2 {
  max-width: 13ch;
  font-size: clamp(48px, 4.3vw, 54px);
}

body.chl-v2 .evidence-header p {
  max-width: 48ch;
  margin-top: var(--chl-space-4);
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .label-preview img {
  filter: drop-shadow(0 18px 18px var(--chl-shadow-green));
}

body.chl-v2 .proof-actions {
  gap: 0;
  margin-top: var(--chl-space-6);
  padding: var(--chl-space-4);
  border: var(--chl-card-border);
  border-radius: var(--chl-card-radius);
  background: var(--chl-white);
}

body.chl-v2 .proof-actions > .coa-entry {
  min-height: 138px;
  margin: 0;
  padding: var(--chl-space-4) 0;
  border: 0;
  border-bottom: 1px solid var(--chl-color-border);
  border-radius: 0;
  background: transparent;
}

body.chl-v2 .coa-entry-copy small,
body.chl-v2 .coa-entry-copy > span {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .proof-actions > details summary {
  min-height: 54px;
}

/* Community chapter */
body.chl-v2 .routines {
  padding: var(--chl-section-space) 0;
  background: var(--chl-green-900);
  color: var(--chl-color-text-inverse);
}

body.chl-v2 .routines-shell {
  width: var(--chl-page-width);
}

body.chl-v2 .routines-head {
  display: grid;
  max-width: none;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr);
  gap: var(--chl-space-12);
  align-items: end;
  margin: 0 0 var(--chl-space-8);
  text-align: left;
}

body.chl-v2 .routines-head h2 {
  max-width: 13ch;
  color: var(--chl-color-text-inverse);
  font-size: clamp(48px, 4.3vw, 54px);
}

body.chl-v2 .routines-head h2 span,
body.chl-v2 .routines-head h2 em {
  display: block;
}

body.chl-v2 .routines-head h2 em {
  color: var(--chl-lime-300);
}

body.chl-v2 .routines-head > p:not(.eyebrow) {
  max-width: 36ch;
  margin: 0 0 var(--chl-space-2);
  color: var(--chl-lime-200);
  font-size: 17px;
}

body.chl-v2 .creator-track {
  gap: var(--chl-space-4);
}

body.chl-v2 .creator-card {
  flex-basis: calc((100% - 48px) / 4);
}

body.chl-v2 .video-poster {
  border-radius: var(--chl-card-radius);
  background: var(--chl-green-950);
}

body.chl-v2 .creator-caption {
  padding: var(--chl-space-3) 0 0;
}

body.chl-v2 .creator-caption strong,
body.chl-v2 .creator-handle,
body.chl-v2 .creator-caption > span,
body.chl-v2 .creator-source {
  color: var(--chl-color-text-inverse) !important;
}

body.chl-v2 .creator-caption small,
body.chl-v2 .swipe-hint {
  color: var(--chl-lime-200);
}

body.chl-v2 .rail-controls {
  justify-content: flex-start;
  margin-top: var(--chl-space-5);
}

body.chl-v2 .rail-controls button {
  border-color: var(--chl-color-border-inverse);
  background: transparent;
  color: var(--chl-color-text-inverse);
}

/* Daily routine */
body.chl-v2 .lifestyle {
  padding: var(--chl-section-space) 0;
  background: var(--chl-color-surface-page);
}

body.chl-v2 .lifestyle-shell {
  width: var(--chl-page-width);
  grid-template-columns: minmax(0, 1.05fr) minmax(400px, .95fr);
  grid-template-rows: auto auto;
  gap: var(--chl-space-8) var(--chl-space-16);
  align-items: start;
}

body.chl-v2 .ritual-photo,
body.chl-v2 .portable-photo {
  border-radius: var(--chl-card-radius);
}

body.chl-v2 .lifestyle-copy {
  padding-top: var(--chl-space-3);
}

body.chl-v2 .lifestyle-copy h2 {
  max-width: 12ch;
  font-size: clamp(48px, 4.3vw, 56px);
}

body.chl-v2 .lifestyle-copy h2 em {
  color: var(--chl-green-700);
}

body.chl-v2 .lifestyle-copy .lifestyle-intro {
  max-width: 54ch;
  margin-top: var(--chl-space-4);
  font-size: 17px;
}

body.chl-v2 .routine-stages {
  gap: 0;
  margin-top: var(--chl-space-6);
}

body.chl-v2 .routine-stages li {
  grid-template-columns: 34px minmax(0, 1fr);
  padding: var(--chl-space-4) 0;
  border-top: 1px solid var(--chl-color-border);
}

body.chl-v2 .routine-stages li::before {
  color: var(--chl-green-700);
  font-family: Manrope, Arial, sans-serif;
  font-size: 14px;
  font-weight: 700;
}

body.chl-v2 .routine-stages p {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .lifestyle-aside {
  grid-template-columns: 140px minmax(0, 1fr);
}

/* Reviews */
body.chl-v2 .authenticated-reviews {
  padding: var(--chl-section-space) 0;
  background: var(--chl-color-surface-subtle);
}

body.chl-v2 .authenticated-reviews-shell {
  width: var(--chl-page-width);
  grid-template-columns: minmax(0, 900px);
  justify-content: start;
}

body.chl-v2 .authenticated-review {
  padding: var(--chl-space-10) 0;
  border-top: 1px solid var(--chl-color-border);
  border-bottom: 1px solid var(--chl-color-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--chl-green-950);
}

body.chl-v2 .authenticated-review-label {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .authenticated-review h2 {
  max-width: 17ch;
  margin-top: var(--chl-space-3);
  font-size: clamp(38px, 4vw, 52px);
}

body.chl-v2 .authenticated-review > p {
  max-width: 65ch;
  margin-top: var(--chl-space-4);
  color: var(--chl-green-900);
  font-size: 19px;
}

body.chl-v2 .authenticated-review footer time {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .sample-reviews {
  width: var(--chl-page-width);
  margin-top: var(--chl-space-12);
  padding-top: 0;
}

body.chl-v2 .sample-reviews > header h2 {
  max-width: 18ch;
  font-size: clamp(34px, 3.3vw, 44px);
}

body.chl-v2 .sample-review-grid {
  gap: var(--chl-space-4);
  margin-top: var(--chl-space-6);
}

body.chl-v2 .sample-review {
  border: var(--chl-card-border);
  border-radius: var(--chl-card-radius);
  background: var(--chl-white);
  box-shadow: none;
}

body.chl-v2 .sample-review p {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .sample-review-actions button {
  border-radius: var(--chl-radius-sm);
}

/* FAQ and close */
body.chl-v2 .trust-faq {
  padding: var(--chl-section-space) 0;
  background: var(--chl-white);
}

body.chl-v2 .trust-grid {
  width: min(1120px, calc(100vw - 64px));
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: clamp(56px, 8vw, 100px);
}

body.chl-v2 .faq-intro h2 {
  max-width: 10ch;
  font-size: 48px;
}

body.chl-v2 .faq-list {
  gap: 0;
  border-top: 1px solid var(--chl-color-border);
}

body.chl-v2 .faq-list details {
  border-bottom: 1px solid var(--chl-color-border);
  border-radius: 0;
}

body.chl-v2 .faq-list details:hover,
body.chl-v2 .faq-list details[open] {
  background: var(--chl-color-surface-subtle);
}

body.chl-v2 .faq-list summary {
  min-height: 72px;
}

body.chl-v2 .faq-list details p {
  color: var(--chl-color-text-secondary);
}

body.chl-v2 .closing {
  padding: var(--chl-space-20) 0;
  background: var(--chl-color-surface-inverse);
  color: var(--chl-color-text-inverse);
}

body.chl-v2 .closing-shell {
  width: var(--chl-page-width);
  gap: var(--chl-space-16);
}

body.chl-v2 .closing-story figure {
  border-radius: var(--chl-card-radius);
}

body.chl-v2 .closing-product,
body.chl-v2 .closing-story > div > p:last-child {
  color: var(--chl-lime-200);
}

body.chl-v2 .closing-story h2 {
  font-size: clamp(40px, 4vw, 56px);
}

body.chl-v2 .closing-offer {
  color: var(--chl-color-text-primary);
}

body.chl-v2 .closing-offer .buy-button {
  background: var(--chl-color-surface-accent);
  color: var(--chl-green-950);
}

body.chl-v2 .site-footer {
  background: var(--chl-green-950);
}

/* Dialogs and persistent purchase rail inherit the same component system. */
body.chl-v2 dialog {
  border: var(--chl-card-border);
  border-radius: var(--chl-card-radius);
  color: var(--chl-color-text-primary);
}

body.chl-v2 .mobile-sticky {
  border-radius: var(--chl-card-radius);
  background: var(--chl-green-950);
}

body.chl-v2 .mobile-sticky .buy-button {
  background: var(--chl-color-surface-accent);
  color: var(--chl-green-950);
}

@media (max-width: 1100px) {
  body.chl-v2 {
    --chl-page-width: min(960px, calc(100vw - 48px));
  }

  body.chl-v2 .hero-shell {
    grid-template-columns: minmax(0, 1fr) minmax(390px, .92fr);
    gap: var(--chl-space-6) var(--chl-space-8);
  }

  body.chl-v2 .formula-composition {
    grid-template-columns: minmax(150px, 1fr) minmax(360px, 430px) minmax(150px, 1fr);
  }

  body.chl-v2 .closing-shell {
    gap: var(--chl-space-10);
  }
}

@media (max-width: 900px) {
  body.chl-v2 {
    --chl-page-width: calc(100vw - 40px);
    --chl-section-space: var(--chl-space-16);
  }

  body.chl-v2 .site-header nav a:not(.nav-offer) {
    display: none;
  }

  body.chl-v2 .hero {
    padding: var(--chl-space-4) 0 var(--chl-space-16);
  }

  body.chl-v2 .hero-shell {
    display: grid;
    width: var(--chl-page-width);
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "product"
      "facts"
      "title"
      "rating"
      "media"
      "pain"
      "support"
      "shortcut"
      "storyproof"
      "offer";
    gap: 0;
  }

  body.chl-v2 .hero-story {
    display: contents;
  }

  body.chl-v2 .product-title { grid-area: product; }
  body.chl-v2 .hero-facts { grid-area: facts; }
  body.chl-v2 .hero-story h1 { grid-area: title; }
  body.chl-v2 .review-proof { grid-area: rating; }
  body.chl-v2 .hero-media { grid-area: media; }
  body.chl-v2 .pain-line { grid-area: pain; }
  body.chl-v2 .support-line { grid-area: support; }
  body.chl-v2 .hero-offer-shortcut { grid-area: shortcut; }
  body.chl-v2 .hero-story-proof { grid-area: storyproof; }
  body.chl-v2 .hero-offer { grid-area: offer; }

  body.chl-v2 .product-title {
    margin-bottom: var(--chl-space-1);
  }

  body.chl-v2 .hero-facts {
    margin-bottom: var(--chl-space-3);
  }

  body.chl-v2 .hero-story h1 {
    max-width: none;
    font-size: clamp(38px, 7vw, 48px);
  }

  body.chl-v2 .review-proof {
    width: max-content;
    margin-top: var(--chl-space-1);
  }

  body.chl-v2 .hero-media {
    width: min(100%, 600px);
    margin: var(--chl-space-3) auto 0;
  }

  body.chl-v2 .pain-line {
    margin-top: var(--chl-space-5);
  }

  body.chl-v2 .hero-offer {
    width: 100%;
    margin-top: var(--chl-space-6);
  }

  body.chl-v2 .formula-heading,
  body.chl-v2 .routines-head {
    grid-template-columns: minmax(0, 3fr) minmax(240px, 2fr);
    gap: var(--chl-space-8);
  }

  body.chl-v2 .formula-composition {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    max-width: 720px;
    gap: var(--chl-space-6) var(--chl-space-10);
  }

  body.chl-v2 .capsule-macro {
    grid-column: 1 / -1;
    grid-row: 1;
    width: min(100%, 430px);
    margin: 0 auto;
  }

  body.chl-v2 .ingredient {
    display: block;
    grid-row: 2;
    margin: 0;
    text-align: left;
  }

  body.chl-v2 .ingredient-one { grid-column: 1; }
  body.chl-v2 .ingredient-two { grid-column: 2; }
  body.chl-v2 .ingredient-one p { margin-left: 0; }
  body.chl-v2 .ingredient::after { display: none; }

  body.chl-v2 .ingredient strong {
    font-size: 48px;
  }

  body.chl-v2 .evidence-shell {
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
    gap: 0 var(--chl-space-10);
  }

  body.chl-v2 .lifestyle-shell {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .95fr);
    gap: var(--chl-space-8) var(--chl-space-10);
  }

  body.chl-v2 .closing-shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  body.chl-v2 {
    --chl-page-width: calc(100vw - 40px);
    --chl-section-space: 56px;
  }

  body.chl-v2 .site-header {
    width: var(--chl-page-width);
    height: 62px;
  }

  body.chl-v2 .brand img {
    width: 154px;
  }

  body.chl-v2 .nav-offer {
    min-height: var(--chl-control-min);
    padding: var(--chl-space-2) var(--chl-space-3);
    font-size: 12px;
  }

  body.chl-v2 .hero {
    padding-top: var(--chl-space-3);
  }

  body.chl-v2 .hero-story h1 {
    font-size: 40px;
    line-height: 1.05;
  }

  body.chl-v2 .gallery-native .gallery-stage {
    aspect-ratio: 1;
    border-radius: var(--chl-radius-md);
  }

  body.chl-v2 .gallery-tabs {
    gap: var(--chl-space-1);
    margin-top: var(--chl-space-2);
  }

  body.chl-v2 .gallery-tabs button {
    display: grid;
    height: 84px;
    min-height: 84px;
    grid-template-rows: 54px 16px;
    align-content: center;
    gap: 4px;
    overflow: visible;
    padding: 3px;
  }

  body.chl-v2 .gallery-tabs img {
    height: 54px;
  }

  body.chl-v2 .gallery-tabs span {
    font-size: 11px !important;
    line-height: 13px;
    white-space: normal;
    text-wrap: balance;
  }

  body.chl-v2 .gallery-native .gallery-slide-caption {
    font-size: 12px;
  }

  body.chl-v2 .hero-offer-shortcut .early-offer {
    display: flex;
    align-items: center;
    padding: var(--chl-space-3);
  }

  body.chl-v2 .early-offer > span {
    font-size: 13px;
  }

  body.chl-v2 .early-offer strong {
    display: inline;
    font-size: 20px;
  }

  body.chl-v2 .early-offer small {
    max-width: 190px;
    margin: 0;
    font-size: 11px;
    line-height: 1.35;
    text-align: right;
  }

  body.chl-v2 .hero-story-proof {
    margin-top: var(--chl-space-4);
  }

  body.chl-v2 .offer {
    padding: var(--chl-space-4);
  }

  body.chl-v2 .offer > header {
    display: block;
  }

  body.chl-v2 .offer > header p {
    margin-top: var(--chl-space-1);
  }

  body.chl-v2 .plan-options label {
    min-height: 92px;
    padding: var(--chl-space-3) var(--chl-space-2);
  }

  body.chl-v2 .plan-options strong {
    font-size: 14px;
  }

  body.chl-v2 .plan-options small {
    font-size: 12px;
  }

  body.chl-v2 .offer-inclusions {
    gap: var(--chl-space-2);
  }

  body.chl-v2 .offer-inclusions strong,
  body.chl-v2 .offer-inclusions span {
    font-size: 11px;
  }

  body.chl-v2 .price-focus > [data-plan-today] {
    font-size: 40px;
  }

  body.chl-v2 .formula-heading,
  body.chl-v2 .routines-head {
    display: block;
  }

  body.chl-v2 .formula-heading h2,
  body.chl-v2 .routines-head h2 {
    max-width: 12ch;
    font-size: 36px;
  }

  body.chl-v2 .formula-heading p,
  body.chl-v2 .routines-head > p:not(.eyebrow) {
    max-width: 38ch;
    margin: var(--chl-space-4) 0 0;
    font-size: 16px;
  }

  body.chl-v2 .formula-composition {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: var(--chl-space-5);
    margin-top: var(--chl-space-6);
  }

  body.chl-v2 .capsule-macro {
    grid-column: 1 / -1;
    grid-row: 1;
    width: min(100%, 430px);
    margin: 0 auto;
  }

  body.chl-v2 .ingredient {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: var(--chl-space-4);
    row-gap: var(--chl-space-1);
    margin: 0;
    text-align: left;
  }

  body.chl-v2 .ingredient-one { grid-column: 1; grid-row: 2; }
  body.chl-v2 .ingredient-two { grid-column: 1; grid-row: 3; }
  body.chl-v2 .ingredient-one p { margin-left: 0; }
  body.chl-v2 .ingredient::after { display: none; }

  body.chl-v2 .ingredient strong {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
    font-size: 42px;
    line-height: 1;
    white-space: nowrap;
  }

  body.chl-v2 .ingredient h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }

  body.chl-v2 .ingredient p {
    grid-column: 2;
    grid-row: 2;
    max-width: none;
    margin: 0;
  }

  body.chl-v2 .formula-foot {
    justify-content: space-between;
    margin-top: var(--chl-space-6);
  }

  body.chl-v2 .formula-support {
    margin-top: var(--chl-space-8);
  }

  body.chl-v2 .benefit-list {
    grid-template-columns: 1fr;
    padding: 0;
  }

  body.chl-v2 .benefit-list article,
  body.chl-v2 .benefit-list article:first-child {
    min-height: 92px;
    align-items: center;
    padding: var(--chl-space-4) 0;
  }

  body.chl-v2 .benefit-list article + article {
    border-top: 1px solid var(--chl-color-border-inverse);
    border-left: 0;
  }

  body.chl-v2 .evidence-shell {
    width: var(--chl-page-width);
    grid-template-columns: 1fr;
    grid-template-areas: "head" "report" "label" "quote";
    gap: 0;
  }

  body.chl-v2 .evidence-header h2 {
    font-size: 38px;
  }

  body.chl-v2 .proof-actions {
    margin-top: var(--chl-space-6);
  }

  body.chl-v2 .label-panel {
    margin-top: var(--chl-space-8);
  }

  body.chl-v2 .routines-head {
    margin-bottom: var(--chl-space-6);
  }

  body.chl-v2 .creator-card {
    flex-basis: min(78vw, 300px);
  }

  body.chl-v2 .lifestyle-shell {
    display: flex;
    width: var(--chl-page-width);
    flex-direction: column;
    gap: 0;
  }

  body.chl-v2 .lifestyle-copy {
    display: contents;
  }

  body.chl-v2 .lifestyle-copy h2 {
    order: 0;
    max-width: 12ch;
    font-size: 38px;
  }

  body.chl-v2 .lifestyle-copy .lifestyle-intro {
    order: 1;
    margin-top: var(--chl-space-4);
  }

  body.chl-v2 .ritual-photo {
    order: 2;
    width: 100%;
    margin-top: var(--chl-space-6);
    aspect-ratio: 1.1;
  }

  body.chl-v2 .routine-stages {
    order: 3;
    width: 100%;
    margin-top: var(--chl-space-6);
  }

  body.chl-v2 .routine-assurance {
    order: 4;
    align-self: flex-start;
  }

  body.chl-v2 .lifestyle-aside {
    order: 5;
    width: 100%;
    grid-template-columns: 112px minmax(0, 1fr);
    margin-top: var(--chl-space-6);
  }

  body.chl-v2 .authenticated-review {
    padding: var(--chl-space-8) 0;
  }

  body.chl-v2 .authenticated-review h2 {
    font-size: 34px;
  }

  body.chl-v2 .authenticated-review > p {
    font-size: 17px;
  }

  body.chl-v2 .sample-reviews {
    width: 100%;
  }

  body.chl-v2 .sample-reviews > header {
    width: var(--chl-page-width);
    margin: 0 auto;
  }

  body.chl-v2 .sample-review-grid {
    padding-inline: var(--chl-space-5);
  }

  body.chl-v2 .sample-review {
    min-height: 0;
  }

  body.chl-v2 .trust-grid {
    display: block;
    width: var(--chl-page-width);
  }

  body.chl-v2 .faq-intro {
    position: static;
    margin-bottom: var(--chl-space-8);
  }

  body.chl-v2 .faq-intro h2 {
    max-width: none;
    font-size: 38px;
  }

  body.chl-v2 .faq-list summary {
    min-height: 64px;
    padding-inline: var(--chl-space-2);
  }

  body.chl-v2 .faq-list details p {
    padding: 0 var(--chl-space-2) var(--chl-space-5);
  }

  body.chl-v2 .closing {
    padding: 56px 0;
  }

  body.chl-v2 .closing-story {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  body.chl-v2 .closing-story h2 {
    font-size: 34px;
  }
}

@media (max-width: 389px) {
  body.chl-v2 .brand img {
    width: 138px;
  }

  body.chl-v2 .nav-offer {
    padding-inline: var(--chl-space-2);
    font-size: 11px;
  }

  body.chl-v2 .hero-story h1 {
    font-size: 38px;
  }

  body.chl-v2 .plan-options {
    grid-template-columns: 1fr;
  }

  body.chl-v2 .plan-options label {
    min-height: 68px;
  }

  body.chl-v2 .early-offer {
    display: block;
  }

  body.chl-v2 .early-offer small {
    display: block;
    max-width: none;
    margin-top: var(--chl-space-2);
    text-align: left;
  }
}

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