/** Shopify CDN: Minification failed

Line 7360:39 Expected ")" to end URL token
Line 7368:33 Expected ")" to end URL token

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:crs-customer-reviews (INDEX:11) */
/* ============================================================
   Customer Reviews — crs-customer-reviews.liquid
   §12 Spec:
   - Surface:          --cr-bg (default --color-surface-secondary, warm)
   - Card surface:     --cr-card-bg (default white)
   - Dominant element: Section heading
   - Content pattern:  card-review horizontal scroll track
   - CTA:              none (trust signal section)
   - Quality move:     Pill consensus tags above track; avatar as
                       40px circle in author row (not top-of-card)
                       keeps card proportions identical with/without photo.
                       Horizontal snap-scroll with card peek communicates
                       more reviews exist without heavy pagination chrome.
   ============================================================ */

.cr-section {
  background: var(--cr-bg, var(--color-surface-secondary));
}

.cr-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

/* ── Section header ───────────────────────────────────────── */
.cr-head {
  margin-bottom: var(--space-7);
}

/* ── Pill tags ────────────────────────────────────────────── */
.cr-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-bottom: var(--space-6);
}

.cr-pill {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  line-height: var(--leading-tight);
  color: var(--cr-text-sec);
  background: transparent;
  border: 1px solid var(--cr-border);
  border-radius: var(--radius-full);
  padding: 5px var(--space-3);
  white-space: nowrap;
  cursor: default;
  user-select: none;
}

/* ── Scroll track ─────────────────────────────────────────── */
/*
  Card width formula: show --cr-visible cards + a ~20px peek of the next.
  (container + gap) / n - gap - peek
  Using gap = var(--space-5) = 24px; peek ≈ 24px.
*/
.cr-track {
  display: flex;
  gap: var(--space-5);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  padding-bottom: var(--space-3); /* room for card shadow */
  /* Hide scrollbar — scrollability communicated via card peek */
  scrollbar-width: none;
  -ms-overflow-style: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.cr-track::-webkit-scrollbar {
  display: none;
}

/* ── Review card ──────────────────────────────────────────── */
.cr-card {
  flex: 0 0 calc(
    (100% + var(--space-5)) / var(--cr-visible, 4) - var(--space-5) - 24px
  );
  min-width: 220px; /* intentional: floor below which review text becomes illegible */
  scroll-snap-align: start;
  box-sizing: border-box;
  background: var(--cr-card-bg, var(--color-surface-primary));
  border: 1px solid var(--cr-border);
  border-radius: var(--radius-md);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

/* ── Stars ────────────────────────────────────────────────── */
.cr-stars {
  display: flex;
  align-items: center;
  gap: 3px; /* intentional: tighter than --space-1 (4px) — stars read as a unit */
  flex-shrink: 0;
}

.cr-star {
  display: block;
  flex-shrink: 0;
}

.cr-star--filled {
  color: var(--color-star, #F4B740);
}

.cr-star--empty {
  color: var(--cr-text-ter);
}

/* ── Review text ──────────────────────────────────────────── */
.cr-text {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  color: var(--cr-text);
  margin: 0;
  flex: 1 1 auto; /* push author row to bottom */
}

/* ── Author row ───────────────────────────────────────────── */
.cr-author {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: auto;
  flex-shrink: 0;
}

.cr-author-top {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  min-width: 0;
}

.cr-author-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
}

/* Avatar — 40px circle, only rendered when image set */
.cr-avatar {
  flex-shrink: 0;
  width: 40px;  /* intentional: fixed avatar size — no token equivalent; 40px is minimum legible face */
  height: 40px; /* intentional: fixed avatar size — matches width for 1:1 circle */
  border-radius: var(--radius-full);
  overflow: hidden;
  border: 1px solid var(--cr-border);
}

.cr-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.cr-name {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  color: var(--cr-text);
  min-width: 0;
}

.cr-verified {
  display: inline-flex;
  align-items: center;
  gap: 4px; /* intentional: between --space-1 (4px) — matches icon visual gap */
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  line-height: var(--leading-tight);
  color: var(--color-teal-dark);
  white-space: nowrap;
}

/* ── CTA below track ──────────────────────────────────────── */
.cr-cta-wrap {
  margin-top: var(--space-6);
  display: flex;
  justify-content: center;
}

.cr-cta-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px var(--space-7);
  border-radius: var(--radius-full);
  border: 1px solid var(--cr-text);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  color: var(--cr-text);
  text-decoration: none;
  transition: background var(--ease-default), color var(--ease-default);
}

.cr-cta-link:hover {
  background: var(--cr-text);
  color: var(--color-text-on-dark);
}

.cr-verified svg {
  flex-shrink: 0;
}

.cr-date {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  line-height: var(--leading-tight);
  color: var(--cr-text-ter);
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1024px) {
  .cr-card {
    /* Tablet: show ~2.3 cards */
    flex: 0 0 calc((100% + var(--space-5)) / 2.3 - var(--space-5));
  }
}

@media (max-width: 640px) {
  .cr-card {
    /* Mobile: show ~1.15 cards — strong peek communicates scroll */
    flex: 0 0 calc((100% + var(--space-5)) / 1.15 - var(--space-5));
    min-width: 0;
  }

  .cr-head {
    margin-bottom: var(--space-6);
  }
}
/* END_SECTION:crs-customer-reviews */

/* START_SECTION:crs-expert-quotes (INDEX:12) */
.eq-section {
  background: var(--crs-bg, #f7f7f4);
}

.eq-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

.eq-section-head {
  margin-bottom: var(--space-7);
}

.eq-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-3);
}

