/** Shopify CDN: Minification failed

Line 2699:0 All "@import" rules must come first
Line 3377:19 Expected identifier but found whitespace
Line 3377:21 Unexpected "{"
Line 3377:30 Expected ":"
Line 3378:14 Expected identifier but found whitespace
Line 3378:16 Unexpected "{"
Line 3378:25 Expected ":"
Line 3378:51 Expected ":"
Line 3379:17 Expected identifier but found whitespace
Line 3379:19 Unexpected "{"
... and 22 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:clp-comparison (INDEX:20) */
/* =============================================
   CLP COMPARISON — clp-comparison.liquid
   ============================================= */

.clp-comparison {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-white, #ffffff);
  padding-block-start: var(--clp-cmp-pt, 60px);
  padding-block-end: var(--clp-cmp-pb, 60px);
}

.clp-comparison__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}

/* Heading */
.clp-comparison__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  text-align: center;
  margin: 0;
  max-width: 700px;
  overflow-wrap: break-word;
}

/* Scroll hint — mobile only */
.clp-comparison__scroll-hint {
  display: block;
  font-size: 1.125rem;
  color: var(--clp-text-muted, #666666);
  text-align: center;
  margin: 0;
  letter-spacing: 0.04em;
}

@media screen and (min-width: 750px) {
  .clp-comparison__scroll-hint {
    display: none;
  }
}

/* Table wrapper — enables horizontal scroll on small screens */
.clp-comparison__table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--clp-radius-md, 12px);
  border: 1px solid #ede8e0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  /* Scrollbar styling */
  scrollbar-width: thin;
  scrollbar-color: var(--clp-accent, #F25AA5) #f3ece6;
}

.clp-comparison__table-wrap:focus-visible {
  outline: 3px solid var(--clp-accent, #F25AA5);
  outline-offset: 2px;
}

/* Table */
.clp-comparison__table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: 1.25rem;
}