.eq-card {
  background: var(--crs-card-bg, #f2f1ed);
  border-radius: var(--radius-sm);
  padding: var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.eq-blockquote {
  flex: 1;
  margin: 0;
}

.eq-quote-text {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: var(--crs-text, #26251e);
  margin: 0;
}

.eq-author {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.eq-initials {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--crs-border, rgba(38,37,30,0.1));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--crs-text, #26251e);
  flex-shrink: 0;
}

.eq-photo {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 1.5px solid var(--crs-border, rgba(38, 37, 30, 0.1));
  box-sizing: border-box;
}

.eq-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.eq-author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.eq-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--crs-text, #26251e);
  line-height: 1.3;
}

.eq-title {
  font-size: 0.8125rem;
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
  line-height: 1.4;
}

.eq-source {
  font-size: 0.75rem;
  color: var(--crs-text-ter, rgba(38,37,30,0.4));
  line-height: 1.4;
  margin-top: 2px;
}

@media (max-width: 1024px) {
  .eq-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

@media (max-width: 640px) {
  .eq-container {
    padding: 0 var(--space-4);
  }

  .eq-card {
    padding: var(--space-5);
  }
}
/* END_SECTION:crs-expert-quotes */

/* START_SECTION:crs-faq-accordion (INDEX:13) */
/* ===================================================
   FAQ Accordion — crs-faq-accordion.liquid
   =================================================== */

.faq-section {
  background: var(--crs-bg, #f2f1ed);
}

.faq-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

.faq-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

/* Left */
.faq-left {
  padding-right: var(--space-7);
  padding-top: var(--space-1);
}

.faq-left-inner {
  position: sticky;
  top: 80px;
}

/* Right — accordion (keine Karten-Rahmen, nur horizontale Trennlinien) */
.faq-right {
  padding-top: 0;
}

.faq-item {
  border-top: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
}

.faq-item:last-child {
  border-bottom: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 15.68px 0 16.8px;
  background: none;
  border: none;
  cursor: pointer;
  gap: 16px;
  text-align: left;
}

.faq-question-text {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--crs-text, #26251e);
}

.faq-toggle {
  font-size: 16px;
  color: var(--crs-text-ter, rgba(38,37,30,0.4));
  flex-shrink: 0;
  transition: transform 0.2s ease;
  line-height: 1;
  display: inline-block;
}

/* Panel */
.faq-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.28s ease;
}

.faq-panel.is-open {
  max-height: min(120vh, 2000px);
}

.faq-answer {
  padding-bottom: 16px;
}

.faq-answer p {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
  margin: 0;
}

/* Mobile — stack */
@media (max-width: 1024px) {
  .faq-layout {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .faq-left {
    padding-right: 0;
  }

  .faq-left-inner {
    position: static;
  }
}
/* END_SECTION:crs-faq-accordion */

/* START_SECTION:crs-feature-grid (INDEX:14) */
/* ===================================================
   Feature Grid — crs-feature-grid.liquid
   =================================================== */

.fg-section {
  background: var(--crs-bg, #f7f7f4);
}

.fg-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

.fg-layout {
  display: block;
}

.fg-layout--has-media {
  display: grid;
  gap: var(--space-7);
  align-items: center;
}

@media (min-width: 980px) {
  .fg-layout--has-media {
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  }

  .fg-layout--media-right {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  }

  .fg-layout--media-right .fg-media {
    order: 2;
  }
}

.fg-content {
  min-width: 0;
}

.fg-media {
  min-width: 0;
}

.fg-media__frame {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: clamp(1rem, 3vw, 1.5rem);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.42), rgba(247, 247, 244, 0.88));
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
  border-radius: 20px;
  box-shadow: 0 22px 36px rgba(38, 37, 30, 0.08);
}

.fg-media__image {
  display: block;
  width: 100%;
  max-width: 280px;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 12px 24px rgba(38, 37, 30, 0.12);
}

.fg-layout--single-frame .fg-media__image {
  border-radius: 0;
  box-shadow: none;
}

/* Header */
.fg-header {
  margin-bottom: var(--space-7);
}

.fg-actions {
  margin: calc(var(--space-7) * -1 + var(--space-4)) 0 var(--space-6);
}

.fg-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.75rem 1.25rem;
  border-radius: 999px;
  background: var(--color-dark);
  border: 1px solid var(--color-dark);
  color: var(--color-text-on-dark);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition: opacity var(--ease-default, 0.2s ease);
}

.fg-cta:hover,
.fg-cta:focus-visible {
  opacity: 0.86;
}

/* Grid */
.fg-grid {
  display: grid;
  gap: 10px;
  align-items: stretch;
}

.fg-grid--cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.fg-grid--cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

/* Card */
.fg-card {
  box-sizing: border-box;
  background: var(--crs-card-bg, #f2f1ed);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
  border-radius: 4px;
  padding: 13.4px 15px 15px;
  min-height: 102.4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fg-card-title {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  color: var(--crs-text, #26251e) !important;
  margin: 0 !important;
}

.fg-card-desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
}

.fg-card-footer {
  margin-top: var(--space-5);
}

/* Tablet — 2 columns for 3-col grid */
@media (max-width: 1280px) {
  .fg-grid--cols-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 980px) {
  .fg-grid--with-media.fg-grid--cols-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile — 1 column */
@media (max-width: 640px) {
  .fg-grid--cols-3,
  .fg-grid--cols-2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 979px) {
  .fg-layout--has-media {
    gap: var(--space-6);
  }

  .fg-media__image {
    max-width: 220px;
  }
}
/* END_SECTION:crs-feature-grid */

/* START_SECTION:crs-guarantee-block (INDEX:15) */
/* ===================================================
   Guarantee Block — crs-guarantee-block.liquid
   =================================================== */

.gb-section {
  background: var(--crs-bg, #f2f1ed);
}

.gb-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

.gb-inner {
  max-width: 480px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.gb-inner--align-left {
  align-items: flex-start;
  text-align: left;
}

.gb-inner--align-center {
  align-items: center;
  text-align: center;
}

.gb-inner--align-right {
  align-items: flex-end;
  text-align: right;
}

/* Shield icon */
.gb-icon {
  color: var(--crs-text, #26251e);
  opacity: 0.8;
}

.gb-icon svg {
  display: block;
}

/* Number row */
.gb-number-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.gb-number {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size: 72px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -2px;
  color: var(--crs-text, #26251e);
}

.gb-days-label {
  font-size: 16px;
  font-weight: 400;
  color: var(--crs-text-ter, rgba(38,37,30,0.4));
  line-height: 1;
}

.gb-copy {
  width: 100%;
  max-width: 400px;
}

/* Contact link */
.gb-link {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-teal);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--color-gray-400);
  transition: color 0.15s ease, text-decoration-color 0.15s ease, opacity 0.15s ease;
}

.gb-link:hover {
  color: var(--color-teal-dark);
  text-decoration-color: var(--color-teal-dark);
  opacity: 0.92;
}

/* Mobile */
@media (max-width: 640px) {
  .gb-number {
    font-size: 56px;
    letter-spacing: -1.5px;
  }
}
/* END_SECTION:crs-guarantee-block */

/* START_SECTION:crs-hero-typewriter (INDEX:16) */
/* ===================================================
   Hero Typewriter — lt-hero-typewriter.liquid
   =================================================== */

.ltw-section {
  background: var(--hero-bg, #efede6);
  overflow: hidden;
}

/* Two-column layout */
.ltw-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

/* Text-only hero (e.g. collection intro): one column, readable measure */
.ltw-section--no-visual .ltw-container {
  grid-template-columns: 1fr;
  gap: 0;
}

.ltw-section--no-visual .ltw-visual {
  display: none;
}

.ltw-section--no-visual .ltw-content {
  max-width: min(65ch, 100%);
}

/* Left column */
.ltw-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Eyebrow */
.ltw-eyebrow {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  line-height: var(--leading-tight);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--hero-text-sec, rgba(22,21,20,.45));
  margin: 0 0 8px;
}

/* Headline */
.ltw-heading {
  color: var(--hero-text, #161514);
  margin: 0;
}

.ltw-heading-group {
  margin-bottom: 32px;
}

/* Subheading */
.ltw-subheading {
  color: var(--hero-text-sec, rgba(22,21,20,.72));
  margin: 0;
}

.ltw-heading-group .crs-heading-stack__pair {
  gap: 0;
}

.ltw-heading-group .ltw-subheading.crs-heading-stack__subtitle {
  margin-top: 0;
}

.ltw-heading-group.crs-heading-stack .ltw-heading.crs-heading-stack__title {
  color: var(--hero-text, #161514);
}

.ltw-heading-group.crs-heading-stack .ltw-subheading.crs-heading-stack__subtitle {
  color: var(--hero-text-sec, rgba(22,21,20,.72));
}

/* CTA */
.ltw-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.ltw-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--color-dark);
  color: var(--color-text-on-dark);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  line-height: 1;
  padding: 14px 22px;
  border-radius: var(--hero-btn-r, 30px);
  text-decoration: none;
  transition: opacity .15s ease;
}

.ltw-btn:hover { opacity: .82; }

.ltw-btn--ghost {
  background: transparent;
  color: var(--hero-text, #161514);
  border: 1.5px solid currentColor;
  opacity: 0.55;
}

.ltw-btn--ghost:hover {
  opacity: 0.9;
}

.ltw-btn__icon {
  font-size: 1rem;
  line-height: 1;
}

/* ---- Right column ---- */
.ltw-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Image variant */
.ltw-visual__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.ltw-visual__placeholder {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: var(--hero-card-bg, #f2f1ed);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--hero-card-brd, rgba(38,37,30,.08));
}

.ltw-placeholder-svg {
  width: 60px;
  height: 60px;
  opacity: .25;
}

/* Dashboard variant */
.ltw-dash {
  width: 100%;
  max-width: 360px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ltw-card {
  background: var(--color-surface-primary);
  border-radius: var(--radius-xl);
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
  border: 0;
  padding: 20px 24px;
}

/* Age card */
.ltw-card--age {
  text-align: center;
  padding: 28px 24px;
}

.ltw-card__label {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .48;
  margin-bottom: 8px;
  color: var(--hero-text, #26251e);
}

.ltw-card__age-num {
  font-family: var(--font-heading);
  font-size: clamp(3rem, 6vw, 4rem);
  font-weight: var(--weight-regular);
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--hero-text, #26251e);
  margin-bottom: 6px;
}

.ltw-card__age-sub {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  opacity: .55;
  color: var(--hero-text, #26251e);
}

/* Metric cards */
.ltw-metrics {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: stretch;
  gap: 12px;
}

.ltw-metric-row {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  padding: 16px 18px;
}

.ltw-metric-row__button {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-appearance: none;
}

.ltw-metric-row__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.ltw-metric__name {
  display: block;
  font-family: var(--font-body);
  font-size: .8125rem;
  font-weight: var(--weight-medium);
  color: #6b6b63;
  margin: 0;
  opacity: 1;
}

.ltw-metric__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-body);
  font-size: .95rem;
  line-height: 1;
  color: #6b6b63;
  transform: rotate(0deg);
  transition: transform 200ms ease-out;
}

.ltw-metric-row.is-open .ltw-metric__chevron {
  transform: rotate(90deg);
}

.ltw-bar {
  display: block;
  width: 100%;
  height: 6px;
  background: #e8e8e4;
  border-radius: 999px;
  overflow: hidden;
}

.ltw-bar__fill {
  display: block;
  height: 100%;
  border-radius: 999px;
  width: 0;
}

.ltw-metric-row__detail-wrap {
  display: block;
  max-height: 0;
  overflow: hidden;
  transition: max-height 250ms ease-out;
}

.ltw-metric-row__detail {
  display: block;
  margin: 10px 0 0;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: var(--weight-regular);
  line-height: 1.5;
  color: #6b6b63;
}

/* Responsive */
@media (max-width: 1024px) {
  .ltw-container {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 0 24px;
  }
}

@media (max-width: 640px) {
  .ltw-container {
    padding: 0 20px;
    gap: 36px;
  }

  .ltw-heading-group {
    margin-bottom: 24px;
  }
}
/* END_SECTION:crs-hero-typewriter */

/* START_SECTION:crs-knowledge-base (INDEX:17) */
/* ===================================================
   Knowledge Base — crs-knowledge-base.liquid
   =================================================== */

.ckb-section {
  background: var(--crs-bg, #f7f7f4);
}

.ckb-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Card — Text 1fr, Bild 2fr (Bild rechts: Text | Bild) */
.ckb-card {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 1fr 2fr;
  min-height: 560px;
  border-radius: 4px;
  overflow: hidden;
  background: var(--crs-card-bg, #f2f1ed);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
}

/* Bild links: gleiche Proportionen, Spalten getauscht */
.ckb-card--image-left {
  grid-template-columns: 2fr 1fr;
}

.ckb-card--image-left .ckb-visual {
  grid-column: 1;
}

.ckb-card--image-left .ckb-content {
  grid-column: 2;
}

/* Left column */
.ckb-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 52px 44px;
  gap: 28px;
}

.ckb-text-block {
  display: flex;
  flex-direction: column;
}

/* Testimonial quote */
.ckb-quote {
  margin: 0;
  border-left: 2px solid var(--crs-border, rgba(38, 37, 30, 0.05));
  padding-left: 20px;
}

.ckb-quote-body {
  font-size: .9375rem;
  line-height: 1.6;
  color: var(--crs-text, #26251e);
  margin: 0 0 16px;
}

/* Author */
.ckb-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ckb-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 1.5px solid var(--crs-border, rgba(38, 37, 30, 0.05));
}

.ckb-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ckb-author-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ckb-author-name {
  font-size: .875rem;
  font-weight: 600;
  color: var(--crs-text, #26251e);
}

.ckb-author-role {
  font-size: .8125rem;
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
}

/* Right column — image */
.ckb-visual {
  position: relative;
  overflow: hidden;
}

.ckb-visual--graph {
  display: flex;
  align-items: stretch;
  padding: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 45%),
    var(--crs-card-bg, #f2f1ed);
}

.ckb-visual-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ckb-nad {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 100%;
}

.ckb-nad__frame {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 10px;
  width: 100%;
  padding: 32px 36px 28px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

.ckb-nad__frame::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), transparent 32%);
  pointer-events: none;
}

.ckb-nad__eyebrow {
  margin: 0;
  position: relative;
  z-index: 1;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--crs-text-ter, rgba(38, 37, 30, 0.4));
}

.ckb-nad__chart {
  position: relative;
  min-height: 392px;
}

.ckb-nad__chart::before {
  content: '';
  position: absolute;
  inset: 76px 60px 92px 82px;
  background-image: radial-gradient(circle, rgba(153, 153, 153, 0.12) 0.7px, transparent 0.8px);
  background-size: 20px 20px;
  pointer-events: none;
}

.ckb-nad__svg {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

.ckb-nad__grid line {
  stroke: #f5f5f5;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.ckb-nad__axes line {
  stroke: rgba(20, 20, 20, 0.72);
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
}

.ckb-nad__line {
  fill: none;
  stroke: var(--ckb-graph-line, rgba(38, 37, 30, 0.44));
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
}

.ckb-nad.is-visible .ckb-nad__line {
  opacity: 1;
  animation: ckb-nad-line-draw 2.5s cubic-bezier(0.45, 0, 0.2, 1) forwards;
}

.ckb-nad__marker {
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  cursor: pointer;
}

.ckb-nad.is-visible .ckb-nad__marker {
  animation: ckb-nad-marker-in 0.56s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  animation-delay: var(--delay, 0s);
}

.ckb-nad__marker-ripple {
  fill: none;
  stroke: var(--ckb-graph-line, rgba(38, 37, 30, 0.18));
  stroke-width: 1.2;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
}

.ckb-nad__marker-ring {
  fill: rgba(255, 255, 255, 0.98);
  stroke: var(--ckb-graph-ring, rgba(38, 37, 30, 0.18));
  stroke-width: 1.2;
}

.ckb-nad__marker-core {
  fill: var(--ckb-graph-point, rgba(38, 37, 30, 0.5));
}

.ckb-nad.is-visible .ckb-nad__marker-ripple {
  animation: ckb-nad-ripple 1.1s ease-out forwards;
  animation-delay: calc(var(--delay, 0s) + 0.08s);
}

.ckb-nad.is-complete .ckb-nad__marker {
  opacity: 1;
  animation: ckb-nad-point-idle 2.8s ease-in-out infinite;
  animation-delay: calc(var(--delay, 0s) + 0.2s);
}

.ckb-nad.is-complete .ckb-nad__marker-ripple {
  animation: none;
  opacity: 0;
}

.ckb-nad__y-guide,
.ckb-nad__x-guide {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

.ckb-nad__y-guide {
  inset-block: 76px 92px;
  inset-inline-start: 0;
  width: 62px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  opacity: 0;
}

.ckb-nad__y-caption,
.ckb-nad__y-value,
.ckb-nad__x-label-value {
  font-size: 0.8125rem;
  font-family: var(--font-body);
  color: #999999;
  font-weight: 400;
}

.ckb-nad__x-label-text {
  font-size: 0.8125rem;
  font-family: var(--font-body);
  letter-spacing: 0;
  text-transform: uppercase;
  color: #999999;
  font-weight: 400;
}

.ckb-nad__y-caption {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: -30px;
  letter-spacing: 0;
  text-transform: none;
}

.ckb-nad__y-value {
  position: absolute;
  inset-inline-start: 0;
  min-width: 22px;
  text-align: right;
  letter-spacing: 0;
  text-transform: none;
}

.ckb-nad__y-value--top {
  inset-block-start: -4px;
}

.ckb-nad__y-value--mid {
  inset-block-start: calc(50% - 4px);
}

.ckb-nad__y-value--bottom {
  inset-block-end: -4px;
}

.ckb-nad__x-guide {
  inset-inline: 82px 44px;
  inset-block-end: 42px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: center;
  gap: 12px;
  opacity: 0;
}

.ckb-nad__x-label {
  display: grid;
  gap: 6px;
}

.ckb-nad__x-label:first-child {
  justify-self: start;
}

.ckb-nad__x-label:nth-child(2) {
  justify-self: center;
}

.ckb-nad__x-label:last-child {
  justify-self: end;
}

.ckb-nad__x-label-text,
.ckb-nad__x-label-value {
  display: block;
}

.ckb-nad__x-label-value {
  letter-spacing: 0.08em;
}

.ckb-nad__x-label:first-child .ckb-nad__x-label-text,
.ckb-nad__x-label:nth-child(2) .ckb-nad__x-label-text {
  display: none;
}

.ckb-nad__hotspots {
  position: absolute;
  inset: 0;
  z-index: 3;
}

.ckb-nad__hotspot {
  position: absolute;
  inset-inline-start: var(--x);
  inset-block-start: var(--y);
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: transparent;
  transform: translate(-50%, -50%);
  cursor: pointer;
}

.ckb-nad__hotspot:focus-visible {
  outline: 1px solid rgba(20, 20, 20, 0.6);
  outline-offset: 2px;
}

.ckb-nad__tooltip {
  position: absolute;
  inset-inline-start: 50%;
  inset-block-end: calc(100% + 10px);
  width: 148px;
  padding: 10px 12px;
  background: #111111;
  color: #ffffff;
  font-size: 0.7rem;
  line-height: 1.45;
  text-align: start;
  opacity: 0;
  transform: translate(-50%, 8px) scale(0.96);
  transform-origin: center bottom;
  transition:
    opacity 0.22s ease,
    transform 0.22s ease;
  pointer-events: none;
}

.ckb-nad__hotspot[aria-expanded='true'] .ckb-nad__tooltip {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.ckb-nad.is-complete .ckb-nad__y-guide,
.ckb-nad.is-complete .ckb-nad__x-guide {
  animation: ckb-nad-axis-fade 0.7s ease forwards;
  animation-delay: 0.08s;
}

.ckb-nad.is-complete .ckb-nad__chart {
  animation: ckb-nad-breathe 7s ease-in-out infinite;
}

.ckb-nad__note {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: 28ch;
  font-size: 0.8rem;
  line-height: 1.5;
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
}

.ckb-visual-placeholder {
  width: 100%;
  height: 100%;
  min-height: 400px;
  background: var(--crs-card-bg, #f2f1ed);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ckb-placeholder-svg {
  width: 60px;
  height: 60px;
  opacity: .3;
}

/* Responsive — tablet */
@media (max-width: 1024px) {
  .ckb-card {
    grid-template-columns: 1fr;
    grid-template-rows: auto 360px;
  }

  .ckb-card--image-left .ckb-visual,
  .ckb-card--image-left .ckb-content {
    grid-column: auto;
  }

  .ckb-visual--graph {
    min-height: 420px;
    padding: 0;
  }

  .ckb-content {
    padding: 40px 32px;
  }
}

/* Responsive — mobile */
@media (max-width: 640px) {
  .ckb-content {
    padding: 32px 20px;
    gap: 20px;
  }

  .ckb-visual {
    min-height: 280px;
  }

  .ckb-visual--graph {
    min-height: 360px;
    padding: 0;
  }

  .ckb-nad__frame {
    padding: 22px 18px 18px;
  }

  .ckb-nad__chart {
    min-height: 272px;
  }

  .ckb-nad__chart::before {
    inset: 76px 26px 88px 74px;
    background-size: 16px 16px;
  }

  .ckb-nad__y-guide {
    inset-inline-start: 0;
    width: 52px;
  }

  .ckb-nad__y-caption {
    inset-inline-start: 0;
    inset-block-start: -24px;
  }

  .ckb-nad__y-value {
    inset-inline-start: 0;
    min-width: 20px;
  }

  .ckb-nad__x-guide {
    inset-inline: 74px 18px;
    inset-block-end: 16px;
    gap: 8px;
  }

  .ckb-nad__x-label {
    gap: 4px;
  }

  .ckb-nad__y-caption,
  .ckb-nad__y-value,
  .ckb-nad__x-label-value {
    font-size: 0.8125rem;
  }

  .ckb-nad__x-label-text {
    font-size: 0.8125rem;
  }

  .ckb-nad__tooltip {
    width: 126px;
    padding: 8px 10px;
    font-size: 0.64rem;
  }
}
/* END_SECTION:crs-knowledge-base */

/* START_SECTION:crs-link-cards (INDEX:18) */
/* ===================================================
   Link Cards — crs-link-cards.liquid
   =================================================== */

.lc-section {
  background: var(--crs-bg, #f7f7f4);
}

.lc-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

@media (max-width: 749px) {
  .lc-container {
    padding: 0 var(--space-4);
  }
}

.lc-section-head {
  max-width: 42rem;
  margin-bottom: var(--space-7);
}

.lc-section-head.crs-heading-stack--align-center {
  margin-inline: auto;
}

/* Grid */
.lc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  align-items: stretch;
}

/* Card */
.lc-card {
  box-sizing: border-box;
  background: var(--crs-card-bg, #f2f1ed);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
  border-radius: 4px;
  padding: 15px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.lc-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lc-card-title {
  font-family: var(--font-heading) !important;
  font-size: var(--text-body-lg) !important;
  font-weight: var(--weight-regular) !important;
  line-height: var(--leading-tight) !important;
  letter-spacing: 0 !important;
  color: var(--crs-text, #26251e) !important;
  margin: 0 !important;
}

.lc-card-desc {
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
  margin: 0;
}

/* Footer link */
.lc-card-footer {
  margin-top: 24px;
}

.lc-link {
  font-size: 14px;
  font-weight: 400;
  color: var(--color-teal);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--color-gray-400);
  transition: color 0.15s ease, text-decoration-color 0.15s ease, opacity 0.15s ease;
}

.lc-link:hover {
  color: var(--color-teal-dark);
  text-decoration-color: var(--color-teal-dark);
  opacity: 0.92;
}

/* Tablet — 2 columns */
@media (max-width: 1024px) {
  .lc-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile — 1 column */
@media (max-width: 640px) {
  .lc-grid {
    grid-template-columns: 1fr;
  }
}
/* END_SECTION:crs-link-cards */

/* START_SECTION:crs-logo-garden (INDEX:19) */
/* ===================================================
   Logo Garden — crs-logo-garden.liquid
   =================================================== */

.lg-section {
  background: var(--crs-bg, #f7f7f4);
}

.lg-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

.lg-section-head {
  margin-bottom: var(--space-7);
}

/* Logos — zentriert (flex), unabhängig von der Anzahl */
.lg-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: var(--space-2);
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Card */
.lg-card {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: min(11rem, 42vw);
  height: 4rem;
  background: var(--crs-card-bg, #f2f1ed);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
  border-radius: 4px;
  overflow: hidden;
  transition: opacity 0.18s ease;
}

.lg-card:hover {
  opacity: .8;
}

.lg-card-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 12px 16px;
  text-decoration: none;
}

/* Logo image */
.lg-logo {
  max-width: 100%;
  max-height: 28px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: grayscale(1);
  opacity: .65;
  transition: opacity 0.18s ease, filter 0.18s ease;
}

.lg-card:hover .lg-logo {
  opacity: .9;
  filter: grayscale(.4);
}

/* Fallback text when no image */
.lg-logo-placeholder {
  font-size: .75rem;
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
  text-align: center;
  padding: 8px;
  line-height: 1.3;
}

@media (max-width: 1024px) {
  .lg-card {
    width: min(10rem, 22vw);
    height: 4.5rem;
  }
}

@media (max-width: 480px) {
  .lg-card {
    flex: 0 0 calc(50% - var(--space-2));
    width: calc(50% - var(--space-2));
    max-width: calc(50% - var(--space-2));
    height: 5rem;
  }

  .lg-logo {
    max-height: 32px;
  }
}
/* END_SECTION:crs-logo-garden */

/* START_SECTION:crs-metrics-row (INDEX:20) */
/* ===================================================
   Metrics Row — crs-metrics-row.liquid
   =================================================== */

.mg-section {
  background: var(--crs-bg, #f7f7f4);
}

.mg-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Header */
.mg-header {
  margin-bottom: var(--space-7);
}

/* Grid */
.mg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

/* Card */
.mg-card {
  box-sizing: border-box;
  background: var(--crs-card-bg, #f2f1ed);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
  border-radius: 4px;
  padding: 12.5px 15px 15px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  aspect-ratio: 16 / 9;
}

/* Big number */
.mg-number {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  font-size: 52px;
  font-weight: 400;
  line-height: 59.8px;
  letter-spacing: -1.3px;
  color: var(--crs-text, #26251e);
}

/* Description */
.mg-desc {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--crs-text, #26251e);
  margin-top: auto;
}

/* Tablet — 2 columns */
@media (max-width: 1024px) {
  .mg-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .mg-card {
    aspect-ratio: auto;
    min-height: 140px;
  }
}

/* Mobile — 1 column */
@media (max-width: 640px) {
  .mg-grid {
    grid-template-columns: 1fr;
  }

  .mg-number {
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: -1px;
  }

  .mg-card {
    min-height: 120px;
  }
}
/* END_SECTION:crs-metrics-row */

/* START_SECTION:crs-risk-free-close (INDEX:21) */
.rfc-section {
  background: var(--crs-bg, #f7f7f4);
}

.rfc-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.rfc-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: center;
}

.rfc-media-card {
  position: relative;
  background: var(--crs-card-bg, #f2f1ed);
  border: none;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 6 / 5;
}

.rfc-image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  background: transparent;
  border-radius: var(--radius-lg);
}

.rfc-image--placeholder {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.26), rgba(255,255,255,0)),
    var(--crs-card-bg, #f2f1ed);
}

.rfc-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  min-width: 128px;
  min-height: 36px;
  border-radius: 999px;
  background: var(--color-teal-dark, #4A8C85);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6px 12px;
  box-sizing: border-box;
}

.rfc-badge span {
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.rfc-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.rfc-copy--align-left {
  align-items: flex-start;
  text-align: left;
}

.rfc-copy--align-center {
  align-items: center;
  text-align: center;
}

.rfc-copy--align-right {
  align-items: flex-end;
  text-align: right;
}

.rfc-price {
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--crs-text, #26251e);
}

.rfc-trust-list {
  list-style: none;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  width: 100%;
}

.rfc-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  line-height: 1.4;
  color: var(--crs-text, #26251e);
}

.rfc-copy--align-center .rfc-trust-item {
  justify-content: center;
}

.rfc-copy--align-right .rfc-trust-item {
  justify-content: flex-end;
}

.rfc-trust-icon {
  flex: 0 0 auto;
  color: var(--crs-text, #26251e);
  opacity: 0.85;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.rfc-cta {
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid var(--color-dark);
  border-radius: 999px;
  background: var(--color-dark);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.18s ease, opacity 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.rfc-cta:hover {
  transform: translateY(-1px);
  opacity: 0.92;
}

.rfc-cta:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px var(--crs-bg, #f7f7f4), 0 0 0 4px color-mix(in srgb, var(--crs-text) 16%, transparent);
}

@media (max-width: 767px) {
  .rfc-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .rfc-media {
    order: 1;
  }

  .rfc-copy {
    order: 2;
  }

  .rfc-badge {
    top: 12px;
    right: 12px;
    min-width: 110px;
    min-height: 32px;
    padding: 5px 10px;
  }

  .rfc-media-card {
    aspect-ratio: 1 / 1;
  }
}
/* END_SECTION:crs-risk-free-close */

/* START_SECTION:crs-social-quotes (INDEX:22) */
/* ===================================================
   Social Quotes Grid — crs-social-quotes.liquid
   =================================================== */

.sq-section {
  background: var(--crs-bg, #f7f7f4);
}

.sq-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

.sq-section-head {
  margin-bottom: var(--space-7);
}

/* Grid — Desktop 4 Spalten, gleiche Zeilenhöhe (stretch) */
.sq-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
  align-items: stretch;
}

/*
  Quadratisches Bild = volle Kartenbreite (1:1).
  Darunter Sterne, Zitat, Name mit festen Abständen und kompakterer Typo.
*/
.sq-card {
  box-sizing: border-box;
  background: var(--crs-card-bg, #f2f1ed);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  height: 100%;
  padding: 0;
}

.sq-card--no-image {
  padding: var(--space-4);
}

.sq-card--no-image .sq-card-content {
  padding: 0;
}

/* Bild: volle Breite, quadratisch, oben bündig mit Karte */
.sq-image-wrap {
  flex: none;
  width: 100%;
  display: block;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.sq-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
  border-radius: 0;
}

.sq-image-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.sq-card:not(.sq-card--no-image) .sq-card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--space-4) var(--space-4) var(--space-5);
  box-sizing: border-box;
  gap: 0;
  flex: 1 1 auto;
  min-height: 0;
}

.sq-card--no-image .sq-card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
}

.sq-stars {
  flex-shrink: 0;
  margin: 0 0 var(--space-4);
}

.sq-stars__row {
  display: inline-block;
  font-size: var(--text-body-sm);
  line-height: 1;
  letter-spacing: 0.12em;
  color: var(--color-star, #f4b740);
}

/* Figure — füllt Resthöhe, Name/Zeile unten */
.sq-figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1 auto;
  min-height: 0;
  margin: 0;
  width: 100%;
  justify-content: flex-start;
}

/* Quote */
.sq-blockquote {
  flex: 1 1 auto;
  margin: 0 0 var(--space-4);
  overflow: visible;
  width: 100%;
  min-height: 0;
}

.sq-quote-text {
  font-family: var(--font-body, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif);
  font-size: var(--text-body-sm);
  line-height: var(--leading-body, 1.4);
  color: var(--crs-text, #26251e);
  margin: 0;
  white-space: pre-wrap;
  overflow: visible;
  display: block;
}

.sq-figcaption {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-1);
  flex-shrink: 0;
  margin: auto 0 0;
  width: 100%;
  padding-top: 0;
}

.sq-name {
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold, 600);
  line-height: var(--leading-tight);
  color: var(--crs-text, #26251e);
}

.sq-role {
  font-size: var(--text-micro);
  line-height: var(--leading-tight);
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
}

/* Tablet — 2 columns */
@media (max-width: 1024px) {
  .sq-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile — 1 column */
@media (max-width: 640px) {
  .sq-grid {
    grid-template-columns: 1fr;
  }
}
/* END_SECTION:crs-social-quotes */

/* START_SECTION:crs-timeline (INDEX:23) */
/* ===================================================
   Timeline Split — crs-timeline.liquid
   =================================================== */

.tl-section {
  background: var(--crs-bg, #f7f7f4);
}

.tl-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

/* Desktop: Intro links, Timeline rechts — volle Containerbreite (kein 720px-Cap) */
.tl-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: start;
}

.tl-layout--timeline-only {
  grid-template-columns: minmax(0, 1fr);
}

/* Mit Bild: Bild unter der Headline in Spalte 1, Timeline in Spalte 2 über volle Höhe */
.tl-section--has-image .tl-timeline {
  grid-row: 1 / span 2;
  grid-column: 2;
}

.tl-section--has-image .tl-intro {
  grid-column: 1;
  grid-row: 1;
}

.tl-section--has-image .tl-media {
  grid-column: 1;
  grid-row: 2;
}

.tl-intro {
  min-width: 0;
  align-self: start;
  padding-right: var(--space-7);
  padding-top: var(--space-1);
  position: sticky;
  top: 80px;
}

.tl-timeline {
  min-width: 0;
}

/* Header block */
.tl-header {
  margin-bottom: var(--space-7);
}

/* Timeline items */
.tl-items {
  position: relative;
  padding-left: 24px;
  border-left: 1px solid var(--crs-border, rgba(38, 37, 30, 0.06));
}

.tl-item {
  position: relative;
  margin-bottom: 32px;
}

.tl-item:last-child {
  margin-bottom: 0;
}

/* Dot */
.tl-item::before {
  content: '';
  position: absolute;
  left: -30px;
  top: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--crs-card-bg, #f2f1ed);
  border: 1.5px solid rgba(38,37,30,0.3);
  box-sizing: border-box;
}

.tl-item--active::before {
  background: rgba(38,37,30,0.8);
  border-color: rgba(38,37,30,0.8);
}

/* Time badge */
.tl-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 400;
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
  background: var(--crs-card-bg, #f2f1ed);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
  border-radius: 20px;
  padding: 2px 10px;
  margin-bottom: 6px;
}

/* Step title */
.tl-step-title {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  color: var(--crs-text, #26251e) !important;
  margin: 0 0 4px !important;
}

/* Step body */
.tl-step-body {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
  margin: 0;
}

/* Callout */
.tl-callout {
  box-sizing: border-box;
  background: rgba(38,37,30,0.05);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.05));
  border-radius: 4px;
  padding: 10px 12px;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--crs-text-sec, rgba(38,37,30,0.6));
}

.tl-media {
  margin-top: var(--space-5);
}

.tl-image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-sm);
  object-fit: cover;
  display: block;
}

/* Tablet/Mobile: Intro → Timeline → Bild */
@media (max-width: 1024px) {
  .tl-layout {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .tl-section--has-image .tl-timeline {
    grid-column: 1;
    grid-row: auto;
  }

  .tl-section--has-image .tl-intro {
    grid-column: 1;
    grid-row: auto;
  }

  .tl-section--has-image .tl-media {
    grid-column: 1;
    grid-row: auto;
  }

  .tl-media {
    margin-top: 0;
  }

  .tl-intro {
    position: static;
    top: auto;
    padding-right: 0;
    padding-top: 0;
  }
}
/* END_SECTION:crs-timeline */

/* START_SECTION:lt-campaign-hero (INDEX:59) */
.lt-campaign-hero {
    --ch-space-4: 1rem;
    --ch-space-5: 1.5rem;
    --ch-space-6: 2rem;
    --ch-space-8: 4rem;
    --ch-space-9: 5rem;
    --ch-text-micro: 0.75rem;
    --ch-text-h1: 2.25rem;
    --ch-text-body: 1rem;
    --ch-text-body-lg: 1.125rem;
    --ch-leading-heading: 1.15;
    --ch-leading-body: 1.4;
    --ch-leading-relaxed: 1.6;
    --ch-weight-medium: 500;
    --ch-weight-bold: 700;
    --ch-max: 40rem;

    padding: var(--ch-space-9) 0 var(--ch-space-8);
  }

  @media screen and (max-width: 768px) {
    .lt-campaign-hero {
      padding-top: var(--ch-space-8);
    }
  }

  .lt-campaign-hero__layout {
    display: grid;
    gap: var(--ch-space-6);
  }

  .lt-campaign-hero__layout--has-media {
    max-width: 56rem;
    margin: 0 auto;
    align-items: center;
  }

  @media screen and (min-width: 900px) {
    .lt-campaign-hero__layout--has-media {
      grid-template-columns: 1fr 1fr;
      gap: var(--ch-space-8);
    }

    .lt-campaign-hero__layout--has-media .lt-campaign-hero__inner {
      text-align: start;
    }

    .lt-campaign-hero__layout--has-media .lt-campaign-hero__price {
      justify-content: flex-start;
    }

    .lt-campaign-hero__layout--has-media .lt-campaign-hero__cta.button--solid {
      margin-left: 0;
      margin-right: 0;
    }
  }

  .lt-campaign-hero__media {
    order: -1;
  }

  @media screen and (min-width: 900px) {
    .lt-campaign-hero__media {
      order: 0;
    }
  }

  .lt-campaign-hero__figure {
    margin: 0;
  }

  .lt-campaign-hero__figure--secondary {
    margin-top: var(--ch-space-4);
  }

  .lt-campaign-hero__img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0.75rem;
  }

  .lt-campaign-hero__inner {
    max-width: var(--ch-max);
    margin: 0 auto;
    text-align: center;
  }

  .lt-campaign-hero__layout--has-media .lt-campaign-hero__inner {
    max-width: none;
    margin: 0;
    width: 100%;
  }

  .lt-campaign-hero__eyebrow {
    margin: 0 0 var(--ch-space-4);
    font-family: var(--font-stack-body-primary);
    font-size: var(--ch-text-micro);
    font-weight: var(--ch-weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: var(--ch-leading-body);
    color: var(--color-secondary-text-main);
  }

  .lt-campaign-hero__title {
    margin: 0 0 var(--ch-space-5);
    font-family: var(--font-stack-headings-primary);
    font-size: clamp(1.625rem, 5vw, var(--ch-text-h1));
    line-height: var(--ch-leading-heading);
    font-weight: var(--ch-weight-bold);
    color: var(--color-text-main);
    letter-spacing: -0.02em;
  }

  .lt-campaign-hero__subline {
    margin: 0 0 var(--ch-space-6);
    font-family: var(--font-stack-body-primary);
    font-size: var(--ch-text-body-lg);
    line-height: var(--ch-leading-relaxed);
    color: var(--color-secondary-text-main);
  }

  .lt-campaign-hero__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: var(--ch-space-4);
    margin-bottom: var(--ch-space-4);
  }

  .lt-campaign-hero__price-old {
    font-family: var(--font-stack-body-primary);
    font-size: var(--ch-text-body-lg);
    color: var(--color-secondary-text-main);
    text-decoration: line-through;
    text-decoration-thickness: 1px;
  }

  .lt-campaign-hero__price-new {
    font-family: var(--font-stack-headings-primary);
    font-size: clamp(2rem, 6vw, 2.75rem);
    font-weight: var(--ch-weight-bold);
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--color-text-main);
  }

  .lt-campaign-hero__price-note {
    margin: 0 0 var(--ch-space-6);
    font-family: var(--font-stack-body-primary);
    font-size: var(--ch-text-body);
    line-height: var(--ch-leading-body);
    color: var(--color-secondary-text-main);
  }

  /* Layout only — fill/stroke from theme .button--solid (dark bg, light text) */
  .lt-campaign-hero__cta.button--solid {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    padding: 0.875rem 2rem;
    width: 100%;
    max-width: 22rem;
    margin: 0 auto var(--ch-space-6);
    border-radius: 999px;
    font-family: var(--font-stack-body-primary);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
  }

  .no-touchevents .lt-campaign-hero__cta.button--solid:hover {
    filter: brightness(0.92);
  }

  .lt-campaign-hero__trust {
    margin: 0;
    font-family: var(--font-stack-body-primary);
    font-size: var(--ch-text-body);
    line-height: var(--ch-leading-relaxed);
    color: var(--color-secondary-text-main);
    max-width: 36rem;
    margin-inline: auto;
  }
/* END_SECTION:lt-campaign-hero */

/* START_SECTION:lt-campaign-stack (INDEX:60) */
.lt-campaign-stack {
    --cs-space-4: 1rem;
    --cs-space-5: 1.5rem;
    --cs-space-6: 2rem;
    --cs-space-8: 4rem;
    --cs-space-9: 5rem;
    --cs-text-micro: 0.75rem;
    --cs-text-h2: 1.75rem;
    --cs-text-body: 1rem;
    --cs-text-body-lg: 1.125rem;
    --cs-leading-heading: 1.15;
    --cs-leading-body: 1.4;
    --cs-leading-relaxed: 1.6;
    --cs-weight-medium: 500;
    --cs-weight-bold: 700;
    --cs-max: 40rem;
    --cs-warm: #f6f4f1;
    --cs-radius: 0.75rem;

    padding-bottom: var(--cs-space-8);
  }

  .lt-campaign-stack__figure {
    margin: 0 0 var(--cs-space-6);
  }

  .lt-campaign-stack__img {
    width: 100%;
    max-width: 36rem;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: var(--cs-radius);
  }

  .lt-campaign-stack__panel {
    max-width: var(--cs-max);
    margin: 0 auto var(--cs-space-9);
    text-align: center;
  }

  .lt-campaign-stack__panel:last-of-type {
    margin-bottom: var(--cs-space-8);
  }

  .lt-campaign-stack__label {
    margin: 0 0 var(--cs-space-4);
    font-family: var(--font-stack-body-primary);
    font-size: var(--cs-text-micro);
    font-weight: var(--cs-weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    line-height: var(--cs-leading-body);
    color: var(--color-secondary-text-main);
  }

  .lt-campaign-stack__title {
    margin: 0 0 var(--cs-space-5);
    font-family: var(--font-stack-headings-primary);
    font-size: var(--cs-text-h2);
    line-height: var(--cs-leading-heading);
    font-weight: var(--cs-weight-bold);
    color: var(--color-text-main);
    letter-spacing: -0.02em;
  }

  .lt-campaign-stack__body {
    font-family: var(--font-stack-body-primary);
    font-size: var(--cs-text-body-lg);
    line-height: var(--cs-leading-relaxed);
    color: var(--color-secondary-text-main);
    text-align: start;
  }

  .lt-campaign-stack__body ul {
    margin: 0;
    padding-left: 1.25rem;
  }

  .lt-campaign-stack__body li {
    margin-bottom: var(--cs-space-4);
  }

  .lt-campaign-stack__body li:last-child {
    margin-bottom: 0;
  }

  .lt-campaign-stack__scarcity {
    max-width: 40rem;
    margin: 0 auto;
    padding: var(--cs-space-8) var(--cs-space-6);
    text-align: center;
    background: var(--cs-warm);
    border-radius: var(--cs-radius);
  }

  .lt-campaign-stack__scarcity-title {
    margin: 0 0 var(--cs-space-4);
    font-family: var(--font-stack-headings-primary);
    font-size: var(--cs-text-h2);
    line-height: var(--cs-leading-heading);
    font-weight: var(--cs-weight-bold);
    color: var(--color-text-main);
  }

  .lt-campaign-stack__scarcity-body {
    margin-bottom: var(--cs-space-6);
    font-family: var(--font-stack-body-primary);
    font-size: var(--cs-text-body-lg);
    line-height: var(--cs-leading-relaxed);
    color: var(--color-secondary-text-main);
  }

  /* Layout only — colors from theme .button--solid */
  .lt-campaign-stack__scarcity-cta.button--solid {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 48px;
    padding: 0.875rem 2rem;
    width: 100%;
    max-width: 22rem;
    border-radius: 999px;
    font-family: var(--font-stack-body-primary);
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
  }

  .no-touchevents .lt-campaign-stack__scarcity-cta.button--solid:hover {
    filter: brightness(0.92);
  }
/* END_SECTION:lt-campaign-stack */

/* START_SECTION:lt-comparison-table (INDEX:61) */
/* ============================================================
   LT Comparison Table — v2
   Div-based CSS Grid. No <table> element conflicts.
   Badge sits inside header cell (no negative top, no clip).
   Group rows use per-column filler cells so the accent column
   border is never interrupted by a spanning divider row.
   Mobile: label + active column only (no horizontal scroll).
   Tablet/Desktop (≥640px): full grid inside scroll wrapper.
   ============================================================ */

/* ── Section ── */
.lct-section.tl-section {
  background: var(--crs-bg, #f7f7f4);
  padding-top: var(--lct-pt, 80px);
  padding-bottom: var(--lct-pb, 80px);
}

.lct-container.tl-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 var(--space-5, 16px);
}

.lct-header.tl-header {
  margin-bottom: 32px;
  max-width: 48rem;
}

/* ── Outer wrap: single element that clips background colours at the radius.
      Badge is inside the header cell (positive top offset) so nothing is clipped. ── */
.lct-outer-wrap {
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  border-radius: 14px;
  overflow: hidden;
}

/* ── Scroll wrap ── */
.lct-scroll-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.lct-scroll-wrap::-webkit-scrollbar { display: none; }

/* ── Grid — all columns always visible, scroll wrapper handles overflow ── */
.lct-grid {
  display: grid;
  grid-template-columns: minmax(110px, 1.4fr) 1fr;
  width: 100%;
  background: var(--crs-bg, #f7f7f4);
}
.lct-grid[data-cols="2"] {
  grid-template-columns: minmax(110px, 1.4fr) repeat(2, minmax(88px, 1fr));
  min-width: 330px;
}
.lct-grid[data-cols="3"] {
  grid-template-columns: minmax(110px, 1.4fr) repeat(3, minmax(110px, 1fr));
  min-width: 540px;
}
.lct-grid[data-cols="4"] {
  grid-template-columns: minmax(110px, 1.4fr) repeat(4, minmax(80px, 1fr));
  min-width: 500px;
}

/* ── All row wrappers collapsed out of flow ── */
.lct-row { display: contents; }

/* ── Base cell ── */
.lct-cell {
  display: flex;
  align-items: center;
  padding: 12px 14px;
  border-top: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  min-height: 58px;
  position: relative;
  background: transparent;
}

/* ── Label-column cells ── */
.lct-cell--corner,
.lct-cell--label,
.lct-cell--group-label {
  background: var(--crs-card-bg, #f2f1ed);
}

.lct-cell--corner { border-top: none; }

/* ── Column header cells ── */
.lct-cell--head {
  background: var(--crs-card-bg, #f2f1ed);
  border-top: none;
  border-left: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  text-align: center;
  padding: 14px 10px 14px;
  min-height: 76px;
  gap: 4px;
}

/* Active header: white bg + accent top/side borders + room for badge */
.lct-cell--head.is-active {
  background: #fff;
  padding-top: 40px;
  box-shadow:
    inset  2px 0 0 var(--crs-accent, #65c0b6),
    inset -2px 0 0 var(--crs-accent, #65c0b6),
    inset  0  2px 0 var(--crs-accent, #65c0b6);
}

.lct-head-img { display: flex; max-height: 28px; }
.lct-head-img-el { max-height: 28px; width: auto; object-fit: contain; }

.lct-head-name {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  color: var(--crs-text, #26251e);
}
.lct-cell--head.is-active .lct-head-name { font-size: 13px; }

/* ── Badge — positive top value, lives inside header padding, never clipped ── */
.lct-badge {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--crs-accent, #65c0b6);
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 9px;
  border-radius: 999px;
  white-space: nowrap;
  line-height: 1.4;
}

/* ── Group divider label ── */
.lct-cell--group-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--crs-text-ter, rgba(38, 37, 30, 0.42));
  padding: 16px 14px 8px;
  min-height: auto;
}

/* No border between header row and first group label */
.lct-row--head + .lct-row--group .lct-cell--group-label {
  border-top: none;
  padding-top: 20px;
}

/* ── Group filler cells — one per data column, keeps accent column unbroken ── */
.lct-cell--group-filler {
  border-left: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  min-height: 0;
  padding: 0;
  background: transparent;
}

.lct-row--head + .lct-row--group .lct-cell--group-filler {
  border-top: none;
}

/* Active filler cell: continues the white background + side borders */
.lct-cell--group-filler.is-active {
  background: #fff;
  box-shadow:
    inset  2px 0 0 var(--crs-accent, #65c0b6),
    inset -2px 0 0 var(--crs-accent, #65c0b6);
}

/* ── Row label ── */
.lct-label-text {
  font-size: 13px;
  font-weight: 500;
  color: var(--crs-text, #26251e);
}

/* ── Data cells ── */
.lct-cell--data {
  border-left: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  gap: 8px;
  background: var(--crs-bg, #f7f7f4);
}

.lct-cell--data.is-active {
  background: #fff;
  box-shadow:
    inset  2px 0 0 var(--crs-accent, #65c0b6),
    inset -2px 0 0 var(--crs-accent, #65c0b6);
}

/* Close accent column at the bottom */
.lct-row--data:last-of-type .lct-cell--data.is-active {
  box-shadow:
    inset  2px 0 0 var(--crs-accent, #65c0b6),
    inset -2px 0 0 var(--crs-accent, #65c0b6),
    inset  0 -2px 0 var(--crs-accent, #65c0b6);
}

.lct-cell--cross:not(.is-active) { background: var(--crs-bg, #f7f7f4); }

/* ── Icons ── */
.lct-cell-icon {
  flex-shrink: 0;
  display: inline-flex;
  color: var(--crs-text-ter, rgba(38, 37, 30, 0.4));
}
.lct-cell--data.is-active .lct-cell-icon { color: var(--crs-accent, #65c0b6); }
.lct-icon-img { width: 20px; height: 20px; object-fit: contain; }

/* ── Cell text ── */
.lct-cell-text {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--crs-text, #26251e);
  overflow-wrap: break-word;
}
.lct-cell--data.is-active .lct-cell-text { font-weight: 600; }
.lct-cell--cross:not(.is-active) .lct-cell-text {
  color: var(--crs-text-ter, rgba(38, 37, 30, 0.42));
  font-weight: 400;
}

/* ══════════════════════════════════════════════════════════════
   MOBILE  < 640px — stack icon above text, tighter padding
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 639px) {
  .lct-cell--data {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px 8px;
    gap: 3px;
  }
  .lct-cell-icon svg { width: 18px; height: 18px; }
  .lct-cell-text { font-size: 11px; }
  .lct-label-text { font-size: 11px; }
  .lct-cell--label { padding: 10px 8px; }
}

/* ══════════════════════════════════════════════════════════════
   TABLET / DESKTOP  ≥ 640px — wider columns, more breathing room
   ══════════════════════════════════════════════════════════════ */
@media (min-width: 640px) {
  .lct-grid[data-cols="2"] {
    grid-template-columns: minmax(160px, 1.4fr) repeat(2, 1fr);
    min-width: 480px;
  }
  .lct-grid[data-cols="3"] {
    grid-template-columns: minmax(160px, 1.4fr) repeat(3, 1fr);
    min-width: 560px;
  }
  .lct-grid[data-cols="4"] {
    grid-template-columns: minmax(160px, 1.4fr) repeat(4, 1fr);
    min-width: 680px;
  }

  .lct-cell { padding: 14px 18px; min-height: 62px; }

  .lct-cell--head {
    padding: 18px 14px;
    min-height: 92px;
    gap: 6px;
  }
  .lct-cell--head.is-active { padding-top: 46px; }

  .lct-head-name { font-size: 14px; }
  .lct-cell--head.is-active .lct-head-name { font-size: 15px; }

  .lct-badge { font-size: 10px; padding: 3px 10px; top: 12px; }

  .lct-cell--group-label { padding: 18px 18px 8px; }

  .lct-label-text { font-size: 14px; }
  .lct-cell-text  { font-size: 13px; }

  .lct-cell-icon svg { width: 20px; height: 20px; }
}

@media (min-width: 1024px) {
  .lct-cell { padding: 16px 24px; min-height: 66px; }

  .lct-cell--head {
    padding: 22px 18px 20px;
    min-height: 104px;
  }
  .lct-cell--head.is-active { padding-top: 50px; }

  .lct-head-name { font-size: 15px; }
  .lct-cell--head.is-active .lct-head-name { font-size: 16px; }

  .lct-badge { top: 14px; }

  .lct-cell--group-label { padding: 20px 24px 10px; }

  .lct-label-text { font-size: 15px; }
  .lct-cell-text  { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .lct-cell, .lct-cell--head { transition: none; }
}
/* END_SECTION:lt-comparison-table */

/* START_SECTION:lt-guide-toc (INDEX:63) */
.lt-guide-nav__container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 10px var(--space-5);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-4);
}

.lt-guide-nav__left {
  min-width: 0;
}

.lt-guide-nav__eyebrow {
  margin: 0;
  font-size: var(--text-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

.lt-guide-nav__current {
  margin: 2px 0 0;
  font-size: var(--text-body-sm);
  color: var(--color-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lt-guide-nav__right {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}

.lt-guide-nav__progress {
  width: 96px;
  height: 6px;
  border-radius: 999px;
  background: var(--color-border-default);
  overflow: hidden;
}

.lt-guide-nav__progress-fill {
  display: block;
  width: 0%;
  height: 100%;
  background: var(--color-surface-accent);
  transition: width 220ms ease;
}

.lt-guide-nav__button {
  min-height: 36px;
  padding: 6px 12px;
  border-radius: 999px;
  border: 1px solid var(--color-border-default);
  background: var(--color-surface-primary);
  color: var(--color-text-primary);
  font-size: var(--text-body-sm);
}

.lt-guide-sheet {
  width: min(720px, calc(100vw - 24px));
  border: none;
  border-radius: var(--radius-md);
  padding: 0;
  background: transparent;
}

.lt-guide-sheet::backdrop {
  background: rgba(38, 37, 30, 0.38);
}

.lt-guide-sheet__surface {
  background: var(--color-surface-primary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  max-height: min(80vh, 760px);
  overflow: auto;
}

.lt-guide-sheet__header {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--color-surface-primary);
  border-bottom: 1px solid var(--color-border-default);
  padding: 12px var(--space-4);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.lt-guide-sheet__title {
  margin: 0;
  font-size: var(--text-body);
  font-weight: 600;
}

.lt-guide-sheet__close {
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid var(--color-border-default);
  background: var(--color-surface-primary);
  color: var(--color-text-primary);
  font-size: 20px;
  line-height: 1;
}

.lt-guide-sheet__list {
  list-style: none;
  margin: 0;
  padding: 8px;
  display: grid;
  gap: 4px;
}

.lt-guide-sheet__group {
  margin: 8px 4px 2px;
  font-size: var(--text-micro);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-secondary);
}

.lt-guide-sheet__link {
  width: 100%;
  text-align: left;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-text-primary);
  font-size: var(--text-body-sm);
}

.lt-guide-sheet__link.is-active {
  border-color: var(--color-border-default);
  background: var(--color-surface-secondary);
}

@media screen and (max-width: 767px) {
  .lt-guide-nav__container {
    padding: 8px var(--space-4);
  }

  .lt-guide-nav__progress {
    width: 72px;
  }

  .lt-guide-sheet {
    width: 100vw;
    max-width: none;
    margin: 0;
    border-radius: 0;
  }

  .lt-guide-sheet__surface {
    border-radius: 0;
    max-height: 84vh;
  }
}
/* END_SECTION:lt-guide-toc */

/* START_SECTION:lt-hp-consultation (INDEX:64) */
/* ================================================================
   lt-hp-consultation — Beratungs-CTA (Hochpreis-Hemmer)
   Token refs: §3 (colors, type, spacing), §5 (Buttons)
   ================================================================ */

/* — Section shell — */
.cons {
  background: var(--color-surface-secondary);
}

/* — Container — */
.cons__container {
  max-width: 640px;               /* narrow — conviction focus, one CTA */
  margin: 0 auto;
  padding: 0 var(--space-5);
}

/* — Content block — */
.cons__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-4);
}

/* — Advisor avatar — */
.cons__avatar-wrap {
  position: relative;
  width: 80px;
  height: 80px;
}

.cons__avatar {
  width: 80px;
  height: 80px;
  border-radius: var(--radius-full);
  object-fit: cover;
  border: 2px solid var(--color-surface-primary);
  box-shadow: var(--shadow-md);
}

/* Online indicator dot */
.cons__avatar-badge {
  position: absolute;
  bottom: 4px;
  right: 4px;
  width: 16px;
  height: 16px;
  background: var(--color-success);
  border-radius: var(--radius-full);
  border: 2px solid var(--color-surface-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
}


/* — CTA wrap — */
.cons__cta-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

/* — CTA button — */
.cons__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 52px;
  padding: 14px var(--space-7);
  border-radius: var(--radius-full);
  background: var(--color-cta-bg);
  color: var(--color-cta-text);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: opacity var(--ease-default);
}

.cons__cta:hover {
  opacity: 0.88;
}

/* — Availability pill — */
/*
  DECISION: Directly under the CTA, with a pulsing green dot.
  "Nächster freier Termin: morgen" creates soft urgency through scarcity signal.
  Green dot reinforces "online now" / availability metaphor.
*/
.cons__availability {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  margin: 0;
}

.cons__availability-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: var(--radius-full);
  background: var(--color-success);
  flex-shrink: 0;
  animation: cons-pulse 2s ease infinite;
}

@keyframes cons-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.6; transform: scale(0.85); }
}

/* — Responsive — */
@media screen and (max-width: 768px) {
  .cons__container {
    padding: 0 var(--space-4);
  }

  .cons__cta {
    width: 100%;
  }
}
/* END_SECTION:lt-hp-consultation */

/* START_SECTION:lt-hp-cta-close (INDEX:65) */
.ctac {
  background: var(--ctac-bg);
  color: var(--ctac-text);
}

.ctac__container {
  max-width: 52rem;
  margin: 0 auto;
  padding-inline-start: var(--gutter-container);
  padding-inline-end: var(--gutter-container);
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  text-align: center;
}

@supports (padding: max(0px)) {
  .ctac__container {
    padding-inline-start: max(var(--gutter-container), env(safe-area-inset-left));
    padding-inline-end: max(var(--gutter-container), env(safe-area-inset-right));
  }
}

.ctac__buybox {
  display: grid;
  gap: var(--space-3);
  padding-block: var(--space-5);
  border-top: 1px solid var(--ctac-border);
  border-bottom: 1px solid var(--ctac-border);
}

.ctac__buybox-row {
  display: grid;
  gap: var(--space-4);
  align-items: center;
}

.ctac__price-group {
  min-width: 0;
}

.ctac__price-display,
.ctac__price-fallback,
.ctac__price-subline,
.ctac__badge {
  margin: 0;
}

.ctac__price-display {
  font-family: var(--font-heading);
  font-size: clamp(var(--text-h2), 5vw, var(--text-display));
  font-weight: var(--weight-bold);
  line-height: var(--leading-heading);
  color: var(--ctac-text);
}

.ctac__price-fallback {
  font-family: var(--font-body);
  font-size: var(--text-body-lg);
  font-weight: var(--weight-medium);
  line-height: var(--leading-body);
  color: var(--ctac-text);
}

.ctac__price-subline {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  color: var(--ctac-text-muted);
}

.ctac__price-subline--mobile {
  margin-top: var(--space-2);
}

.ctac__price-subline--desktop {
  display: none;
}

.ctac__cta-primary,
.ctac__cta-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.875rem var(--space-7);
  border-radius: var(--radius-full);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-body);
  text-decoration: none;
  transition: opacity var(--ease-default), border-color var(--ease-default), color var(--ease-default);
}

.ctac__cta-primary {
  width: 100%;
  background: var(--ctac-accent);
  border: 1px solid var(--ctac-accent);
  color: var(--color-white);
}

.ctac__cta-primary:hover,
.ctac__cta-primary:focus-visible {
  opacity: 0.9;
}

.ctac__cta-secondary {
  align-self: center;
  border: 1px solid var(--ctac-border);
  color: var(--ctac-text);
}

.ctac__cta-secondary:hover,
.ctac__cta-secondary:focus-visible {
  border-color: var(--ctac-text);
}

.ctac__badge {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  color: var(--ctac-text-muted);
}

.ctac__trust-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--font-body);
  font-size: var(--text-micro);
  line-height: var(--leading-body);
  color: var(--ctac-text-muted);
}

.ctac__trust-row li {
  position: relative;
  padding-inline-end: var(--space-3);
}

.ctac__trust-row li:not(:last-child)::after {
  content: "·";
  position: absolute;
  inset-inline-end: calc(var(--space-1) * -0.5);
}

@media screen and (min-width: 750px) {
  .ctac__buybox-row {
    grid-template-columns: minmax(0, 1fr) auto;
    text-align: start;
  }

  .ctac__cta-primary {
    width: auto;
    min-width: 14rem;
  }

  .ctac__price-subline--mobile {
    display: none;
  }

  .ctac__price-subline--desktop {
    display: block;
    text-align: start;
  }
}
/* END_SECTION:lt-hp-cta-close */

/* START_SECTION:lt-hp-footer (INDEX:66) */
/* ================================================================
   lt-hp-footer — Homepage Footer (Dark Surface)
   Token refs: §3 (colors, type, spacing)
   ================================================================ */

/* — Section shell — */
.hpf--dark {
  background: var(--color-surface-dark);
  color: var(--color-text-on-dark);
}

.hpf__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
  display: flex;
  flex-direction: column;
  gap: var(--space-8);            /* 64px between major blocks */
}

/* — Top: email + nav — */
.hpf__top {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: var(--space-8);
  align-items: start;
}

/* — Email column — */
.hpf__mission {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-on-dark-muted);
  margin: 0 0 var(--space-5);
  max-width: 280px;
}

.hpf__email-form {
  width: 100%;
}

.hpf__email-row {
  display: flex;
  gap: 0;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: var(--radius-full);
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
}

.hpf__email-input {
  flex: 1;
  min-width: 0;
  height: 44px;
  padding: 0 var(--space-4);
  background: transparent;
  border: none;
  outline: none;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  color: var(--color-text-on-dark);
  caret-color: var(--color-text-on-dark);
}

.hpf__email-input::placeholder {
  color: var(--color-text-on-dark-muted);
}

.hpf__email-btn {
  flex-shrink: 0;
  height: 44px;
  padding: 0 var(--space-4);
  background: var(--color-button-primary-bg);
  border: none;
  border-radius: 0 var(--radius-full) var(--radius-full) 0;
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-semibold);
  color: var(--color-white);
  cursor: pointer;
  white-space: nowrap;
  letter-spacing: 0.02em;
  transition: opacity var(--ease-default);
}

.hpf__email-btn:hover {
  opacity: 0.85;
}

/* — Nav grid (4 columns) — */
.hpf__nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}

.hpf__nav-label {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-on-dark);
  margin: 0 0 var(--space-4);
}

.hpf__nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.hpf__nav-link {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  color: var(--color-text-on-dark-muted);
  cursor: default;
  transition: color var(--ease-default);
}

/* — Logo trust row — */
.hpf__logos {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-6) var(--space-8);
  padding: var(--space-6) 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.hpf__logo {
  height: 28px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: 0.5;
}

.hpf__logo-text {
  font-family: var(--font-heading);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-bold);
  letter-spacing: 0.04em;
  color: var(--color-text-on-dark-muted);
  white-space: nowrap;
  opacity: 0.6;
}

/* — Bottom bar — */
.hpf__bottom {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.hpf__copyright {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-regular);
  color: var(--color-text-on-dark-muted);
  margin: 0;
}

.hpf__disclaimer {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: rgba(255, 255, 255, 0.3);
  margin: 0;
  max-width: 720px;
}

/* — Responsive — */
@media screen and (max-width: 1024px) {
  .hpf__top {
    grid-template-columns: 1fr;
    gap: var(--space-7);
  }

  .hpf__mission {
    max-width: 100%;
  }

  .hpf__nav {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6) var(--space-5);
  }
}

@media screen and (max-width: 768px) {
  .hpf__container {
    padding: 0 var(--space-4);
    gap: var(--space-7);
  }

  .hpf__nav {
    grid-template-columns: 1fr 1fr;
  }

  .hpf__logos {
    gap: var(--space-4) var(--space-5);
  }
}

@media screen and (max-width: 480px) {
  .hpf__nav {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }
}
/* END_SECTION:lt-hp-footer */

/* START_SECTION:lt-hp-journey (INDEX:67) */
/* ================================================================
   lt-hp-journey — Prozess-Steps (adaptiert von lt-pdp-process-steps)
   Token refs: §3 (colors, type, spacing), §5 (Card Info pattern)
   ================================================================ */

/* — Section shell — */
.jrn {
  background: var(--color-surface-primary);
}

.jrn__container {
  max-width: 800px;                /* narrower — vertical step list reads better focused */
  margin: 0 auto;
  padding: 0 var(--space-5);
}

/* — Section header — */
.jrn__header {
  margin-bottom: var(--space-9);
}


/* — Steps list — */
.jrn__steps {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-8);    /* 64px → FAQs */
}

/* — Step — */
.jrn__step {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 0 16px;
}

/* — Step marker column — */
.jrn__step-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding-top: 2px;               /* optical alignment with step title */
}

/* Step number */
.jrn__step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--color-surface-secondary);
  border: 1px solid var(--color-border-default);
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: var(--weight-regular);
  letter-spacing: 0.06em;
  color: var(--color-text-secondary);
  flex-shrink: 0;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

/* Vertical connector line between steps */
.jrn__step-connector {
  display: block;
  width: 1px;
  flex: 1;
  min-height: 20px;
  background: var(--color-border-default);
  margin-top: 5px;
}

/* — Step content — */
.jrn__step-content {
  padding-bottom: 28px;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

/* Step header: title + timeframe badge on same row */
.jrn__step-header {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: var(--space-3);
}

/* Step title */
.jrn__step-title {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-medium);
  line-height: 1.4;
  color: var(--color-text-primary);
  margin: 0;
}

/* Timeframe badge — the quality move */
/*
  DECISION: Teal pill, inline with title.
  These are the most critical trust signals: "Unter 5 Minuten" answers
  "how hard is it?" and "6 Wochen Analysezeit" answers "how long do I wait?"
  Both must be found at a glance — not embedded in body text.
*/
.jrn__timeframe {
  display: inline-flex;
  align-items: center;
  gap: 5px;                       /* intentional: between --space-1 and --space-2 */
  background: var(--color-surface-secondary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-full);
  padding: 4px var(--space-3);    /* intentional: sub-token vertical for compact pill */
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  line-height: 1;
  white-space: nowrap;
}

/* Step body */
.jrn__step-body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-secondary);
  margin: 0;
}

/* Eurofins callout (Step 4) */
.jrn__callout {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  background: rgba(38, 37, 30, 0.05);
  border: 1px solid rgba(38, 37, 30, 0.08);
  border-radius: 4px;
  padding: var(--space-4);
}

.jrn__callout svg {
  color: var(--color-text-muted);
  flex-shrink: 0;
  margin-top: 2px;                /* optical vertical alignment with text */
}

.jrn__callout p {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-secondary);
  margin: 0;
}

/* — FAQ section — */
.jrn__faqs {
  border-top: 1px solid var(--color-border-default);
  padding-top: var(--space-7);
  margin-bottom: var(--space-7);  /* 48px before CTA */
  display: flex;
  flex-direction: column;
  gap: 0;
}

.jrn__faqs-label {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0 0 var(--space-4);
}

/* FAQ accordion (details/summary — no JS) */
.jrn__faq {
  border-bottom: 1px solid var(--color-border-default);
}

.jrn__faq[open] .jrn__faq-arrow {
  transform: rotate(180deg);
}

.jrn__faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) 0;
  font-family: var(--font-heading);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  color: var(--color-text-primary);
  cursor: pointer;
  list-style: none;              /* remove default marker */
  user-select: none;
}

.jrn__faq-question::-webkit-details-marker {
  display: none;
}

.jrn__faq-arrow {
  flex-shrink: 0;
  color: var(--color-text-muted);
  transition: transform var(--ease-default);
}

.jrn__faq-answer {
  padding-bottom: var(--space-5);
}

.jrn__faq-answer p {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-secondary);
  margin: 0;
}

/* — CTA — */
.jrn__cta-wrap {
  display: flex;
  justify-content: center;
}

.jrn__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px var(--space-8);
  border-radius: var(--radius-full);
  background: var(--color-cta-bg);
  color: var(--color-cta-text);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: opacity var(--ease-default);
}

.jrn__cta:hover {
  opacity: 0.88;
}

/* — Responsive — */
@media screen and (max-width: 768px) {
  .jrn__container {
    padding: 0 var(--space-4);
  }

  .jrn__header {
    margin-bottom: var(--space-7);
  }

  .jrn__step {
    grid-template-columns: 40px 1fr;
    gap: 0 var(--space-4);
  }

  .jrn__step-num {
    width: 34px;
    height: 34px;
    font-size: var(--text-micro);
  }

  .jrn__step-title {
    font-size: var(--text-section); /* 20px on mobile */
  }

  .jrn__step-header {
    flex-direction: column;
    gap: var(--space-2);
    align-items: flex-start;
  }
}
/* END_SECTION:lt-hp-journey */

/* START_SECTION:lt-hp-loop (INDEX:68) */
/* ================================================================
   lt-hp-loop — Lösung: Test → Profil → Protokoll
   Token refs: §3 (colors, spacing, type), §5 (Card Info, Buttons)
   ================================================================ */

/* — Section shell — */
.loop {
  background: var(--color-surface-secondary);
}

.loop__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

/* — Section header — */
.loop__header {
  max-width: 640px;
  margin: 0 auto var(--space-9);  /* 80px → steps */
}


/* — Layout wrapper — */
/*
  Default: enthält nur die Steps und entfaltet sich wie zuvor (Flex-Row).
  Mit Bild: 2-Spalten-Grid, Bild links, Steps vertikal rechts.
*/
.loop__layout {
  display: contents;
}

.loop__layout--with-image {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: var(--space-7);
  margin-bottom: var(--space-7);
  align-items: stretch;
}

/* — Image column — */
.loop__visual {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--color-surface-primary);
}

.loop__layout--with-image .loop__visual {
  aspect-ratio: auto;
  /* Damit das Bild die volle Höhe der Steps annimmt */
  align-self: stretch;
}

.loop__visual-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* — Steps grid — */
/*
  DECISION: flex row with connectors between cards.
  Connectors are flex-shrink: 0; cards take remaining space equally.
  Primary card (Step 1) is visually differentiated by surface, not by size.
*/
.loop__steps {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-bottom: var(--space-7);   /* 48px → CTA */
}

/* Mit Bild-Layout: Steps werden vertikal gestapelt */
.loop__steps--vertical {
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: 0;
}

/* — Connector arrow between steps — */
.loop__connector {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--space-7);           /* 48px */
  color: var(--color-text-muted);
}

/* — Step card — */
.loop__step {
  flex: 1;
  background: var(--color-surface-primary);  /* white on warm surface — creates lift */
  border-radius: var(--radius-md);
  padding: var(--space-6);         /* 32px */
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

/* Primary step — Step 1 elevated, white on warm surface */
.loop__step--primary {
  background: var(--color-surface-primary);
  border: 1.5px solid var(--color-border-default);
  box-shadow: var(--shadow-md);
}

/* — Step number row — */
.loop__step-number-row {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
}

.loop__step-number {
  font-family: var(--font-heading);
  font-size: var(--text-display);  /* 48px — large, commands attention */
  font-weight: var(--weight-regular);
  line-height: var(--leading-stat);
  color: var(--color-text-primary);
  letter-spacing: -0.03em;
}

.loop__step--primary .loop__step-number {
  color: var(--color-text-primary);
}

/* Non-primary steps: muted number */
.loop__step:not(.loop__step--primary) .loop__step-number {
  color: var(--color-gray-400);
}

.loop__step-label {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.loop__step:not(.loop__step--primary) .loop__step-label {
  color: var(--color-text-muted);
}

/* — Step headline — */
.loop__step-headline {
  font-family: var(--font-heading);
  font-size: var(--text-h3);      /* 24px — compact in card context */
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  color: var(--color-text-primary);
  margin: 0;
}

/* — Step body — */
.loop__step-body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-secondary);
  margin: 0;
  flex: 1;
}

/* — Step product link — */
.loop__step-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  margin-top: auto;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  color: var(--color-text-primary);
  text-decoration: none;
  border-bottom: 1px solid var(--color-border-default);
  padding-bottom: 1px;
  transition: color var(--ease-default), border-color var(--ease-default);
}

.loop__step-link:hover {
  color: var(--color-dark);
  border-color: var(--color-dark);
}

/* — Primary CTA — */
.loop__cta-wrap {
  display: flex;
  justify-content: center;
}

.loop__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px var(--space-8);    /* 64px horizontal — wide, confident */
  border-radius: var(--radius-full);
  background: var(--color-cta-bg);
  color: var(--color-cta-text);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: opacity var(--ease-default);
}

.loop__cta:hover {
  opacity: 0.88;
}

/* — Responsive — */
@media screen and (max-width: 1024px) {
  .loop__steps {
    gap: var(--space-4);
  }

  .loop__connector {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .loop__container {
    padding: 0 var(--space-4);
  }

  .loop__header {
    margin-bottom: var(--space-7);
  }

  .loop__steps {
    flex-direction: column;
    gap: var(--space-4);
    margin-bottom: var(--space-7);
  }

  .loop__connector {
    display: none;
  }

  .loop__step-number {
    font-size: var(--text-h1);    /* 36px on mobile */
  }

  /* Bild-Layout mobile: Bild oben, Steps darunter */
  .loop__layout--with-image {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    margin-bottom: var(--space-7);
  }

  .loop__layout--with-image .loop__visual {
    aspect-ratio: 4 / 5;
  }
}
/* END_SECTION:lt-hp-loop */

/* START_SECTION:lt-hp-problem-v2 (INDEX:69) */
.prob2__outer {
  max-width: 840px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

.prob2__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-4);
  margin-bottom: var(--space-7);
}

.prob2__kicker {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: var(--text-micro);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--prob2-text-muted, var(--color-text-muted));
  margin: 0;
}

.prob2__title-block {
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 32ch;
  text-wrap: balance;
}

.prob2__title-head,
.prob2__title-sub {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: var(--text-section);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--prob2-text, var(--color-text-primary));
  margin: 0;
}

.prob2__title-sub {
  opacity: 0.4;
}

/* Panes */
.prob2__panes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-5);
}

/* Each column wraps a pane + optional image, so on mobile pane and its
   image stay paired when the grid collapses to one column. */
.prob2__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.prob2__pane {
  padding: var(--space-6);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

/* Pane image (atmospheric closing per side) */
.prob2__pane-image {
  width: 100%;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--color-surface-secondary, #f2f1ed);
}

.prob2__pane-image--ratio-1x1 { aspect-ratio: 1/1; }
.prob2__pane-image--ratio-4x5 { aspect-ratio: 4/5; }
.prob2__pane-image--ratio-3x2 { aspect-ratio: 3/2; }

.prob2__pane-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.prob2__pane--system {
  background: transparent;
  border: 1px solid var(--color-border-default);
  color: var(--color-text-muted);
}

.prob2__pane--longevity {
  background: var(--color-surface-secondary);
  border: 1px solid var(--color-border-subtle, var(--color-border-default));
  color: var(--prob2-text, var(--color-text-primary));
}

.prob2__pane-hd {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--prob2-divider, var(--color-border-default));
}

.prob2__pane--longevity .prob2__pane-hd {
  border-bottom-color: rgba(74, 140, 133, 0.35);
}

.prob2__pane-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: var(--text-micro);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.prob2__pane--system .prob2__pane-name {
  color: var(--color-text-muted);
}

.prob2__pane--longevity .prob2__pane-name {
  color: var(--prob2-text, var(--color-text-primary));
}

.prob2__pane-tag {
  font-family: var(--font-heading);
  font-weight: 500;
  font-size: var(--text-micro);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.8;
}

.prob2__pane--system .prob2__pane-tag {
  color: var(--color-text-muted);
}

.prob2__pane--longevity .prob2__pane-tag {
  color: var(--color-teal-dark);
  opacity: 1;
}

.prob2__pane-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.prob2__pane-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: baseline;
}

.prob2__item-num {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: currentColor;
  opacity: 0.55;
  padding-top: 3px;
}

.prob2__item-line {
  font-family: var(--font-heading);
  font-weight: 400;
  font-size: var(--text-body);
  line-height: 1.3;
  letter-spacing: -0.005em;
}

.prob2__pane--system .prob2__item-line {
  color: var(--color-text-muted);
}

.prob2__pane--longevity .prob2__item-line {
  color: var(--prob2-text, var(--color-text-primary));
}

.prob2__closing {
  margin: var(--space-6) auto 0;
  max-width: 52ch;
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  line-height: var(--leading-relaxed);
  color: var(--prob2-text-muted, var(--color-text-muted));
}

@media screen and (max-width: 820px) {
  .prob2__outer {
    padding: 0 var(--space-4);
  }

  .prob2__header {
    margin-bottom: var(--space-6);
  }

  .prob2__panes {
    grid-template-columns: 1fr;
  }
}
/* END_SECTION:lt-hp-problem-v2 */

/* START_SECTION:lt-hp-problem (INDEX:70) */
/* ================================================================
   lt-hp-problem — Die Lücke (Destabilisierungs-Block)
   Token refs: §3 (colors, type), §5 (Stat Callout — helle Variante)
   ================================================================ */

/* — Section shell — */
.prob {
  background: var(--color-surface-primary);
}

.prob__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

/* — Section header — */
.prob__header {
  max-width: 680px;
  margin: 0 auto var(--space-9);   /* 80px → stats */
}


/* — Stat banner (same blueprint as social-proof stats) — */
.prob__stat-banner {
  background: var(--color-surface-secondary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-lg);
  padding: var(--space-7) var(--space-6);
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.prob__stat-banner--multi {
  flex-direction: row;
  align-items: stretch;
  gap: 0;
}

.prob__stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3);
  flex: 1;
  padding: var(--space-4) var(--space-5);
}

.prob__stat-divider {
  width: 1px;
  background: var(--color-border-default);
  align-self: stretch;
  flex-shrink: 0;
  margin: var(--space-4) 0;
}

/* Stat value — the dominant element */
/*
  DECISION: --text-h1 (36px) not --text-stat (56px) because these
  stats contain multi-word text values ("15 Jahre", "Nicht sichtbar").
  Full stat-size would create too many broken lines at 36px container width.
  --text-h1 still commands authority at this size without linebreak chaos.
*/
.prob__stat-value {
  font-family: var(--font-heading);
  font-size: var(--text-display); /* 48px */
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  color: var(--color-text-primary);
  letter-spacing: -0.02em;
  margin: 0;
}

/* Stat label */
.prob__stat-label {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-secondary);
  max-width: 260px;
  margin: 0;
}

/* Source citation */
.prob__stat-source {
  font-family: var(--font-body);
  font-size: var(--text-micro);   /* 12px */
  font-weight: var(--weight-regular);
  color: var(--color-text-muted);
  max-width: 260px;
  margin: 0;
}

/* — Responsive — */
@media screen and (max-width: 1024px) {
  .prob__stat-value {
    font-size: var(--text-h1);
  }
}

@media screen and (max-width: 768px) {
  .prob__container {
    padding: 0 var(--space-4);
  }

  .prob__header {
    margin-bottom: var(--space-7);
  }

  .prob__stat-banner {
    padding: var(--space-5) var(--space-4);
  }

  .prob__stat-banner--multi {
    flex-direction: column;
    gap: 0;
  }

  .prob__stat-divider {
    width: 100%;
    height: 1px;
    margin: 0;
    align-self: auto;
  }

  .prob__stat-item {
    padding: var(--space-5) var(--space-4);
  }

  .prob__stat-value {
    font-size: var(--text-h1);
  }
}
/* END_SECTION:lt-hp-problem */

/* START_SECTION:lt-hp-product-hero (INDEX:71) */
/* ================================================================
   lt-hp-product-hero — Homepage Hauptprodukt Section
   Token refs: §3 (colors, spacing, type), §5 (Card Info, Buttons)
   ================================================================ */

/* — Section shell — */
.php {
  background: var(--color-surface-secondary);
}

.php__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
  display: grid;
  grid-template-columns: 5fr 7fr;   /* asymmetric: visual smaller, purchase block wider */
  gap: var(--space-8);              /* 64px */
  align-items: start;
}

/* — Product Visual — */
.php__visual {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .php__visual {
    position: sticky;
    top: var(--space-7);
    align-self: start;
  }
}

.php__img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  border-radius: var(--radius-lg);
}

/* Placeholder: teal-tinted card when no product image is set */
.php__placeholder {
  aspect-ratio: 1 / 1;
  background: var(--color-surface-benefit);    /* #E6F4F1 */
  border-radius: var(--radius-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  color: var(--color-text-muted);
  border: 1px solid var(--color-border-default);
}

.php__placeholder-icon {
  opacity: 0.6;
}

.php__placeholder-label {
  font-family: var(--font-heading);
  font-size: var(--text-section);
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  letter-spacing: -0.01em;
}

.php__placeholder-sub {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  color: var(--color-text-muted);
}

/* Lab seal badge — overlaid bottom-left of visual */
.php__lab-seal {
  position: absolute;
  bottom: var(--space-4);
  left: var(--space-4);
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--color-surface-primary);     /* white */
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-full);
  padding: var(--space-2) var(--space-3);
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  line-height: 1;
  box-shadow: var(--shadow-sm);
}

/* — Purchase block — */
.php__purchase {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-top: var(--space-5);     /* optical alignment with visual */
}

/* Heading stack spacing within purchase block */
.php__header {
  margin-bottom: var(--space-6);
}

/* Price row */
.php__price-row {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}

.php__price {
  font-family: var(--font-heading);
  font-size: var(--text-h1);       /* 36px */
  font-weight: var(--weight-regular);
  line-height: 1;
  color: var(--color-text-primary);
  letter-spacing: -0.02em;
}

.php__price-note {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  color: var(--color-text-muted);
  font-weight: var(--weight-regular);
}

/* Feature grid (2×2) */
/*
  DECISION: 2-col grid, not list.
  gap: --space-4 (16px) — tighter than section gap because features are related.
  Card-info style: white bg + shadow-sm on warm surface.
*/
.php__features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
  list-style: none;
  margin: 0 0 var(--space-7);      /* 48px before CTA — breathing room per §6b */
  padding: 0;
  width: 100%;
}

.php__feature {
  display: block;
  background: var(--color-surface-primary);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  box-shadow: var(--shadow-sm);
}

.php__feature-text {
  min-width: 0;
}

.php__feature-title {
  font-family: var(--font-heading);
  font-size: var(--text-body);     /* 16px — compact in grid context */
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  color: var(--color-text-primary);
  margin: 0 0 var(--space-1);
}

.php__feature-body {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);  /* 14px */
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
  color: var(--color-text-secondary);
  margin: 0;
}

/* Primary CTA — full width, cta variant */
.php__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
  min-height: 52px;
  padding: 14px var(--space-6);
  border-radius: var(--radius-full);
  background: var(--color-cta-bg);          /* #364F56 */
  color: var(--color-cta-text);             /* white */
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  line-height: 1;
  text-decoration: none;
  transition: opacity var(--ease-default);
  letter-spacing: 0.01em;
}

.php__cta:hover {
  opacity: 0.88;
}

/* Sample report link — ghost text under CTA */
.php__report-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  margin-top: var(--space-4);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  text-decoration: none;
  border-bottom: 1px solid var(--color-border-default);
  padding-bottom: 1px;
  transition: color var(--ease-default), border-color var(--ease-default);
}

.php__report-link:hover {
  color: var(--color-text-primary);
  border-color: var(--color-text-primary);
}

/* — Responsive — */
@media screen and (max-width: 1024px) {
  .php__container {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-7);
  }
}

@media screen and (max-width: 768px) {
  .php__container {
    grid-template-columns: 1fr;
    gap: var(--space-6);
    padding: 0 var(--space-4);
  }

  .php__visual {
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
  }

  .php__purchase {
    padding-top: 0;
  }

  .php__features {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
}
/* END_SECTION:lt-hp-product-hero */

/* START_SECTION:lt-hp-science (INDEX:72) */
/* ================================================================
   lt-hp-science — Wissenschaft & Methodik (Dark Surface)
   Token refs: §3 (colors, type, spacing), §5 (Stat Callout dark pattern)
   ================================================================ */

/* — Section shell — */
.sci--dark {
  background: var(--color-surface-dark);   /* #364F56 */
  color: var(--color-text-on-dark);
}

.sci__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

/* — Section header — */
.sci__header {
  max-width: 640px;
  margin: 0 auto var(--space-9);   /* 80px → grid */
}

/* — Block grid — */
/*
  DECISION: Asymmetrisches Grid — Expert-Karte erhält deutlich mehr Breite.
  1fr | 1.8fr | 1fr — Limmroth-Karte dominiert als zentrales Schwergewicht.
  Pillar-Karten sind dezenter: kleinere Schrift, gleiche Struktur, weniger Gewicht.
*/
.sci__grid {
  display: grid;
  grid-template-columns: 1fr 1.8fr 1fr;
  gap: var(--space-5);
  margin-bottom: var(--space-9);   /* 80px before CTA */
}

/* — Card base (glass morphism on dark) — */
.sci__card {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-md);
  padding: var(--space-6);         /* 32px */
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

/* — Pillar card — */
.sci__card-label {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-on-dark-muted);
  margin: 0;
}

/* Pillar logo */
.sci__pillar-logo-wrap {
  margin: 0;
}

.sci__pillar-logo {
  height: 32px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  filter: brightness(0) invert(1);  /* white logo on dark bg */
  opacity: 0.8;
}

/* Pillar headline — eine Stufe kleiner als Expert-Quote, bewusst sekundär */
.sci__card-headline {
  font-family: var(--font-heading);
  font-size: var(--text-body-lg);  /* 18px statt 24px */
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  color: var(--color-text-on-dark);
  margin: 0;
}

/* Pillar body */
.sci__card-body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-on-dark-muted);
  margin: 0;
  flex: 1;
}

/* External research link */
.sci__card-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  margin-top: auto;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  color: var(--color-text-on-dark);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  padding-bottom: 1px;
  transition: color var(--ease-default), border-color var(--ease-default);
}

.sci__card-link:hover {
  color: var(--color-white);
  border-color: rgba(255, 255, 255, 0.4);
}

/* — Expert card — elevated gegenüber Pillars */
.sci__card--expert {
  background: rgba(255, 255, 255, 0.11);
  border-color: rgba(255, 255, 255, 0.22);
  padding: var(--space-7);
}

.sci__expert-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

/* Expert avatar — größer als in Pillar-Karten */
.sci__expert-avatar {
  width: 80px;
  height: 80px;
  border-radius: var(--radius-full);
  object-fit: cover;
  flex-shrink: 0;
  border: 1.5px solid rgba(255, 255, 255, 0.22);
}

.sci__expert-avatar-placeholder {
  width: 80px;
  height: 80px;
  border-radius: var(--radius-full);
  background: rgba(255, 255, 255, 0.08);
  color: var(--color-text-on-dark-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1.5px solid rgba(255, 255, 255, 0.22);
}

/* Expert identity */
.sci__expert-id {
  flex: 1;
  min-width: 0;
}

.sci__expert-name {
  font-family: var(--font-heading);
  font-size: var(--text-body-lg);
  font-weight: var(--weight-regular);
  color: var(--color-text-on-dark);
  line-height: var(--leading-tight);
  margin: 0 0 var(--space-1);
}

.sci__expert-title {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  color: var(--color-text-on-dark-muted);
  line-height: var(--leading-body);
  margin: 0;
}

/* Zitat — prominenteste Textstelle der Karte */
.sci__expert-quote {
  margin: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: 2px solid rgba(255, 255, 255, 0.25);
}

.sci__expert-quote-text {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-section);
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  color: var(--color-text-on-dark);
}

/* Expert credentials — dezenter als Quote */
.sci__expert-credentials {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-on-dark-muted);
  margin: 0;
  flex: 1;
}

/* — CTA (outline-inverted on dark surface) — */
.sci__cta-wrap {
  display: flex;
  justify-content: center;
}

.sci__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px var(--space-8);
  border-radius: var(--radius-full);
  background: transparent;
  color: var(--color-text-on-dark);
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: background var(--ease-default), border-color var(--ease-default);
}

.sci__cta:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.75);
}

/* — Responsive — */
@media screen and (max-width: 1024px) {
  /* Expert-Karte nimmt volle Breite, Pillars darunter nebeneinander */
  .sci__grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }

  /* Expert (2. Block) streckt sich über beide Spalten */
  .sci__card--expert {
    grid-column: 1 / -1;
    order: -1;
  }
}

@media screen and (max-width: 768px) {
  .sci__container {
    padding: 0 var(--space-4);
  }

  .sci__header {
    margin-bottom: var(--space-7);
  }

  .sci__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
    margin-bottom: var(--space-7);
  }

  .sci__expert-header {
    gap: var(--space-3);
  }

  .sci__expert-avatar,
  .sci__expert-avatar-placeholder {
    width: 52px;
    height: 52px;
  }
}
/* END_SECTION:lt-hp-science */

/* START_SECTION:lt-hp-social-proof (INDEX:73) */
/* ================================================================
   lt-hp-social-proof — Homepage Social Proof + Presse
   Token refs: §3 (colors, spacing, type), §5 (Card Review)
   ================================================================ */

/* — Section shell — */
.sp {
  background: var(--color-surface-primary);
}

.sp__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

/* — Section header — */
.sp__header {
  max-width: 640px;
  margin: 0 auto var(--space-8);   /* 64px → cards */
}


/* — Testimonial grid — */
/*
  DECISION: 3-col grid, no carousel (blueprint §5).
  Static cards stay visible — interaction with cards themselves
  introduces cognitive load between the user and the content.
*/
.sp__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);             /* 24px */
  list-style: none;
  margin: 0 0 var(--space-8);     /* 64px → stat banner */
  padding: 0;
}

/* — Testimonial card (card-review pattern) — */
.sp__card {
  background: var(--color-surface-secondary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  padding: var(--space-5);        /* 24px */
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}


/* Quote text */
.sp__quote {
  flex: 1;
}

.sp__quote p {
  font-family: var(--font-body);
  font-size: var(--text-body);    /* 16px */
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-primary);
  margin: 0;
}

/* — Card header: avatar + name + badge — */
.sp__card-header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border-default);
}

/* Avatar circle — photo or initial fallback */
.sp__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--color-surface-secondary);
  border: 1px solid var(--color-border-default);
  display: flex;
  align-items: center;
  justify-content: center;
}

.sp__avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sp__avatar-initial {
  font-family: var(--font-heading);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  line-height: 1;
}

.sp__author-meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  color: var(--color-text-secondary);
}