/* Header row */
.clp-comparison__th {
  padding: 1rem 1.25rem;
  font-size: 1.375rem;
  font-weight: 700;
  text-align: center;
  color: var(--clp-text-dark, #1a1a1a);
  background-color: #f9f5f0;
  border-bottom: 2px solid #ede8e0;
  white-space: nowrap;
}

.clp-comparison__th--feature {
  text-align: start;
  min-width: 180px;
}

/* Celinva column header — highlighted */
.clp-comparison__th--celinva {
  background: linear-gradient(135deg, #fde8f3 0%, #fdf0fa 100%);
  border-bottom-color: var(--clp-accent, #F25AA5);
  position: relative;
}

.clp-comparison__brand-badge {
  display: block;
  font-size: 1.375rem;
  font-weight: 900;
  color: var(--clp-accent, #F25AA5);
}

.clp-comparison__brand-price {
  display: block;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--clp-text-mid, #444444);
  margin-block-start: 0.125rem;
}

/* Body rows */
.clp-comparison__row:nth-child(even) td,
.clp-comparison__row:nth-child(even) th {
  background-color: #fafaf9;
}

.clp-comparison__row-label {
  padding: 1rem 1.25rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--clp-text-dark, #1a1a1a);
  text-align: start;
  border-right: 1px solid #ede8e0;
  white-space: nowrap;
}

/* Body cells */
.clp-comparison__cell {
  padding: 0.875rem 1.25rem;
  text-align: center;
  vertical-align: middle;
  color: var(--clp-text-mid, #444444);
  border-inline-start: 1px solid #ede8e0;
  font-size: 1.375rem;
  line-height: 1.5;
}

/* Celinva cell — pink accent */
.clp-comparison__cell--celinva {
  background: linear-gradient(180deg, #fff5fb 0%, #fdf0f8 100%);
  border-inline-start: 2px solid var(--clp-accent, #F25AA5);
  font-weight: 600;
  color: var(--clp-text-dark, #1a1a1a);
}

.clp-comparison__icon {
  display: block;
  font-size: 1.3125rem;
  line-height: 1;
}

.clp-comparison__detail {
  display: block;
  font-size: 1.125rem;
  margin-block-start: 0.25rem;
  color: var(--clp-text-muted, #666666);
}

/* Testimonial */
.clp-comparison__testimonial {
  margin: 0;
  max-width: 680px;
  text-align: center;
  background: var(--clp-bg-warm, #FDF8F3);
  border-radius: var(--clp-radius-md, 12px);
  padding: 1.75rem 2rem;
  border: 1px solid #ede8e0;
}

.clp-comparison__testimonial-quote p {
  margin: 0;
  font-size: 1.375rem;
  font-style: italic;
  font-weight: 500;
  line-height: 1.7;
  color: var(--clp-text-dark, #1a1a1a);
}

.clp-comparison__testimonial-author {
  display: block;
  margin-block-start: 0.875rem;
  font-size: 1.375rem;
  font-weight: 600;
  color: var(--clp-text-muted, #666666);
}

/* CTA wrap */
.clp-comparison__cta-wrap {
  display: flex;
  justify-content: center;
}

/* Visually hidden utility (reused across sections) */
.clp-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Media block */
.clp-comparison__media {
  width: 100%;
  display: flex;
  justify-content: center;
}

.clp-comparison__image {
  display: block;
  width: 100%;
  max-width: 700px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}

.clp-comparison__video-wrap {
  width: 100%;
  max-width: 700px;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #ede8e0;
}

.clp-comparison__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

@media screen and (max-width: 749px) {
  .clp-comparison__table { min-width: 0; display: block; }
  .clp-comparison__table thead { display: none; }
  .clp-comparison__table tbody { display: block; }
  .clp-comparison__table tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    padding: 1rem;
    margin-block-end: 1rem;
    background: #f9f7f4;
    border-radius: 12px;
    border: 1px solid #ede8e0;
  }
  .clp-comparison__table tr td:first-child {
    grid-column: 1 / -1;
    font-weight: 700;
    font-size: 1.375rem;
    padding-block-end: 0.5rem;
    border-block-end: 1px solid #ede8e0;
    margin-block-end: 0.25rem;
  }
  .clp-comparison__table td {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 1.375rem;
    padding: 0.5rem 0.25rem;
    min-height: auto;
  }
  .clp-comparison__table td::before {
    content: attr(data-label);
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--clp-text-muted, #666);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-block-end: 0.25rem;
  }
  .clp-comparison__row-label {
    font-size: 1.3125rem;
  }
  .clp-comparison__scroll-hint { display: none; }
  .clp-comparison__table-wrap { overflow-x: visible; }
}

/* Typography size controls — driven by section settings */
.clp-comparison__heading { font-size: var(--clp-comp-heading-size, 44px); }
.clp-comparison__row-label { font-size: var(--clp-comp-body-size, 18px); }
.clp-comparison__cell { font-size: var(--clp-comp-body-size, 18px); }
.clp-comparison__detail { font-size: var(--clp-comp-body-size, 18px); }
.clp-comparison__th { font-size: var(--clp-comp-body-size, 18px); }
.clp-comparison__brand-price { font-size: var(--clp-comp-body-size, 18px); }
/* END_SECTION:clp-comparison */

/* START_SECTION:clp-cta-banner (INDEX:21) */
/* =============================================
   CLP CTA BANNER — clp-cta-banner.liquid
   ============================================= */

.clp-cta-banner {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-accent, #F25AA5);
  padding-block-start: var(--clp-cta-pt, 24px);
  padding-block-end: var(--clp-cta-pb, 24px);
}

.clp-cta-banner__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  text-align: center;
}

@media screen and (min-width: 750px) {
  .clp-cta-banner__inner {
    flex-direction: row;
    gap: 1.5rem;
  }
}

/* Optional text above/beside button */
.clp-cta-banner__text {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.7;
}

/* Inverted button — white on pink bg */
.clp-btn--inverted {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  border-radius: var(--clp-radius-md, 12px);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-decoration: none;
  cursor: pointer;
  min-height: 52px;
  border: 2px solid #ffffff;
  background-color: #ffffff;
  color: var(--clp-accent, #F25AA5);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
}

.clp-btn--inverted:hover {
  background-color: transparent;
  color: #ffffff;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  transform: translateY(-1px);
}

.clp-btn--inverted:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 3px;
}

.clp-btn--inverted:active {
  transform: translateY(0);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .clp-btn--inverted,
  .clp-btn--inverted:hover {
    transition: none;
    transform: none;
  }
}

@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-cta-banner__text { font-size: var(--clp-cta-body-size, 20px); }
.clp-btn--inverted { font-size: var(--clp-cta-btn-size, 22px); }
/* END_SECTION:clp-cta-banner */

/* START_SECTION:clp-faq (INDEX:22) */
/* =============================================
   CLP FAQ — clp-faq.liquid
   ============================================= */

.clp-faq {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-white, #ffffff);
  padding-block-start: var(--clp-faq-pt, 60px);
  padding-block-end: var(--clp-faq-pb, 60px);
}

.clp-faq__wrapper {
  max-width: 780px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}

/* Heading */
.clp-faq__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  text-align: center;
  margin: 0;
  overflow-wrap: break-word;
}

/* FAQ list */
.clp-faq__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: var(--clp-radius-md, 12px);
  border: 1px solid #ede8e0;
  overflow: hidden;
}

/* Individual FAQ item */
.clp-faq__item {
  border-block-end: 1px solid #ede8e0;
}

.clp-faq__item:last-child {
  border-block-end: none;
}

/* Native details element */
.clp-faq__details {
  width: 100%;
}

/* Summary — the clickable question row */
.clp-faq__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  cursor: pointer;
  list-style: none;
  background: #ffffff;
  transition: background-color 0.15s ease;
  min-height: 52px;
}

/* Remove default marker in various browsers */
.clp-faq__summary::-webkit-details-marker {
  display: none;
}

.clp-faq__summary::marker {
  display: none;
}

.clp-faq__summary:hover {
  background-color: #fdf8f3;
}

.clp-faq__summary:focus-visible {
  outline: 3px solid var(--clp-accent, #F25AA5);
  outline-offset: -3px;
}

/* Question text */
.clp-faq__question {
  font-size: 1.3125rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--clp-text-dark, #1a1a1a);
  flex: 1;
}

/* Chevron icon */
.clp-faq__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--clp-accent, #F25AA5);
  transition: transform 0.2s ease;
}

.clp-faq__icon-chevron {
  display: block;
}

/* Rotate chevron when open */
.clp-faq__details[open] .clp-faq__icon {
  transform: rotate(180deg);
}

/* Answer panel */
.clp-faq__answer {
  padding: 0 1.5rem 1.25rem;
  background: #ffffff;
}

.clp-faq__answer p {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--clp-text-mid, #444444);
}

/* CTA wrap */
.clp-faq__cta-wrap {
  display: flex;
  justify-content: center;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .clp-faq__icon,
  .clp-faq__summary {
    transition: none;
  }
}

@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-faq__heading { font-size: var(--clp-faq-heading-size, 44px); }
.clp-faq__question { font-size: var(--clp-faq-body-size, 20px); }
/* END_SECTION:clp-faq */

/* START_SECTION:clp-features (INDEX:23) */
/* =============================================
   CLP FEATURES — clp-features.liquid
   ============================================= */

.clp-features {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-warm, #FDF8F3);
  padding-block-start: var(--clp-ft-pt, 60px);
  padding-block-end: var(--clp-ft-pb, 60px);
}

/* Wrapper */
.clp-features__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

/* Header */
.clp-features__header {
  text-align: center;
  max-width: 720px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.clp-features__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  margin: 0;
  overflow-wrap: break-word;
}

.clp-features__subheading {
  font-size: clamp(1.0625rem, 2vw, 1.25rem);
  color: var(--clp-text-mid, #444444);
  line-height: 1.7;
  margin: 0;
}

/* Media block */
.clp-features__media {
  width: 100%;
  display: flex;
  justify-content: center;
}

.clp-features__image {
  display: block;
  width: 100%;
  max-width: 760px;
  height: auto;
  border-radius: var(--clp-radius-md, 12px);
  object-fit: cover;
}

.clp-features__video-wrap {
  width: 100%;
  max-width: 760px;
  border-radius: var(--clp-radius-md, 12px);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #ede8e0;
}

.clp-features__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Feature grid — mobile first: 2-column */
.clp-features__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}

/* 3-column at 990px+ */
@media screen and (min-width: 990px) {
  .clp-features__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
  }
}

/* Feature card */
.clp-feature-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem 1.25rem;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: var(--clp-radius-md, 12px);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
  transition: box-shadow var(--clp-transition, 0.2s ease), transform var(--clp-transition, 0.2s ease);
}

.clp-feature-card:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* Icon circle — accent-tinted pink/warm */
.clp-feature-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #fde8f3 0%, #fad4e8 100%);
  flex-shrink: 0;
}

.clp-feature-card__icon-text {
  font-size: 1.5rem;
  line-height: 1;
  display: block;
}

/* Card body */
.clp-feature-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.clp-feature-card__title {
  font-size: 1.3125rem;
  font-weight: 700;
  color: var(--clp-text-dark, #1a1a1a);
  margin: 0;
  line-height: 1.35;
  overflow-wrap: break-word;
}

.clp-feature-card__description {
  font-size: 1.375rem;
  color: var(--clp-text-muted, #666666);
  line-height: 1.7;
  margin: 0;
  overflow-wrap: break-word;
}

/* Larger type at wider viewports */
@media screen and (min-width: 750px) {
  .clp-feature-card {
    padding: 1.75rem 1.5rem;
  }

  .clp-feature-card__title {
    font-size: 1.375rem;
  }

  .clp-feature-card__description {
    font-size: 1.25rem;
  }
}

/* Focus styles */
.clp-feature-card:focus-visible {
  outline: 3px solid var(--clp-accent, #F25AA5);
  outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .clp-feature-card {
    transition: none;
  }

  .clp-feature-card:hover {
    transform: none;
  }
}

@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-features__heading { font-size: var(--clp-feat-heading-size, 44px); }
.clp-features__subheading { font-size: var(--clp-feat-heading-size, 44px); }
.clp-feature-card__title { font-size: var(--clp-feat-body-size, 20px); }
.clp-feature-card__description { font-size: var(--clp-feat-body-size, 20px); }
/* END_SECTION:clp-features */

/* START_SECTION:clp-mechanism (INDEX:24) */
/* =============================================
   CLP MECHANISM — clp-mechanism.liquid
   ============================================= */

.clp-mechanism {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-warm, #FDF8F3);
  padding-block-start: var(--clp-mech-pt, 60px);
  padding-block-end: var(--clp-mech-pb, 60px);
}

.clp-mechanism__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

/* Heading */
.clp-mechanism__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  text-align: center;
  margin: 0;
  max-width: 700px;
  overflow-wrap: break-word;
}

/* Steps grid — 1 col mobile, 3 col desktop */
.clp-mechanism__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  width: 100%;
}

@media screen and (min-width: 750px) {
  .clp-mechanism__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}

/* Individual step card */
.clp-mech-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  padding: 2rem 1.5rem;
  background: #ffffff;
  border-radius: var(--clp-radius-md, 12px);
  border: 1px solid #ede8e0;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.clp-mech-step:hover {
  box-shadow: 0 6px 24px rgba(242, 90, 165, 0.12);
  transform: translateY(-2px);
}

.clp-mech-step:focus-visible {
  outline: 3px solid var(--clp-accent, #F25AA5);
  outline-offset: 2px;
}

/* Step number badge */
.clp-mech-step__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  min-width: 3.5rem;
  border-radius: 50%;
  background-color: var(--clp-accent, #F25AA5);
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
  flex-shrink: 0;
}

/* Step image */
.clp-mech-step__media {
  width: 100%;
  border-radius: var(--clp-radius-sm, 6px);
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.clp-mech-step__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Step text content */
.clp-mech-step__content {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.clp-mech-step__title {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--clp-text-dark, #1a1a1a);
  margin: 0;
}

.clp-mech-step__body {
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--clp-text-mid, #444444);
  margin: 0;
}

/* CTA wrap */
.clp-mechanism__cta-wrap {
  display: flex;
  justify-content: center;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .clp-mech-step,
  .clp-mech-step:hover {
    transition: none;
    transform: none;
  }
}

@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-mechanism__heading { font-size: var(--clp-mech-heading-size, 44px); }
.clp-mech-step__title { font-size: var(--clp-mech-body-size, 20px); }
.clp-mech-step__body { font-size: var(--clp-mech-body-size, 20px); }
/* END_SECTION:clp-mechanism */

/* START_SECTION:clp-problem-reframe (INDEX:25) */
/* =============================================
   CLP PROBLEM REFRAME — clp-problem-reframe.liquid
   ============================================= */

/* Section wrapper */
.clp-problem {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-white, #ffffff);
  padding-block-start: var(--clp-problem-pt, 60px);
  padding-block-end: var(--clp-problem-pb, 60px);
}

/* Centered wrapper */
.clp-problem__wrapper {
  max-width: 780px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Heading */
.clp-problem__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  text-align: center;
  margin: 0;
  overflow-wrap: break-word;
}

/* Rich text body */
.clp-problem__body.clp-rte {
  font-size: 1.3125rem;
  line-height: 1.75;
  color: var(--clp-text-mid, #444444);
}

.clp-problem__body.clp-rte p {
  margin-block: 0;
  margin-bottom: 1.5rem;
}

.clp-problem__body.clp-rte p + p {
  margin-block-start: 1em;
}

/* Pressure points — 3-column on desktop */
.clp-problem__pressure-points {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

@media screen and (min-width: 750px) {
  .clp-problem__pressure-points {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
  }
}

/* Individual point card */
.clp-problem__point {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  padding: 1.5rem 1.25rem;
  background: #faf7f4;
  border-radius: 12px;
  border: 1px solid #ede8e0;
}

/* Icon circle */
.clp-problem__point-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.clp-problem__point-icon--tailbone {
  background-color: #fff0f7;
  border: 2px solid #F25AA5;
}

.clp-problem__point-icon--sciatic {
  background-color: #fff4ec;
  border: 2px solid #f2823a;
}

.clp-problem__point-icon--hip {
  background-color: #f0f4ff;
  border: 2px solid #5a7bf2;
}

.clp-problem__point-icon-label {
  font-size: 1.25rem;
  font-weight: 900;
  color: var(--clp-text-dark, #1a1a1a);
}

.clp-problem__point-title {
  display: block;
  font-size: 1.3125rem;
  font-weight: 700;
  color: var(--clp-text-dark, #1a1a1a);
}

.clp-problem__point-desc {
  font-size: 1.375rem;
  line-height: 1.7;
  color: var(--clp-text-muted, #666666);
  margin: 0;
}

/* Callout box */
.clp-problem__callout {
  margin: 0;
  background: #fff0f7;
  border-inline-start: 4px solid #F25AA5;
  border-radius: 0 10px 10px 0;
  padding: 1.25rem 1.5rem;
}

.clp-problem__callout p {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.7;
  color: var(--clp-text-dark, #1a1a1a);
  font-style: italic;
}

/* Media block */
.clp-problem__media {
  width: 100%;
  display: flex;
  justify-content: center;
}

.clp-problem__image {
  display: block;
  width: 100%;
  max-width: 700px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}

.clp-problem__video-wrap {
  width: 100%;
  max-width: 700px;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #ede8e0;
}

.clp-problem__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-problem__heading { font-size: var(--clp-problem-heading-size, 44px); }
.clp-problem__point-title { font-size: var(--clp-problem-body-size, 20px); }
.clp-problem__point-desc { font-size: var(--clp-problem-body-size, 20px); }
.clp-rte { font-size: var(--clp-problem-body-size, 20px); }
/* END_SECTION:clp-problem-reframe */

/* START_SECTION:clp-product-specs (INDEX:26) */
/* =============================================
   CLP PRODUCT SPECS — clp-product-specs.liquid
   ============================================= */

/* Section wrapper */
.clp-specs {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-white, #ffffff);
  padding-block-start: var(--clp-specs-pt, 60px);
  padding-block-end: var(--clp-specs-pb, 60px);
}

/* ---- SPLIT LAYOUT ---- */
.clp-specs__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  align-items: center;
}

@media screen and (min-width: 750px) {
  .clp-specs__layout {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
}

@media screen and (min-width: 990px) {
  .clp-specs__layout {
    grid-template-columns: 55% 1fr;
    gap: 4.5rem;
  }
}

/* ---- CONTENT COLUMN ---- */
.clp-specs__content {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

/* Heading */
.clp-specs__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  margin: 0;
  overflow-wrap: break-word;
}

/* Subheading */
.clp-specs__subheading {
  margin: 0;
  font-size: 1.375rem;
  color: var(--clp-text-mid, #444444);
  line-height: 1.7;
}

/* Rich text body */
.clp-specs__body {
  font-size: 1.3125rem;
  color: var(--clp-text-mid, #444444);
  line-height: 1.7;
}

.clp-specs__body p {
  margin-block-end: 1.5rem;
}

.clp-specs__body p:last-child {
  margin-block-end: 0;
}

/* ---- SPEC TABLE ---- */
.clp-specs__table {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  border: 1px solid #e4e8ed;
  border-radius: var(--clp-radius-md, 12px);
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Each row */
.clp-specs__row {
  display: grid;
  grid-template-columns: 40% 1fr;
  align-items: stretch;
  border-block-end: 1px solid #e4e8ed;
  transition: background var(--clp-transition, 0.2s ease);
}

.clp-specs__row:last-child {
  border-block-end: none;
}

.clp-specs__row:nth-child(even) {
  background: #f7f9fc;
}

.clp-specs__row:hover {
  background: var(--clp-accent-light, #fde8f3);
}

/* Label (dt) */
.clp-specs__label {
  padding: 0.75rem 1rem;
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--clp-text-dark, #1a1a1a);
  background: #f0f4f8;
  border-inline-end: 1px solid #e4e8ed;
  display: flex;
  align-items: center;
  min-width: 0;
  overflow-wrap: break-word;
}

.clp-specs__row:nth-child(even) .clp-specs__label {
  background: #e8edf4;
}

/* Value (dd) */
.clp-specs__value {
  margin: 0;
  padding: 0.75rem 1rem;
  font-size: 1.25rem;
  color: var(--clp-text-mid, #444444);
  line-height: 1.7;
  display: flex;
  align-items: center;
  min-width: 0;
  overflow-wrap: break-word;
}

/* ---- CTA ---- */
.clp-specs__cta-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.625rem;
}

.clp-specs__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  border-radius: var(--clp-radius-md, 12px);
  background: var(--clp-accent, #F25AA5);
  color: #ffffff;
  font-size: 1.25rem;
  font-weight: 800;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  min-height: 52px;
  box-shadow: 0 4px 14px rgba(242, 90, 165, 0.38);
  transition: background var(--clp-transition, 0.2s ease),
              transform var(--clp-transition, 0.2s ease),
              box-shadow var(--clp-transition, 0.2s ease);
}

.clp-specs__cta:hover {
  background: var(--clp-accent-dark, #d44a92);
  transform: translateY(-2px);
  box-shadow: 0 7px 20px rgba(242, 90, 165, 0.48);
}

.clp-specs__cta:focus-visible {
  outline: 3px solid var(--clp-accent, #F25AA5);
  outline-offset: 3px;
}

.clp-specs__cta-note {
  margin: 0;
  font-size: 1.125rem;
  color: var(--clp-text-muted, #666666);
}

/* ---- MEDIA COLUMN ---- */
.clp-specs__media-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.875rem;
}

/* Product image */
.clp-specs__image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: var(--clp-radius-lg, 20px);
  object-fit: cover;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  aspect-ratio: 4 / 5;
}

@media screen and (min-width: 750px) {
  .clp-specs__image {
    aspect-ratio: auto;
  }
}

/* Hosted video wrap */
.clp-specs__video-wrap {
  width: 100%;
  border-radius: var(--clp-radius-lg, 20px);
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  background: #ede8e0;
}

/* Embed video wrap (YT/Vimeo) */
.clp-specs__video-wrap--embed {
  aspect-ratio: 16 / 9;
}

.clp-specs__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.clp-specs__video--embed {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

/* Placeholder */
.clp-specs__media-placeholder {
  width: 100%;
  border-radius: var(--clp-radius-lg, 20px);
  overflow: hidden;
  background: #f0f4f8;
  aspect-ratio: 4 / 5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.clp-specs__placeholder-svg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.5;
}

/* Media caption */
.clp-specs__media-caption {
  margin: 0;
  font-size: 1.125rem;
  color: var(--clp-text-muted, #666666);
  text-align: center;
  font-style: italic;
  line-height: 1.7;
}

/* ---- REDUCED MOTION ---- */
@media (prefers-reduced-motion: reduce) {
  .clp-specs__row {
    transition: none;
  }

  .clp-specs__cta {
    transition: none;
  }

  .clp-specs__cta:hover {
    transform: none;
    box-shadow: 0 4px 14px rgba(242, 90, 165, 0.38);
  }
}

@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-specs__heading { font-size: var(--clp-specs-heading-size, 44px); }
.clp-specs__subheading { font-size: var(--clp-specs-heading-size, 44px); }
.clp-specs__body { font-size: var(--clp-specs-body-size, 20px); }
.clp-specs__label { font-size: var(--clp-specs-body-size, 20px); }
.clp-specs__value { font-size: var(--clp-specs-body-size, 20px); }
.clp-specs__media-caption { font-size: var(--clp-specs-body-size, 20px); }
.clp-specs__cta { font-size: var(--clp-specs-btn-size, 20px); }
/* END_SECTION:clp-product-specs */

/* START_SECTION:clp-root-cause (INDEX:27) */
/* =============================================
   CLP ROOT CAUSE — clp-root-cause.liquid
   ============================================= */

/* Section wrapper */
.clp-root {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-warm, #FDF8F3);
  padding-block-start: var(--clp-root-pt, 60px);
  padding-block-end: var(--clp-root-pb, 60px);
}

/* Centered wrapper */
.clp-root__wrapper {
  max-width: 820px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Heading */
.clp-root__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  text-align: center;
  margin: 0;
  overflow-wrap: break-word;
}

/* Rich text body */
.clp-root__body.clp-rte {
  font-size: 1.3125rem;
  line-height: 1.75;
  color: var(--clp-text-mid, #444444);
}

.clp-root__body.clp-rte p {
  margin-block: 0;
  margin-bottom: 1.5rem;
}

.clp-root__body.clp-rte p + p {
  margin-block-start: 1em;
}

/* Analogy callout — italic accent */
.clp-root__analogy {
  background: linear-gradient(135deg, #fff4f9 0%, #fff9f4 100%);
  border-radius: 12px;
  padding: 1.5rem 2rem;
  border: 1px solid #f5d5e8;
  text-align: center;
}

.clp-root__analogy-text {
  margin: 0;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: 500;
  line-height: 1.7;
  color: var(--clp-text-dark, #1a1a1a);
}

/* Key lesson */
.clp-root__lesson {
  margin: 0;
  font-size: 1.375rem;
  line-height: 1.75;
  color: var(--clp-text-mid, #444444);
}

/* Closing bold statement */
.clp-root__closing {
  margin: 0;
  font-size: 1.3125rem;
  font-weight: 800;
  color: var(--clp-accent, #F25AA5);
  text-align: center;
}

/* Wrong solutions section */
.clp-root__wrong-solutions {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.clp-root__wrong-label {
  margin: 0;
  font-size: 1.375rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--clp-text-muted, #666666);
  text-align: center;
}

/* Cards grid */
.clp-root__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

@media screen and (min-width: 750px) {
  .clp-root__cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
  }
}

/* Individual card */
.clp-root__card {
  position: relative;
  padding: 1.5rem 1.25rem;
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e8e0d8;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  overflow: hidden;
  isolation: isolate;
}

/* Red X overlay badge */
.clp-root__card-x {
  position: absolute;
  inset-block-start: 0.75rem;
  inset-inline-end: 0.75rem;
  width: 2rem;
  height: 2rem;
  background-color: #e53e3e;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.0625rem;
  font-weight: 900;
  z-index: 1;
  box-shadow: 0 2px 8px rgba(229, 62, 62, 0.35);
}

/* Diagonal strikethrough line across card */
.clp-root__card::after {
  content: '';
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: -5%;
  width: 110%;
  height: 2px;
  background: rgba(229, 62, 62, 0.25);
  transform: rotate(-4deg);
  pointer-events: none;
  z-index: 2;
}

.clp-root__card-body {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding-inline-end: 2rem;
}

.clp-root__card-title {
  display: block;
  font-size: 1.3125rem;
  font-weight: 700;
  color: var(--clp-text-dark, #1a1a1a);
}

.clp-root__card-price {
  display: block;
  font-size: 1.125rem;
  font-weight: 500;
  color: var(--clp-text-muted, #666666);
}

.clp-root__card-reason {
  margin: 0;
  font-size: 1.375rem;
  line-height: 1.7;
  color: var(--clp-text-muted, #666666);
}

/* Media block */
.clp-root__media {
  width: 100%;
  display: flex;
  justify-content: center;
}

.clp-root__image {
  display: block;
  width: 100%;
  max-width: 700px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}

.clp-root__video-wrap {
  width: 100%;
  max-width: 700px;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #ede8e0;
}

.clp-root__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-root__heading { font-size: var(--clp-root-heading-size, 44px); }
.clp-root__card-title { font-size: var(--clp-root-body-size, 20px); }
.clp-root__card-reason { font-size: var(--clp-root-body-size, 20px); }
.clp-root__analogy-text { font-size: var(--clp-root-body-size, 20px); }
.clp-root__closing { font-size: var(--clp-root-body-size, 20px); }
.clp-root__lesson { font-size: var(--clp-root-body-size, 20px); }
.clp-rte { font-size: var(--clp-root-body-size, 20px); }
/* END_SECTION:clp-root-cause */

/* START_SECTION:clp-social-proof (INDEX:28) */
/* =============================================
   CLP SOCIAL PROOF — clp-social-proof.liquid
   ============================================= */

.clp-social-proof {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-warm, #FDF8F3);
  padding-block-start: var(--clp-sp-pt, 60px);
  padding-block-end: var(--clp-sp-pb, 60px);
}

.clp-social-proof__wrapper {
  max-width: 640px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  text-align: center;
}

/* Heading */
.clp-social-proof__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  margin: 0;
  overflow-wrap: break-word;
}

/* ==== STAR RATING BLOCK ==== */
.clp-sp-rating {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
}

.clp-sp-rating__stars {
  display: inline-flex;
  gap: 0.2rem;
}

.clp-sp-star {
  font-size: 2.25rem;
  color: var(--clp-star-color, #f5a623);
  line-height: 1;
}

.clp-sp-star--partial {
  opacity: 0.4;
}

.clp-sp-rating__meta {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
}

.clp-sp-rating__score {
  font-size: 2rem;
  font-weight: 900;
  color: var(--clp-text-dark, #1a1a1a);
  line-height: 1;
}

.clp-sp-rating__divider {
  font-size: 1.375rem;
  color: var(--clp-text-muted, #666666);
  font-weight: 600;
}

.clp-sp-rating__count {
  font-size: 1.25rem;
  color: var(--clp-text-muted, #666666);
  font-weight: 500;
}

/* ==== RECOMMEND STAT ==== */
.clp-sp-recommend {
  margin: 0;
  font-size: 1.375rem;
  color: var(--clp-text-mid, #444444);
  line-height: 1.7;
}

.clp-sp-recommend__percent {
  font-size: 2rem;
  font-weight: 900;
  color: var(--clp-accent, #F25AA5);
  display: block;
  line-height: 1;
  margin-block-end: 0.375rem;
}

/* ==== RATING BARS ==== */
.clp-sp-bars {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.clp-sp-bar {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.clp-sp-bar__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.clp-sp-bar__label {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--clp-text-dark, #1a1a1a);
}

.clp-sp-bar__score {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--clp-text-muted, #666666);
}

.clp-sp-bar__track {
  width: 100%;
  height: 0.75rem;
  background: #ede8e0;
  border-radius: 100px;
  overflow: hidden;
}

.clp-sp-bar__fill {
  height: 100%;
  width: var(--clp-bar-pct, 0%);
  background: linear-gradient(90deg, var(--clp-accent, #F25AA5) 0%, #f780c0 100%);
  border-radius: 100px;
  transition: width 0.6s ease;
}

/* Reduced motion: disable fill animation */
@media (prefers-reduced-motion: reduce) {
  .clp-sp-bar__fill {
    transition: none;
  }
}

/* Focus visible for interactive elements */
.clp-sp-bar__track:focus-visible {
  outline: 3px solid var(--clp-accent, #F25AA5);
  outline-offset: 2px;
}

/* Media block */
.clp-sp__media {
  width: 100%;
  display: flex;
  justify-content: center;
}

.clp-sp__image {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
}

.clp-sp__video-wrap {
  width: 100%;
  max-width: 560px;
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #ede8e0;
}

.clp-sp__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}


@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-social-proof__heading { font-size: var(--clp-sp-heading-size, 44px); }
.clp-sp-bar__label { font-size: var(--clp-sp-body-size, 18px); }
.clp-sp-bar__score { font-size: var(--clp-sp-body-size, 18px); }
.clp-sp-rating__count { font-size: var(--clp-sp-body-size, 18px); }
.clp-sp-rating__score { font-size: var(--clp-sp-body-size, 18px); }
.clp-sp-recommend { font-size: var(--clp-sp-body-size, 18px); }
/* END_SECTION:clp-social-proof */

/* START_SECTION:clp-timeline (INDEX:29) */
/* =============================================
   CLP TIMELINE — clp-timeline.liquid
   ============================================= */

.clp-timeline {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-white, #ffffff);
  padding-block-start: var(--clp-tl-pt, 60px);
  padding-block-end: var(--clp-tl-pb, 60px);
}

.clp-timeline__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

/* Heading */
.clp-timeline__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  text-align: center;
  margin: 0;
  max-width: 620px;
  overflow-wrap: break-word;
}

/* ==== TIMELINE TRACK ==== */

/* Mobile: vertical stacked list */
.clp-timeline__track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  max-width: 560px;
  position: relative;
}

/* Vertical connecting line running through the track */
.clp-timeline__track::before {
  content: '';
  position: absolute;
  inset-block-start: 1.5rem;
  inset-block-end: 1.5rem;
  inset-inline-start: 1.5rem;
  width: 2px;
  background: linear-gradient(180deg, var(--clp-accent, #F25AA5) 0%, #f5d5e8 100%);
  z-index: 0;
}

/* Desktop: horizontal 4-column layout */
@media screen and (min-width: 750px) {
  .clp-timeline__track {
    flex-direction: row;
    align-items: flex-start;
    max-width: 100%;
    gap: 0;
  }

  .clp-timeline__track::before {
    inset-block-start: 4.75rem;
    inset-block-end: auto;
    inset-inline-start: calc(12.5%);
    inset-inline-end: calc(12.5%);
    width: auto;
    height: 2px;
    background: linear-gradient(90deg, var(--clp-accent, #F25AA5) 0%, #f5d5e8 100%);
  }
}

/* Individual stage */
.clp-tl-stage {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-inline-start: 4rem;
  padding-block-end: 2.5rem;
  z-index: 1;
}

.clp-tl-stage:last-child {
  padding-block-end: 0;
}

@media screen and (min-width: 750px) {
  .clp-tl-stage {
    flex: 1;
    padding-inline-start: 0;
    padding-block-end: 0;
    align-items: center;
    text-align: center;
    padding-inline: 0.75rem;
  }
}

/* Stage optional image */
.clp-tl-stage__media {
  width: 100%;
  margin-block-end: 0.875rem;
  border-radius: var(--clp-radius-sm, 6px);
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.clp-tl-stage__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Timeline dot */
.clp-tl-stage__dot {
  position: absolute;
  inset-inline-start: 0.875rem;
  inset-block-start: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: var(--clp-accent, #F25AA5);
  border: 3px solid #ffffff;
  box-shadow: 0 0 0 2px var(--clp-accent, #F25AA5);
  z-index: 2;
  flex-shrink: 0;
}

@media screen and (min-width: 750px) {
  .clp-tl-stage__dot {
    position: static;
    inset: auto;
    width: 1.5rem;
    height: 1.5rem;
    margin-block-end: 1rem;
    align-self: center;
  }
}

/* Connector arrow (decorative, desktop between stages) */
.clp-tl-stage__connector {
  display: none;
}

/* Stage label — time period */
.clp-tl-stage__label {
  display: inline-block;
  font-size: 1.0625rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--clp-accent, #F25AA5);
  background: #fde8f3;
  border-radius: 4px;
  padding: 0.25rem 0.625rem;
  margin-block-end: 0.5rem;
}

/* Stage body text */
.clp-tl-stage__body {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--clp-text-mid, #444444);
}

/* Disclaimer note */
.clp-tl-stage__dot:focus-visible {
  outline: 3px solid var(--clp-accent, #F25AA5);
  outline-offset: 2px;
}

.clp-timeline__disclaimer {
  max-width: 600px;
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--clp-text-muted, #666666);
  font-style: italic;
  margin: 0;
  padding-block-start: 0.5rem;
  border-block-start: 1px solid #ede8e0;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-timeline__heading { font-size: var(--clp-tl-heading-size, 44px); }
.clp-tl-stage__label { font-size: var(--clp-tl-body-size, 20px); }
.clp-tl-stage__body { font-size: var(--clp-tl-body-size, 20px); }
.clp-timeline__disclaimer { font-size: var(--clp-tl-body-size, 20px); }
/* END_SECTION:clp-timeline */

/* START_SECTION:clp-trust-badges (INDEX:30) */
/* =============================================
   CLP TRUST BADGES — clp-trust-badges.liquid
   ============================================= */

.clp-trust-badges {
  font-family: 'Poppins', sans-serif;
  background-color: var(--clp-bg-white, #ffffff);
  padding-block-start: var(--clp-tb-pt, 60px);
  padding-block-end: var(--clp-tb-pb, 60px);
}

/* Wrapper */
.clp-trust-badges__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}

/* Header */
.clp-trust-badges__header {
  text-align: center;
  max-width: 680px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.clp-trust-badges__heading {
  font-size: clamp(2.25rem, 5vw, 3.25rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--clp-text-dark, #1a1a1a);
  margin: 0;
  overflow-wrap: break-word;
}

.clp-trust-badges__subheading {
  font-size: clamp(1.0625rem, 2vw, 1.25rem);
  color: var(--clp-text-mid, #444444);
  line-height: 1.7;
  margin: 0;
}

/* Media block */
.clp-trust-badges__media {
  width: 100%;
  display: flex;
  justify-content: center;
}

.clp-trust-badges__image {
  display: block;
  width: 100%;
  max-width: 640px;
  height: auto;
  border-radius: var(--clp-radius-md, 12px);
  object-fit: cover;
}

.clp-trust-badges__video-wrap {
  width: 100%;
  max-width: 640px;
  border-radius: var(--clp-radius-md, 12px);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #ede8e0;
}

.clp-trust-badges__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Badge grid — mobile first: single column */
.clp-trust-badges__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

/* 3-column at 750px+ */
@media screen and (min-width: 750px) {
  .clp-trust-badges__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}

/* Badge card */
.clp-trust-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  padding: 2rem 1.5rem;
  background: #ffffff;
  border: 1px solid #ede8e0;
  border-radius: var(--clp-radius-lg, 20px);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  transition: box-shadow var(--clp-transition, 0.2s ease), transform var(--clp-transition, 0.2s ease);
}

.clp-trust-badge:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.09);
  transform: translateY(-2px);
}

/* Icon circle — green-tinted */
.clp-trust-badge__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #e6f9ec 0%, #d0f2da 100%);
  flex-shrink: 0;
}

.clp-trust-badge__icon-text {
  font-size: 1.75rem;
  line-height: 1;
  display: block;
}

/* Card body */
.clp-trust-badge__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.clp-trust-badge__title {
  font-size: 1.375rem;
  font-weight: 700;
  color: var(--clp-text-dark, #1a1a1a);
  margin: 0;
  line-height: 1.3;
  overflow-wrap: break-word;
}

.clp-trust-badge__description {
  font-size: 1.25rem;
  color: var(--clp-text-muted, #666666);
  line-height: 1.7;
  margin: 0;
  overflow-wrap: break-word;
}

/* Focus styles */
.clp-trust-badge:focus-visible {
  outline: 3px solid var(--clp-accent, #F25AA5);
  outline-offset: 2px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .clp-trust-badge {
    transition: none;
  }

  .clp-trust-badge:hover {
    transform: none;
  }
}

@media screen and (max-width: 749px) {
  /* Ensure minimum font sizes on mobile */
  [class*="clp-"] p,
  [class*="clp-"] li,
  [class*="clp-"] td,
  [class*="clp-"] th {
    font-size: max(1.25rem, inherit);
    line-height: 1.7;
  }
}

/* Typography size controls — driven by section settings */
.clp-trust-badges__heading { font-size: var(--clp-trust-heading-size, 44px); }
.clp-trust-badges__subheading { font-size: var(--clp-trust-heading-size, 44px); }
.clp-trust-badge__title { font-size: var(--clp-trust-body-size, 20px); }
.clp-trust-badge__description { font-size: var(--clp-trust-body-size, 20px); }
/* END_SECTION:clp-trust-badges */

/* START_SECTION:cv-listicle-reason (INDEX:44) */
.cv-listicle-reason {
    background-color: var(--cv-reason-bg, #ffffff);
    color: var(--cv-reason-text, #000000);
    font-family: 'Aeonik', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    padding-block: clamp(2.5rem, 5vw, 3.75rem);
    content-visibility: auto;
    contain-intrinsic-size: auto 900px;
  }

  .cv-listicle-reason .cv-listicle-container {
    inline-size: min(82.5rem, 100%);
    margin-inline: auto;
    padding-inline: clamp(1.25rem, 4vw, 3.125rem);
  }

  .cv-listicle-reason__flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: clamp(1.25rem, 4vw, 2.5rem);
  }

  .cv-listicle-reason__flex--text-right {
    flex-direction: row-reverse;
  }

  .cv-listicle-reason__text-col {
    inline-size: 43%;
    min-inline-size: 0;
    max-inline-size: 100%;
  }

  .cv-listicle-reason__media-col {
    inline-size: 50.5%;
    min-inline-size: 0;
    max-inline-size: 100%;
  }

  .cv-listicle-reason__number {
    color: #ffffff;
    font-size: calc(1.855rem * var(--cv-font-scale, 1));
    font-weight: 700;
    line-height: 1;
    border-radius: 50%;
    background: linear-gradient(90deg, color-mix(in srgb, var(--cv-reason-accent, #cd3124) 80%, #000 20%), var(--cv-reason-accent, #cd3124));
    inline-size: 2.875rem;
    block-size: 2.875rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-block-end: 0.9375rem;
  }

  .cv-listicle-reason__number--label {
    inline-size: auto;
    min-inline-size: 2.875rem;
    padding-inline: 0.875rem;
    border-radius: 999px;
    font-size: calc(1rem * var(--cv-font-scale, 1));
  }

  .cv-listicle-reason__heading .cv-listicle-h1 {
    font-size: calc(clamp(1.375rem, 2.25vw, 2.125rem) * var(--cv-font-scale, 1));
    font-weight: 500;
    line-height: 1.16;
    padding-block-end: 1.25rem;
    margin: 0;
    color: inherit;
  }

  .cv-listicle-reason__heading .cv-listicle-h1 strong {
    font-weight: 700;
    color: var(--cv-reason-accent, #cd3124);
  }

  .cv-listicle-reason__body {
    font-size: calc(clamp(1rem, 1.25vw, 1.125rem) * var(--cv-font-scale, 1));
    font-weight: 400;
    line-height: 1.58;
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
    color: var(--cv-reason-text-muted, #000000cc);
    overflow-wrap: break-word;
  }

  .cv-listicle-reason__body p {
    margin: 0;
  }

  .cv-listicle-reason__body strong {
    font-weight: 500;
  }

  .cv-listicle-reason__media {
    position: relative;
    border-radius: 1.25rem;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background-color: color-mix(in srgb, currentColor 8%, transparent);
    isolation: isolate;
  }

  .cv-listicle-reason__img,
  .cv-listicle-reason__video {
    inline-size: 100%;
    block-size: 100%;
    display: block;
    object-fit: cover;
  }

  .cv-listicle-reason__cta {
    padding-block-start: 1.875rem;
  }

  .cv-listicle-reason__btn {
    border-radius: 0.3125rem;
    background: var(--cv-reason-accent, #cd3124);
    color: #ffffff;
    font-size: calc(1.125rem * var(--cv-font-scale, 1));
    font-weight: 500;
    line-height: 1.1;
    text-decoration: none;
    inline-size: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    min-block-size: 4.25rem;
    transition: background-color 200ms, color 200ms, outline-offset 150ms;
    border: 2px solid var(--cv-reason-accent, #cd3124);
    cursor: pointer;
    box-sizing: border-box;
  }

  .cv-listicle-reason__btn:hover {
    background: transparent;
    color: var(--cv-reason-accent, #cd3124);
  }

  .cv-listicle-reason__btn:focus-visible {
    outline: 2px solid var(--cv-reason-accent, #cd3124);
    outline-offset: 3px;
  }

  .cv-listicle-reason__guarantee {
    display: flex;
    justify-content: center;
    padding-block-start: 0.625rem;
    font-size: calc(1rem * var(--cv-font-scale, 1));
    font-weight: 400;
    line-height: 1.22;
    gap: 0.5rem;
    align-items: center;
    color: var(--cv-reason-text-muted, #000000cc);
  }

  .cv-listicle-reason__guarantee svg {
    color: var(--cv-reason-accent, #cd3124);
    flex-shrink: 0;
    translate: 0 2px;
  }

  .cv-listicle-reason__testimonial {
    margin-block-start: 1.875rem;
  }

  .cv-listicle-reason__tcard {
    display: flex;
    border-radius: 0.625rem;
    border: 1px solid #ADADAD;
    background: linear-gradient(338deg, #dfdfdf -4.41%, #fff 52.12%), #fff;
    overflow: hidden;
    align-items: center;
  }

  .cv-listicle-reason__tcard-image {
    position: relative;
    inline-size: 20rem;
    max-inline-size: 100%;
    flex-shrink: 0;
  }

  .cv-listicle-reason__tcard-image img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
  }

  .cv-listicle-reason__tcard-content {
    inline-size: calc(100% - 20rem);
    padding-inline: 1.5625rem 1.6875rem;
  }

  .cv-listicle-reason__tcard-stars {
    display: flex;
    gap: 0.125rem;
    padding-block-end: 0.625rem;
    color: var(--cv-reason-accent, #cd3124);
  }

  .cv-listicle-reason__tcard-author {
    font-size: calc(1.125rem * var(--cv-font-scale, 1));
    font-weight: 500;
    line-height: 1.22;
    padding-block: 0.9375rem;
  }

  .cv-listicle-reason__tcard-author span {
    display: block;
    color: var(--cv-reason-accent, #cd3124);
    font-size: calc(1rem * var(--cv-font-scale, 1));
    font-weight: 400;
    line-height: 1.25;
  }

  .cv-listicle-reason__tcard-quote {
    font-size: calc(1.125rem * var(--cv-font-scale, 1));
    font-weight: 400;
    line-height: 1.33;
    color: var(--cv-reason-text-muted, #000000cc);
    margin: 0;
    padding: 0;
    border: 0;
  }

  .cv-listicle-reason__tcard-quote p {
    margin: 0;
  }

  .cv-listicle-reason__ba-labels {
    position: absolute;
    inset-block-end: 0.625rem;
    inset-inline: 0;
    display: flex;
    justify-content: space-around;
    padding-inline: 0.625rem;
    pointer-events: none;
  }

  .cv-listicle-reason__ba-label {
    background: rgba(0, 0, 0, 0.6);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 500;
    padding-block: 0.25rem;
    padding-inline: 0.625rem;
    border-radius: 0.25rem;
    line-height: normal;
  }

  .visually-hidden {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  @media (max-width: 915px) {
    .cv-listicle-reason__flex,
    .cv-listicle-reason__flex--text-right {
      flex-direction: column;
      gap: 1.875rem;
    }

    .cv-listicle-reason--mobile-media-first .cv-listicle-reason__flex,
    .cv-listicle-reason--mobile-media-first .cv-listicle-reason__flex--text-right {
      flex-direction: column-reverse;
    }

    .cv-listicle-reason__text-col,
    .cv-listicle-reason__media-col {
      inline-size: 100%;
      max-inline-size: 100%;
    }

    .cv-listicle-reason__number {
      font-size: 1.25rem;
      inline-size: 1.9375rem;
      block-size: 1.9375rem;
      margin-block-end: 0.8125rem;
    }

    .cv-listicle-reason__number--label {
      inline-size: auto;
      min-inline-size: 1.9375rem;
      padding-inline: 0.6875rem;
      font-size: 0.875rem;
    }

    .cv-listicle-reason__body {
      gap: 1rem;
      max-inline-size: 42rem;
    }

    .cv-listicle-reason__testimonial {
      inline-size: calc(100% + 2.5rem);
      margin-inline-start: -1.25rem;
      margin-block-start: 1.25rem;
    }

    .cv-listicle-reason__tcard {
      border-inline: 0;
      border-radius: 0;
    }

    .cv-listicle-reason__tcard-image {
      inline-size: 50%;
    }

    .cv-listicle-reason__tcard-content {
      inline-size: 50%;
      padding-inline: 0.625rem 0.75rem;
    }

    .cv-listicle-reason__tcard-quote {
      font-size: 0.9375rem;
      line-height: 1.45;
    }

    .cv-listicle-reason__tcard-stars svg {
      inline-size: auto;
      block-size: 0.6875rem;
    }

    .cv-listicle-reason__tcard-author {
      font-size: 0.9375rem;
      line-height: 1.3;
      padding-block: 0.5rem;
    }

    .cv-listicle-reason__tcard-author span {
      font-size: 0.875rem;
      line-height: 1.3;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .cv-listicle-reason__btn {
      transition-duration: 0.01ms;
    }

    .cv-listicle-reason__video {
      animation-play-state: paused;
    }
  }

  @media (forced-colors: active) {
    .cv-listicle-reason__btn {
      border: 2px solid LinkText;
      color: LinkText;
      background: Canvas;
    }

    .cv-listicle-reason__btn:focus-visible {
      outline: 3px solid LinkText;
    }
  }
/* END_SECTION:cv-listicle-reason */

/* START_SECTION:ey-benefits (INDEX:49) */
/* ============================================================
   EY Benefits Section
   Prefix: ey-benefits-
   ============================================================ */

/* Google Fonts — loaded once; Shopify deduplicates */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Open+Sans:wght@400;600&display=swap');

/* ---------- Section shell ---------- */
.ey-benefits {
  width: 100%;
  box-sizing: border-box;
}

.ey-benefits__inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 24px;
  box-sizing: border-box;
}

/* ---------- Section heading ---------- */
.ey-benefits-heading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: clamp(1.75rem, 4vw, 3rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-align: center;
  margin: 0 0 48px;
  max-width: 820px;
  margin-inline: auto;
  margin-bottom: 48px;
}

/* ---------- Two-column body ---------- */
.ey-benefits__body {
  display: grid;
  grid-template-columns: 55fr 45fr;
  gap: 48px;
  align-items: start;
}

/* ---------- LEFT: Benefit items ---------- */
.ey-benefits__items {
  display: flex;
  flex-direction: column;
}

.ey-benefits-item {
  padding-block: 28px;
  border-bottom: 1px solid; /* color set via {% style %} */
}

.ey-benefits-item:first-child {
  padding-top: 0;
}

.ey-benefits-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.ey-benefits-item__title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: clamp(0.95rem, 1.5vw, 1.125rem);
  line-height: 1.3;
  letter-spacing: 0.01em;
  margin: 0 0 10px;
}

.ey-benefits-item__description {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: clamp(0.875rem, 1.2vw, 1rem);
  line-height: 1.7;
  margin: 0;
}

.ey-benefits-item__description p {
  margin: 0;
}

.ey-benefits-item__description p + p {
  margin-top: 0.75em;
}

/* ---------- RIGHT: Media ---------- */
.ey-benefits__media {
  position: sticky;
  top: 24px;
  /* height matches left column content via align-items: start + sticky */
}

.ey-benefits__img,
.ey-benefits__video {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 400px;
  object-fit: cover;
  border-radius: 0;
}

.ey-benefits__video-embed {
  position: relative;
  width: 100%;
  padding-bottom: 120%; /* tall portrait ratio for right-column video */
  overflow: hidden;
}

.ey-benefits__video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  object-fit: cover;
}

.ey-benefits__placeholder {
  width: 100%;
  min-height: 400px;
  background: rgba(0,0,0,0.06);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ey-benefits__placeholder-svg {
  width: 100%;
  height: 100%;
  min-height: 400px;
  opacity: 0.3;
}

/* ---------- CTA ---------- */
.ey-benefits__cta {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}

.ey-benefits-btn {
  display: inline-block;
  min-width: 280px;
  padding: 16px 48px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  border-radius: 0;
  border: 2px solid;
  cursor: pointer;
  transition: opacity 0.2s ease;
  box-sizing: border-box;
}

.ey-benefits-btn:hover {
  /* opacity set via {% style %} per-section */
  text-decoration: none;
}

/* ---------- Mobile: ≤767px ---------- */
@media (max-width: 767px) {
  .ey-benefits__inner {
    padding-inline: 16px;
  }

  .ey-benefits-heading {
    font-size: 1.5rem;
    margin-bottom: 32px;
    letter-spacing: -0.01em;
  }

  .ey-benefits__body {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  /* Image on top, benefits below */
  .ey-benefits__media {
    position: static;
    order: -1;
    width: 100%;
  }

  .ey-benefits__img,
  .ey-benefits__video {
    min-height: 280px;
    max-height: 420px;
    width: 100%;
    object-fit: cover;
  }

  .ey-benefits__video-embed {
    padding-bottom: 75%;
  }

  .ey-benefits__placeholder {
    min-height: 280px;
  }

  .ey-benefits-item {
    padding-block: 20px;
  }

  .ey-benefits__cta {
    margin-top: 36px;
  }

  .ey-benefits-btn {
    min-width: 0;
    width: 100%;
    max-width: 340px;
    padding: 16px 32px;
  }
}

/* ---------- Tablet: 768px–1023px ---------- */
@media (min-width: 768px) and (max-width: 1023px) {
  .ey-benefits__body {
    grid-template-columns: 55fr 45fr;
    gap: 32px;
  }

  .ey-benefits__inner {
    padding-inline: 32px;
  }

  .ey-benefits__img,
  .ey-benefits__video {
    min-height: 360px;
  }
}
/* END_SECTION:ey-benefits */

/* START_SECTION:ey-comparison-table (INDEX:50) */
/* ====================================================
   EY Comparison Table — scoped styles
   Prefix: ey-comparison-
   ==================================================== */

/* ── Google Fonts (Montserrat + Open Sans loaded in <head> via tag above) ── */

/* ── Reset ── */
.ey-comparison-section,
.ey-comparison-section * {
  box-sizing: border-box;
}

/* ── Section root ── */
.ey-comparison-section {
  background-color: #ffffff;
  color: #09152b;
  font-family: 'Open Sans', sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
}

/* ── Centered inner container ── */
.ey-comparison-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: flex-start;
  gap: 48px;
}

/* ==============================================
   LEFT COLUMN  (~45%)
   ============================================== */
.ey-comparison-left {
  flex: 0 0 45%;
  max-width: 45%;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* ── Heading ── */
.ey-comparison-heading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: clamp(1.75rem, 2.2vw + 0.75rem, 2.75rem);
  line-height: 1.15;
  color: #09152b;
  margin: 0;
  padding: 0;
}

/* ── Media container ── */
.ey-comparison-media {
  width: 100%;
  border-radius: 2px;
  overflow: hidden;
}

.ey-comparison-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 2px;
}

.ey-comparison-video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  object-fit: cover;
}

/* ==============================================
   RIGHT COLUMN  (~55%)
   ============================================== */
.ey-comparison-right {
  flex: 0 0 55%;
  max-width: 55%;
}

/* ── Scrollable wrapper (ensures table never breaks layout) ── */
.ey-comparison-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #e5e0d8;
  border-radius: 4px;
}

/* ==============================================
   TABLE
   ============================================== */
.ey-comparison-table {
  width: 100%;
  min-width: 400px;
  border-collapse: collapse;
  border-spacing: 0;
  font-family: 'Open Sans', sans-serif;
  table-layout: fixed;
}

/* ── Header row ── */
.ey-comparison-header-row {
  border-bottom: 2px solid #09152b;
}

.ey-comparison-th {
  padding: 16px 20px;
  text-align: center;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  color: #09152b;
  vertical-align: middle;
  line-height: 1.3;
}

.ey-comparison-th--feature {
  text-align: left;
  width: 44%;
  background-color: #ffffff;
}

.ey-comparison-th--brand {
  background-color: #f5f3ef;
  width: 28%;
}

.ey-comparison-th--competitor {
  background-color: #ffffff;
  width: 28%;
}

/* ── Brand logo in table header ── */
.ey-comparison-brand-logo {
  display: block;
  max-width: 120px;
  max-height: 48px;
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

.ey-comparison-brand-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: #09152b;
  white-space: nowrap;
}

.ey-comparison-competitor-name {
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  color: #6b7280;
  white-space: nowrap;
}

/* ── Body rows ── */
.ey-comparison-row {
  border-bottom: 1px solid #e5e0d8;
}

.ey-comparison-row:last-child {
  border-bottom: none;
}

/* ── Table data cells ── */
.ey-comparison-td {
  padding: 20px;
  vertical-align: middle;
  font-weight: 600;
  font-size: 0.9375rem;
  color: #09152b;
}

.ey-comparison-td--feature {
  text-align: left;
  background-color: #ffffff;
  font-family: 'Open Sans', sans-serif;
  font-weight: 600;
  color: #09152b;
  word-break: break-word;
}

.ey-comparison-td--brand {
  background-color: #f5f3ef;
  text-align: center;
}

.ey-comparison-td--competitor {
  background-color: #ffffff;
  text-align: center;
}

/* ==============================================
   ICON — Checkmark (navy filled circle, white check)
   ============================================== */
.ey-comparison-icon-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: #09152b;
  flex-shrink: 0;
  vertical-align: middle;
}

.ey-comparison-icon-check svg {
  width: 18px;
  height: 18px;
  overflow: visible;
}

/* ==============================================
   ICON — X mark (gray circle outline)
   ============================================== */
.ey-comparison-icon-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid #9ca3af;
  background-color: transparent;
  flex-shrink: 0;
  vertical-align: middle;
}

.ey-comparison-icon-x svg {
  width: 16px;
  height: 16px;
  overflow: visible;
}

/* ==============================================
   TEXT LABELS (YES / NO / custom)
   ============================================== */
.ey-comparison-text {
  display: inline-block;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
}

/* Brand YES — navy */
.ey-comparison-text--yes-brand {
  color: #09152b;
}

/* Competitor YES — gray */
.ey-comparison-text--yes-competitor {
  color: #6b7280;
}

/* Brand NO — navy */
.ey-comparison-text--no-brand {
  color: #09152b;
}

/* Competitor NO — gray */
.ey-comparison-text--no-competitor {
  color: #6b7280;
}

/* Custom text */
.ey-comparison-text--custom {
  color: #09152b;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.9rem;
}

/* ==============================================
   CTA BUTTON  — centered below table
   ============================================== */
.ey-comparison-cta-wrap {
  max-width: 1200px;
  margin: 48px auto 0;
  padding: 0 32px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.ey-comparison-btn {
  display: inline-block;
  background-color: #09152b;
  color: #ffffff;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 16px 48px;
  border-radius: 0;
  border: 2px solid #09152b;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
  line-height: 1;
}

.ey-comparison-btn:hover {
  background-color: #ffffff;
  color: #09152b;
}

.ey-comparison-btn:focus-visible {
  outline: 2px solid #09152b;
  outline-offset: 3px;
  background-color: #ffffff;
  color: #09152b;
}

/* ==============================================
   SCREEN READER UTILITY
   ============================================== */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ==============================================
   RESPONSIVE — TABLET  (≤900px)
   ============================================== */
@media screen and (max-width: 900px) {
  .ey-comparison-inner {
    gap: 32px;
    padding: 0 24px;
  }

  .ey-comparison-heading {
    font-size: clamp(1.5rem, 3vw + 0.5rem, 2.25rem);
  }

  .ey-comparison-td,
  .ey-comparison-th {
    padding: 16px 14px;
  }
}

/* ==============================================
   RESPONSIVE — MOBILE  (≤767px)  — stacked layout
   ============================================== */
@media screen and (max-width: 767px) {
  .ey-comparison-inner {
    flex-direction: column;
    gap: 28px;
    padding: 0 16px;
  }

  .ey-comparison-left,
  .ey-comparison-right {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }

  .ey-comparison-left {
    gap: 20px;
  }

  .ey-comparison-heading {
    font-size: clamp(1.375rem, 6vw, 1.875rem);
  }

  /* Horizontal scroll on small screens */
  .ey-comparison-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ey-comparison-table {
    min-width: 360px;
  }

  .ey-comparison-td,
  .ey-comparison-th {
    padding: 14px 10px;
    font-size: 0.8125rem;
  }

  .ey-comparison-td--feature {
    font-size: 0.8125rem;
  }

  .ey-comparison-icon-check,
  .ey-comparison-icon-x {
    width: 30px;
    height: 30px;
  }

  .ey-comparison-icon-check svg {
    width: 15px;
    height: 15px;
  }

  .ey-comparison-icon-x svg {
    width: 13px;
    height: 13px;
  }

  .ey-comparison-cta-wrap {
    padding: 0 16px;
    margin-top: 32px;
  }

  .ey-comparison-btn {
    width: 100%;
    max-width: 400px;
    text-align: center;
    padding: 16px 24px;
  }
}
/* END_SECTION:ey-comparison-table */

/* START_SECTION:ey-cta-banner (INDEX:51) */
.ey-cta-banner-section {
  background-color: {{ section.settings.bg_color }};
  padding-top: {{ section.settings.padding_top }}px;
  padding-bottom: {{ section.settings.padding_bottom }}px;
}

.ey-cta-banner-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 40fr 60fr;
  min-height: 480px;
}

.ey-cta-banner-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: 40px 48px 40px 24px;
  color: {{ section.settings.text_color }};
}

.ey-cta-banner-heading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.2;
  color: {{ section.settings.text_color }};
  margin: 0;
}

.ey-cta-banner-subtext {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: {{ section.settings.text_color }};
  opacity: 0.75;
  margin: 0;
}

.ey-cta-banner-btn {
  display: inline-block;
  background-color: {{ section.settings.button_bg }};
  color: {{ section.settings.button_text_color }};
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 14px 28px;
  border-radius: 0;
  border: none;
  min-width: 240px;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.2s ease;
  align-self: flex-start;
}

.ey-cta-banner-btn:hover {
  opacity: 0.85;
  color: {{ section.settings.button_text_color }};
  text-decoration: none;
}

.ey-cta-banner-media {
  position: relative;
  overflow: hidden;
}

.ey-cta-banner-media img,
.ey-cta-banner-media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.ey-cta-banner-media-inner {
  width: 100%;
  height: 100%;
  position: relative;
}

@media screen and (max-width: 768px) {
  .ey-cta-banner-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .ey-cta-banner-inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .ey-cta-banner-media {
    order: -1;
    min-height: 280px;
    position: relative;
  }

  .ey-cta-banner-content {
    padding: 32px 24px;
    align-items: center;
    text-align: center;
  }

  .ey-cta-banner-heading {
    font-size: 24px;
  }

  .ey-cta-banner-btn {
    align-self: center;
  }
}
/* END_SECTION:ey-cta-banner */

/* START_SECTION:ey-faq (INDEX:52) */
.ey-faq-section {
  width: 100%;
}

/* ── Header banner ── */
.ey-faq-header {
  width: 100%;
  padding: 40px 24px;
  text-align: center;
}

.ey-faq-heading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.2;
  margin: 0;
  padding: 0;
}

/* ── Cards container ── */
.ey-faq-container {
  max-width: 700px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

.ey-faq-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ── Individual card ── */
.ey-faq-card {
  border-radius: 0;
  border: 1px solid #E5E5E5;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}

/* ── Question row ── */
.ey-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px 24px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  gap: 16px;
  box-sizing: border-box;
}

.ey-faq-question-text {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.4;
  flex: 1;
}

/* ── Chevron ── */
.ey-faq-chevron {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
  color: #09152B;
}

.ey-faq-card--open .ey-faq-chevron {
  transform: rotate(180deg);
}

/* ── Answer panel ── */
.ey-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.ey-faq-card--open .ey-faq-answer {
  max-height: 800px;
}

.ey-faq-answer-inner {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
  padding: 0 24px 20px 24px;
}

.ey-faq-answer-inner p {
  margin: 0 0 0.75em;
}

.ey-faq-answer-inner p:last-child {
  margin-bottom: 0;
}

.ey-faq-answer-inner a {
  color: #09152B;
  text-decoration: underline;
}

/* ── Mobile ── */
@media (max-width: 640px) {
  .ey-faq-heading {
    font-size: 24px;
  }

  .ey-faq-header {
    padding: 32px 16px;
  }

  .ey-faq-container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .ey-faq-question {
    padding: 16px 16px;
  }

  .ey-faq-question-text {
    font-size: 15px;
  }

  .ey-faq-answer-inner {
    padding: 0 16px 16px 16px;
    font-size: 14px;
  }
}
/* END_SECTION:ey-faq */

/* START_SECTION:ey-guarantee (INDEX:53) */
.ey-guarantee-section {
    width: 100%;
    box-sizing: border-box;
  }

  .ey-guarantee-inner {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  /* Badge */
  .ey-guarantee-badge {
    max-width: 200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .ey-guarantee-badge img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 200px;
    margin-left: auto;
    margin-right: auto;
  }

  .ey-guarantee-badge--placeholder svg {
    display: block;
    width: 160px;
    height: 160px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Heading */
  .ey-guarantee-heading {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 42px;
    line-height: 1.15;
    letter-spacing: -0.5px;
    margin: 0;
    padding: 0;
  }

  /* Subtext */
  .ey-guarantee-subtext {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.65;
    margin: 0;
    padding: 0;
    opacity: 0.72;
    max-width: 560px;
  }

  /* CTA */
  .ey-guarantee-cta {
    margin-top: 8px;
  }

  .ey-guarantee-btn {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 14px 36px;
    border: 2px solid;
    border-radius: 3px;
    transition: opacity 0.2s ease;
    cursor: pointer;
  }

  .ey-guarantee-btn:hover {
    opacity: 0.82;
  }

  /* Mobile */
  @media (max-width: 749px) {
    .ey-guarantee-inner {
      gap: 20px;
      padding-left: 20px;
      padding-right: 20px;
    }

    .ey-guarantee-heading {
      font-size: 28px;
      letter-spacing: -0.25px;
    }

    .ey-guarantee-subtext {
      font-size: 16px;
    }

    .ey-guarantee-badge--placeholder svg {
      width: 120px;
      height: 120px;
    }

    .ey-guarantee-btn {
      font-size: 14px;
      padding: 13px 28px;
    }
  }
/* END_SECTION:ey-guarantee */

/* START_SECTION:ey-product-highlights (INDEX:54) */
/* =====================================================
   EY Product Highlights — Accordion Section
   Class prefix: ey-highlights-
   ===================================================== */

/* Google Fonts import is handled at theme level.
   Ensure Montserrat and Open Sans are loaded in theme.liquid.
   If not, uncomment the line below: */
/* @import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Open+Sans:wght@400;600&display=swap'); */

.ey-highlights {
  width: 100%;
  background-color: #FFFFFF;
  box-sizing: border-box;
}

.ey-highlights__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

/* ── Heading ─────────────────────────────────────── */

.ey-highlights__heading {
  font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  font-size: 1.125rem; /* 18px */
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #09152B;
  margin: 0 0 20px 0;
  padding: 0;
  line-height: 1.3;
}

.ey-highlights__heading--left   { text-align: left; }
.ey-highlights__heading--center { text-align: center; }
.ey-highlights__heading--right  { text-align: right; }

/* ── Accordion list ───────────────────────────────── */

.ey-highlights__list {
  border-top: 1px solid rgba(9, 21, 43, 0.12);
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ── Individual item ─────────────────────────────── */

.ey-highlights__item {
  border-bottom: 1px solid rgba(9, 21, 43, 0.12);
}

/* ── Trigger button ──────────────────────────────── */

.ey-highlights__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  color: #09152B;
  gap: 12px;
  -webkit-appearance: none;
  appearance: none;
}

.ey-highlights__trigger:focus-visible {
  outline: 2px solid #09152B;
  outline-offset: 2px;
  border-radius: 2px;
}

.ey-highlights__trigger:hover .ey-highlights__title {
  opacity: 0.75;
}

/* ── Trigger left: icon + title ──────────────────── */

.ey-highlights__trigger-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1 1 auto;
  min-width: 0;
}

/* ── Icon ────────────────────────────────────────── */

.ey-highlights__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
}

.ey-highlights__icon-img {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}

/* ── Title ───────────────────────────────────────── */

.ey-highlights__title {
  font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
  font-size: 0.875rem; /* 14px */
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #09152B;
  line-height: 1.4;
  transition: opacity 0.2s ease;
}

/* ── Chevron ─────────────────────────────────────── */

.ey-highlights__chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: #09152B;
}

.ey-highlights__chevron-svg {
  display: block;
  transition: transform 0.3s ease;
  transform-origin: center center;
}

/* Rotate chevron when item is open */
.ey-highlights__item--open .ey-highlights__chevron-svg {
  transform: rotate(180deg);
}

/* ── Panel (collapsible body) ────────────────────── */

.ey-highlights__panel {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}

.ey-highlights__item--open .ey-highlights__panel {
  max-height: 800px; /* large enough for any realistic content */
  transition: max-height 0.3s ease;
}

.ey-highlights__panel-inner {
  padding: 0 0 18px 0;
}

/* If icon is present, indent content to align with title text */
.ey-highlights__item .ey-highlights__trigger-left .ey-highlights__icon ~ .ey-highlights__title {
  /* icon (40px) + gap (14px) = 54px indent for panel */
}

/* Indented panel — only applies when blocks have an icon.
   Uses padding-left to visually align content under title. */
.ey-highlights__item:has(.ey-highlights__icon) .ey-highlights__panel-inner {
  padding-left: 54px; /* 40px icon + 14px gap */
}

/* ── Content (richtext) ──────────────────────────── */

.ey-highlights__content {
  font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif;
  font-size: 0.875rem; /* 14px */
  font-weight: 400;
  color: #09152B;
  line-height: 1.7;
}

.ey-highlights__content p {
  margin: 0 0 10px 0;
}

.ey-highlights__content p:last-child {
  margin-bottom: 0;
}

.ey-highlights__content ul,
.ey-highlights__content ol {
  margin: 0 0 10px 0;
  padding-left: 20px;
}

.ey-highlights__content li {
  margin-bottom: 4px;
}

.ey-highlights__content a {
  color: #09152B;
  text-decoration: underline;
}

.ey-highlights__content strong {
  font-weight: 600;
}

/* ── Mobile ──────────────────────────────────────── */

@media screen and (max-width: 749px) {
  .ey-highlights__inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .ey-highlights__trigger {
    padding: 14px 0;
  }

  .ey-highlights__title {
    font-size: 0.8125rem; /* 13px */
  }

  .ey-highlights__content {
    font-size: 0.8125rem;
  }

  .ey-highlights__icon {
    width: 32px;
    height: 32px;
  }

  .ey-highlights__icon-img {
    width: 32px;
    height: 32px;
  }

  .ey-highlights__item:has(.ey-highlights__icon) .ey-highlights__panel-inner {
    padding-left: 46px; /* 32px icon + 14px gap */
  }
}

/* ── Reduced motion ──────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  .ey-highlights__chevron-svg,
  .ey-highlights__panel {
    transition: none;
  }
}
/* END_SECTION:ey-product-highlights */

/* START_SECTION:ey-social-proof-gallery (INDEX:55) */
/* =========================================================
   EY Social Proof Gallery — ey-social-*
   ========================================================= */

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Open+Sans:wght@400&display=swap');

/* --- Section shell --- */
.ey-social-proof {
  background-color: #FFFFFF;
  color: #09152B;
  width: 100%;
  box-sizing: border-box;
}

.ey-social-proof__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

/* --- Header: heading + stars --- */
.ey-social-proof__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  margin-bottom: 40px;
}

.ey-social-proof__heading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #09152B;
  margin: 0;
  padding: 0;
  line-height: 1.2;
}

.ey-social-proof__stars {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
}

.ey-social-proof__star {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

/* --- Gallery grid: desktop 3-col --- */
.ey-social-proof__gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: start;
}

/* --- Individual gallery item --- */
.ey-social-proof__item {
  display: block;
  min-width: 0; /* prevent grid blowout */
}

/* --- Media wrappers --- */
.ey-social-proof__media {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0; /* sharp corners matching SIMA */
  background-color: #f0f0f0;
}

/* Image / GIF: 3:4 aspect ratio, cover fill */
.ey-social-proof__media--image,
.ey-social-proof__media--gif {
  aspect-ratio: 3 / 4;
}

.ey-social-proof__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

/* Shopify-hosted video */
.ey-social-proof__media--video {
  aspect-ratio: 3 / 4;
}

.ey-social-proof__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

/* Embedded iframe video (YouTube / Vimeo): 9:16 portrait or 16:9 landscape */
.ey-social-proof__media--video-embed {
  aspect-ratio: 9 / 16;
}

.ey-social-proof__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  display: block;
}

/* Placeholder */
.ey-social-proof__media--placeholder {
  aspect-ratio: 3 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e8e8e8;
}

.ey-social-proof__placeholder-svg {
  width: 64px;
  height: 64px;
  opacity: 0.3;
}

/* Empty state (editor only) */
.ey-social-proof__empty {
  text-align: center;
  padding: 48px 20px;
  font-family: 'Open Sans', sans-serif;
  font-size: 1rem;
  color: #888;
}

/* =========================================================
   Tablet: 2-column grid (768px – 1023px)
   ========================================================= */
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .ey-social-proof__gallery {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* =========================================================
   Mobile: horizontal scroll with snap (<768px)
   ========================================================= */
@media screen and (max-width: 767px) {
  .ey-social-proof__inner {
    padding-left: 0;
    padding-right: 0;
  }

  .ey-social-proof__header {
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 28px;
  }

  .ey-social-proof__gallery {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 12px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-left: 20px;
    padding-right: 20px;
    /* Hide scrollbar — Firefox / IE / Edge */
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 4px; /* prevent clipping of focus rings */
  }

  /* Hide scrollbar — Webkit */
  .ey-social-proof__gallery::-webkit-scrollbar {
    display: none;
  }

  .ey-social-proof__item {
    flex: 0 0 85vw;
    max-width: 85vw;
    scroll-snap-align: start;
  }

  /* Slightly reduce heading on mobile */
  .ey-social-proof__heading {
    font-size: 1.375rem;
  }

  .ey-social-proof__star {
    width: 20px;
    height: 20px;
  }

  /* Adjust section padding on mobile (overridden inline; these serve as fallback) */
  .ey-social-proof {
    --mobile-padding-top: 40px;
    --mobile-padding-bottom: 40px;
  }
}
/* END_SECTION:ey-social-proof-gallery */

/* START_SECTION:ey-testimonials (INDEX:56) */
/* ============================================================
   EY Testimonials — Google Fonts import
   Montserrat 700 + Open Sans 400
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Open+Sans:wght@400&display=swap');

/* ============================================================
   Section wrapper
   ============================================================ */
.ey-testimonials-section {
  background-color: #FFFFFF;
  padding-top: 60px;
  padding-bottom: 60px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  color: #09152B;
}

/* ============================================================
   Centered container — max 1200px
   ============================================================ */
.ey-testimonials-container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* ============================================================
   Section heading
   ============================================================ */
.ey-testimonials-heading {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: #09152B;
  text-align: center;
  margin-top: 0;
  margin-bottom: 40px;
  line-height: 1.25;
}

/* ============================================================
   Grid — 2 columns desktop, 1 column mobile
   ============================================================ */
.ey-testimonials-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

@media (max-width: 767px) {
  .ey-testimonials-grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   Card
   ============================================================ */
.ey-testimonials-card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 20px;
  border: 1px solid #E5E5E5;
  border-radius: 0;
  padding: 24px;
  background-color: #FFFFFF;
  box-sizing: border-box;
}

/* Full-width text card (no media) */
.ey-testimonials-card--no-media {
  flex-direction: column;
}

/* ============================================================
   Media column (left side)
   ============================================================ */
.ey-testimonials-media {
  flex: 0 0 120px;
  width: 120px;
}

/* Image / GIF */
.ey-testimonials-media__img {
  display: block;
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
}

/* Native video */
.ey-testimonials-media__video-wrap {
  width: 120px;
  height: 120px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #09152B;
}

.ey-testimonials-media__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Embedded YouTube / Vimeo */
.ey-testimonials-media__embed-wrap {
  position: relative;
  width: 120px;
  height: 120px;
  border-radius: 8px;
  overflow: hidden;
  background-color: #09152B;
}

.ey-testimonials-media__embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* ============================================================
   Content column (right side)
   ============================================================ */
.ey-testimonials-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ============================================================
   Star row
   ============================================================ */
.ey-testimonials-stars {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2px;
  line-height: 1;
}

.ey-testimonials-star {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}

/* ============================================================
   Review title — bold
   ============================================================ */
.ey-testimonials-review-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem; /* 15px */
  color: #09152B;
  margin: 0;
  line-height: 1.4;
}

/* ============================================================
   Review body — italic, quoted
   ============================================================ */
.ey-testimonials-review-text {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 0.875rem; /* 14px */
  font-style: italic;
  color: #333333;
  margin: 0;
  padding: 0;
  line-height: 1.6;
}

.ey-testimonials-review-text::before {
  content: '\201C'; /* left double quotation mark */
}

.ey-testimonials-review-text::after {
  content: '\201D'; /* right double quotation mark */
}

/* ============================================================
   Reviewer name
   ============================================================ */
.ey-testimonials-reviewer-name {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 0.8125rem; /* 13px */
  color: #09152B;
  margin: 4px 0 0;
  line-height: 1.4;
}

/* ============================================================
   Mobile: stack media above content inside card
   ============================================================ */
@media (max-width: 479px) {
  .ey-testimonials-card {
    flex-direction: column;
  }

  .ey-testimonials-media {
    flex: none;
    width: 100%;
  }

  .ey-testimonials-media__img {
    width: 100%;
    height: 200px;
  }

  .ey-testimonials-media__video-wrap,
  .ey-testimonials-media__embed-wrap {
    width: 100%;
    height: 200px;
  }
}
/* END_SECTION:ey-testimonials */