.sp__author-name {
  font-weight: var(--weight-medium);
  color: var(--color-text-primary);
}

.sp__author-role {
  margin-left: var(--space-2);
  color: var(--color-text-secondary);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
}

/* — Testimonial context note — */
.sp__context-note {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-muted);
  text-align: center;
  max-width: 560px;
  margin: 0 auto var(--space-8);
  padding: 0 var(--space-4);
}

/* Before / After result block
   Two-column layout separated by a hairline border.
   Chron. age as context above bio age — shows the transformation clearly.
*/
.sp__before-after {
  display: flex;
  background: var(--color-surface-primary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.sp__ba-col {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
  padding: var(--space-3) var(--space-4);
}

.sp__ba-col--before {
  border-right: 1px solid var(--color-border-default);
}

.sp__ba-col--after {
  text-align: right;
}

.sp__ba-label {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  line-height: var(--leading-tight);
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Contextual sub-label: chronological age (before) or duration (after) */
.sp__ba-chron {
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  color: var(--color-text-muted);
  opacity: 0.75;
}

.sp__ba-value {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  color: var(--color-text-secondary);
  overflow-wrap: break-word;
  word-break: break-word;
  margin-top: 2px;
}

.sp__ba-value--after {
  color: var(--color-text-primary);
}

/* — Aggregate Stat Banner —
   Single stat: centered column. Multi-stat (--multi modifier): row with dividers.
   Stat number in --text-stat (56px) commands the section.
*/
.sp__stat-banner {
  background: var(--color-surface-secondary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-lg);
  padding: var(--space-8) var(--space-6);
  margin-bottom: var(--space-8);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
}

.sp__stat-banner--multi {
  flex-direction: row;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 0;
  padding: var(--space-7) var(--space-6);
}

.sp__stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  flex: 1;
  min-width: 0;
  text-align: center;
  padding: var(--space-4) var(--space-5);
}

.sp__stat-divider {
  width: 1px;
  background: var(--color-border-default);
  align-self: stretch;
  flex-shrink: 0;
  margin: var(--space-4) 0;
}

.sp__stat-number {
  font-family: var(--font-heading);
  font-size: var(--text-stat);    /* 56px */
  font-weight: var(--weight-regular);
  line-height: var(--leading-stat);
  color: var(--color-text-primary);
  letter-spacing: -0.03em;
}

.sp__stat-banner--multi .sp__stat-number {
  font-size: var(--text-display); /* 48px */
  line-height: var(--leading-tight);
  letter-spacing: -0.02em;
}

.sp__stat-label {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--color-text-secondary);
  max-width: 240px;
  overflow-wrap: break-word;
  text-wrap: balance;
  margin: 0;
}

.sp__stat-sample-note {
  width: 100%;
  margin: var(--space-3) 0 0;
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  color: var(--color-text-muted);
}

/* — Press logos —
   DECISION: Centered flex row, muted.
   Logo images are desaturated in CSS — keeps visual calm even with branded assets.
   Text fallback when image unavailable: styled as uppercase micro.
*/
.sp__press {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.sp__press-label {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-text-muted);
}

.sp__press-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-6) var(--space-8);  /* 32px vert, 64px horiz */
  list-style: none;
  padding: 0;
  margin: 0;
}

.sp__press-item {
  display: flex;
  align-items: center;
}

.sp__press-link {
  display: block;
  text-decoration: none;
  transition: opacity var(--ease-default);
}

.sp__press-link:hover {
  opacity: 0.65;
}

.sp__press-logo {
  display: block;
  height: 32px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
  filter: grayscale(1);
  opacity: 0.55;
  transition: opacity var(--ease-default), filter var(--ease-default);
}

.sp__press-link:hover .sp__press-logo,
.sp__press-logo:hover {
  opacity: 0.8;
  filter: grayscale(0);
}

/* Text fallback (no logo image) */
.sp__press-logo-text {
  font-family: var(--font-heading);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
  white-space: nowrap;
}

/* — Responsive — */
@media screen and (max-width: 1024px) {
  .sp__grid {
    grid-template-columns: 1fr 1fr;
  }

  .sp__stat-banner--multi .sp__stat-number {
    font-size: var(--text-h1);
  }
}

@media screen and (max-width: 768px) {
  .sp__container {
    padding: 0 var(--space-4);
  }

  .sp__header {
    margin-bottom: var(--space-7);
  }

  .sp__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
    margin-bottom: var(--space-7);
  }

  .sp__stat-banner {
    padding: var(--space-7) var(--space-4);
    margin-bottom: var(--space-7);
  }

  .sp__stat-banner--multi {
    flex-direction: column;
    gap: 0;
    padding: var(--space-5) var(--space-4);
  }

  .sp__stat-divider {
    width: calc(100% - (var(--space-4) * 2));
    max-width: 100%;
    height: 1px;
    margin: 0 auto;
    align-self: center;
  }

  .sp__stat-item {
    padding: var(--space-5) var(--space-4);
  }

  .sp__stat-number {
    font-size: var(--text-display);  /* 48px on mobile */
  }

  .sp__stat-label {
    max-width: 320px;
  }

  .sp__press-row {
    gap: var(--space-5) var(--space-6);
  }

  .sp__author-meta {
    align-items: flex-start;
    flex-direction: column;
  }

  .sp__author-role {
    margin-left: 0;
    margin-top: var(--space-1);
  }
}
/* END_SECTION:lt-hp-social-proof */

/* START_SECTION:lt-hp-supplements (INDEX:74) */
/* ================================================================
   lt-hp-supplements — Produkt-Stack (AOV Upsell)
   Token refs: §3 (colors, type, spacing), §5 (Card Info pattern)
   ================================================================ */

/* — Section shell — */
.supps {
  background: var(--color-surface-secondary);
}

.supps__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

/* — Section header — */
.supps__header {
  max-width: 640px;
  margin: 0 auto var(--space-9);
}


/* — Test-verknüpft Badge — */
/*
*/
.supps__test-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: var(--color-surface-secondary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-full);
  padding: var(--space-2) var(--space-3);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  color: var(--color-text-secondary);
  line-height: 1;
}

.supps__test-badge--sm {
  font-size: var(--text-micro);
  padding: 5px var(--space-2);    /* intentional: between --space-1/2 for compact badge */
}

/* — Hero Card (NMN Flaggschiff) — */
/*
  DECISION: 2-col split within card — product image left, info right.
  White bg on warm surface = visual lift.
  More padding than standard cards (--space-8 vs --space-5) signals importance.
  is_hero: true means this card should feel like a mini product hero, not a list item.
*/
.supps__hero-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-7);            /* 48px */
  background: var(--color-surface-primary);
  border-radius: var(--radius-lg);
  padding: var(--space-8);        /* 64px */
  box-shadow: var(--shadow-md);
  margin-bottom: var(--space-7);  /* 48px → standard cards grid */
  align-items: center;
}

/* Hero visual */
.supps__hero-visual {
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 1 / 1;
}

.supps__hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.supps__hero-placeholder {
  width: 100%;
  height: 100%;
  background: var(--color-surface-secondary);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
}

/* Hero info */
.supps__hero-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.supps__hero-name {
  font-family: var(--font-heading);
  font-size: var(--text-h2);     /* 28px */
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  color: var(--color-text-primary);
  letter-spacing: -0.02em;
  margin: 0;
}

.supps__hero-tagline {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
  color: var(--color-text-secondary);
  margin: 0;
}

.supps__hero-price {
  font-family: var(--font-heading);
  font-size: var(--text-h3);     /* 24px */
  font-weight: var(--weight-medium);
  color: var(--color-text-primary);
  margin: 0;
  letter-spacing: -0.01em;
}

.supps__hero-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 48px;
  padding: 12px var(--space-6);
  border-radius: var(--radius-full);
  background: var(--color-cta-bg);
  color: var(--color-cta-text);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: opacity var(--ease-default);
  margin-top: var(--space-3);
}

.supps__hero-cta:hover {
  opacity: 0.88;
}

/* — Standard Card Grid (3 products) — */
.supps__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-5);
  list-style: none;
  padding: 0;
  margin: 0 0 var(--space-7);    /* 48px before grid CTA */
}

/* — Standard Card — */
.supps__card {
  background: var(--color-surface-primary);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Card visual */
.supps__card-visual {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.supps__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--ease-smooth);
}

.supps__card:hover .supps__card-img {
  transform: scale(1.03);
}

.supps__card-placeholder {
  width: 100%;
  height: 100%;
  background: var(--color-surface-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-muted);
}

/* Card info */
.supps__card-info {
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  flex: 1;
}

.supps__card-name {
  font-family: var(--font-heading);
  font-size: var(--text-section); /* 20px */
  font-weight: var(--weight-regular);
  line-height: var(--leading-tight);
  color: var(--color-text-primary);
  margin: 0;
}

.supps__card-tagline {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
  color: var(--color-text-secondary);
  margin: 0;
  flex: 1;
}

/* Card footer: price + CTA */
.supps__card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border-default);
}

.supps__card-price {
  font-family: var(--font-heading);
  font-size: var(--text-body);
  font-weight: var(--weight-medium);
  color: var(--color-text-primary);
}

.supps__card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 var(--space-4);
  border-radius: var(--radius-full);
  background: transparent;
  border: 1px solid var(--color-border-default);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  color: var(--color-text-primary);
  text-decoration: none;
  transition: background var(--ease-default), border-color var(--ease-default);
}

.supps__card-cta:hover {
  background: var(--color-surface-secondary);
  border-color: var(--color-text-secondary);
}

/* — Grid CTA — */
.supps__grid-cta {
  display: flex;
  justify-content: center;
}

.supps__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px var(--space-7);
  border-radius: var(--radius-full);
  background: transparent;
  border: 1.5px solid var(--color-text-primary);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  color: var(--color-text-primary);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition: background var(--ease-default);
}

.supps__cta:hover {
  background: var(--color-border-default);
}

/* — Responsive — */
@media screen and (max-width: 1024px) {
  .supps__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 768px) {
  .supps__container {
    padding: 0 var(--space-4);
  }

  .supps__header {
    margin-bottom: var(--space-7);
  }

  .supps__hero-card {
    grid-template-columns: 1fr;
    gap: var(--space-5);
    padding: var(--space-5);
  }

  .supps__hero-visual {
    max-width: 240px;
    margin: 0 auto;
  }

  .supps__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
  }
}

@media screen and (max-width: 480px) {
  .supps__grid {
    grid-template-columns: 1fr;
  }
}
/* END_SECTION:lt-hp-supplements */

/* START_SECTION:lt-hp-trust-ticker (INDEX:75) */
/* ================================================================
   lt-hp-trust-ticker — Compact Trust Strip
   Token refs: §3 (colors, type), §4 (Compact padding: --space-5/6)
   ================================================================ */

/* — Section shell — */
.ticker {
  background: var(--color-surface-dark);    /* #364F56 */
  color: var(--color-text-on-dark);
  padding: calc(var(--space-3) - 1px) 0;   /* preserves compact height while giving the track 1px breathing room */
  overflow: hidden;
}

/* — Viewport (clips the scrolling track) — */
.ticker__viewport {
  position: relative;
  overflow: hidden;
  width: 100%;

  /* Edge fade — subtle gradient masks reinforce infinite feel */
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 6%,
    black 94%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 6%,
    black 94%,
    transparent 100%
  );
}

/* — Scrolling track — */
/*
  DECISION: translateX(-50%) moves by exactly one set of items,
  creating a seamless loop when combined with the duplicated Liquid output.
  animation-duration is set per-section via {% style %} using ticker_speed.
*/
.ticker__track {
  display: flex;
  align-items: center;
  width: max-content;
  padding-block: 1px;                      /* prevents descenders from being clipped by the compact strip */
  animation: ticker-scroll linear infinite;
  animation-duration: 30s;                 /* default — overridden by {% style %} */
}

@keyframes ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Pause on hover (accessibility + usability) */
.ticker__viewport:hover .ticker__track {
  animation-play-state: paused;
}

/* — Item — */
.ticker__item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  white-space: nowrap;
  padding: 0 var(--space-5);              /* 24px horizontal rhythm between items */
  font-family: var(--font-body);
  font-size: var(--text-body-sm);         /* 14px */
  font-weight: var(--weight-medium);
  color: var(--color-text-on-dark);
  line-height: 1.1;
}

/* Check icon inside item */
.ticker__check {
  color: var(--color-teal);               /* teal accent — matches brand tokens */
  flex-shrink: 0;
}

/* Optional emoji/text icon */
.ticker__item-icon {
  font-size: var(--text-body-sm);
  line-height: 1;
}

/* — Separator dot — */
.ticker__sep {
  display: inline-flex;
  align-items: center;
  color: var(--color-text-muted);
  flex-shrink: 0;
}

/* — Screen reader list — */
.ticker__sr-list {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

/* — Reduced motion — */
@media (prefers-reduced-motion: reduce) {
  .ticker__track {
    animation: none;
  }

  .ticker__viewport {
    mask-image: none;
    -webkit-mask-image: none;
  }

  /* Show items stacked as a static row when motion is reduced */
  .ticker__track {
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-5);
  }

  /* Hide duplicate set — .ticker__dup is set in Liquid for the n==2 pass */
  .ticker__dup,
  .ticker__dup + .ticker__sep {
    display: none;
  }
}
/* END_SECTION:lt-hp-trust-ticker */

/* START_SECTION:lt-hp-video-authority (INDEX:76) */
.hpva {
  background: var(--hpva-bg, #f7f7f4);
  color: var(--hpva-text, #26251e);
}

.hpva__container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

.hpva__layout {
  display: grid;
  gap: var(--space-7);
  align-items: center;
  max-width: 58rem;
  margin: 0 auto;
}

.hpva__copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-6);
}

.hpva__header {
  max-width: 34rem;
  margin: 0;
}

.hpva__media {
  width: 100%;
}

.hpva__quote-card {
  background: #ffffff;
  border-radius: var(--radius-md, 16px);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  padding: var(--space-6);
}

.hpva__quote {
  margin: 0 0 var(--space-5);
  font-family: var(--font-body);
  font-size: var(--text-body-lg);
  font-style: italic;
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--hpva-text, #26251e);
}

.hpva__expert {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.hpva__expert-avatar,
.hpva__expert-avatar-placeholder {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  flex-shrink: 0;
}

.hpva__expert-avatar {
  object-fit: cover;
}

.hpva__expert-avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(38, 37, 30, 0.05);
  color: var(--hpva-text-muted, rgba(38, 37, 30, 0.64));
}

.hpva__expert-meta {
  min-width: 0;
}

.hpva__expert-name,
.hpva__expert-title {
  margin: 0;
}

.hpva__expert-name {
  font-family: var(--font-heading);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-medium);
  color: var(--hpva-text, #26251e);
}

.hpva__expert-title {
  margin-top: 4px;
  font-family: var(--font-body);
  font-size: var(--text-micro);
  line-height: var(--leading-body, 1.4);
  color: var(--hpva-text-muted, rgba(38, 37, 30, 0.64));
}

.hpva__video-shell {
  width: min(100%, var(--hpva-video-max-width, 400px));
  margin-inline: auto;
}

.hpva__video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  border: 1px solid var(--hpva-border, rgba(38, 37, 30, 0.08));
  border-radius: var(--radius-lg, 28px);
  background: rgba(38, 37, 30, 0.06);
  box-shadow: 0 20px 48px rgba(38, 37, 30, 0.08);
  isolation: isolate;
}

.hpva__video,
.hpva__iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #d9d5ca;
}

.hpva__media-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hpva__video {
  object-fit: contain;
}

.hpva__iframe {
  object-fit: cover;
}

.hpva__sound-toggle {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: 1px solid rgba(247, 247, 244, 0.28);
  border-radius: 999px;
  background: rgba(38, 37, 30, 0.66);
  color: #f7f7f4;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
  -webkit-appearance: none;
}

.hpva__sound-toggle:hover,
.hpva__sound-toggle:focus-visible {
  background: rgba(38, 37, 30, 0.82);
  border-color: rgba(247, 247, 244, 0.4);
  transform: translateY(-1px);
}

.hpva__sound-toggle:focus-visible {
  outline: 2px solid rgba(247, 247, 244, 0.72);
  outline-offset: 2px;
}

.hpva__sound-icon {
  display: inline-flex;
}

.hpva__sound-icon--unmuted {
  display: none;
}

.hpva__sound-toggle.is-unmuted .hpva__sound-icon--muted {
  display: none;
}

.hpva__sound-toggle.is-unmuted .hpva__sound-icon--unmuted {
  display: inline-flex;
}

.hpva__sound-icon svg {
  width: 1.375rem;
  height: 1.375rem;
  fill: currentColor;
}

.hpva__placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  padding: var(--space-5);
  background: rgba(38, 37, 30, 0.04);
  color: var(--hpva-text-muted, rgba(38, 37, 30, 0.64));
  text-align: center;
}

.hpva__placeholder-label {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-body-small, 0.95rem);
  line-height: var(--leading-relaxed, 1.5);
}

@media screen and (max-width: 768px) {
  .hpva__container {
    padding: 0 var(--space-4);
  }

  .hpva__layout {
    gap: var(--space-6);
  }

  .hpva__copy {
    gap: var(--space-5);
  }

  .hpva__video-shell {
    width: min(85%, calc(var(--hpva-video-max-width, 400px) * 0.85));
  }

  .hpva__sound-toggle {
    right: 1rem;
    bottom: 1rem;
    width: 2.75rem;
    height: 2.75rem;
  }
}

@media screen and (min-width: 990px) {
  .hpva__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(2rem, 4vw, 4rem);
  }

  .hpva__header {
    max-width: 34rem;
  }

  .hpva__header.crs-heading-stack {
    align-items: flex-start;
  }

  .hpva__header .crs-heading-stack__pair,
  .hpva__header .crs-heading-stack__title,
  .hpva__header .crs-heading-stack__kicker {
    text-align: left;
  }

  .hpva__copy {
    justify-content: center;
  }

  .hpva__video-shell {
    width: min(100%, var(--hpva-video-max-width, 400px), 320px);
  }
}
/* END_SECTION:lt-hp-video-authority */

/* START_SECTION:lt-longevity-chapter (INDEX:78) */
.lt-longevity-chapter__container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

.lt-longevity-chapter {
  scroll-margin-top: 120px;
}

.lt-longevity-chapter__intro-card {
  background: var(--color-surface-primary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  padding: var(--space-6);
  margin-bottom: var(--space-6);
}

.lt-longevity-chapter__intro-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: stretch;
}

.lt-longevity-chapter__intro-grid--has-media {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}

.lt-longevity-chapter__intro-rte {
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.lt-longevity-chapter__media-wrap {
  border-radius: var(--radius-md);
  overflow: hidden;
  min-height: 260px;
  background: var(--color-surface-secondary);
}

.lt-longevity-chapter__media {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  min-height: 260px;
  aspect-ratio: 4 / 3;
}

.lt-longevity-chapter__tips {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

.lt-longevity-chapter__tip {
  background: var(--color-surface-primary);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.lt-longevity-chapter__tip-summary {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-5);
  cursor: pointer;
}

.lt-longevity-chapter__tip-summary::-webkit-details-marker {
  display: none;
}

.lt-longevity-chapter__tip-title {
  font-size: var(--text-body);
  line-height: var(--leading-tight);
  color: var(--color-text-primary);
  font-weight: 600;
}

.lt-longevity-chapter__tip-icon {
  color: var(--color-text-muted);
  font-size: 20px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.lt-longevity-chapter__tip[open] .lt-longevity-chapter__tip-icon {
  transform: rotate(45deg);
}

.lt-longevity-chapter__tip-body {
  padding: 0 var(--space-5) var(--space-5);
  color: var(--color-text-secondary);
  line-height: 1.65;
}

.lt-longevity-chapter__tip-link-wrap {
  margin-top: var(--space-3);
}

.lt-longevity-chapter__tip-link {
  color: var(--color-text-primary);
  border-bottom: 1px solid var(--color-text-primary);
  text-decoration: none;
}

@media screen and (max-width: 989px) {
  .lt-longevity-chapter__container {
    padding: 0 var(--space-4);
  }

  .lt-longevity-chapter__intro-card {
    padding: var(--space-5);
  }

  .lt-longevity-chapter__intro-grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .lt-longevity-chapter {
    scroll-margin-top: 172px;
  }
}
/* END_SECTION:lt-longevity-chapter */

/* START_SECTION:lt-lp-authority-block (INDEX:79) */
.lt-lp-authority-block-section {
  background: var(--lt-lp-authority-bg);
  color: var(--lt-lp-authority-text);
}

.lt-lp-authority-block {
  padding-top: var(--lt-lp-authority-padding-top);
  padding-bottom: var(--lt-lp-authority-padding-bottom);
}

.lt-lp-authority-block__card {
  display: grid;
  gap: 24px;
  padding: 24px;
  border-radius: 28px;
  background: var(--lt-lp-authority-surface);
  border: 1px solid var(--lt-lp-authority-border);
}

.lt-lp-authority-block__media {
  max-width: 220px;
}

.lt-lp-authority-block__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
}

.lt-lp-authority-block__content {
  display: grid;
  gap: 14px;
}

.lt-lp-authority-block__kicker {
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lt-lp-authority-muted);
}

.lt-lp-authority-block__headline {
  margin: 0;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.04;
  letter-spacing: -0.04em;
  color: var(--lt-lp-authority-text);
}

.lt-lp-authority-block__meta {
  display: grid;
  gap: 6px;
}

.lt-lp-authority-block__name,
.lt-lp-authority-block__title {
  margin: 0;
}

.lt-lp-authority-block__name {
  font-size: 1.05rem;
  font-weight: 600;
}

.lt-lp-authority-block__title {
  font-size: 0.98rem;
  line-height: 1.5;
  color: var(--lt-lp-authority-muted);
}

.lt-lp-authority-block__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lt-lp-authority-block__chip {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--lt-lp-authority-text) 6%, transparent);
  border: 1px solid var(--lt-lp-authority-border);
  font-size: 0.92rem;
  line-height: 1.3;
}

@media screen and (min-width: 750px) {
  .lt-lp-authority-block__card {
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    align-items: center;
    gap: 32px;
    padding: 32px;
  }
}
/* END_SECTION:lt-lp-authority-block */

/* START_SECTION:lt-lp-scarcity-risk (INDEX:80) */
.lt-lp-risk {
  background: var(--lt-lp-risk-bg);
  color: var(--lt-lp-risk-text);
}

.lt-lp-risk__inner {
  padding-top: var(--lt-lp-risk-padding-top);
  padding-bottom: var(--lt-lp-risk-padding-bottom);
}

.lt-lp-risk__header {
  max-width: 40rem;
  margin-bottom: var(--space-6);
}

.lt-lp-risk__kicker {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lt-lp-risk-muted);
}

.lt-lp-risk__headline {
  margin: var(--space-3) 0 0;
  font-family: var(--font-heading);
  font-size: clamp(var(--text-h2), 4vw, var(--text-display));
  font-weight: var(--weight-bold);
  line-height: var(--leading-heading);
  color: var(--lt-lp-risk-text);
}

.lt-lp-risk__grid {
  display: grid;
  gap: var(--space-4);
}

.lt-lp-risk__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--lt-lp-risk-card-bg);
  border: 1px solid var(--lt-lp-risk-border);
  border-radius: var(--radius-lg);
}

.lt-lp-risk__icon {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--lt-lp-risk-text);
}

.lt-lp-risk__icon svg {
  width: 100%;
  height: 100%;
}

.lt-lp-risk__label {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--lt-lp-risk-muted);
}

.lt-lp-risk__title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-section);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  color: var(--lt-lp-risk-text);
}

.lt-lp-risk__body,
.lt-lp-risk__footnote {
  margin: 0;
  font-family: var(--font-body);
  line-height: var(--leading-relaxed);
}

.lt-lp-risk__body {
  font-size: var(--text-body);
  color: var(--lt-lp-risk-muted);
}

.lt-lp-risk__link {
  margin-top: auto;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-body);
  color: var(--lt-lp-risk-text);
  text-decoration: none;
}

.lt-lp-risk__link:hover,
.lt-lp-risk__link:focus-visible {
  text-decoration: underline;
}

.lt-lp-risk__footnote {
  margin-top: var(--space-5);
  font-size: var(--text-body-sm);
  color: var(--lt-lp-risk-muted);
}

@media screen and (min-width: 990px) {
  .lt-lp-risk__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 749px) {
  .lt-lp-risk__header {
    margin-bottom: var(--space-5);
  }

  .lt-lp-risk__card {
    padding: var(--space-4);
  }

  .lt-lp-risk__footnote {
    margin-top: var(--space-4);
    font-size: var(--text-body-sm);
  }
}
/* END_SECTION:lt-lp-scarcity-risk */

/* START_SECTION:lt-lp-science-evidence (INDEX:81) */
.lt-lp-science {
  background: var(--lt-lp-science-bg);
  color: var(--lt-lp-science-text);
}

.lt-lp-science__inner {
  padding-top: var(--lt-lp-science-padding-top);
  padding-bottom: var(--lt-lp-science-padding-bottom);
}

.lt-lp-science__header {
  max-width: 44rem;
  margin: 0 auto var(--space-7);
  text-align: center;
}

.lt-lp-science__kicker {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lt-lp-science-accent);
}

.lt-lp-science__headline {
  margin: var(--space-3) 0 0;
  font-family: var(--font-heading);
  font-size: clamp(var(--text-h2), 4vw, var(--text-display));
  font-weight: var(--weight-bold);
  line-height: var(--leading-heading);
  color: var(--lt-lp-science-text);
}

.lt-lp-science__subheadline,
.lt-lp-science__footnote {
  margin: var(--space-3) 0 0;
  font-family: var(--font-body);
  line-height: var(--leading-relaxed);
}

.lt-lp-science__subheadline {
  font-size: var(--text-body-lg);
  color: var(--lt-lp-science-muted);
}

.lt-lp-science__grid {
  display: grid;
  gap: var(--space-4);
}

.lt-lp-science__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  background: var(--lt-lp-science-card-bg);
  border: 1px solid var(--lt-lp-science-border);
  border-radius: var(--radius-lg);
}

.lt-lp-science__card-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-section);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  color: var(--lt-lp-science-text);
}

.lt-lp-science__citation {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-style: italic;
  line-height: var(--leading-relaxed);
  color: var(--lt-lp-science-muted);
}

.lt-lp-science__abstract {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  color: var(--lt-lp-science-text);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.lt-lp-science__link {
  margin-top: auto;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-body);
  color: var(--lt-lp-science-accent);
  text-decoration: none;
}

.lt-lp-science__link:hover,
.lt-lp-science__link:focus-visible {
  text-decoration: underline;
}

.lt-lp-science__european {
  margin-top: var(--space-6);
  padding: var(--space-5) var(--space-6);
  background: var(--lt-lp-science-european-bg);
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: 1.55;
  color: var(--lt-lp-science-muted);
}

.lt-lp-science__footnote {
  max-width: 52rem;
  color: var(--lt-lp-science-muted);
}

@media screen and (min-width: 990px) {
  .lt-lp-science__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 749px) {
  .lt-lp-science__header {
    margin-bottom: var(--space-5);
  }

  .lt-lp-science__card {
    padding: var(--space-4);
  }

  .lt-lp-science__european {
    margin-top: var(--space-5);
    padding: var(--space-4);
  }

  .lt-lp-science__footnote {
    margin-top: var(--space-4);
    font-size: var(--text-body-sm);
  }
}
/* END_SECTION:lt-lp-science-evidence */

/* START_SECTION:lt-lp-value-stack (INDEX:82) */
.lt-lp-stack {
  background: var(--lt-lp-stack-bg);
  color: var(--lt-lp-stack-text);
}

.lt-lp-stack__inner {
  padding-top: var(--lt-lp-stack-padding-top);
  padding-bottom: var(--lt-lp-stack-padding-bottom);
}

.lt-lp-stack__header {
  max-width: 42rem;
  margin-bottom: var(--space-6);
}

.lt-lp-stack__heading {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(var(--text-h2), 4vw, var(--text-display));
  font-weight: var(--weight-bold);
  line-height: var(--leading-heading);
  color: var(--lt-lp-stack-text);
}

.lt-lp-stack__subheading,
.lt-lp-stack__footnote {
  margin: var(--space-3) 0 0;
  font-family: var(--font-body);
  line-height: var(--leading-relaxed);
}

.lt-lp-stack__subheading {
  font-size: var(--text-body-lg);
  color: var(--lt-lp-stack-muted);
}

.lt-lp-stack__list,
.lt-lp-stack__summary {
  background: var(--lt-lp-stack-surface);
  border: 1px solid var(--lt-lp-stack-border);
  border-radius: var(--radius-lg);
}

.lt-lp-stack__list {
  padding: var(--space-5);
}

.lt-lp-stack__item {
  padding-block: var(--space-4);
  border-bottom: 1px solid var(--lt-lp-stack-border);
}

.lt-lp-stack__item:first-child {
  padding-top: 0;
}

.lt-lp-stack__item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.lt-lp-stack__item-header {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.lt-lp-stack__item-title,
.lt-lp-stack__item-description,
.lt-lp-stack__summary-label,
.lt-lp-stack__summary-value,
.lt-lp-stack__summary-meta {
  margin: 0;
}

.lt-lp-stack__item-title {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-body);
  color: var(--lt-lp-stack-text);
}

.lt-lp-stack__item-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding-inline: var(--space-3);
  border: 1px solid var(--lt-lp-stack-border);
  border-radius: var(--radius-full);
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
  color: var(--lt-lp-stack-text);
  white-space: nowrap;
}

.lt-lp-stack__item-description {
  margin-top: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  line-height: var(--leading-relaxed);
  color: var(--lt-lp-stack-muted);
}

.lt-lp-stack__summary {
  margin-top: var(--space-5);
  padding: var(--space-5);
}

.lt-lp-stack__summary-row {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  align-items: end;
}

.lt-lp-stack__summary-label {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-body);
  color: var(--lt-lp-stack-text);
}

.lt-lp-stack__summary-value {
  font-family: var(--font-heading);
  font-size: clamp(var(--text-h2), 4vw, var(--text-display));
  font-weight: var(--weight-bold);
  line-height: var(--leading-heading);
  color: var(--lt-lp-stack-text);
  text-align: end;
}

.lt-lp-stack__summary-meta {
  margin-top: var(--space-2);
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  color: var(--lt-lp-stack-muted);
}

.lt-lp-stack__footnote {
  font-size: var(--text-body-sm);
  color: var(--lt-lp-stack-muted);
}

@media screen and (max-width: 749px) {
  .lt-lp-stack__subheading {
    font-size: var(--text-body);
  }

  .lt-lp-stack__list,
  .lt-lp-stack__summary {
    padding: var(--space-4);
  }

  .lt-lp-stack__summary-row {
    flex-direction: column;
    align-items: start;
  }

  .lt-lp-stack__summary-value {
    text-align: start;
  }

  .lt-lp-stack__item-header {
    gap: var(--space-2);
    align-items: start;
  }
}
/* END_SECTION:lt-lp-value-stack */

/* START_SECTION:lt-nad-age-graph (INDEX:83) */
.nad-graph {
    position: relative;
    overflow: clip;
    padding-top: var(--nad-graph-top-space, 80px);
    padding-bottom: var(--nad-graph-bottom-space, 80px);
    color: var(--nad-graph-text, #2d3027);
    background:
      radial-gradient(circle at top left, var(--nad-graph-accent-soft, rgba(156, 176, 112, 0.14)), transparent 34%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.76), transparent 34%),
      var(--nad-graph-bg, #f7f5ee);
  }

  .nad-graph::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(var(--nad-graph-grid, rgba(86, 95, 54, 0.08)) 1px, transparent 1px),
      linear-gradient(90deg, var(--nad-graph-grid, rgba(86, 95, 54, 0.08)) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.22), transparent 72%);
    pointer-events: none;
  }

  .nad-graph__container {
    position: relative;
    z-index: 1;
    max-width: 1320px;
    margin: 0 auto;
    padding-inline: clamp(20px, 3vw, 40px);
    display: grid;
    gap: clamp(28px, 3vw, 48px);
  }

  .nad-graph__intro {
    max-width: 48rem;
    display: grid;
    gap: 14px;
  }

  .nad-graph__kicker,
  .nad-graph__eyebrow,
  .nad-graph__card-kicker {
    margin: 0;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--nad-graph-accent, #7c8d4f);
  }

  .nad-graph__heading {
    margin: 0;
    max-width: 12ch;
    font-family: var(--font-heading);
    font-size: clamp(2.2rem, 4vw, 4.75rem);
    line-height: 0.94;
    letter-spacing: -0.04em;
    text-wrap: balance;
  }

  .nad-graph__body,
  .nad-graph__note,
  .nad-graph__detail,
  .nad-graph__age {
    margin: 0;
    max-width: 54ch;
    font-size: clamp(0.98rem, 1.3vw, 1.08rem);
    line-height: 1.65;
    color: var(--nad-graph-text-muted, rgba(45, 48, 39, 0.66));
  }

  .nad-graph__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    align-items: center;
  }

  .nad-graph__source {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 2.8rem;
    padding: 0.7rem 1rem;
    border: 1px solid var(--nad-graph-border, rgba(45, 48, 39, 0.12));
    border-radius: 999px;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--nad-graph-text, #2d3027);
    text-decoration: none;
    transition:
      transform 0.24s ease,
      border-color 0.24s ease,
      background-color 0.24s ease;
  }

  .nad-graph__source:hover,
  .nad-graph__source:focus-visible {
    transform: translateY(-1px);
    border-color: var(--nad-graph-accent, #7c8d4f);
    background: rgba(255, 255, 255, 0.55);
  }

  .nad-graph__visual {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.95fr);
    gap: clamp(20px, 2vw, 32px);
    align-items: stretch;
  }

  .nad-graph__chart-shell,
  .nad-graph__card {
    position: relative;
    border: 1px solid var(--nad-graph-border, rgba(45, 48, 39, 0.12));
    border-radius: 28px;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.52)),
      var(--nad-graph-card-bg, #fbfaf6);
    backdrop-filter: blur(10px);
  }

  .nad-graph__chart-shell {
    padding: clamp(20px, 2vw, 28px);
    box-shadow: 0 22px 48px rgba(43, 46, 35, 0.08);
  }

  .nad-graph__chart {
    position: relative;
    min-height: clamp(380px, 52vw, 580px);
    margin-top: 14px;
    overflow: visible;
  }

  .nad-graph__svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .nad-graph__grid line {
    stroke: var(--nad-graph-grid, rgba(86, 95, 54, 0.14));
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
  }

  .nad-graph__ticks text {
    fill: var(--nad-graph-text-muted, rgba(45, 48, 39, 0.66));
    font-size: 24px;
    letter-spacing: 0.04em;
  }

  .nad-graph__line,
  .nad-graph__area {
    transition: opacity 0.24s ease;
  }

  .nad-graph__line {
    fill: none;
    stroke: url(#nad-graph-gradient-{{ section.id }});
    stroke-width: 6;
    stroke-linecap: round;
    stroke-linejoin: round;
    opacity: 0;
  }

  .nad-graph__area {
    fill: url(#nad-graph-fill-{{ section.id }});
    opacity: 0;
  }

  .nad-graph.is-visible .nad-graph__line {
    opacity: 1;
    animation: nad-graph-line-draw 1.8s cubic-bezier(0.2, 0.72, 0.26, 1) forwards;
  }

  .nad-graph.is-visible .nad-graph__area {
    opacity: 1;
    animation: nad-graph-area-rise 1s ease 0.35s both;
  }

  .nad-graph__marker {
    opacity: 0;
    transform-origin: center;
  }

  .nad-graph.is-visible .nad-graph__marker {
    animation: nad-graph-marker-in 0.66s cubic-bezier(0.2, 0.72, 0.26, 1) forwards;
  }

  .nad-graph__marker-ring {
    fill: rgba(255, 255, 255, 0.88);
    stroke: var(--nad-graph-dot, #c96c4a);
    stroke-width: 5;
  }

  .nad-graph__marker-core {
    fill: var(--nad-graph-dot, #c96c4a);
  }

  .nad-graph__marker-glow {
    fill: var(--nad-graph-glow, rgba(201, 108, 74, 0.26));
  }

  .nad-graph__marker-label {
    fill: var(--nad-graph-text, #2d3027);
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.02em;
  }

  .nad-graph__marker-copy {
    fill: var(--nad-graph-text-muted, rgba(45, 48, 39, 0.66));
    font-size: 20px;
  }

  .nad-graph__axis-label {
    position: absolute;
    font-size: 0.84rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--nad-graph-text-muted, rgba(45, 48, 39, 0.66));
    pointer-events: none;
  }

  .nad-graph__axis-label--x {
    inset-inline-end: 2%;
    inset-block-end: 2px;
  }

  .nad-graph__axis-label--y {
    inset-inline-start: -54px;
    inset-block-start: 50%;
    transform: translateY(-50%) rotate(-90deg);
    transform-origin: left top;
  }

  .nad-graph__cards {
    display: grid;
    gap: 14px;
  }

  .nad-graph__card {
    padding: 20px 20px 22px;
    overflow: hidden;
  }

  .nad-graph__card::after {
    content: '';
    position: absolute;
    inset: auto -12% -38% auto;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--nad-graph-accent-soft, rgba(156, 176, 112, 0.14)), transparent 70%);
    pointer-events: none;
  }

  .nad-graph__value-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    margin-block: 10px 6px;
  }

  .nad-graph__value,
  .nad-graph__unit {
    margin: 0;
  }

  .nad-graph__value {
    font-family: var(--font-heading);
    font-size: clamp(2rem, 2vw, 2.6rem);
    line-height: 0.94;
    letter-spacing: -0.05em;
  }

  .nad-graph__unit {
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--nad-graph-text-muted, rgba(45, 48, 39, 0.66));
  }

  @media (max-width: 989px) {
    .nad-graph__visual {
      grid-template-columns: 1fr;
    }

    .nad-graph__chart {
      min-height: 420px;
    }

    .nad-graph__axis-label--y {
      inset-inline-start: -42px;
    }

    .nad-graph__cards {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (max-width: 749px) {
    .nad-graph__container {
      gap: 24px;
      padding-inline: 18px;
    }

    .nad-graph__heading {
      max-width: none;
    }

    .nad-graph__chart-shell {
      padding: 16px 14px 18px;
      border-radius: 24px;
    }

    .nad-graph__chart {
      min-height: 340px;
    }

    .nad-graph__axis-label--y {
      display: none;
    }

    .nad-graph__cards {
      grid-template-columns: 1fr;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .nad-graph__line,
    .nad-graph__area,
    .nad-graph__marker {
      animation: none !important;
      opacity: 1 !important;
    }

    .nad-graph__source {
      transition: none;
    }
  }

  @keyframes nad-graph-line-draw {
    from {
      stroke-dashoffset: var(--nad-graph-path-length, 1);
    }
    to {
      stroke-dashoffset: 0;
    }
  }

  @keyframes nad-graph-area-rise {
    from {
      opacity: 0;
      transform: translateY(16px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @keyframes nad-graph-marker-in {
    from {
      opacity: 0;
      transform: translateY(10px) scale(0.92);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
/* END_SECTION:lt-nad-age-graph */

/* START_SECTION:lt-page-ai-coach (INDEX:84) */
.lt-page-ai-coach {
    padding-block: var(--space-9);
    background: var(--color-surface-dark);
    color: var(--color-text-on-dark);
  }

  @media screen and (max-width: 768px) {
    .lt-page-ai-coach {
      padding-block: var(--space-8);
    }
  }

  /* ── Split Layout ── */
  .lt-page-ai-coach__split {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
    align-items: center;
  }

  @media screen and (min-width: 860px) {
    .lt-page-ai-coach__split--has-image {
      grid-template-columns: 1fr 280px;
    }
  }

  /* ── Content Column ── */
  .lt-page-ai-coach__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
  }

  .lt-page-ai-coach__body {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body-lg);
    line-height: var(--leading-relaxed);
    color: var(--color-text-on-dark-muted);
  }

  /* ── Bubbles ── */
  .lt-page-ai-coach__bubbles {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .lt-page-ai-coach__bubble {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-4) var(--space-5);
    background: var(--color-surface-primary);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
  }

  .lt-page-ai-coach__bubble-icon {
    flex-shrink: 0;
    margin-top: 2px; /* intentional: optical alignment with first text line */
    color: var(--color-text-secondary);
  }

  .lt-page-ai-coach__bubble span {
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    color: var(--color-text-primary);
    line-height: var(--leading-body);
  }

  /* ── Media Column ── */
  .lt-page-ai-coach__media {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .lt-page-ai-coach__img {
    display: block;
    width: 100%;
    max-width: 260px;
    height: auto;
    border-radius: var(--radius-lg);
  }

  @media screen and (max-width: 859px) {
    .lt-page-ai-coach__img {
      max-width: 200px;
      margin: 0 auto;
    }
  }
/* END_SECTION:lt-page-ai-coach */

/* START_SECTION:lt-page-dna-basics (INDEX:85) */
.lt-page-dna-basics {
    padding-block: var(--space-9);
    background: var(--color-surface-primary);
  }

  @media screen and (max-width: 768px) {
    .lt-page-dna-basics {
      padding-block: var(--space-8);
    }
  }

  /* ── Accordion ── */
  .lt-page-dna-basics__accordion {
    margin-top: var(--space-7);
    border-top: 1px solid var(--color-border-default);
  }

  .lt-page-dna-basics__category {
    border-bottom: 1px solid var(--color-border-default);
  }

  .lt-page-dna-basics__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: var(--space-5) 0;
    cursor: pointer;
    list-style: none;
    user-select: none;
  }

  .lt-page-dna-basics__summary::-webkit-details-marker {
    display: none;
  }

  .lt-page-dna-basics__summary:hover .lt-page-dna-basics__summary-title {
    color: var(--color-text-primary);
  }

  .lt-page-dna-basics__summary-inner {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex: 1;
    min-width: 0;
  }

  .lt-page-dna-basics__summary-title {
    font-family: var(--font-heading);
    font-size: var(--text-section);
    font-weight: var(--weight-bold);
    color: var(--color-text-primary);
    line-height: var(--leading-tight);
  }

  .lt-page-dna-basics__count {
    display: inline-block;
    padding: 3px var(--space-3);
    background: var(--color-surface-secondary);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-full);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    line-height: var(--leading-tight);
  }

  .lt-page-dna-basics__chevron {
    flex-shrink: 0;
    color: var(--color-text-muted);
    transition: transform var(--ease-default);
    display: flex;
    align-items: center;
  }

  details[open] .lt-page-dna-basics__chevron {
    transform: rotate(180deg);
  }

  /* ── Panel ── */
  .lt-page-dna-basics__panel {
    padding-bottom: var(--space-6);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  /* ── Report Chips ── */
  .lt-page-dna-basics__chips {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .lt-page-dna-basics__chip {
    padding: 5px var(--space-3);
    background: var(--color-surface-secondary);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-full);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-regular);
    color: var(--color-text-secondary);
    line-height: var(--leading-tight);
  }

  /* ── Benefit line ── */
  .lt-page-dna-basics__benefit {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-style: italic;
    color: var(--color-text-secondary);
    line-height: var(--leading-body);
  }
/* END_SECTION:lt-page-dna-basics */

/* START_SECTION:lt-page-dna-details (INDEX:86) */
.lt-page-dna-details {
    padding-block: var(--space-9);
    background: var(--color-surface-secondary);
  }

  @media screen and (max-width: 768px) {
    .lt-page-dna-details {
      padding-block: var(--space-8);
    }
  }

  /* ── Grid ── */
  .lt-page-dna-details__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
    margin: var(--space-7) 0 0;
    padding: 0;
    list-style: none;
  }

  @media screen and (max-width: 900px) {
    .lt-page-dna-details__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media screen and (max-width: 540px) {
    .lt-page-dna-details__grid {
      grid-template-columns: 1fr;
    }
  }

  /* ── Tile ── */
  .lt-page-dna-details__tile {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--space-5);
    background: var(--color-surface-primary);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-md);
  }

  .lt-page-dna-details__tile-header {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
  }

  .lt-page-dna-details__tile-icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: var(--color-text-secondary);
  }

  .lt-page-dna-details__tile-icon svg {
    display: block;
    width: 16px;
    height: 16px;
  }

  .lt-page-dna-details__tile-name {
    font-family: var(--font-heading);
    font-size: var(--text-body);
    font-weight: var(--weight-bold);
    color: var(--color-text-primary);
    line-height: var(--leading-tight);
  }

  .lt-page-dna-details__tile-count {
    display: inline-block;
    padding: 2px var(--space-2);
    background: var(--color-surface-secondary);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-full);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    color: var(--color-text-secondary);
    white-space: nowrap;
    line-height: var(--leading-tight);
  }

  /* ── Tags ── */
  .lt-page-dna-details__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px; /* intentional: between --space-1 (4px) and --space-2 (8px) per spec */
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .lt-page-dna-details__tag {
    padding: 3px var(--space-2);
    background: var(--color-surface-secondary);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-full);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-regular);
    color: var(--color-text-secondary);
    line-height: var(--leading-tight);
  }

  /* ── Micro Copy ── */
  .lt-page-dna-details__micro {
    margin: var(--space-6) 0 0;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    color: var(--color-text-muted);
    text-align: center;
    line-height: var(--leading-body);
  }
/* END_SECTION:lt-page-dna-details */

/* START_SECTION:lt-page-report-intro (INDEX:87) */
.lt-page-report-intro {
    padding-block: var(--space-9);
    background: var(--color-surface-dark);
    color: var(--color-text-on-dark);
  }

  .lt-page-report-intro__split {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-7);
    align-items: stretch;
  }

  @media screen and (min-width: 980px) {
    .lt-page-report-intro__split--has-image {
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: var(--space-8);
    }
  }

  .lt-page-report-intro__content {
    min-width: 0;
    display: flex;
    align-items: center;
  }

  .lt-page-report-intro .crs-heading-stack__kicker {
    color: var(--color-text-on-dark-muted);
  }

  .lt-page-report-intro .crs-heading-stack__title,
  .lt-page-report-intro__h1 {
    color: var(--color-text-on-dark) !important;
  }

  .lt-page-report-intro__h1 {
    font-size: var(--text-h1);
  }

  .lt-page-report-intro .crs-heading-stack__subtitle.lt-page-report-intro__subline {
    max-width: 62rem;
    color: rgba(255, 255, 255, 0.6) !important;
  }

  .lt-page-report-intro__media {
    min-width: 0;
    display: flex;
    align-items: stretch;
  }

  .lt-page-report-intro__media-frame {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .lt-page-report-intro__app-img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    border-radius: 0;
    box-shadow: none;
  }

  @media screen and (max-width: 767px) {
    .lt-page-report-intro {
      padding-block: var(--space-8);
    }

    .lt-page-report-intro__split {
      gap: var(--space-6);
    }

    .lt-page-report-intro__app-img {
      max-width: 320px;
    }
  }
/* END_SECTION:lt-page-report-intro */

/* START_SECTION:lt-page-whats-inside-tabs (INDEX:88) */
.lt-page-whats-inside-tabs {
    padding-block: var(--space-9);
    background: var(--color-surface-secondary);
  }

  .lt-page-whats-inside-tabs__tablist {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: var(--space-2);
    margin-bottom: var(--space-7);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .lt-page-whats-inside-tabs__tablist::-webkit-scrollbar {
    display: none;
  }

  .lt-page-whats-inside-tabs__tab {
    flex: 0 0 auto;
    padding: var(--space-3) var(--space-5);
    border: none;
    border-radius: var(--radius-full);
    background: var(--color-light-warm, #F6F4F1);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    color: var(--color-dark);
    line-height: 1;
    cursor: pointer;
    white-space: nowrap;
    transition: background var(--ease-default), color var(--ease-default), transform var(--ease-default);
    -webkit-tap-highlight-color: transparent;
  }

  .lt-page-whats-inside-tabs__tab:hover {
    background: var(--color-dark);
    color: var(--color-text-on-dark);
    transform: translateY(-1px);
  }

  .lt-page-whats-inside-tabs__tab.is-active {
    background: var(--color-dark);
    color: var(--color-text-on-dark);
    font-weight: var(--weight-semibold);
  }

  .lt-page-whats-inside-tabs__tab.is-active:hover {
    transform: none;
    cursor: default;
  }

  .lt-page-whats-inside-tabs__tab:focus-visible {
    outline: 2px solid var(--color-dark);
    outline-offset: 3px;
  }

  .lt-page-whats-inside-tabs__panel {
    display: block;
  }

  .lt-page-whats-inside-tabs__panel[hidden] {
    display: none !important;
  }

  .lt-page-whats-inside-tabs__split {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-7);
    align-items: start;
  }

  @media screen and (min-width: 980px) {
    .lt-page-whats-inside-tabs__tablist {
      justify-content: center;
      flex-wrap: wrap;
      overflow-x: visible;
      gap: var(--space-3);
    }

    .lt-page-whats-inside-tabs__tab {
      padding: var(--space-4) var(--space-6);
      font-size: var(--text-body);
    }

    .lt-page-whats-inside-tabs__split {
      grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    }

    .lt-page-whats-inside-tabs__media {
      position: sticky;
      top: var(--space-7);
      align-self: start;
    }
  }

  .lt-page-whats-inside-tabs__copy {
    min-width: 0;
  }

  .lt-page-whats-inside-tabs__media {
    min-width: 0;
  }

  .lt-page-whats-inside-tabs__media-frame {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .lt-page-whats-inside-tabs__image {
    display: block;
    width: 100%;
    max-width: 280px;
    height: auto;
    border-radius: 0;
    box-shadow: none;
  }

  .lt-page-whats-inside-tabs__epi-list,
  .lt-page-whats-inside-tabs__ai-list {
    display: grid;
    gap: var(--space-3);
    margin: var(--space-6) 0 0;
    padding: 0;
    list-style: none;
  }

  .lt-page-whats-inside-tabs__epi-item,
  .lt-page-whats-inside-tabs__dna-card,
  .lt-page-whats-inside-tabs__ai-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    height: 100%;
    padding: var(--space-4) var(--space-5);
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-lg);
  }

  .lt-page-whats-inside-tabs__dna-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: var(--space-3);
    margin-top: var(--space-7);
  }

  .lt-page-whats-inside-tabs__dna-card[hidden] {
    display: none !important;
  }

  .lt-page-whats-inside-tabs__pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-top: var(--space-5);
  }

  .lt-page-whats-inside-tabs__pagination-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
  }

  .lt-page-whats-inside-tabs__pagination-button {
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0 0.875rem;
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-full);
    background: rgba(255, 255, 255, 0.82);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    color: var(--color-text-primary);
    cursor: pointer;
    transition: background var(--ease-default), border-color var(--ease-default), color var(--ease-default);
  }

  .lt-page-whats-inside-tabs__pagination-button.is-active {
    background: var(--color-text-primary);
    border-color: var(--color-text-primary);
    color: var(--color-surface-primary);
  }

  .lt-page-whats-inside-tabs__pagination-button:focus-visible {
    outline: 2px solid var(--color-text-primary);
    outline-offset: 3px;
  }

  .lt-page-whats-inside-tabs__pagination-status {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    color: var(--color-text-secondary);
  }

  @media screen and (min-width: 720px) {
    .lt-page-whats-inside-tabs__epi-list,
    .lt-page-whats-inside-tabs__ai-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      grid-auto-rows: 1fr;
    }

    .lt-page-whats-inside-tabs__dna-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media screen and (min-width: 1100px) {
    .lt-page-whats-inside-tabs__dna-grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .lt-page-whats-inside-tabs__item-title {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-body);
    font-weight: var(--weight-bold);
    color: var(--color-text-primary);
    line-height: var(--leading-tight);
  }

  .lt-page-whats-inside-tabs__item-body {
    margin: var(--space-2) 0 0;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    color: var(--color-text-secondary);
    line-height: var(--leading-body);
  }

  .lt-page-whats-inside-tabs__ai-item {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: var(--space-3);
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--weight-regular);
    color: var(--color-text-primary);
    line-height: var(--leading-body);
  }

  .lt-page-whats-inside-tabs__ai-icon {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--color-text-secondary);
  }

  .lt-page-whats-inside-tabs__ai-item span {
    font: inherit;
    color: inherit;
    line-height: inherit;
  }

  @media screen and (max-width: 767px) {
    .lt-page-whats-inside-tabs {
      padding-block: var(--space-8);
    }

    .lt-page-whats-inside-tabs__tablist {
      margin-bottom: var(--space-6);
      justify-content: flex-start;
    }

    .lt-page-whats-inside-tabs__image {
      max-width: 220px;
    }
  }
/* END_SECTION:lt-page-whats-inside-tabs */

/* START_SECTION:lt-pdp-a2-aufklaerungs-bruecke (INDEX:89) */
/* ============================================================
   A2 AUFKLÄRUNGS-BRÜCKE — Section-Styles
   Scope: .section-lt-pdp-a2
   Mobile-First: 390px Base → Desktop ≥1024px
   A0-AI-01 (2026-05-10): Quote-Card und 6-Wochen-Block beide OHNE border-left
   A2-VS-02: Lead-Satz bold 18px Mobile, Sätze 2–5 Standard
   A2-VS-03: align-items: stretch + min-height für gemeinsamen Container
   ============================================================ */

/* ── Section-Container ── */
.section-lt-pdp-a2 {
  background-color: var(--color-bg-default, #ffffff);
  padding-top: var(--spacing-2xl, 48px);
  padding-bottom: var(--spacing-2xl, 48px);
}

.a2-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--spacing-md, 16px);
}

/* ── H2 Section-Headline ── */
.a2-headline {
  font-family: var(--font-heading, 'Helvetica Neue', Helvetica, Arial, sans-serif);
  font-size: 1.5rem; /* 24px Mobile — --text-h2-pdp */
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--color-text-primary, #364f56);
  margin: 0 0 var(--spacing-lg, 24px) 0;
}

/* ── Body / Lead-Paragraf (A2-VS-02) ── */
.a2-body {
  margin: 0 0 var(--spacing-xl, 32px) 0;
}

/* Lead-Satz: bold + 18px Mobile (A2-VS-02 Pflicht-Adjustment) */
.a2-body__lead {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 1.125rem; /* 18px Mobile */
  font-weight: 700;
  line-height: 1.6;
  color: var(--color-text-primary, #364f56);
  margin: 0 0 var(--spacing-sm, 8px) 0;
}

/* Standard Body-Folgesätze */
.a2-body__follow {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 1rem; /* 16px */
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-primary, #364f56);
  margin: 0;
}

/* Optional Mini-Absatz-Break nach Satz 3 (A2-VS-02) */
.a2-body__break {
  display: block;
  margin-bottom: var(--spacing-sm, 8px);
}

/* ── 2-Spalten ✓/✗-Visual ── */
.a2-check-visual {
  margin: 0 0 0 0; /* Block-Abstand via columns-wrapper margin-bottom */
}

/* Mobile: gestacked */
.a2-check-columns-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg, 24px);
  margin-bottom: var(--spacing-xl, 32px);
}

.check-col {
  flex: 1;
  min-width: 0;
}

/* Spalten-Header */
.check-col__header {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 1rem; /* --text-body-bold */
  font-weight: 700;
  color: var(--color-text-primary, #364f56);
  border-bottom: 1px solid var(--color-border, #e5e5e5);
  padding-bottom: var(--spacing-sm, 8px);
  margin: 0 0 var(--spacing-md, 16px) 0;
}

/* Item-Liste */
.check-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md, 16px);
}

/* Einzelnes Item */
.check-item {
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-sm, 8px);
}

.check-item i {
  font-size: 18px; /* icon--md */
  line-height: 1.6; /* vertical-align mit Text */
  flex-shrink: 0;
}

/* ✓-Icon Farbe */
.check-col--positive .check-item i {
  color: var(--color-success, #22c55e);
}

/* ✗-Icon Farbe */
.check-col--negative .check-item i {
  color: var(--color-gray-400, #a3a3a3);
}

/* Item-Text */
.check-item span {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 1rem; /* --text-body */
  font-weight: 400;
  color: var(--color-text-primary, #364f56);
  line-height: 1.6;
}

/* Fachbegriff in Klammern */
.fachbegriff {
  font-style: normal;
  color: var(--color-text-primary, #364f56);
}

/* Sub-Label (Körperalter: Höralter · Sehalter · Gedächtnisalter) */
.check-sublabel {
  display: block;
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.8125rem; /* 13px Mobile — --text-caption */
  color: var(--color-text-secondary, #a3a3a3);
  line-height: 1.4;
  margin-top: 2px;
}

/* ── Trenn-Divider ── */
.a2-section-divider {
  width: 100%;
  height: 1px;
  background: var(--color-border, #e5e5e5);
  margin: var(--spacing-xl, 32px) 0;
}

/* ── Quote-Card Featured (Horvath) ── */
/* A0-AI-01: Kein border-left (retroaktiv 2026-05-10) — italic + padding-left + rgba-Tint */
.quote-card--featured {
  padding: var(--spacing-md, 16px);
  padding-left: var(--spacing-lg, 24px);
  background: rgba(0, 0, 0, 0.02);
  border-radius: var(--radius-sm, 4px);
  display: flex;
  flex-direction: column; /* Mobile: Portrait oben, Quote unten */
  gap: var(--spacing-sm, 8px);
  margin-bottom: var(--spacing-xl, 32px);
}

/* Portrait (Foto) */
.quote-portrait {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

/* Portrait Fallback (Icon-Placeholder) */
.quote-portrait--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--color-bg-muted, #f5f5f5);
  flex-shrink: 0;
}

.quote-portrait--fallback i {
  font-size: 48px;
  color: var(--color-text-secondary, #a3a3a3);
}

/* blockquote — keine Default-Margins */
.quote-body {
  margin: 0;
  padding: 0;
}

/* Quote-Text — kursiv */
.quote-text {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 1rem; /* --text-body */
  font-style: italic;
  font-weight: 400;
  color: var(--color-text-primary, #364f56);
  line-height: 1.6;
  margin: 0 0 var(--spacing-sm, 8px) 0;
}

/* Attribution */
.quote-attribution {
  display: block;
}

.quote-name {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 1rem; /* --text-body-bold */
  font-weight: 700;
  color: var(--color-text-primary, #364f56);
  display: block;
}

.quote-title {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 0.8125rem; /* 13px — --text-caption */
  color: var(--color-text-secondary, #a3a3a3);
  display: block;
  margin-top: 2px;
}

/* ── 6-Wochen-Quality-Frame (Highlight-Block) ── */
/*
  A0-AI-01 (retroaktiv 2026-05-10):
  KEIN border-left — Teal-Tint-Background als visueller Anker.
  Quote-Card ebenfalls ohne border-left (padding-left + rgba-Tint).
*/
.highlight-block {
  background: rgba(101, 192, 182, 0.07); /* Teal-Tint 7% — kein eigener Token */
  /* border-left: BEWUSST WEGGELASSEN (A2-VS-01) */
  border-radius: var(--radius-sm, 4px);
  padding: var(--spacing-md, 16px);
  max-width: 100%;
  margin-top: var(--spacing-xl, 32px);
  margin-bottom: var(--spacing-lg, 24px);
}

.highlight-block__headline {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 1rem; /* --text-body-bold */
  font-weight: 700;
  color: var(--color-text-primary, #364f56);
  margin: 0 0 var(--spacing-sm, 8px) 0;
}

.highlight-block__body {
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 1rem; /* --text-body */
  font-weight: 400;
  color: var(--color-text-primary, #364f56);
  line-height: 1.6;
  margin: 0;
}

/* ── Anchor-Link „Mehr zur Wissenschaft →" ── */
.a2-anchor-link {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xs, 4px);
  font-family: var(--font-body, 'Lato', sans-serif);
  font-size: 1rem; /* --text-body */
  font-weight: 700; /* --text-body-bold — WCAG-Kontrast-Pflicht (3.9:1 bei bold ≥14px) */
  color: var(--color-cta-primary, #4a8c85);
  text-decoration: none;
  padding: 12px 0; /* ergibt min-height: 44px Tappfläche — WCAG 2.5.5 */
  min-height: 44px;
}

.a2-anchor-link i {
  font-size: 16px;
}

.a2-anchor-link:hover {
  text-decoration: underline;
}

/* ── Focus-Visible (Halo-Technik, analog A1.05 §6.03) ── */
.section-lt-pdp-a2 :focus-visible {
  outline: 2px solid var(--color-accent, #65c0b6);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(101, 192, 182, 0.3);
  border-radius: var(--radius-sm, 4px);
}

/* ── Reduced-Motion (A2 hat keine Animationen — inherent konform) ── */
@media (prefers-reduced-motion: reduce) {
  .section-lt-pdp-a2 * {
    animation: none !important;
    transition: none !important;
  }
}

/* ============================================================
   DESKTOP ≥ 1024px — Scale-up
   ============================================================ */
@media (min-width: 1024px) {

  /* Section-Padding */
  .section-lt-pdp-a2 {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  /* H2 */
  .a2-headline {
    font-size: 2.25rem; /* 36px Desktop — --text-h2-pdp */
    margin-bottom: var(--spacing-xl, 32px);
  }

  /* Body */
  .a2-body {
    max-width: 720px;
    margin-bottom: var(--spacing-2xl, 48px);
  }

  /* Lead-Satz Desktop: gleiche Bold-Auszeichnung, Standard-Größe */
  .a2-body__lead {
    font-size: 1rem; /* Desktop zurück auf 16px — Lead-Unterschied bleibt über Gewicht */
  }

  /* ✓/✗-Spalten — Desktop: nebeneinander (50/50) */
  .a2-check-columns-wrapper {
    flex-direction: row;
    gap: var(--spacing-xl, 32px);
    align-items: flex-start; /* Spalten starten oben, enden natürlich (flex-start) */
    margin-bottom: var(--spacing-2xl, 48px);
  }

  /* A2-VS-03: Beide Spalten stretch für gemeinsame optische Höhe */
  /* Implementierung als Empfehlung: align-items: stretch + gleicher padding-bottom */
  .a2-check-columns-wrapper {
    align-items: stretch;
  }

  .check-col {
    flex: 1;
    min-width: 0;
    padding-bottom: var(--spacing-lg, 24px); /* gemeinsamer Bottom-Puffer (A2-VS-03) */
  }

  /* ✓-Spalte: Trennlinie rechts (Spalten-Divider) */
  .check-col--positive {
    border-right: 1px solid var(--color-border, #e5e5e5);
    padding-right: var(--spacing-xl, 32px);
  }

  /* ✗-Spalte: Links-Abstand */
  .check-col--negative {
    padding-left: var(--spacing-xl, 32px);
  }

  /* Sub-Label Desktop: leicht größer */
  .check-sublabel {
    font-size: 0.875rem; /* 14px Desktop */
  }

  /* Trenn-Divider Desktop */
  .a2-section-divider {
    margin: var(--spacing-2xl, 48px) 0;
  }

  /* Quote-Card Desktop — Portrait links, Quote rechts */
  .quote-card--featured {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--spacing-md, 16px);
    margin-bottom: var(--spacing-2xl, 48px);
  }

  .quote-portrait {
    width: 96px;
    height: 96px;
  }

  .quote-portrait--fallback {
    width: 96px;
    height: 96px;
  }

  /* Quote-Title Desktop */
  .quote-title {
    font-size: 0.875rem; /* 14px Desktop */
  }

  /* 6-Wochen-Block Desktop */
  .highlight-block {
    max-width: 720px;
    margin-top: var(--spacing-2xl, 48px);
  }

}
/* END_SECTION:lt-pdp-a2-aufklaerungs-bruecke */

/* START_SECTION:lt-pdp-a3-process-press (INDEX:90) */
/* ============================================================
   LT PDP A3 — Process & Press · Section-Styles
   Scope: .section-lt-pdp-a3
   Mobile-First: 390px Base → Tablet 768px → Desktop ≥1024px
   A0-AI-01: KEIN border-left
   A3-AU-01..06: H2 #000, Eyebrow A1-Pattern, Grid-Areas, 6-Col-Grid
   ============================================================ */

.section-lt-pdp-a3 {
  /* PDP-Tokens Section-scoped — identisches Pattern wie A1 (lt-pdp-hero.liquid Z. 112-135) */
  --text-eyebrow:   0.6875rem;  /* 11px Mobile */
  --text-h2-pdp:    1.5rem;     /* 24px Mobile */
  --text-body:      1rem;       /* 16px */
  --text-caption:   0.8125rem;  /* 13px Mobile */

  background: var(--color-surface-primary, #ffffff);
  padding: var(--space-7) var(--space-4);    /* 48px / 16px */
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;
}

.a3-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* ── H2 + Mini-Body — Mikro-Typografie an A2-Live angeglichen (A3-AU-02) ─── */
.a3-headline {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: var(--text-h2-pdp);
  font-weight: 700;
  color: var(--color-text-primary, #000000);  /* IDENTISCH zu A1/A2 */
  line-height: 1.15;                          /* = A2-Live */
  letter-spacing: -0.01em;
  margin: 0 0 var(--space-4);                 /* 16px */
}

.a3-mini-body {
  font-size: 0.9375rem;                       /* 15px Mobile */
  font-weight: 400;
  color: var(--color-text-secondary, #525252);
  line-height: 1.6;                           /* = A2-Live */
  margin: 0 0 var(--space-7);                 /* 48px */
  max-width: 600px;
}

/* ── 4-Step Process ─── */
.a3-steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);                        /* 24px Inter-Card-Gap */
  margin-bottom: var(--space-7);              /* 48px */
}

/* Mobile: Grid-Areas — Eyebrow oben über die ganze Card-Breite, dann Icon + Content side-by-side */
.a3-step {
  display: grid;
  grid-template-columns: 40px 1fr;
  grid-template-areas:
    "eyebrow eyebrow"
    "icon    content";
  column-gap: var(--space-4);                 /* 16px Icon → Content */
  row-gap: 0;
  /* min-height ENTFERNT (A3-AU-04, Reversal zu DR-03 Layout C):
     Cards atmen natürlich. Inter-Card-Gap 24px + teal Icon-Spalte links sind der visuelle Anker. */
}

.a3-step__eyebrow { grid-area: eyebrow; }
.a3-step__icon-col { grid-area: icon; }
.a3-step__content { grid-area: content; }

.a3-step__icon-col {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.a3-step__icon-col .icon--xl {
  font-size: 32px;
  color: var(--color-text-accent, #65C0B6);
  line-height: 1;
}

/* Eyebrow-Pattern — A1-Live-konform (A3-AU-03) */
.a3-step__eyebrow,
.a3-press__eyebrow,
.a3-badges__eyebrow {
  font-family: 'Lato', sans-serif;
  font-size: var(--text-eyebrow);
  font-weight: 700;                           /* = A1-Live (NICHT 600) */
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-secondary, #525252);
  line-height: 1.2;                           /* = A1-Live (NICHT 1.0) */
  margin: 0;
}

.a3-step__eyebrow {
  margin: 0 0 var(--space-1);                 /* 4px zum Label */
}

.a3-step__content {
  min-width: 0;
}

.a3-step__label {
  font-size: 0.9375rem;                       /* 15px Mobile */
  font-weight: 700;
  color: var(--color-text-primary, #000000);
  margin: 0 0 var(--space-1);                 /* 4px */
  line-height: 1.3;
}

.a3-step__detail {
  font-size: var(--text-caption);
  font-weight: 400;
  color: var(--color-text-secondary, #525252);
  line-height: 1.4;
  margin: 0;
}

/* ── Mini-Headers (Press + Badge) ─── */
.a3-mini-header {
  text-align: center;
  margin: 0 0 var(--space-5);                 /* 24px */
}

/* ── Press Logos ─── */
.a3-press {
  margin-bottom: var(--space-7);              /* 48px */
}

/* Mobile: 6-Spalten-Grid mit center-pair Reihe 2 (A3-AU-05) */
.a3-press__logos {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-4);                        /* 16px */
  justify-items: center;
  align-items: center;
}

.a3-press__logos > :nth-child(1) { grid-column: 1 / 3; }
.a3-press__logos > :nth-child(2) { grid-column: 3 / 5; }
.a3-press__logos > :nth-child(3) { grid-column: 5 / 7; }
.a3-press__logos > :nth-child(4) { grid-column: 2 / 4; }
.a3-press__logos > :nth-child(5) { grid-column: 4 / 6; }

.a3-press__logo {
  height: 32px;
  width: auto;
  max-width: 120px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.6;                               /* statisch, KEIN Hover-Switch (A3-DR-07) */
  display: block;
}

/* ── Badge Riegel ─── */
.a3-badges__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-4);                        /* 16px */
  justify-items: center;
  align-items: center;
}

.a3-badges__list > :nth-child(1) { grid-column: 1 / 3; }
.a3-badges__list > :nth-child(2) { grid-column: 3 / 5; }
.a3-badges__list > :nth-child(3) { grid-column: 5 / 7; }
.a3-badges__list > :nth-child(4) { grid-column: 2 / 4; }
.a3-badges__list > :nth-child(5) { grid-column: 4 / 6; }

.a3-badge {
  height: 40px;
  width: auto;
  max-width: 100px;
  object-fit: contain;
  display: block;
  /* NO grayscale filter — Originalfarben (Visual-Spec §4) */
}

.a3-badge--eurofins {
  filter: none;
  opacity: 1;
}

/* Text-Pille Fallback für Badges ohne Logo-Asset (Phase-A-Quick-Patch) */
.a3-badge--text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 var(--space-4);                  /* 16px horizontal */
  border: 1px solid var(--color-border-default, #E5E5E5);
  background: transparent;
  border-radius: 4px;
  font-family: 'Lato', sans-serif;
  font-size: 0.8125rem;                       /* 13px Mobile */
  font-weight: 600;
  color: var(--color-text-secondary, #525252);
  letter-spacing: 0;
  text-transform: none;                       /* KEINE Uppercase — würde mit Eyebrow konkurrieren */
  white-space: nowrap;
  max-width: none;
}

@media (min-width: 1024px) {
  .a3-badge--text {
    font-size: 0.875rem;                      /* 14px Desktop */
    padding: 0 var(--space-5);                /* 24px horizontal */
  }
}

/* ── Focus Visible (Pattern aus A2 übernommen) ─── */
.section-lt-pdp-a3 *:focus-visible {
  outline: 2px solid var(--color-text-accent, #65C0B6);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(101, 192, 182, 0.3);
  border-radius: 2px;
}

/* ── Tablet 768px ─── */
@media (min-width: 768px) {
  .section-lt-pdp-a3 {
    padding: var(--space-8) var(--space-7);   /* 64px / 48px */
  }

  /* 2x2 Grid für Steps — vertikales Card-Layout ab Tablet (smoother Resize zu Desktop) */
  .a3-steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-5);                      /* 24px */
    align-items: start;                       /* keine Stretch-Whitespace-Bottoms */
  }

  .a3-step {
    grid-template-columns: 1fr;
    grid-template-areas:
      "eyebrow"
      "icon"
      "content";
    row-gap: var(--space-3);                  /* 12px */
  }

  .a3-step__icon-col {
    justify-content: flex-start;
  }

  /* Press/Badge auf Tablet zurück zu 1×5 Flex (genug Breite vorhanden) */
  .a3-press__logos,
  .a3-badges__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  .a3-press__logos { gap: var(--space-6); }   /* 32px */
  .a3-badges__list { gap: var(--space-5); }   /* 24px */
  .a3-press__logos > *,
  .a3-badges__list > * {
    grid-column: auto;                        /* Mobile-Grid-Overrides zurücksetzen */
  }

  .a3-press__logo {
    height: 40px;
  }
}

/* ── Desktop 1024px ─── */
@media (min-width: 1024px) {
  .section-lt-pdp-a3 {
    padding: var(--space-9) var(--space-9);   /* 80px / 80px */

    /* Eyebrow-Token-Bump auf Desktop — A1-konform (lt-pdp-hero.liquid Z. 131) */
    --text-eyebrow:   0.75rem;                /* 12px */
    --text-h2-pdp:    2.25rem;                /* 36px */
    --text-caption:   0.875rem;               /* 14px */
  }

  .a3-headline {
    font-size: var(--text-h2-pdp);            /* 36px */
    max-width: 720px;
  }

  .a3-mini-body {
    font-size: 1rem;
    max-width: 600px;
    margin-bottom: var(--space-8);            /* 64px */
  }

  .a3-steps {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-5);                      /* 24px */
    margin-bottom: var(--space-9);            /* 80px */
    align-items: start;
  }

  .a3-step__eyebrow { margin-bottom: 0; }

  .a3-step__label {
    font-size: 1rem;                          /* 16px */
  }

  .a3-press__logos {
    gap: var(--space-7);                      /* 48px */
  }

  .a3-badges__list {
    gap: var(--space-5);                      /* 24px */
  }
}
/* END_SECTION:lt-pdp-a3-process-press */

/* START_SECTION:lt-pdp-expert (INDEX:91) */
.lt-pdp-expert {
    padding-block: var(--space-9);
    background: var(--color-surface-secondary);
  }

  @media screen and (max-width: 749px) {
    .lt-pdp-expert {
      padding-block: var(--space-8);
    }
  }

  .lt-pdp-expert__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-7);
  }

  @media screen and (min-width: 900px) {
    .lt-pdp-expert__inner {
      flex-direction: row;
      align-items: center;
      gap: var(--space-8);
    }
  }

  .lt-pdp-expert__copy {
    flex: 1;
    min-width: 0;
  }

  .lt-pdp-expert__section-label {
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-secondary);
  }

  .lt-pdp-expert__heading {
    margin: 0 0 var(--space-4);
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    letter-spacing: -0.02em; /* intrinsic: display heading optical tightening */
    color: var(--color-text-primary);
    max-width: 28ch; /* intrinsic: prevent overly long heading line */
  }

  .lt-pdp-expert__body {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
    max-width: 52ch; /* intrinsic: comfortable reading line length */
  }

  .lt-pdp-expert__card {
    flex-shrink: 0;
    background: var(--color-surface-primary);
    border: 1px solid rgba(94, 171, 161, 0.18); /* intentional: teal-tinted trust border per reference spec */
    border-radius: var(--radius-lg);
    padding: var(--space-5);
    box-shadow: var(--shadow-md);
  }

  @media screen and (min-width: 900px) {
    .lt-pdp-expert__card {
      min-width: 320px; /* intrinsic: card min-width for credential legibility */
    }
  }

  .lt-pdp-expert__top {
    display: flex;
    align-items: center;
    gap: var(--space-4);
  }

  .lt-pdp-expert__avatar {
    width: 64px; /* intrinsic: expert avatar container size */
    height: 64px;
    border-radius: var(--radius-md);
    background: var(--color-surface-benefit);
    border: 1px solid rgba(94, 171, 161, 0.25); /* intentional: teal-tinted, matches reference */
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .lt-pdp-expert__avatar svg {
    width: 28px; /* intrinsic: icon at 64px container */
    height: 28px;
    color: var(--color-teal-dark);
  }

  .lt-pdp-expert__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .lt-pdp-expert__meta {
    flex: 1;
    min-width: 0;
  }

  .lt-pdp-expert__label {
    margin: 0 0 3px; /* intrinsic: tight label-to-name gap per reference */
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    letter-spacing: 0.08em; /* intrinsic: tighter tracking for badge label */
    text-transform: uppercase;
    color: var(--color-teal-dark);
  }

  .lt-pdp-expert__name {
    margin: 0 0 var(--space-1);
    font-family: var(--font-heading);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
  }

  .lt-pdp-expert__credential {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-micro);
    line-height: var(--leading-body);
    color: var(--color-text-muted);
  }
/* END_SECTION:lt-pdp-expert */

/* START_SECTION:lt-pdp-final-cta (INDEX:92) */
.lt-pdp-final-cta {
    padding-block: var(--space-10);
    background: var(--color-surface-dark);
    text-align: center;
  }

  @media screen and (max-width: 749px) {
    .lt-pdp-final-cta {
      padding-block: var(--space-8);
    }
  }

  .lt-pdp-final-cta .container {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .lt-pdp-final-cta__intro {
    margin-bottom: var(--space-7);
    max-width: 40rem;
  }

  .lt-pdp-final-cta__intro.crs-heading-stack--align-left {
    align-self: stretch;
    text-align: left;
    margin-inline: 0;
  }

  .lt-pdp-final-cta__intro.crs-heading-stack--align-center {
    margin-inline: auto;
  }

  .lt-pdp-final-cta__intro.crs-heading-stack--align-right {
    align-self: stretch;
    text-align: right;
    margin-inline: 0;
  }

  .lt-pdp-final-cta__stats {
    display: flex;
    justify-content: center;
    gap: var(--space-8);
    list-style: none;
    margin: 0 0 var(--space-7);
    padding: 0;
  }

  @media screen and (max-width: 749px) {
    .lt-pdp-final-cta__stats {
      gap: var(--space-5);
    }
  }

  .lt-pdp-final-cta__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
  }

  .lt-pdp-final-cta__stat-number {
    display: flex;
    align-items: baseline;
    gap: var(--space-1);
  }

  .lt-pdp-final-cta__num {
    font-family: var(--font-heading);
    font-size: var(--text-stat);
    font-weight: var(--weight-bold);
    line-height: var(--leading-stat);
    color: var(--color-text-on-dark);
  }

  .lt-pdp-final-cta__suffix {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-stat);
    color: var(--color-teal);
  }

  .lt-pdp-final-cta__stat-label {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    line-height: var(--leading-body);
    color: var(--color-text-on-dark-muted);
    max-width: 160px; /* intrinsic: keeps 3-col stat labels from overflowing */
  }

  .lt-pdp-final-cta__cta {
    margin-bottom: var(--space-5);
  }

  .lt-pdp-final-cta__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 var(--space-7);
    background: var(--color-white);
    color: var(--color-dark);
    border-radius: var(--radius-full);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-bold);
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
    transition: opacity var(--ease-default);
  }

  .lt-pdp-final-cta__btn:hover {
    opacity: 0.88;
  }

  .lt-pdp-final-cta__trust {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-5);
  }

  .lt-pdp-final-cta__trust-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    color: var(--color-text-on-dark-muted);
  }

  .lt-pdp-final-cta__trust-item svg {
    width: 16px; /* intrinsic: inline icon at body-sm baseline */
    height: 16px;
    color: var(--color-teal);
    flex-shrink: 0;
  }

  /* Remove theme default section wrapper margin + match dark bg so no seam shows */
  .section-lt-pdp-final-cta {
    margin-bottom: 0;
    background: var(--color-surface-dark);
  }

  /* Footer has theme-default margin-top — remove it after dark CTA to flush footer */
  .main-footer {
    margin-top: 0 !important;
  }
/* END_SECTION:lt-pdp-final-cta */

/* START_SECTION:lt-pdp-hero (INDEX:93) */
/* ===================================================
   LT PDP Hero — Cursor-Style Overrides
   lt-pdp.css tokens are remapped via {% style %} above.
   This block handles structural overrides that need
   CSS (not just token swaps).
   =================================================== */

/* Section background */
.lt-pdp-hero-section {
  background: var(--lt-bg, #f7f7f4);
}

/* Heading stack — Abstand zu den Bullets darunter */
.lt-pdp-hero__heading {
  margin-bottom: var(--space-5);
}

/* Gallery frame — sharp corners */
.lt-pdp-hero__gallery-frame {
  border-radius: 4px !important;
}

.lt-pdp-hero .product-gallery-item,
.lt-pdp-hero .product-gallery-item img {
  border-radius: 4px !important;
}

/* Purchase block — handled below (white surface + border) */

/* Direct price display — no-subscription mode */
.lt-price-direct {
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  margin-top: var(--space-5);
}
.lt-price-direct__row {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.lt-price-direct__compare {
  font-size: 14px;
  opacity: 0.5;
  text-decoration: line-through;
  color: var(--lt-text, #26251e);
  line-height: 1.2;
}
.lt-price-direct__amount {
  font-size: 36px;
  font-weight: 600;
  letter-spacing: -0.5px;
  line-height: 1;
  color: var(--lt-text, #26251e);
}
.lt-price-direct__savings {
  display: inline-block;
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(38, 37, 30, 0.06);
  color: var(--lt-text, #26251e);
  margin-top: 6px;
}
.lt-price-direct__note {
  font-size: 13px;
  opacity: 0.7;
  color: var(--lt-text, #26251e);
  margin-top: 8px;
  line-height: 1.4;
}

/* Buy-box cards — flat cursor style */
.lt-bb-card {
  background: var(--lt-bg, #f7f7f4) !important;
  border: 1px solid var(--lt-border, rgba(38,37,30,0.1)) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
}

.lt-bb-card.is-selected {
  background: #fff !important;
  border-color: var(--lt-text, #26251e) !important;
  border-width: 1.5px !important;
  box-shadow: none !important;
}

.lt-bb-card__perks {
  background: transparent !important;
  border-radius: 0 0 4px 4px !important;
}

.lt-bb-card__radio {
  border-color: var(--lt-border, rgba(38,37,30,0.2)) !important;
}

.lt-bb-card.is-selected .lt-bb-card__radio {
  border-color: var(--lt-text, #26251e) !important;
}

.lt-bb-card.is-selected .lt-bb-card__radio::after {
  background: var(--lt-text, #26251e) !important;
}

/* Card title — weight 400 */
.lt-bb-card__title {
  font-weight: 400 !important;
}

/* ATC — Spacing zum Preis-Stack reduzieren + Solid-Button-Theme erzwingen */
.lt-pdp-hero__content product-form,
.lt-pdp-hero__content product-form form,
.lt-pdp-hero__content .product-form,
.lt-pdp-hero__content .product__cart-functions,
.lt-pdp-hero__content .product__cart-functions .flex-buttons {
  margin: 0 !important;
  padding: 0 !important;
}
.lt-pdp-hero__content #lt-hero-atc {
  margin-top: var(--space-4) !important;
}
.lt-pdp-hero__atc.button,
#lt-hero-atc {
  border-radius: 999px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  background: var(--color-dark) !important;
  border-color: var(--color-dark) !important;
  color: var(--color-text-on-dark) !important;
  white-space: normal;
}

.lt-pdp-hero__atc.button .button__text,
#lt-hero-atc .button__text {
  color: var(--color-text-on-dark) !important;
  white-space: normal;
  line-height: var(--leading-tight);
  text-align: center;
}

.lt-pdp-hero__atc.button .button__preloader circle,
#lt-hero-atc .button__preloader circle {
  stroke: var(--color-text-on-dark) !important;
}

.no-touchevents .lt-pdp-hero__atc.button:hover,
.no-touchevents #lt-hero-atc:hover {
  background: var(--color-dark) !important;
  border-color: var(--color-dark) !important;
  filter: brightness(1.12);
}

/* Sticky ATC button */
.lt-sticky-atc__right .button,
#lt-sticky-atc .lt-sticky-btn {
  border-radius: 999px !important;
  background: var(--lt-cta-bg, #26251e) !important;
  color: #fff !important;
  border-color: var(--lt-cta-bg, #26251e) !important;
}

/* Gallery slider — keep arrows/progress hidden */
.lt-pdp-hero .css-slider-button,
.lt-pdp-hero .css-slider-nav,
.lt-pdp-hero .css-slider-progress {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .lt-pdp-hero .css-slider-dot-navigation,
  .lt-pdp-hero .css-slider-navigation-container {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .lt-pdp-hero .css-slider-navigation-container {
    display: flex !important;
    justify-content: center;
    margin-top: 12px;
  }

  .lt-pdp-hero .css-slider-dot-navigation {
    display: block !important;
  }
}

/* Once card — remove focus outline (shows as double border) */
.lt-bb-card:focus-within {
  outline: none !important;
}

/* Trust bar — adjust border color */
.lt-pdp-hero__trust {
  border-top-color: var(--lt-border, rgba(38,37,30,0.1)) !important;
  border-bottom-color: var(--lt-border, rgba(38,37,30,0.1)) !important;
}

/* Buy-Box — flat, no container styling */
.lt-purchase-block {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Savings badge — muted cursor tone */
.lt-price-row__saving {
  border-radius: 4px !important;
}

.lt-bb-card__badge {
  border-radius: 4px !important;
}

/* Value stack */
.lt-value-stack {
  border: 1px solid var(--lt-border, rgba(38,37,30,0.1));
  border-radius: 4px;
  padding: 16px;
  display: flex;
  flex-direction: column;
}

.lt-value-stack__header {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--lt-muted, rgba(38,37,30,0.55)) !important;
  margin: 0 0 8px !important;
}

.lt-value-stack__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--lt-border, rgba(38,37,30,0.08));
  gap: 12px;
}

.lt-value-stack__item-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.lt-value-stack__item-title {
  font-size: 14px;
  font-weight: 500;
  color: var(--lt-text, #26251e);
}

.lt-value-stack__item-sub {
  font-size: 12px;
  color: var(--lt-muted, rgba(38,37,30,0.55));
}

.lt-value-stack__item-price {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 1px;
  flex-shrink: 0;
}

.lt-value-stack__item-was {
  font-size: 11px;
  color: var(--lt-muted, rgba(38,37,30,0.4));
  text-decoration: line-through;
}

.lt-value-stack__item-label {
  font-size: 13px;
  font-weight: 500;
  color: var(--lt-text, #26251e);
}

.lt-value-stack__item-label--free {
  color: var(--lt-text, #26251e);
}

.lt-value-stack__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--lt-text, #26251e) 12%, transparent);
  opacity: 0.5;
}

.lt-value-stack__total-label {
  font-size: var(--font-size-sm, 12px);
  font-weight: 400;
  color: var(--lt-text, #26251e);
}

.lt-value-stack__total-value {
  font-size: var(--font-size-sm, 12px);
  font-weight: 500;
  color: var(--lt-text, #26251e);
  text-decoration: line-through;
}

.lt-value-stack__pay-today {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 12px;
  margin-top: 4px;
}

.lt-value-stack__pay-label {
  font-size: var(--font-size-lg, 17px);
  font-weight: 700;
  color: var(--lt-text, #26251e);
}

.lt-value-stack__pay-price {
  font-size: var(--font-size-lg, 17px);
  font-weight: 700;
  letter-spacing: -0.3px;
  color: var(--lt-text, #26251e);
}

/* Unselected cards — muted */
.lt-bb-card:not(.is-selected) {
  opacity: 0.6;
  transition: opacity 0.15s ease;
}

.lt-bb-card:not(.is-selected):hover {
  opacity: 0.85;
}

/* Payment icons */
.lt-payment-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: center;
  margin-top: 12px;
}

.lt-payment-icon {
  height: 24px;
  width: auto;
  border-radius: 3px;
  opacity: 0.65;
}
/* END_SECTION:lt-pdp-hero */

/* START_SECTION:lt-pdp-ideal-candidate (INDEX:94) */
/* ===================================================
   Ideal Candidate — lt-pdp-ideal-candidate.liquid
   =================================================== */

.ic-section {
  background: var(--crs-bg, #f2f1ed);
}

.ic-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
}

.ic-header {
  margin-bottom: var(--space-7, 48px);
}

/* Candidate grid */
.ic-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.ic-card {
  box-sizing: border-box;
  background: var(--crs-card-bg, #f7f7f4);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  border-radius: 4px;
  padding: 14px 15px 15px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.ic-card-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  margin-top: 2px;
  color: var(--crs-text, #26251e);
}

.ic-card-desc {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
  margin: 0;
}

/* Exclusion block */
.ic-exclusion {
  box-sizing: border-box;
  margin-top: var(--space-6, 40px);
  background: rgba(38, 37, 30, 0.03);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  border-radius: 4px;
  padding: 20px 24px;
}

.ic-exclusion-heading {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
  margin: 0 0 12px;
}

.ic-exclusion-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ic-exclusion-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--crs-text-ter, rgba(38, 37, 30, 0.4));
}

.ic-exclusion-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  margin-top: 2px;
  color: var(--crs-text-ter, rgba(38, 37, 30, 0.4));
}

@media (max-width: 767px) {
  .ic-grid {
    grid-template-columns: 1fr;
  }

  .ic-exclusion {
    padding: 16px 18px;
  }
}
/* END_SECTION:lt-pdp-ideal-candidate */

/* START_SECTION:lt-pdp-mechanism (INDEX:95) */
.lt-pdp-mechanism {
    padding-block: var(--space-9);
    background: var(--color-surface-primary);
    color: var(--color-text-primary);
  }

  @media screen and (max-width: 768px) {
    .lt-pdp-mechanism {
      padding-block: var(--space-8);
    }
  }

  .lt-pdp-mechanism__split {
    display: grid;
    gap: var(--space-6);
    align-items: start;
    grid-template-columns: 1fr;
  }

  .lt-pdp-mechanism__media {
    margin: 0;
    border-radius: var(--radius-md);
    overflow: hidden;
  }

  .lt-pdp-mechanism__img {
    width: 100%;
    height: auto;
    vertical-align: middle;
    display: block;
  }

  .lt-pdp-mechanism__column--intro {
    text-align: start;
  }

  .lt-pdp-mechanism__label {
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    line-height: var(--leading-body);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-secondary);
  }

  .lt-pdp-mechanism__title {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-h1);
    line-height: var(--leading-heading);
    font-weight: var(--weight-bold);
    color: var(--color-text-primary);
  }

  .lt-pdp-mechanism__column--body {
    font-family: var(--font-body);
    font-size: var(--text-body-lg);
    line-height: var(--leading-relaxed);
    font-weight: var(--weight-regular);
    color: var(--color-text-secondary);
    text-align: start;
  }

  .lt-pdp-mechanism__column--body p {
    margin: 0 0 var(--space-4);
  }

  .lt-pdp-mechanism__column--body p:last-child {
    margin-bottom: 0;
  }

  @media screen and (min-width: 769px) {
    .lt-pdp-mechanism__split {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .lt-pdp-mechanism__split--has-media .lt-pdp-mechanism__media {
      grid-column: 1;
      grid-row: 1 / span 2;
    }

    .lt-pdp-mechanism__split--has-media .lt-pdp-mechanism__column--intro {
      grid-column: 2;
      grid-row: 1;
    }

    .lt-pdp-mechanism__split--has-media .lt-pdp-mechanism__column--body {
      grid-column: 2;
      grid-row: 2;
    }

    .lt-pdp-mechanism__split:not(.lt-pdp-mechanism__split--has-media) .lt-pdp-mechanism__column--intro {
      grid-column: 1;
      grid-row: 1;
    }

    .lt-pdp-mechanism__split:not(.lt-pdp-mechanism__split--has-media) .lt-pdp-mechanism__column--body {
      grid-column: 2;
      grid-row: 1;
    }
  }

  @media screen and (max-width: 768px) {
    .lt-pdp-mechanism__split--has-media .lt-pdp-mechanism__media,
    .lt-pdp-mechanism__split--has-media .lt-pdp-mechanism__column--intro,
    .lt-pdp-mechanism__split--has-media .lt-pdp-mechanism__column--body {
      grid-column: auto;
      grid-row: auto;
    }
  }
/* END_SECTION:lt-pdp-mechanism */

/* START_SECTION:lt-pdp-process-steps (INDEX:96) */
/* ===================================================
   Process Steps — lt-pdp-process-steps.liquid
   =================================================== */

.ps-section {
  background: var(--crs-bg, #f2f1ed);
}

.ps-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5, 20px);
}

.ps-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5, 24px);
  align-items: start;
}

.ps-layout--full {
  grid-template-columns: minmax(0, 1fr);
}

.ps-intro {
  min-width: 0;
  align-self: start;
  padding-right: var(--space-7, 48px);
  padding-top: var(--space-1, 4px);
  position: sticky;
  top: 80px;
  z-index: 1;
  background: var(--crs-bg);
}

/* Steps list */
.ps-steps {
  min-width: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ps-step {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 0 16px;
  align-items: start;
}

/* Marker column: number + connector */
.ps-step-marker {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2px;
}

.ps-step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--crs-bg, #f2f1ed);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.06em;
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
  font-variant-numeric: tabular-nums;
}

.ps-step-connector {
  flex: 1;
  width: 1px;
  min-height: 20px;
  background: var(--crs-border, rgba(38, 37, 30, 0.08));
  display: block;
  margin-top: 5px;
}

/* Content column */
.ps-step-content {
  padding-bottom: 28px;
}

.ps-step:last-child .ps-step-content {
  padding-bottom: 0;
}

.ps-actions {
  margin-top: var(--space-6, 32px);
}

.ps-footer-callout {
  box-sizing: border-box;
  margin-top: var(--space-5, 24px);
  padding: var(--space-5, 24px);
  background: var(--crs-callout-bg, #f7f7f4);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  border-radius: var(--radius-md, 12px);
  font-family: var(--font-body);
  font-size: var(--text-body-sm, 14px);
  line-height: var(--leading-relaxed, 1.6);
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
}

.ps-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.75rem 1.25rem;
  border-radius: 999px;
  background: var(--color-dark);
  border: 1px solid var(--color-dark);
  color: var(--color-text-on-dark);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition: opacity var(--ease-default, 0.2s ease);
}

.ps-cta:hover,
.ps-cta:focus-visible {
  opacity: 0.86;
}

.ps-step-title {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  color: var(--crs-text, #26251e) !important;
  margin: 0 0 5px !important;
}

.ps-step-body {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
  margin: 0;
}

.ps-callout {
  box-sizing: border-box;
  background: rgba(38, 37, 30, 0.04);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  border-radius: 4px;
  padding: 10px 14px;
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
}

@media (max-width: 1024px) {
  .ps-layout {
    grid-template-columns: 1fr;
    gap: var(--space-6, 32px);
  }

  .ps-intro {
    position: static;
    top: auto;
    padding-right: 0;
    padding-top: 0;
  }
}
/* END_SECTION:lt-pdp-process-steps */

/* START_SECTION:lt-pdp-report-preview (INDEX:98) */
/* ===================================================
   Report Preview — lt-pdp-report-preview.liquid
   =================================================== */

.rp-section {
  background: var(--crs-bg, #f2f1ed);
}

.rp-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5, 20px);
}

.rp-heading-wrap {
  margin-bottom: var(--space-7, 48px);
}

/* Two-column body */
.rp-body--two-col {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-6, 40px);
  align-items: start;
}

/* Media */
.rp-media {
  position: sticky;
  top: 80px;
}

.rp-app-image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-sm, 4px);
  object-fit: contain;
}

.rp-media-placeholder {
  width: 100%;
  aspect-ratio: 9 / 16;
  max-height: 560px;
  border-radius: var(--radius-sm, 4px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)),
    var(--crs-card-bg, #f7f7f4);
  border: 1px dashed var(--crs-border, rgba(38, 37, 30, 0.08));
}

/* Callouts column */
.rp-callouts {
  display: flex;
  flex-direction: column;
  gap: var(--space-4, 16px);
}

.rp-callout-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rp-callout-card {
  box-sizing: border-box;
  background: var(--crs-card-bg, #f7f7f4);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  border-radius: 4px;
  padding: 13px 15px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.rp-callout-label {
  display: block;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--crs-text-ter, rgba(38, 37, 30, 0.4));
  line-height: 1.4;
}

.rp-callout-body {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
  margin: 0;
}

/* Retest note */
.rp-retest {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  background: rgba(38, 37, 30, 0.04);
  border: 1px solid var(--crs-border, rgba(38, 37, 30, 0.08));
  border-radius: 4px;
  padding: 10px 14px;
  font-size: 13px;
  line-height: 1.6;
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
}

.rp-retest-icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  margin-top: 1px;
  color: var(--crs-text-sec, rgba(38, 37, 30, 0.6));
}

/* Format note */
.rp-format-note {
  margin: var(--space-6, 40px) 0 0;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: var(--crs-text-ter, rgba(38, 37, 30, 0.4));
  text-align: center;
}

@media (max-width: 1024px) {
  .rp-body--two-col {
    grid-template-columns: 1fr;
  }

  .rp-media {
    position: static;
    top: auto;
  }

  .rp-media-placeholder {
    aspect-ratio: 4 / 3;
    max-height: 320px;
  }
}
/* END_SECTION:lt-pdp-report-preview */

/* START_SECTION:lt-pdp-testimonials (INDEX:99) */
.lt-pdp-reviews {
    padding-block: var(--space-9);
    background: var(--color-surface-primary);
  }

  @media screen and (max-width: 749px) {
    .lt-pdp-reviews {
      padding-block: var(--space-8);
    }
  }

  .lt-pdp-reviews__header {
    margin-bottom: var(--space-6);
  }

  .lt-pdp-reviews__label {
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-secondary);
  }

  .lt-pdp-reviews__title {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    color: var(--color-text-primary);
  }

  .lt-pdp-reviews__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  @media screen and (min-width: 750px) {
    .lt-pdp-reviews__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media screen and (min-width: 1025px) {
    .lt-pdp-reviews__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .lt-pdp-reviews__card {
    display: flex;
    flex-direction: column;
    padding: var(--space-5);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-md);
    background: var(--color-surface-primary);
    box-shadow: var(--shadow-sm);
  }

  .lt-pdp-reviews__stars {
    display: flex;
    gap: var(--space-1);
    margin-bottom: var(--space-3);
  }

  .lt-pdp-reviews__star {
    color: var(--color-gray-200);
  }

  .lt-pdp-reviews__star--filled {
    color: var(--color-star);
  }

  .lt-pdp-reviews__star--filled path {
    fill: var(--color-star);
    stroke: var(--color-star);
  }

  .lt-pdp-reviews__text {
    flex: 1 1 auto;
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-relaxed);
    color: var(--color-text-primary);
  }

  .lt-pdp-reviews__author-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-2);
    margin-top: auto;
  }

  .lt-pdp-reviews__author-meta {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
  }

  .lt-pdp-reviews__author-name {
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    color: var(--color-text-primary);
  }

  .lt-pdp-reviews__verified {
    display: inline-flex;
    align-items: center;
    gap: var(--space-1);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    color: var(--color-success);
  }

  .lt-pdp-reviews__date {
    font-family: var(--font-body);
    font-size: var(--text-micro);
    color: var(--color-text-muted);
    white-space: nowrap;
    padding-top: 2px; /* intrinsic: optical alignment with name baseline */
  }
/* END_SECTION:lt-pdp-testimonials */

/* START_SECTION:lt-pdp-trust-mechanism (INDEX:100) */
.lt-pdp-trust-mechanism {
    padding-block: var(--space-9);
    background: var(--color-surface-secondary);
    color: var(--color-text-primary);
  }

  @media screen and (max-width: 749px) {
    .lt-pdp-trust-mechanism {
      padding-block: var(--space-8);
    }
  }

  .lt-pdp-trust-mechanism__section-header {
    max-width: 40rem; /* intrinsic: centered header max-width per section-header spec */
    margin-inline: auto;
    margin-bottom: var(--space-6);
    text-align: center;
  }

  .lt-pdp-trust-mechanism__label {
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    line-height: var(--leading-body);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-secondary);
  }

  .lt-pdp-trust-mechanism__title {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    line-height: var(--leading-heading);
    font-weight: var(--weight-bold);
    color: var(--color-text-primary);
  }

  .lt-pdp-trust-mechanism__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  @media screen and (min-width: 750px) and (max-width: 1024px) {
    .lt-pdp-trust-mechanism__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media screen and (min-width: 1025px) {
    .lt-pdp-trust-mechanism__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .lt-pdp-trust-mechanism__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0;
    padding: var(--space-5);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-md);
    background: var(--color-surface-primary);
    box-shadow: var(--shadow-sm);
  }

  .lt-pdp-trust-mechanism__card-icon {
    width: 48px; /* intrinsic: card-info icon container per spec */
    height: 48px;
    border-radius: var(--radius-md);
    background: var(--color-surface-benefit);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-4);
    flex-shrink: 0;
  }

  .lt-pdp-trust-mechanism__card-icon svg {
    width: 24px; /* intrinsic: icon size per spec */
    height: 24px;
    color: var(--color-teal-dark);
  }

  .lt-pdp-trust-mechanism__card-title {
    margin: 0 0 var(--space-2);
    font-family: var(--font-heading);
    font-size: var(--text-section);
    line-height: var(--leading-tight);
    font-weight: var(--weight-bold);
    color: var(--color-text-primary);
  }

  .lt-pdp-trust-mechanism__card-text {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-body);
    font-weight: var(--weight-regular);
    color: var(--color-text-secondary);
  }
/* END_SECTION:lt-pdp-trust-mechanism */

/* START_SECTION:lt-science-bento (INDEX:101) */
.science-bento {
    background: var(--bento-bg, #364f56);
  }

  .science-bento__container {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--space-5);
  }

  .science-bento__split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3);
    align-items: stretch;
  }

  .science-bento__split > .science-bento__tile--statement,
  .science-bento__split > .science-bento__tile--photo {
    grid-column: auto;
    grid-row: auto;
  }

  /* ─── BENTO GRID ─── */
  /*
    Desktop: 3 Spalten × 2 Zeilen
    Zeile 1: [Statement — 2 Spalten] [Foto — 1 Spalte, 2 Zeilen]
    Zeile 2: [Fact 1] [Fact 2] (Foto geht durch)
    Bei mehr als 2 Facts: Fact 3 erscheint als dritte Zeile
  */
  .science-bento__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: var(--space-3);
  }

  /* Kachel A: Statement — 2 Spalten breit */
  .science-bento__tile--statement {
    grid-column: span 2;
  }

  /* Kachel B: Foto — 1 Spalte, 2 Zeilen hoch */
  .science-bento__tile--photo {
    grid-column: 3;
    grid-row: 1 / 3;
  }

  /* ─── TILE BASE ─── */
  .science-bento__tile {
    border-radius: var(--radius-lg);
    overflow: hidden;
    min-height: 200px;
  }

  /* ─── STATEMENT TILE ─── */
  .science-bento__tile--statement {
    background: var(--bento-tile-bg, rgba(255, 255, 255, 0.07));
    border: 1px solid var(--bento-border, rgba(255, 255, 255, 0.12));
    padding: var(--space-7);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 0;
  }

  .science-bento__tile--split-copy {
    justify-content: center;
    min-height: clamp(26rem, 42vw, 32rem);
  }

  .science-bento__tile-kicker {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(247, 247, 244, 0.45);
  }

  .science-bento__statement-value {
    margin: var(--space-3) 0 var(--space-4);
    font-family: var(--font-heading);
    font-size: var(--text-h1);
    font-weight: var(--weight-bold);
    line-height: 1;
    color: #f7f7f4;
  }

  .science-bento__statement {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-h3);
    font-weight: var(--weight-regular);
    line-height: var(--leading-tight);
    color: #f7f7f4;
  }

  .science-bento__statement-sub {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-h3);
    font-weight: var(--weight-regular);
    line-height: var(--leading-tight);
    color: rgba(247, 247, 244, 0.58);
  }

  .science-bento__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-3);
  }

  .science-bento__actions .button {
    margin: 0;
  }

  .science-bento__actions .button--solid {
    background: #f7f7f4;
    border-color: #f7f7f4;
    color: #364f56;
  }

  .science-bento__actions .button--solid span {
    color: #364f56;
  }

  .science-bento__actions .button--solid .button__icon svg path {
    fill: #364f56;
  }

  .science-bento__actions .button--outline {
    background: transparent;
    border-color: rgba(247, 247, 244, 0.78);
    color: #f7f7f4;
  }

  .science-bento__actions .button--outline span {
    color: #f7f7f4;
  }

  .science-bento__actions .button--outline .button__icon svg path {
    fill: #f7f7f4;
  }

  .no-touchevents .science-bento__actions .button--solid:hover {
    background: #f7f7f4;
    border-color: #f7f7f4;
    color: #364f56;
  }

  .no-touchevents .science-bento__actions .button--solid:hover span {
    color: #364f56;
  }

  .no-touchevents .science-bento__actions .button--solid:hover .button__icon svg path {
    fill: #364f56;
  }

  .no-touchevents .science-bento__actions .button--outline:hover {
    border-color: #f7f7f4;
    color: #f7f7f4;
  }

  .no-touchevents .science-bento__actions .button--outline:hover span {
    color: #f7f7f4;
  }

  .no-touchevents .science-bento__actions .button--outline:hover .button__icon svg path {
    fill: #f7f7f4;
  }

  /* ─── FOTO TILE ─── */
  .science-bento__tile--photo {
    position: relative;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--bento-border, rgba(255, 255, 255, 0.12));
  }

  .science-bento__photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    /* Kein Filter — Mood-Bilder leben von ihrer Atmosphäre */
  }

  .science-bento__photo-placeholder {
    width: 100%;
    height: 100%;
    min-height: 360px;
    background: rgba(255, 255, 255, 0.03);
  }

  .science-bento__tile--split-photo {
    min-height: clamp(26rem, 42vw, 32rem);
  }

  /* ─── FACT TILES ─── */
  .science-bento__tile--fact {
    background: var(--bento-tile-bg, rgba(255, 255, 255, 0.07));
    border: 1px solid var(--bento-border, rgba(255, 255, 255, 0.12));
    padding: var(--space-6);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: var(--space-2);
    min-height: 180px;
  }

  .science-bento__fact-label {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(247, 247, 244, 0.4);
  }

  .science-bento__fact-value {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-h1);
    font-weight: var(--weight-bold);
    line-height: 1;
    color: #f7f7f4;
  }

  .science-bento__fact-desc {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-relaxed);
    color: rgba(247, 247, 244, 0.55);
  }

  /* ─── RESPONSIVE ─── */
  @media screen and (max-width: 1024px) {
    .science-bento__split {
      grid-template-columns: 1fr;
    }

    .science-bento__tile--split-copy,
    .science-bento__tile--split-photo {
      min-height: 24rem;
    }

    /* Tablet: 2 Spalten, Foto oben rechts, Facts darunter */
    .science-bento__grid {
      grid-template-columns: 1fr 1fr;
    }

    .science-bento__tile--statement {
      grid-column: 1;
      grid-row: 1;
    }

    .science-bento__tile--photo {
      grid-column: 2;
      grid-row: 1;
    }

    .science-bento__tile--fact {
      grid-column: span 1;
    }
  }

  @media screen and (max-width: 767px) {
    .science-bento__container {
      padding-inline: var(--space-4);
    }

    .science-bento__split {
      gap: var(--space-2);
    }

    .science-bento__grid {
      grid-template-columns: 1fr;
      gap: var(--space-2);
    }

    .science-bento__tile--statement {
      grid-column: 1;
      grid-row: auto;
      min-height: 180px;
      padding: var(--space-6);
    }

    .science-bento__tile--split-copy,
    .science-bento__tile--split-photo {
      min-height: 18rem;
    }

    .science-bento__tile--photo {
      grid-column: 1;
      grid-row: auto;
      min-height: 260px;
    }

    .science-bento__tile--fact {
      min-height: 140px;
      padding: var(--space-5);
    }

    .science-bento__statement {
      font-size: var(--text-body-lg);
    }

    .science-bento__statement-sub {
      font-size: var(--text-body-lg);
    }

    .science-bento__actions {
      flex-direction: column;
      align-items: stretch;
    }
  }
/* END_SECTION:lt-science-bento */

/* START_SECTION:lt-science-hallmarks (INDEX:102) */
.science-hallmarks {
    background: var(--science-hallmarks-bg, #f7f7f4);
  }

  .science-hallmarks__container {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--space-5);
  }

  .science-hallmarks__header {
    max-width: 48rem;
    margin-bottom: var(--space-8);
  }

  .science-hallmarks__header.crs-heading-stack--align-center {
    margin-inline: auto;
  }

  /* ─── CATEGORY TILES ─── */
  .science-hallmarks__tiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-5);
    margin-bottom: var(--space-6);
  }

  .science-hallmarks__tile {
    padding: var(--space-6);
    background: var(--science-hallmarks-card-bg, #f2f1ed);
    border-radius: var(--radius-md);
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }

  .science-hallmarks__tile-icon {
    display: flex;
    align-items: center;
    color: var(--science-hallmarks-text-muted, rgba(38, 37, 30, 0.35));
  }

  .science-hallmarks__tile-name {
    font-family: var(--font-heading);
    font-size: var(--text-h3);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    color: var(--science-hallmarks-text, #26251e);
    margin: 0;
  }

  .science-hallmarks__tile-desc {
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--science-hallmarks-text-secondary, rgba(38, 37, 30, 0.6));
    margin: 0;
  }

  /* ─── TOGGLE BUTTON ─── */
  .science-hallmarks__toggle-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 0;
  }

  /* Ghost button styles scoped to this section */
  .science-hallmarks__toggle-wrap .ltw-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    line-height: 1;
    padding: 14px 22px;
    border-radius: var(--radius-full);
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.15s ease;
    -webkit-appearance: none;
  }

  .science-hallmarks__toggle-wrap .ltw-btn--ghost {
    background: transparent;
    color: var(--science-hallmarks-text, #26251e);
    border: 1.5px solid currentColor;
    opacity: 0.55;
  }

  .science-hallmarks__toggle-wrap .ltw-btn--ghost:hover {
    opacity: 0.9;
  }

  /* ─── EXPANDABLE DRAWER ─── */
  .science-hallmarks__drawer {
    max-height: 0;
    overflow: hidden;
    /* transition managed by JS to avoid flash on page load */
  }

  /* ─── CATEGORY GROUPS ─── */
  .science-hallmarks__body-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--space-7);
    padding-top: var(--space-7);
  }

  .science-hallmarks__category {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
  }

  .science-hallmarks__cat-row {
    display: flex;
    align-items: baseline;
    gap: var(--space-4);
    padding-bottom: var(--space-4);
    border-bottom: 1px solid var(--science-hallmarks-border, rgba(38, 37, 30, 0.08));
  }

  .science-hallmarks__cat-label {
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--science-hallmarks-text-secondary, rgba(38, 37, 30, 0.6));
    white-space: nowrap;
  }

  .science-hallmarks__cat-desc {
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--science-hallmarks-text-muted, rgba(38, 37, 30, 0.35));
  }

  /* ─── GRID ─── */
  .science-hallmarks__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* ─── CARD ─── */
  .science-hallmarks__card {
    min-width: 0;
  }

  .science-hallmarks__card-inner {
    padding: var(--space-5);
    border-radius: var(--radius-md);
    background: var(--science-hallmarks-card-bg, #f2f1ed);
    height: 100%;
  }

  .science-hallmarks__name {
    display: flex;
    align-items: baseline;
    gap: var(--space-2);
    margin: 0 0 var(--space-3);
    font-family: var(--font-heading);
    font-size: var(--text-body-lg);
    font-weight: var(--weight-regular);
    line-height: var(--leading-tight);
    color: var(--science-hallmarks-text, #26251e);
  }

  .science-hallmarks__num {
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-regular);
    color: var(--science-hallmarks-text-muted, rgba(38, 37, 30, 0.35));
    flex-shrink: 0;
    line-height: 1;
    position: relative;
    top: -1px;
  }

  .science-hallmarks__desc {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-relaxed);
    color: var(--science-hallmarks-text-secondary, rgba(38, 37, 30, 0.6));
  }

  /* ─── SOURCE ─── */
  .science-hallmarks__source {
    margin-top: var(--space-7);
    padding-top: var(--space-4);
    border-top: 1px solid var(--science-hallmarks-border, rgba(38, 37, 30, 0.08));
  }

  .science-hallmarks__source-text {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    line-height: var(--leading-body);
    color: var(--science-hallmarks-text-muted, rgba(38, 37, 30, 0.35));
  }

  /* ─── RESPONSIVE ─── */
  @media screen and (max-width: 1024px) {
    .science-hallmarks__tiles {
      grid-template-columns: repeat(3, 1fr);
      gap: var(--space-4);
    }

    .science-hallmarks__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .science-hallmarks__cat-row {
      flex-direction: column;
      gap: var(--space-2);
    }
  }

  @media screen and (max-width: 767px) {
    .science-hallmarks__container {
      padding-inline: var(--space-4);
    }

    .science-hallmarks__tiles {
      grid-template-columns: 1fr;
      gap: var(--space-3);
    }

    .science-hallmarks__grid {
      grid-template-columns: 1fr;
      gap: var(--space-2);
    }

    .science-hallmarks__body-wrap {
      gap: var(--space-6);
    }

    .science-hallmarks__card-inner {
      padding: var(--space-4);
    }
  }
/* END_SECTION:lt-science-hallmarks */

/* START_SECTION:lt-science-hero (INDEX:103) */
/* ================================================================
   lt-science-hero — Science Page Hero
   §3 tokens, §4 layout (split 60/40), §6 typography
   Dominant element: H1 headline
   No CTA — sets editorial tone only
   ================================================================ */

.lsh {
  background: var(--lsh-bg, #f7f7f4);
  overflow: hidden;
}

.lsh__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-8);
  align-items: center;
}

/* — Text column — */
.lsh__content {
  min-width: 0;
}

.lsh__content .crs-heading-stack__subtitle {
  max-width: 52ch;
}

/* — Image column — */
.lsh__visual {
  display: flex;
  align-items: stretch;
}

.lsh__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius-md);
  display: block;
  aspect-ratio: 3 / 2;
}

.lsh__placeholder {
  width: 100%;
  aspect-ratio: 3 / 2;
  background: #f2f1ed;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(38, 37, 30, 0.08);
}

.lsh__placeholder-svg {
  width: 60px;
  height: 60px;
  opacity: 0.25;
}

/* — Responsive — */
@media (max-width: 1024px) {
  .lsh__container {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-7);
  }
}

@media (max-width: 768px) {
  .lsh__container {
    grid-template-columns: 1fr;
    gap: var(--space-6);
    padding: 0 var(--space-4);
  }
  .lsh__img,
  .lsh__placeholder {
    aspect-ratio: 3 / 2;
  }
}
/* END_SECTION:lt-science-hero */

/* START_SECTION:lt-science-limmroth (INDEX:104) */
/* ================================================================
   lt-science-limmroth — Prof. Limmroth Trust Anchor
   §3 tokens, §4 layout (split 40/60), §6 dark surface rules
   Surface: --color-surface-dark (#364f56) — deliberate rhythm break
   Dominant element: Expert name (h2, --text-h1)
   ================================================================ */

.lim {
  background: var(--lim-bg, #364f56);
  color: var(--lim-text, #f7f7f4);
}

.lim__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-5);
}

.lim__grid {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--space-8);
  align-items: center;
}

/* — Image column — */
.lim__visual {
  display: flex;
  align-items: stretch;
}

.lim__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius-md);
  display: block;
  aspect-ratio: 3 / 4;
}

.lim__img-placeholder {
  width: 100%;
  aspect-ratio: 3 / 4;
  background: rgba(255, 255, 255, 0.06);
  border-radius: var(--radius-md);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(247, 247, 244, 0.35);
}

/* — Content column — */
.lim__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.lim__kicker {
  font-family: var(--font-body);
  font-size: var(--text-micro);
  font-weight: var(--weight-medium);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lim-text-muted, rgba(247, 247, 244, 0.6));
  margin: 0;
}

.lim__name {
  font-family: var(--font-heading);
  font-size: var(--text-h1);
  font-weight: var(--weight-bold);
  line-height: var(--leading-heading);
  color: var(--lim-text, #f7f7f4);
  margin: 0;
}

.lim__credentials {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  line-height: var(--leading-body);
  color: var(--lim-text-muted, rgba(247, 247, 244, 0.6));
  margin: 0;
}

.lim__body {
  font-family: var(--font-body);
  font-size: var(--text-body-lg);
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
  color: var(--lim-text, #f7f7f4);
  margin: 0;
}

/* — Book block — */
.lim__book {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-4);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--radius-md);
}

.lim__book-cover {
  width: 40px;
  height: 60px;
  object-fit: cover;
  border-radius: var(--radius-sm);
  flex-shrink: 0;
  display: block;
}

.lim__book-meta {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

.lim__book-title {
  font-family: var(--font-heading);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  color: var(--lim-text, #f7f7f4);
  margin: 0;
  line-height: var(--leading-tight);
}

.lim__book-subtitle {
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  color: var(--lim-text-muted, rgba(247, 247, 244, 0.6));
  margin: 0;
}

/* — Text links (book + PubMed) — */
.lim__link {
  display: inline-flex;
  align-items: center;
  font-family: var(--font-body);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
  color: var(--lim-text, #f7f7f4);
  text-decoration: none;
  border-bottom: 1px solid rgba(247, 247, 244, 0.3);
  padding-bottom: 1px;
  transition: border-color var(--ease-default);
}

.lim__link:hover {
  border-color: rgba(247, 247, 244, 0.7);
}

/* — Responsive — */
@media (max-width: 1024px) {
  .lim__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-7);
  }
}

@media (max-width: 768px) {
  .lim__container {
    padding: 0 var(--space-4);
  }

  .lim__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .lim__img,
  .lim__img-placeholder {
    aspect-ratio: 3 / 2;
    max-height: 280px;
  }

  .lim__name {
    font-size: var(--text-h2);
  }
}
/* END_SECTION:lt-science-limmroth */

/* START_SECTION:lt-science-messebenen (INDEX:105) */
.science-msmt {
    background: var(--sm-bg, #f2f1ed);
  }

  .science-msmt__container {
    max-width: 1280px;
    margin-inline: auto;
    padding-inline: var(--space-5);
  }

  .science-msmt__header {
    max-width: 48rem;
    margin-bottom: var(--space-8);
  }

  .science-msmt__header.crs-heading-stack--align-center {
    margin-inline: auto;
  }

  .science-msmt__col-label {
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sm-text-muted, rgba(38, 37, 30, 0.38));
    margin: 0 0 var(--space-4);
  }

  .science-msmt__col-label--on-dark {
    color: rgba(247, 247, 244, 0.5);
    margin-bottom: var(--space-5);
  }

  .science-msmt__main-shell {
    display: grid;
    gap: var(--space-6);
    padding: clamp(2rem, 3vw, 3rem);
    border-radius: var(--radius-lg);
    background: var(--sm-accent, #364f56);
  }

  .science-msmt__main-topline {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    max-width: 34rem;
  }

  .science-msmt__main-topline-text {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-section);
    font-weight: var(--weight-regular);
    line-height: var(--leading-tight);
    color: rgba(247, 247, 244, 0.82);
  }

  .science-msmt__main-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid rgba(247, 247, 244, 0.12);
    border-bottom: 1px solid rgba(247, 247, 244, 0.12);
  }

  .science-msmt__main-panel {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    min-width: 0;
    padding: var(--space-6) var(--space-5);
  }

  .science-msmt__main-panel + .science-msmt__main-panel {
    border-inline-start: 1px solid rgba(247, 247, 244, 0.12);
  }

  .science-msmt__main-label {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(247, 247, 244, 0.5);
  }

  .science-msmt__main-title {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-body-lg);
    font-weight: var(--weight-regular);
    line-height: var(--leading-tight);
    color: #f7f7f4;
  }

  .science-msmt__main-body {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-relaxed);
    color: rgba(247, 247, 244, 0.75);
  }

  .science-msmt__main-note {
    margin: auto 0 0;
    padding-top: var(--space-4);
    border-top: 1px solid rgba(247, 247, 244, 0.14);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-style: italic;
    line-height: var(--leading-relaxed);
    color: rgba(247, 247, 244, 0.55);
  }

  .science-msmt__main-closing {
    padding-top: var(--space-2);
  }

  .science-msmt__main-closing-text {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-body-lg);
    font-weight: var(--weight-regular);
    line-height: var(--leading-tight);
    color: #f7f7f4;
  }

  .science-msmt__context-copy {
    max-width: 52rem;
    margin-top: var(--space-5);
  }

  .science-msmt__context-copy-label {
    margin: 0 0 var(--space-3);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sm-text-muted, rgba(38, 37, 30, 0.38));
  }

  .science-msmt__context-copy-text,
  .science-msmt__context-copy-note {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-relaxed);
    color: var(--sm-text-sec, rgba(38, 37, 30, 0.6));
  }

  .science-msmt__context-copy-text + .science-msmt__context-copy-text,
  .science-msmt__context-copy-text + .science-msmt__context-copy-note,
  .science-msmt__context-copy-note + .science-msmt__context-copy-text,
  .science-msmt__context-copy-note + .science-msmt__context-copy-note {
    margin-top: var(--space-3);
  }

  .science-msmt__context-copy-text--muted,
  .science-msmt__context-copy-note {
    color: var(--sm-text-muted, rgba(38, 37, 30, 0.44));
  }

  .science-msmt__context-copy-note {
    font-style: italic;
  }

  @media screen and (max-width: 1024px) {
    .science-msmt__main-grid {
      grid-template-columns: 1fr;
    }
  }

  @media screen and (max-width: 767px) {
    .science-msmt__container {
      padding-inline: var(--space-4);
    }

    .science-msmt__header {
      margin-bottom: var(--space-7);
    }

    .science-msmt__main-shell {
      padding: var(--space-5);
      gap: var(--space-5);
      border-radius: var(--radius-md);
    }

    .science-msmt__main-topline-text {
      font-size: var(--text-body-lg);
    }

    .science-msmt__main-panel {
      padding: var(--space-5) 0;
    }

    .science-msmt__main-panel + .science-msmt__main-panel {
      border-inline-start: 0;
      border-top: 1px solid rgba(247, 247, 244, 0.12);
    }

    .science-msmt__context-copy {
      margin-top: var(--space-4);
    }
  }
/* END_SECTION:lt-science-messebenen */

/* START_SECTION:nmn-pdp-quality-trust (INDEX:128) */
.nmn-pdp-quality-trust {
    padding-block: var(--space-9);
    background: var(--color-surface-dark);
  }

  @media screen and (max-width: 749px) {
    .nmn-pdp-quality-trust {
      padding-block: var(--space-8);
    }
  }

  .nmn-pdp-quality-trust__header {
    margin-bottom: var(--space-6);
    max-width: 40rem; /* intrinsic: heading constraint */
    text-align: center;
    margin-inline: auto;
  }

  .nmn-pdp-quality-trust__label {
    margin: 0 0 var(--space-4);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    line-height: var(--leading-body);
    font-weight: var(--weight-medium);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-on-dark-muted);
  }

  .nmn-pdp-quality-trust__heading {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    letter-spacing: -0.02em; /* intrinsic: display heading optical tightening */
    color: var(--color-text-on-dark);
    max-width: 36ch; /* intrinsic: heading line-length constraint */
  }

  .nmn-pdp-quality-trust__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  @media screen and (min-width: 600px) {
    .nmn-pdp-quality-trust__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  .nmn-pdp-quality-trust__card {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: var(--space-5);
    border-radius: var(--radius-md);
    background: var(--color-surface-primary);
    box-shadow: var(--shadow-md);
  }

  .nmn-pdp-quality-trust__card-icon {
    width: 48px; /* intrinsic: card-info icon container per spec */
    height: 48px;
    border-radius: var(--radius-md);
    background: var(--color-surface-benefit);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-4);
    flex-shrink: 0;
  }

  .nmn-pdp-quality-trust__card-icon svg {
    width: 24px; /* intrinsic: icon size per spec */
    height: 24px;
    color: var(--color-teal-dark);
  }

  .nmn-pdp-quality-trust__title {
    margin: 0 0 var(--space-2);
    font-family: var(--font-heading);
    font-size: var(--text-section);
    line-height: var(--leading-tight);
    font-weight: var(--weight-bold);
    letter-spacing: -0.01em; /* intrinsic: display heading optical tightening */
    color: var(--color-text-primary);
  }

  .nmn-pdp-quality-trust__text {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-text-secondary);
  }
/* END_SECTION:nmn-pdp-quality-trust */

/* START_SECTION:nmn-pdp-v2-benefit-strip (INDEX:129) */
.nmn2-benefit-strip {
    padding-block: var(--space-9);
    background: var(--color-surface-secondary);
  }

  @media screen and (max-width: 749px) {
    .nmn2-benefit-strip {
      padding-block: var(--space-8);
    }
  }

  .nmn2-benefit-strip--surface-dark {
    background: var(--color-surface-dark);
  }

  .nmn2-benefit-strip__heading {
    margin: 0 0 var(--space-7);
    max-width: var(--nmn2-section-title-max, min(100%, 40rem));
    margin-inline: auto;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    color: var(--color-text-primary);
    text-align: center;
    text-wrap: balance;
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__heading {
    color: var(--color-text-on-dark);
  }

  .nmn2-benefit-strip__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
    margin: 0;
    padding: 0;
    list-style: none;
  }

  @media screen and (min-width: 990px) {
    .nmn2-benefit-strip__grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .nmn2-benefit-strip__cell {
    margin: 0;
    padding: 0;
    display: flex;
    min-width: 0;
  }

  .nmn2-benefit-strip__card {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: var(--space-4);
    padding: var(--space-5);
    background: var(--color-surface-primary);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border-default);
    box-shadow: var(--shadow-sm);
    transition:
      border-color var(--ease-default),
      box-shadow var(--ease-default);
  }

  .nmn2-benefit-strip__cell:hover .nmn2-benefit-strip__card {
    border-color: var(--color-border-strong);
    box-shadow: var(--shadow-md);
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__card {
    background: color-mix(in srgb, var(--color-white) 7%, var(--color-surface-dark));
    border-color: var(--color-border-strong);
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__cell:hover .nmn2-benefit-strip__card {
    border-color: color-mix(in srgb, var(--color-teal) 35%, var(--color-border-strong));
  }

  .nmn2-benefit-strip__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--space-7);
    height: var(--space-7);
    border-radius: var(--radius-md);
    background: var(--color-surface-benefit);
    color: var(--color-teal-dark);
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__icon-wrap {
    background: color-mix(in srgb, var(--color-teal) 14%, transparent);
    color: var(--color-teal);
  }

  .nmn2-benefit-strip__icon-wrap svg {
    width: var(--space-6);
    height: var(--space-6);
  }

  .nmn2-benefit-strip__title {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-section);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__title {
    color: var(--color-text-on-dark);
  }

  .nmn2-benefit-strip__text {
    margin: 0;
    flex: 1;
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__text {
    color: var(--color-text-on-dark-muted);
  }

  .nmn2-benefit-strip__fn-row {
    margin-top: auto;
    padding-top: var(--space-2);
    width: 100%;
  }

  .nmn2-benefit-strip__fn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    line-height: var(--leading-tight);
    color: var(--color-teal-dark);
    text-decoration: underline;
    text-underline-offset: var(--space-1);
    transition: color var(--ease-default);
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__fn {
    color: var(--color-teal);
  }

  .nmn2-benefit-strip__fn:hover {
    color: var(--color-dark);
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__fn:hover {
    color: var(--color-text-on-dark);
  }

  .nmn2-benefit-strip__fn:focus-visible {
    outline: 2px solid var(--color-teal-dark);
    outline-offset: var(--space-2);
    border-radius: var(--radius-sm);
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__fn:focus-visible {
    outline-color: var(--color-teal);
  }

  .nmn2-benefit-strip__fn-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--space-5);
    height: var(--space-5);
    padding: 0 var(--space-2);
    border-radius: var(--radius-full);
    font-size: var(--text-micro);
    font-weight: var(--weight-semibold);
    text-decoration: none;
    background: color-mix(in srgb, var(--color-teal-dark) 12%, transparent);
    color: var(--color-teal-dark);
  }

  .nmn2-benefit-strip--surface-dark .nmn2-benefit-strip__fn-mark {
    background: color-mix(in srgb, var(--color-teal) 18%, transparent);
    color: var(--color-teal);
  }

  .nmn2-benefit-strip__dialog {
    margin: auto;
    padding: 0;
    max-width: min(calc(100vw - var(--space-7)), 32rem);
    width: 100%;
    border: none;
    border-radius: var(--radius-lg);
    background: transparent;
  }

  .nmn2-benefit-strip__dialog::backdrop {
    background: color-mix(in srgb, var(--color-dark) 42%, transparent);
  }

  .nmn2-benefit-strip__dialog-panel {
    padding: var(--space-6) var(--space-5);
    background: var(--color-surface-primary);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border-default);
    box-shadow: var(--shadow-md);
  }

  .nmn2-benefit-strip__dialog-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    margin-bottom: var(--space-4);
  }

  .nmn2-benefit-strip__dialog-title {
    margin: 0;
    flex: 1;
    min-width: 0;
    font-family: var(--font-heading);
    font-size: var(--text-h3);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    color: var(--color-text-primary);
  }

  .nmn2-benefit-strip__dialog-title-sub {
    display: block;
    margin-top: var(--space-2);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    line-height: var(--leading-body);
    color: var(--color-text-secondary);
  }

  .nmn2-benefit-strip__dialog-close {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--space-7);
    height: var(--space-7);
    margin: 0;
    padding: 0;
    border: none;
    border-radius: var(--radius-full);
    background: var(--color-surface-secondary);
    color: var(--color-text-primary);
    cursor: pointer;
    transition:
      background var(--ease-default),
      color var(--ease-default);
  }

  .nmn2-benefit-strip__dialog-close:hover {
    background: var(--color-border-default);
  }

  .nmn2-benefit-strip__dialog-close:focus-visible {
    outline: 2px solid var(--color-teal-dark);
    outline-offset: var(--space-1);
  }

  .nmn2-benefit-strip__dialog-close-icon {
    width: var(--space-4);
    height: var(--space-4);
  }

  .nmn2-benefit-strip__dialog-body {
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
  }

  .nmn2-benefit-strip__dialog-body p {
    margin: 0 0 var(--space-3);
  }

  .nmn2-benefit-strip__dialog-body p:last-child {
    margin-bottom: 0;
  }

  .nmn2-benefit-strip__dialog-link-wrap {
    margin: var(--space-5) 0 0;
  }

  .nmn2-benefit-strip__dialog-link {
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-body);
    color: var(--color-teal-dark);
    text-decoration: underline;
    text-underline-offset: var(--space-1);
  }

  .nmn2-benefit-strip__dialog-link:hover,
  .nmn2-benefit-strip__dialog-link:focus-visible {
    color: var(--color-dark);
    outline: none;
  }

  .nmn2-benefit-strip__dialog-foot {
    margin: var(--space-5) 0 0;
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-border-default);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-muted);
  }
/* END_SECTION:nmn-pdp-v2-benefit-strip */

/* START_SECTION:nmn-pdp-v2-faq (INDEX:130) */
.nmn2-faq {
    padding-block: var(--space-9);
    background: var(--color-surface-primary);
  }

  @media screen and (max-width: 749px) {
    .nmn2-faq {
      padding-block: var(--space-8);
    }
  }

  .nmn2-faq__inner {
    max-width: 45rem;
    margin-inline: auto;
  }

  .nmn2-faq__title {
    margin: 0 0 var(--space-7);
    max-width: var(--nmn2-section-title-max, min(100%, 40rem));
    margin-inline: auto;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    text-align: center;
    color: var(--color-text-primary);
    text-wrap: balance;
  }

  .nmn2-faq__list {
    border-top: 1px solid var(--color-border-default);
  }

  .nmn2-faq__item {
    border-bottom: 1px solid var(--color-border-default);
  }

  .nmn2-faq__trigger {
    width: 100%;
    margin: 0;
    padding: var(--space-5) 0;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
    color: inherit;
    transition: color var(--ease-default);
  }

  .nmn2-faq__trigger:hover {
    color: var(--color-teal-dark);
  }

  .nmn2-faq__trigger:focus-visible {
    outline: 2px solid var(--color-teal-dark);
    outline-offset: var(--space-2);
    border-radius: var(--radius-sm);
  }

  .nmn2-faq__trigger-inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    width: 100%;
  }

  .nmn2-faq__question {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    min-width: 0;
    flex: 1;
  }

  .nmn2-faq__shield {
    flex-shrink: 0;
    display: flex;
    color: var(--color-teal-dark);
    margin-top: var(--space-1);
  }

  .nmn2-faq__shield svg {
    width: var(--space-5);
    height: var(--space-5);
  }

  .nmn2-faq__question-text {
    font-family: var(--font-heading);
    font-size: var(--text-body-lg);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
  }

  .nmn2-faq__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--space-6);
    height: var(--space-6);
    color: var(--color-teal-dark);
    transition: transform var(--ease-default);
  }

  .nmn2-faq__icon svg {
    width: var(--space-5);
    height: var(--space-5);
  }

  .nmn2-faq__item.is-open .nmn2-faq__icon {
    transform: rotate(45deg);
  }

  .nmn2-faq__panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.35s ease;
  }

  @media (prefers-reduced-motion: reduce) {
    .nmn2-faq__panel {
      transition-duration: 0.01ms;
    }

    .nmn2-faq__icon {
      transition-duration: 0.01ms;
    }
  }

  .nmn2-faq__item.is-open .nmn2-faq__panel {
    grid-template-rows: 1fr;
  }

  .nmn2-faq__panel-measure {
    overflow: hidden;
    min-height: 0;
  }

  .nmn2-faq__answer {
    padding: 0 0 var(--space-5);
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
  }

  .nmn2-faq__answer p {
    margin: 0 0 var(--space-3);
  }

  .nmn2-faq__answer p:last-child {
    margin-bottom: 0;
  }

  .nmn2-faq__answer a {
    color: var(--color-teal-dark);
    text-decoration: underline;
    text-underline-offset: var(--space-1);
  }

  .nmn2-faq__footer {
    margin: var(--space-6) 0 0;
    text-align: center;
  }

  .nmn2-faq__footer-link {
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    line-height: var(--leading-body);
    color: var(--color-teal-dark);
    text-decoration: underline;
    text-underline-offset: var(--space-1);
    transition: color var(--ease-default);
  }

  .nmn2-faq__footer-link:hover,
  .nmn2-faq__footer-link:focus-visible {
    color: var(--color-dark);
    outline: none;
  }

  .nmn2-faq__footer-link:focus-visible {
    box-shadow: 0 0 0 2px var(--color-surface-primary), 0 0 0 4px var(--color-teal-dark);
    border-radius: var(--radius-sm);
  }
/* END_SECTION:nmn-pdp-v2-faq */

/* START_SECTION:nmn-pdp-v2-final-cta (INDEX:131) */
.nmn2-final-cta {
    padding-block: var(--space-10);
    background: var(--color-surface-benefit);
    border-block: 1px solid var(--color-border-strong);
  }

  @media screen and (max-width: 749px) {
    .nmn2-final-cta {
      padding-block: var(--space-9);
    }
  }

  .nmn2-final-cta .container {
    display: flex;
    justify-content: center;
  }

  .nmn2-final-cta__inner {
    width: 100%;
    max-width: min(100%, 37.5rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-5);
  }

  .nmn2-final-cta__title {
    margin: 0;
    max-width: var(--nmn2-section-title-max, min(100%, 40rem));
    margin-inline: auto;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    color: var(--color-text-primary);
    text-wrap: balance;
  }

  .nmn2-final-cta__bullets {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    text-align: left;
  }

  .nmn2-final-cta__bullet {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
  }

  .nmn2-final-cta__check {
    flex-shrink: 0;
    display: flex;
    color: var(--color-teal-dark);
  }

  .nmn2-final-cta__check svg {
    width: var(--space-4);
    height: var(--space-4);
  }

  .nmn2-final-cta__bullet-text {
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
  }

  .nmn2-final-cta__primary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 25rem;
    margin-top: calc(var(--space-7) - var(--space-5));
    min-height: var(--space-7);
    padding: var(--space-4) var(--space-6);
    border-radius: var(--radius-full);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    text-align: center;
    text-decoration: none;
    background: var(--color-button-primary-bg);
    color: var(--color-button-primary-text);
    transition: opacity var(--ease-default);
  }

  @media screen and (min-width: 750px) {
    .nmn2-final-cta__primary {
      font-size: var(--text-body);
    }
  }

  .nmn2-final-cta__primary:hover {
    opacity: 0.92;
  }

  .nmn2-final-cta__primary:focus-visible {
    outline: 2px solid var(--color-teal-dark);
    outline-offset: var(--space-2);
  }

  .nmn2-final-cta__secondary {
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    line-height: var(--leading-body);
    color: var(--color-teal-dark);
    text-decoration: underline;
    text-underline-offset: var(--space-1);
    transition: color var(--ease-default);
  }

  .nmn2-final-cta__secondary:hover,
  .nmn2-final-cta__secondary:focus-visible {
    color: var(--color-dark);
    outline: none;
  }

  .nmn2-final-cta__secondary:focus-visible {
    box-shadow: 0 0 0 2px var(--color-surface-benefit), 0 0 0 4px var(--color-teal-dark);
    border-radius: var(--radius-sm);
  }

  .nmn2-final-cta__footnote {
    margin: var(--space-1) 0 0;
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-regular);
    line-height: var(--leading-body);
    color: var(--color-text-muted);
  }
/* END_SECTION:nmn-pdp-v2-final-cta */

/* START_SECTION:nmn-pdp-v2-guarantee (INDEX:132) */
.nmn2-guarantee {
    padding-block: var(--space-9);
    background: var(--color-surface-primary);
  }

  @media screen and (max-width: 749px) {
    .nmn2-guarantee {
      padding-block: var(--space-8);
    }
  }

  .nmn2-guarantee__card {
    max-width: 30rem;
    margin-inline: auto;
    padding: var(--space-8) var(--space-6);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-4);
    background: var(--color-surface-benefit);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-sm);
  }

  @media screen and (min-width: 750px) {
    .nmn2-guarantee__card {
      padding: var(--space-9) var(--space-7);
    }
  }

  .nmn2-guarantee__icon {
    display: flex;
    color: var(--color-teal-dark);
  }

  .nmn2-guarantee__icon svg {
    width: var(--space-7);
    height: var(--space-7);
  }

  .nmn2-guarantee__title {
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    max-width: 22rem;
  }

  .nmn2-guarantee__stat {
    font-family: var(--font-heading);
    font-size: var(--text-stat);
    font-weight: var(--weight-bold);
    line-height: var(--leading-stat);
    color: var(--color-text-primary);
    text-wrap: balance;
  }

  .nmn2-guarantee__title-line {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    color: var(--color-text-primary);
    text-wrap: balance;
  }

  .nmn2-guarantee__body {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
    max-width: 26rem;
  }

  .nmn2-guarantee__mail {
    margin: var(--space-2) 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    line-height: var(--leading-body);
    color: var(--color-text-secondary);
  }

  .nmn2-guarantee__mail-prefix {
    font-weight: var(--weight-medium);
  }

  .nmn2-guarantee__mail-link {
    font-weight: var(--weight-semibold);
    color: var(--color-teal-dark);
    text-decoration: underline;
    text-underline-offset: var(--space-1);
    word-break: break-all;
    transition: color var(--ease-default);
  }

  .nmn2-guarantee__mail-link:hover,
  .nmn2-guarantee__mail-link:focus-visible {
    color: var(--color-dark);
    outline: none;
  }

  .nmn2-guarantee__mail-link:focus-visible {
    box-shadow: 0 0 0 2px var(--color-surface-benefit), 0 0 0 4px var(--color-teal-dark);
    border-radius: var(--radius-sm);
  }
/* END_SECTION:nmn-pdp-v2-guarantee */

/* START_SECTION:nmn-pdp-v2-media-trust (INDEX:133) */
.nmn2-media-trust {
    padding-block: var(--space-9);
    background: var(--color-surface-primary);
  }

  @media screen and (max-width: 749px) {
    .nmn2-media-trust {
      padding-block: var(--space-8);
    }
  }

  .nmn2-media-trust__label {
    margin: 0 0 var(--space-5);
    max-width: var(--nmn2-section-title-max, min(100%, 40rem));
    margin-inline: auto;
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-align: center;
    color: var(--color-text-muted);
    text-wrap: balance;
  }

  .nmn2-media-trust__logos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
    justify-items: center;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
  }

  @media screen and (min-width: 750px) {
    .nmn2-media-trust__logos {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .nmn2-media-trust__item {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: min(100%, 12rem);
  }

  .nmn2-media-trust__hit {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: inherit;
    border-radius: var(--radius-md);
    transition: box-shadow var(--ease-default);
  }

  .nmn2-media-trust__hit:focus-visible {
    outline: 2px solid var(--color-teal-dark);
    outline-offset: var(--space-2);
  }

  .nmn2-media-trust__hit--static {
    cursor: default;
  }

  .nmn2-media-trust__cell {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--space-8);
    width: 100%;
    padding: var(--space-4) var(--space-5);
    background: var(--color-surface-secondary);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border-default);
  }

  .nmn2-media-trust__img {
    display: block;
    max-height: var(--space-7);
    width: auto;
    max-width: 100%;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.88;
    transition:
      filter var(--ease-default),
      opacity var(--ease-default),
      transform var(--ease-default);
  }

  .nmn2-media-trust__hit:is(:hover, :focus-visible) .nmn2-media-trust__img {
    filter: grayscale(0%);
    opacity: 1;
  }

  .nmn2-media-trust__fallback {
    font-family: var(--font-heading);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    text-align: center;
    color: var(--color-text-secondary);
  }

  .nmn2-media-trust__tagline {
    margin: var(--space-7) 0 0;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    text-align: center;
    color: var(--color-text-secondary);
    max-width: var(--nmn2-section-title-max, min(100%, 40rem));
    margin-inline: auto;
    text-wrap: balance;
  }
/* END_SECTION:nmn-pdp-v2-media-trust */

/* START_SECTION:nmn-pdp-v2-science-quality (INDEX:134) */
.nmn2-bento {
    padding-block: var(--space-9);
    background: var(--color-surface-secondary);
  }

  @media screen and (max-width: 749px) {
    .nmn2-bento {
      padding-block: var(--space-8);
    }
  }

  .nmn2-bento__title {
    margin: 0 0 var(--space-7);
    max-width: var(--nmn2-section-title-max, min(100%, 40rem));
    margin-inline: auto;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    text-align: center;
    color: var(--color-text-primary);
    text-wrap: balance;
  }

  .nmn2-bento__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
    align-items: start;
  }

  @media screen and (min-width: 990px) {
    .nmn2-bento__grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--space-5);
    }
  }

  .nmn2-bento__tile {
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border-default);
    background: var(--color-surface-primary);
    box-shadow: var(--shadow-sm);
  }

  .nmn2-bento__tile-title {
    margin: 0 0 var(--space-5);
    font-family: var(--font-heading);
    font-size: var(--text-h3);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    color: var(--color-text-primary);
  }

  .nmn2-bento__media {
    margin-bottom: var(--space-5);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-surface-secondary);
    border: 1px solid var(--color-border-default);
  }

  .nmn2-bento__gif {
    display: block;
    width: 100%;
    height: auto;
  }

  .nmn2-bento__studies {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .nmn2-bento__study {
    margin: 0;
    padding: var(--space-5);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border-strong);
    background: var(--color-surface-secondary);
  }

  .nmn2-bento__study-headline {
    margin: 0 0 var(--space-2);
    font-family: var(--font-heading);
    font-size: var(--text-section);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
  }

  .nmn2-bento__study-result {
    margin: 0 0 var(--space-2);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
  }

  .nmn2-bento__study-source {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    line-height: var(--leading-body);
    color: var(--color-text-muted);
    font-style: italic;
  }

  .nmn2-bento__features {
    list-style: none;
    margin: 0 0 var(--space-5);
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  @media screen and (min-width: 500px) {
    .nmn2-bento__features {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  .nmn2-bento__feature {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-3);
  }

  .nmn2-bento__feature-icon {
    flex-shrink: 0;
    display: flex;
    color: var(--color-teal-dark);
  }

  .nmn2-bento__feature-icon svg {
    width: var(--space-6);
    height: var(--space-6);
  }

  .nmn2-bento__feature-label {
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
  }

  .nmn2-bento__pdf {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-body);
    color: var(--color-teal-dark);
    text-decoration: underline;
    text-underline-offset: var(--space-1);
    transition: color var(--ease-default);
  }

  .nmn2-bento__pdf:hover,
  .nmn2-bento__pdf:focus-visible {
    color: var(--color-dark);
    outline: none;
  }

  .nmn2-bento__pdf:focus-visible {
    box-shadow: 0 0 0 2px var(--color-surface-primary), 0 0 0 4px var(--color-teal-dark);
    border-radius: var(--radius-sm);
  }

  .nmn2-bento__pill {
    display: inline-block;
    margin: 0 0 var(--space-5);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-full);
    font-family: var(--font-heading);
    font-size: var(--text-micro);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    letter-spacing: 0.04em;
    color: var(--color-text-primary);
    background: var(--color-surface-benefit);
    border: 1px solid var(--color-border-strong);
  }

  .nmn2-bento__compare {
    width: 100%;
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-md);
    overflow: hidden;
  }

  .nmn2-bento__compare-row {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 0.8fr);
    gap: 0;
    border-bottom: 1px solid var(--color-border-default);
  }

  .nmn2-bento__compare-row:last-child {
    border-bottom: none;
  }

  .nmn2-bento__compare-row--head {
    background: var(--color-surface-secondary);
  }

  .nmn2-bento__compare-cell {
    padding: var(--space-3) var(--space-4);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    line-height: var(--leading-tight);
    color: var(--color-text-secondary);
    border-right: 1px solid var(--color-border-default);
  }

  .nmn2-bento__compare-cell:last-child {
    border-right: none;
  }

  .nmn2-bento__compare-row--head .nmn2-bento__compare-cell {
    font-size: var(--text-micro);
    font-weight: var(--weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-text-muted);
  }

  .nmn2-bento__compare-row:not(.nmn2-bento__compare-row--head) .nmn2-bento__compare-cell {
    font-size: var(--text-body-sm);
    font-weight: var(--weight-regular);
  }

  .nmn2-bento__compare-cell--brand {
    text-align: center;
    color: var(--color-text-primary);
    font-weight: var(--weight-semibold);
  }
/* END_SECTION:nmn-pdp-v2-science-quality */

/* START_SECTION:nmn-pdp-v2-social-proof (INDEX:135) */
.nmn2-sp {
    padding-block: var(--space-9);
    background: var(--color-surface-primary);
  }

  @media screen and (max-width: 749px) {
    .nmn2-sp {
      padding-block: var(--space-8);
    }
  }

  .nmn2-sp__title {
    margin: 0 0 var(--space-7);
    max-width: var(--nmn2-section-title-max, min(100%, 40rem));
    margin-inline: auto;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    text-align: center;
    color: var(--color-text-primary);
    text-wrap: balance;
  }

  .nmn2-sp__aggregate {
    display: grid;
    gap: var(--space-7);
    align-items: center;
    max-width: 40rem;
    margin: 0 auto var(--space-9);
    padding: var(--space-6);
    background: var(--color-surface-secondary);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border-default);
  }

  @media screen and (min-width: 750px) {
    .nmn2-sp__aggregate {
      grid-template-columns: minmax(0, 11rem) minmax(0, 1fr);
      max-width: 48rem;
      gap: var(--space-8);
    }
  }

  .nmn2-sp__score-block {
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .nmn2-sp__score-block {
      text-align: left;
    }
  }

  .nmn2-sp__rating {
    margin: 0;
    font-family: var(--font-heading);
    font-size: var(--text-stat);
    font-weight: var(--weight-bold);
    line-height: var(--leading-stat);
    color: var(--color-text-primary);
  }

  .nmn2-sp__count {
    margin: var(--space-2) 0 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--weight-medium);
    line-height: var(--leading-body);
    color: var(--color-text-secondary);
  }

  .nmn2-sp__bars {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }

  .nmn2-sp__bar-line {
    display: grid;
    grid-template-columns: var(--space-3) 1fr;
    gap: var(--space-3);
    align-items: center;
  }

  .nmn2-sp__bar-label {
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    color: var(--color-text-muted);
    text-align: right;
  }

  .nmn2-sp__track {
    height: var(--space-2);
    border-radius: var(--radius-full);
    background: var(--color-gray-200);
    overflow: hidden;
  }

  .nmn2-sp__fill {
    height: 100%;
    border-radius: var(--radius-full);
    background: var(--color-dark);
    transition: width var(--ease-default);
  }

  .nmn2-sp__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-5);
    list-style: none;
    margin: 0;
    padding: 0;
  }

  @media screen and (min-width: 990px) {
    .nmn2-sp__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--space-5);
    }
  }

  .nmn2-sp__card {
    margin: 0;
    padding: var(--space-5);
    background: var(--color-surface-secondary);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border-default);
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  .nmn2-sp__card-top {
    display: flex;
    gap: var(--space-4);
    align-items: flex-start;
  }

  .nmn2-sp__avatar {
    flex-shrink: 0;
    width: var(--space-8);
    height: var(--space-8);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: var(--text-section);
    font-weight: var(--weight-bold);
    line-height: 1;
    color: var(--color-text-on-dark);
    background: var(--color-dark);
  }

  .nmn2-sp__identity {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
  }

  .nmn2-sp__name-row {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    align-items: baseline;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    line-height: var(--leading-tight);
  }

  .nmn2-sp__name {
    font-weight: var(--weight-semibold);
    color: var(--color-text-primary);
  }

  .nmn2-sp__handle {
    font-weight: var(--weight-regular);
    color: var(--color-text-muted);
  }

  .nmn2-sp__stars {
    display: flex;
    gap: var(--space-1);
    color: var(--color-gray-400);
  }

  .nmn2-sp__star path {
    fill: none;
  }

  .nmn2-sp__star--filled {
    color: var(--color-star);
  }

  .nmn2-sp__star--filled path {
    fill: currentColor;
  }

  .nmn2-sp__date {
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-regular);
    line-height: var(--leading-body);
    color: var(--color-text-muted);
  }

  .nmn2-sp__text {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
  }

  .nmn2-sp__verified {
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    line-height: var(--leading-body);
    color: var(--color-success);
  }

  .nmn2-sp__verified-icon {
    flex-shrink: 0;
    color: var(--color-success);
  }
/* END_SECTION:nmn-pdp-v2-social-proof */

/* START_SECTION:nmn-pdp-v2-sticky-bar (INDEX:136) */
.nmn2-sticky-bar {
    display: none;
  }

  @media screen and (max-width: 767px) {
    .nmn2-sticky-bar {
      display: block;
    }
  }

  .nmn2-sticky-bar__inner {
    position: fixed;
    z-index: 100;
    bottom: 0;
    left: 0;
    right: 0;
    min-height: var(--space-8);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    background: var(--color-surface-primary);
    border-top: 1px solid var(--color-border-default);
    box-shadow: var(--shadow-md);
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
  }

  .nmn2-sticky-bar--visible .nmn2-sticky-bar__inner {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
  }

  .nmn2-sticky-bar__row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    width: 100%;
    padding-block: var(--space-3);
    box-sizing: border-box;
  }

  .nmn2-sticky-bar__left {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
  }

  .nmn2-sticky-bar__title {
    display: block;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-regular);
    line-height: var(--leading-tight);
    color: var(--color-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .nmn2-sticky-bar__price {
    display: block;
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
  }

  .nmn2-sticky-bar__cta {
    flex-shrink: 0;
    max-width: min(100%, 48vw);
    margin: 0;
    min-height: var(--space-7);
    padding: var(--space-3) var(--space-5);
    border: none;
    border-radius: var(--radius-full);
    cursor: pointer;
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    text-align: center;
    background: var(--color-button-primary-bg);
    color: var(--color-button-primary-text);
    transition: opacity var(--ease-default);
  }

  .nmn2-sticky-bar__cta:hover:not(:disabled) {
    opacity: 0.92;
  }

  .nmn2-sticky-bar__cta:focus-visible {
    outline: 2px solid var(--color-teal-dark);
    outline-offset: var(--space-1);
  }

  .nmn2-sticky-bar__cta:disabled {
    opacity: 0.45;
    cursor: not-allowed;
  }
/* END_SECTION:nmn-pdp-v2-sticky-bar */

/* START_SECTION:nmn-pdp-v2-timeline (INDEX:137) */
.nmn2-timeline {
    padding-block: var(--space-9);
    background: var(--color-surface-secondary);
  }

  @media screen and (max-width: 749px) {
    .nmn2-timeline {
      padding-block: var(--space-8);
    }
  }

  .nmn2-timeline__title {
    margin: 0 0 var(--space-7);
    max-width: var(--nmn2-section-title-max, min(100%, 40rem));
    margin-inline: auto;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    text-align: center;
    color: var(--color-text-primary);
    text-wrap: balance;
  }

  .nmn2-timeline__mobile {
    display: block;
  }

  .nmn2-timeline__desktop {
    display: none;
  }

  @media screen and (min-width: 990px) {
    .nmn2-timeline__mobile {
      display: none;
    }

    .nmn2-timeline__desktop {
      display: block;
      list-style: none;
      margin: 0;
      padding: 0;
      max-width: 48rem;
      margin-inline: auto;
    }
  }

  .nmn2-timeline__dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-3);
    margin-bottom: var(--space-5);
  }

  .nmn2-timeline__dot-btn {
    width: var(--space-4);
    height: var(--space-4);
    padding: 0;
    border: 2px solid var(--color-teal-dark);
    border-radius: var(--radius-full);
    background: var(--color-teal-dark);
    cursor: pointer;
    transition:
      transform var(--ease-default),
      box-shadow var(--ease-default),
      opacity var(--ease-default);
  }

  .nmn2-timeline__dot-btn--outline {
    background: transparent;
  }

  .nmn2-timeline__dot-btn:hover,
  .nmn2-timeline__dot-btn:focus-visible {
    transform: scale(1.08);
    outline: none;
    box-shadow: 0 0 0 2px var(--color-surface-secondary), 0 0 0 4px var(--color-teal-dark);
  }

  .nmn2-timeline__dot-btn[aria-current='true'] {
    box-shadow: 0 0 0 2px var(--color-surface-secondary), 0 0 0 4px var(--color-dark);
  }

  .nmn2-timeline__dot-btn--outline[aria-current='true'] {
    background: color-mix(in srgb, var(--color-teal-dark) 22%, transparent);
  }

  .nmn2-timeline__scroller {
    display: flex;
    gap: var(--space-4);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--space-4);
    padding-bottom: var(--space-2);
    margin-inline: calc(-1 * var(--space-4));
    padding-inline: var(--space-4);
    -webkit-overflow-scrolling: touch;
  }

  .nmn2-timeline__scroller:focus-visible {
    outline: 2px solid var(--color-teal-dark);
    outline-offset: var(--space-2);
  }

  .nmn2-timeline__card {
    flex: 0 0 min(calc(100% - var(--space-5)), calc(var(--space-9) * 3 + var(--space-7)));
    scroll-snap-align: start;
    padding: var(--space-5);
    background: var(--color-surface-primary);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border-default);
    box-shadow: var(--shadow-sm);
  }

  .nmn2-timeline__eyebrow {
    margin: 0 0 var(--space-2);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--color-text-muted);
  }

  .nmn2-timeline__card-title {
    margin: 0 0 var(--space-3);
    font-family: var(--font-heading);
    font-size: var(--text-section);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
  }

  .nmn2-timeline__card-body {
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
  }

  .nmn2-timeline__card-body p {
    margin: 0 0 var(--space-3);
  }

  .nmn2-timeline__card-body p:last-child {
    margin-bottom: 0;
  }

  .nmn2-timeline__callout {
    margin-top: var(--space-4);
    padding: var(--space-4);
    border-radius: var(--radius-md);
    background: var(--color-surface-benefit);
    border: 1px solid var(--color-border-strong);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-medium);
    line-height: var(--leading-relaxed);
    color: var(--color-text-primary);
  }

  @media screen and (min-width: 990px) {
    .nmn2-timeline__row {
      display: grid;
      grid-template-columns: var(--space-7) 1fr;
      gap: var(--space-5) var(--space-6);
      align-items: start;
      margin: 0;
      padding: 0;
    }

    .nmn2-timeline__row:not(:last-child) {
      margin-bottom: var(--space-7);
    }

    .nmn2-timeline__rail {
      position: relative;
      display: flex;
      justify-content: center;
      padding-top: var(--space-2);
    }

    .nmn2-timeline__rail::after {
      content: '';
      position: absolute;
      top: calc(var(--space-4) + var(--space-2));
      bottom: calc(-1 * var(--space-7));
      left: 50%;
      width: 2px;
      transform: translateX(-50%);
      background: var(--color-border-default);
    }

    .nmn2-timeline__row:last-child .nmn2-timeline__rail::after {
      display: none;
    }

    .nmn2-timeline__dot {
      position: relative;
      z-index: 1;
      width: var(--space-4);
      height: var(--space-4);
      border-radius: var(--radius-full);
      border: 2px solid var(--color-teal-dark);
      background: var(--color-teal-dark);
      flex-shrink: 0;
    }

    .nmn2-timeline__dot--outline {
      background: var(--color-surface-primary);
    }

    .nmn2-timeline__panel {
      padding-bottom: var(--space-1);
    }

    .nmn2-timeline__panel .nmn2-timeline__card-title {
      font-size: var(--text-h3);
    }

    .nmn2-timeline__panel .nmn2-timeline__card-body {
      font-size: var(--text-body);
    }
  }
/* END_SECTION:nmn-pdp-v2-timeline */

/* START_SECTION:nmn-pdp-v2-upsell (INDEX:138) */
.nmn2-upsell {
    padding-block: var(--space-9);
    background: var(--color-surface-secondary);
  }

  @media screen and (max-width: 749px) {
    .nmn2-upsell {
      padding-block: var(--space-8);
    }
  }

  .nmn2-upsell__title {
    margin: 0 0 var(--space-7);
    max-width: var(--nmn2-section-title-max, min(100%, 40rem));
    margin-inline: auto;
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    text-align: center;
    color: var(--color-text-primary);
    text-wrap: balance;
  }

  .nmn2-upsell__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .nmn2-upsell__card {
    margin: 0;
    padding: var(--space-5);
    display: flex;
    flex-direction: column;
    background: var(--color-surface-primary);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-border-default);
    box-shadow: var(--shadow-sm);
    min-width: 0;
  }

  .nmn2-upsell__card-hit {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    flex: 1;
    text-decoration: none;
    color: inherit;
    border-radius: var(--radius-md);
    transition: opacity var(--ease-default);
    min-width: 0;
  }

  .nmn2-upsell__card-hit:hover {
    opacity: 0.92;
  }

  .nmn2-upsell__card-hit:focus-visible {
    outline: 2px solid var(--color-teal-dark);
    outline-offset: var(--space-2);
  }

  .nmn2-upsell__card-hit--static {
    cursor: default;
  }

  .nmn2-upsell__card-hit--static:hover {
    opacity: 1;
  }

  .nmn2-upsell__media {
    display: block;
    aspect-ratio: 1;
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--color-gray-200);
  }

  .nmn2-upsell__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .nmn2-upsell__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: var(--space-3);
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-medium);
    line-height: var(--leading-tight);
    text-align: center;
    color: var(--color-text-muted);
  }

  .nmn2-upsell__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
  }

  .nmn2-upsell__name {
    font-family: var(--font-heading);
    font-size: var(--text-body);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
  }

  @media screen and (min-width: 750px) {
    .nmn2-upsell__name {
      font-size: var(--text-section);
    }
  }

  .nmn2-upsell__desc {
    font-family: var(--font-body);
    font-size: var(--text-micro);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    color: var(--color-text-secondary);
  }

  @media screen and (min-width: 750px) {
    .nmn2-upsell__desc {
      font-size: var(--text-body-sm);
    }
  }

  .nmn2-upsell__price {
    font-family: var(--font-heading);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    color: var(--color-text-primary);
  }

  @media screen and (min-width: 750px) {
    .nmn2-upsell__price {
      font-size: var(--text-body-lg);
    }
  }

  .nmn2-upsell__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 0;
    min-height: var(--space-7);
    padding: var(--space-4) var(--space-6);
    border: none;
    border-radius: var(--radius-full);
    font-family: var(--font-body);
    font-size: var(--text-body-sm);
    font-weight: var(--weight-semibold);
    line-height: var(--leading-tight);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    background: var(--color-button-primary-bg);
    color: var(--color-button-primary-text);
    transition: opacity var(--ease-default);
  }

  @media screen and (min-width: 750px) {
    .nmn2-upsell__btn {
      font-size: var(--text-body);
      padding-inline: var(--space-7);
    }
  }

  .nmn2-upsell__btn:hover {
    opacity: 0.94;
  }

  .nmn2-upsell__btn:focus-visible {
    outline: 2px solid var(--color-teal-dark);
    outline-offset: var(--space-2);
  }
/* END_SECTION:nmn-pdp-v2-upsell */