/* ─────────────────────────────────────────────────────────────────
   CRO Block 2 — Hero Form (final override)
   Loaded last via base.html.twig 1..17 loop. Token-bound rebuild
   that overrides legacy cro-hero-form.css cosmetic rules.
   Scheme: ink (dark) so the form-card pops as paper-on-dark.
   ───────────────────────────────────────────────────────────── */

/* ── Section shell — ink (dark) surface ──────────────────────── */
/* WAVE45-H3 2026-05-08: cascade-order trap fix. The section ships with
   `.scheme-ink` (set via `section_scheme: ink` frontmatter), which fires
   the global guardrail at design-system.css:925-936 rebinding
   `--ds-ink: var(--scheme-fg)` → `#fff`. With `var(--ds-ink)` for the
   section bg, the section painted WHITE on white (1.0:1, 50 fails on
   /cro and /dev-modules/cro-hero-form per wave4-verification). Switched
   to LITERAL `#0e0f0c` paints per doctrine §"cascade-order trap" rule.
   Same applies to the explicit color paint. */
.section.cro-hero-form,
.section.block-cro-block-2,
.section.hero-leadgen-fixed {
  background: #0e0f0c !important;       /* LITERAL — was var(--ds-ink), trap */
  color: #fff !important;                /* LITERAL — was var(--scheme-fg, #fff) */
  position: relative;
  overflow: hidden;
  /* Section padding handled by .section.section-lg in design-system.css (W3-A24). */
}
.section.cro-hero-form .hero-bg-image-fixed,
.section.cro-hero-form .hero-bg-overlay-fixed { display: none !important; }

/* Two-column responsive grid */
.cro-hero-form .container > .row, .block-cro-block-2 .container > .row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ds-space-6);
  align-items: start;
}
@media (min-width: 992px) {
  .cro-hero-form .container > .row, .block-cro-block-2 .container > .row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--ds-space-7);
  }
}
.cro-hero-form .col-lg-6, .block-cro-block-2 .col-lg-6 {
  width: 100%; max-width: 100%; flex: none; padding: 0;
}

/* ── Left column: Problem / Solution form / Trust ────────────── */
.cro-hero-form .hero-problem-section, .block-cro-block-2 .hero-problem-section { margin-bottom: var(--ds-space-5); }
.cro-hero-form .hero-headline-fixed, .block-cro-block-2 .hero-headline-fixed {
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-display-xl);
  line-height: 1.02;
  letter-spacing: 0.005em;
  color: #fff !important;
  margin: 0 0 var(--ds-space-4);
  text-transform: uppercase;
}
.cro-hero-form .hero-subheadline-fixed, .block-cro-block-2 .hero-subheadline-fixed {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-lg);
  color: rgba(255,247,227,.82) !important;
  margin: 0 0 var(--ds-space-5);
  line-height: 1.5;
}
.cro-hero-form .subheadline-text, .block-cro-block-2 .subheadline-text {
  display: none;
  margin: 0;
}
.cro-hero-form .subheadline-text.active, .block-cro-block-2 .subheadline-text.active { display: block; }

/* ── Solution form card ─────────────────────────────────────── */
/* WAVE45-H3: literal hex paints — section has .scheme-ink so global
   guardrail rebinds --ds-ink → #fff inside this card. Use literals. */
.cro-hero-form .hero-solution-combined, .block-cro-block-2 .hero-solution-combined {
  background: #fbf7ef !important;        /* LITERAL --ds-paper */
  color: #0e0f0c !important;             /* LITERAL --ds-ink */
  border-radius: var(--ds-radius-lg) !important;
  box-shadow: var(--ds-shadow-lg);
  padding: var(--ds-space-5) !important;
  border: 1px solid var(--ds-rule);
}
@media (min-width: 768px) {
  .cro-hero-form .hero-solution-combined, .block-cro-block-2 .hero-solution-combined { padding: var(--ds-space-6) !important; }
}

.cro-hero-form .solution-header-section, .block-cro-block-2 .solution-header-section { margin-bottom: var(--ds-space-4); }
.cro-hero-form .solution-headline-combined, .block-cro-block-2 .solution-headline-combined {
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-display-md);
  line-height: 1.1;
  letter-spacing: 0.005em;
  color: #0e0f0c !important;             /* WAVE45-H3 LITERAL */
  text-transform: uppercase;
  margin: 0 0 var(--ds-space-2);
}
.cro-hero-form .solution-sub-combined, .block-cro-block-2 .solution-sub-combined {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body);
  color: #4a4842 !important;             /* WAVE45-H3 LITERAL --ds-ink-soft */
  margin: 0;
}

/* Qualifier pills */
.cro-hero-form .qualifier-section-pills, .block-cro-block-2 .qualifier-section-pills {
  display: flex;
  flex-direction: column;
  gap: var(--ds-space-4);
  margin: var(--ds-space-4) 0;
}
.cro-hero-form .qualifier-group, .block-cro-block-2 .qualifier-group { display: flex; flex-direction: column; gap: var(--ds-space-2); }
.cro-hero-form .qualifier-label-pill, .block-cro-block-2 .qualifier-label-pill {
  font-family: var(--ds-font-mono);
  font-size: var(--ds-fs-eyebrow);
  font-weight: 600;
  color: #4a4842;                        /* WAVE45-H3 LITERAL --ds-ink-soft (paper-card child) */
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.cro-hero-form .qualifier-pills, .block-cro-block-2 .qualifier-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}
.cro-hero-form .qualifier-pill, .block-cro-block-2 .qualifier-pill {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: 0.55rem 1rem;
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  font-weight: 600;
  background: #fff !important;           /* WAVE45-H3 LITERAL — beats global main button reset */
  color: #0e0f0c !important;             /* WAVE45-H3 LITERAL — beats global main button reset */
  border: 1px solid var(--ds-rule);
  border-radius: var(--ds-radius-pill);
  cursor: pointer;
  transition: all var(--ds-duration) var(--ds-ease-out);
}
.cro-hero-form .qualifier-pill:hover, .block-cro-block-2 .qualifier-pill:hover {
  border-color: var(--ds-cta);
  color: var(--ds-cta);
  transform: translateY(-1px);
}
.cro-hero-form .qualifier-pill.active,
.block-cro-block-2 .qualifier-pill.active,
.cro-hero-form .qualifier-pill[aria-pressed="true"], .block-cro-block-2 .qualifier-pill[aria-pressed="true"] {
  background: var(--ds-cta-aa, var(--ds-cta-dk));
  color: #fff;
  border-color: var(--ds-cta);
  box-shadow: var(--ds-shadow-cta);
}
.cro-hero-form .qualifier-pill.popular::after, .block-cro-block-2 .qualifier-pill.popular::after {
  content: "★";
  color: var(--ds-cta);
  margin-left: 0.25rem;
  font-size: 0.85em;
}
.cro-hero-form .qualifier-pill .pill-icon,
.block-cro-block-2 .qualifier-pill .pill-icon,
.cro-hero-form .qualifier-pill .pill-icon svg,
.block-cro-block-2 .qualifier-pill .pill-icon svg,
.cro-hero-form .qualifier-pill .pill-icon img,
.block-cro-block-2 .qualifier-pill .pill-icon img,
.cro-hero-form .qualifier-pill .pill-star,
.block-cro-block-2 .qualifier-pill .pill-star,
.cro-hero-form .qualifier-pill .pill-star svg, .block-cro-block-2 .qualifier-pill .pill-star svg {
  width: 14px !important;
  height: 14px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.cro-hero-form .qualifier-pill .pill-badge, .block-cro-block-2 .qualifier-pill .pill-badge {
  background: color-mix(in srgb, var(--ds-cta) 18%, white);
  color: var(--ds-cta-dk);
  font-size: var(--ds-fs-eyebrow);
  font-weight: 700;
  padding: 0.1rem 0.4rem;
  border-radius: var(--ds-radius-pill);
  margin-left: 0.25rem;
}

/* CTA primary button */
.cro-hero-form .cta-primary-combined, .block-cro-block-2 .cta-primary-combined {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ds-space-3);
  width: 100%;
  padding: 1rem 1.4rem !important;
  margin-top: var(--ds-space-4);
  font-family: var(--ds-font-body);
  font-weight: 700;
  font-size: var(--ds-fs-body-lg);
  background: var(--ds-cta-aa, var(--ds-cta-dk)) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--ds-radius) !important;
  box-shadow: var(--ds-shadow-cta);
  cursor: pointer;
  transition: background var(--ds-duration) var(--ds-ease-out),
              transform var(--ds-duration-fast) var(--ds-ease-out);
}
.cro-hero-form .cta-primary-combined:hover, .block-cro-block-2 .cta-primary-combined:hover {
  background: var(--ds-cta-dk) !important;
  transform: translateY(-1px);
}
.cro-hero-form .cta-primary-combined svg,
.block-cro-block-2 .cta-primary-combined svg,
.cro-hero-form .cta-primary-combined img, .block-cro-block-2 .cta-primary-combined img {
  width: 22px !important;
  height: 22px !important;
}
.cro-hero-form .cta-text-combined, .block-cro-block-2 .cta-text-combined {
  display: flex;
  flex-direction: column;
  text-align: left;
}
.cro-hero-form .cta-main-combined, .block-cro-block-2 .cta-main-combined {
  font-size: var(--ds-fs-body-lg);
  font-weight: 700;
  line-height: 1.2;
}
.cro-hero-form .cta-sub-combined, .block-cro-block-2 .cta-sub-combined {
  font-size: var(--ds-fs-body-sm);
  font-weight: 400;
  opacity: 0.92;
  line-height: 1.2;
}

/* Email form section */
.cro-hero-form .email-form-section, .block-cro-block-2 .email-form-section {
  margin-top: var(--ds-space-4);
  padding-top: var(--ds-space-4);
  border-top: 1px solid var(--ds-rule);
}
.cro-hero-form .email-form-divider, .block-cro-block-2 .email-form-divider { display: none; }
.cro-hero-form .email-input-label, .block-cro-block-2 .email-input-label {
  display: block;
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  font-weight: 600;
  color: #4a4842;                        /* WAVE45-H3 LITERAL --ds-ink-soft */
  margin-bottom: var(--ds-space-2);
}
.cro-hero-form .leadmagnet-input-email, .block-cro-block-2 .leadmagnet-input-email {
  width: 100%;
  padding: 0.8rem 1rem;
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body);
  background: #fff;                      /* WAVE45-H3 LITERAL */
  color: #0e0f0c;                        /* WAVE45-H3 LITERAL --ds-ink */
  border: 1px solid var(--ds-rule);
  border-radius: var(--ds-radius-sm);
  transition: border-color var(--ds-duration) var(--ds-ease-out),
              box-shadow var(--ds-duration) var(--ds-ease-out);
}
.cro-hero-form .leadmagnet-input-email:focus, .block-cro-block-2 .leadmagnet-input-email:focus {
  outline: none;
  border-color: var(--ds-cta);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-cta) 22%, transparent);
}
.cro-hero-form .submit-button-final, .block-cro-block-2 .submit-button-final {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.15rem;
  width: 100%;
  margin-top: var(--ds-space-3);
  padding: 0.85rem 1.2rem;
  font-family: var(--ds-font-body);
  font-weight: 700;
  background: var(--ds-trust);
  color: #fff;
  border: none;
  border-radius: var(--ds-radius);
  cursor: pointer;
  transition: background var(--ds-duration) var(--ds-ease-out);
}
.cro-hero-form .submit-button-final:hover, .block-cro-block-2 .submit-button-final:hover { background: var(--ds-trust-dk); }
.cro-hero-form .submit-button-text, .block-cro-block-2 .submit-button-text { font-size: var(--ds-fs-body-lg); }
.cro-hero-form .submit-button-sub, .block-cro-block-2 .submit-button-sub { font-size: var(--ds-fs-body-sm); font-weight: 400; opacity: 0.9; }

/* Trust section */
.cro-hero-form .trust-section-standalone, .block-cro-block-2 .trust-section-standalone {
  margin-top: var(--ds-space-5) !important;
  padding-top: var(--ds-space-4);
}
.cro-hero-form .trust-text-compact, .block-cro-block-2 .trust-text-compact {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  font-weight: 600;
  color: rgba(255,247,227,.82);
  margin: 0 0 var(--ds-space-3);
}
.cro-hero-form .trust-sparkle,
.block-cro-block-2 .trust-sparkle,
.cro-hero-form .trust-sparkle svg, .block-cro-block-2 .trust-sparkle svg {
  width: 14px !important;
  height: 14px !important;
}
.cro-hero-form .trust-badges-grid, .block-cro-block-2 .trust-badges-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ds-space-2);
}
.cro-hero-form .trust-badge-compact, .block-cro-block-2 .trust-badge-compact {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.85rem;
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  font-weight: 600;
  background: rgba(255,255,255,.06);
  color: rgba(255,247,227,.92);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--ds-radius-pill);
}
.cro-hero-form .trust-badge-compact svg,
.block-cro-block-2 .trust-badge-compact svg,
.cro-hero-form .trust-badge-compact img, .block-cro-block-2 .trust-badge-compact img {
  width: 14px !important;
  height: 14px !important;
}

/* ── Right column: Value props / Pain checklist / Phone CTA ─── */
.cro-hero-form .value-props-grid, .block-cro-block-2 .value-props-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ds-space-3);
}
@media (min-width: 576px) {
  .cro-hero-form .value-props-grid, .block-cro-block-2 .value-props-grid { grid-template-columns: 1fr 1fr; }
}
.cro-hero-form .value-item, .block-cro-block-2 .value-item {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--ds-radius);
  padding: var(--ds-space-4);
  color: #fff;
}
.cro-hero-form .value-title, .block-cro-block-2 .value-title {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-lg);
  font-weight: 700;
  color: #fff;
  margin: 0 0 var(--ds-space-3);
}
.cro-hero-form .value-title svg,
.block-cro-block-2 .value-title svg,
.cro-hero-form .value-title img, .block-cro-block-2 .value-title img {
  width: 20px !important;
  height: 20px !important;
  color: var(--ds-cta);
  stroke: var(--ds-cta);
}
.cro-hero-form .value-list, .block-cro-block-2 .value-list {
  list-style: none;
  margin: 0 0 var(--ds-space-3);
  padding: 0;
}
.cro-hero-form .value-list li, .block-cro-block-2 .value-list li {
  display: flex;
  align-items: flex-start;
  gap: var(--ds-space-2);
  padding: 0.25rem 0;
  font-size: var(--ds-fs-body-sm);
  color: rgba(255,247,227,.88);
}
.cro-hero-form .value-list li svg, .block-cro-block-2 .value-list li svg {
  width: 12px !important;
  height: 12px !important;
  flex-shrink: 0;
  color: var(--ds-trust);
  stroke: var(--ds-trust);
  margin-top: 0.25rem;
}
.cro-hero-form .value-cta-compact, .block-cro-block-2 .value-cta-compact {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: 0.5rem 0.9rem;
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  font-weight: 700;
  color: var(--ds-cta);
  background: color-mix(in srgb, var(--ds-cta) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--ds-cta) 35%, transparent);
  border-radius: var(--ds-radius-sm);
  text-decoration: none !important;
  transition: background var(--ds-duration) var(--ds-ease-out),
              border-color var(--ds-duration) var(--ds-ease-out);
}
.cro-hero-form .value-cta-compact:hover, .block-cro-block-2 .value-cta-compact:hover {
  background: var(--ds-cta-aa, var(--ds-cta-dk));
  color: #fff;
  border-color: var(--ds-cta);
}
.cro-hero-form .value-cta-compact svg,
.block-cro-block-2 .value-cta-compact svg,
.cro-hero-form .value-cta-compact img, .block-cro-block-2 .value-cta-compact img {
  width: 14px !important;
  height: 14px !important;
}

/* Pain checklist */
.cro-hero-form .pain-checklist-dark, .block-cro-block-2 .pain-checklist-dark {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--ds-radius);
  padding: var(--ds-space-5) !important;
  margin-bottom: var(--ds-space-4) !important;
}
.cro-hero-form .checklist-header, .block-cro-block-2 .checklist-header {
  display: flex;
  align-items: center;
  gap: var(--ds-space-2);
  margin-bottom: var(--ds-space-3);
}
.cro-hero-form .checklist-icon, .block-cro-block-2 .checklist-icon {
  width: 24px !important;
  height: 24px !important;
  flex-shrink: 0;
  color: var(--ds-cta);
  stroke: var(--ds-cta);
}
.cro-hero-form .checklist-title-dark, .block-cro-block-2 .checklist-title-dark {
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-display-sm);
  letter-spacing: 0.005em;
  color: #fff !important;
  margin: 0;
  text-transform: uppercase;
}
.cro-hero-form .checklist-items-dark, .block-cro-block-2 .checklist-items-dark {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: var(--ds-space-3) 0;
}
.cro-hero-form .checklist-item-dark, .block-cro-block-2 .checklist-item-dark {
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.cro-hero-form .checklist-item-dark:last-child, .block-cro-block-2 .checklist-item-dark:last-child { border-bottom: none; }
.cro-hero-form .checklist-item-header, .block-cro-block-2 .checklist-item-header {
  display: flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: 0.65rem 0;
  cursor: pointer;
  font-family: var(--ds-font-body);
}
.cro-hero-form .checklist-item-header .check-icon, .block-cro-block-2 .checklist-item-header .check-icon {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0;
  color: var(--ds-trust);
  stroke: var(--ds-trust);
}
.cro-hero-form .checklist-item-header .expand-icon, .block-cro-block-2 .checklist-item-header .expand-icon {
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0;
  margin-left: auto;
  color: rgba(255,247,227,.62);
  stroke: rgba(255,247,227,.62);
  transition: transform var(--ds-duration) var(--ds-ease-out);
}
.cro-hero-form .checklist-item-dark.active .expand-icon, .block-cro-block-2 .checklist-item-dark.active .expand-icon { transform: rotate(180deg); }
.cro-hero-form .checkbox-label-dark, .block-cro-block-2 .checkbox-label-dark {
  flex: 1;
  font-size: var(--ds-fs-body-sm);
  color: rgba(255,247,227,.92);
  font-weight: 500;
}
.cro-hero-form .checklist-item-content, .block-cro-block-2 .checklist-item-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--ds-duration-slow) var(--ds-ease-out);
}
.cro-hero-form .checklist-item-dark.active .checklist-item-content, .block-cro-block-2 .checklist-item-dark.active .checklist-item-content { max-height: 240px; }
.cro-hero-form .checklist-item-text, .block-cro-block-2 .checklist-item-text {
  padding: 0 0 var(--ds-space-3) 1.5rem;
  margin: 0;
  font-size: var(--ds-fs-body-sm);
  color: rgba(255,247,227,.72);
  line-height: 1.5;
}
.cro-hero-form .checklist-footer, .block-cro-block-2 .checklist-footer {
  margin-top: var(--ds-space-3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ds-space-3);
  flex-wrap: wrap;
}
.cro-hero-form .checklist-question-dark, .block-cro-block-2 .checklist-question-dark {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  color: rgba(255,247,227,.82);
  margin: 0;
  font-weight: 600;
}
.cro-hero-form .checklist-cta-tiny, .block-cro-block-2 .checklist-cta-tiny {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  padding: 0.5rem 0.9rem;
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  font-weight: 700;
  background: var(--ds-cta-aa, var(--ds-cta-dk));
  color: #fff !important;
  border-radius: var(--ds-radius-sm);
  text-decoration: none !important;
  transition: background var(--ds-duration) var(--ds-ease-out);
}
.cro-hero-form .checklist-cta-tiny:hover, .block-cro-block-2 .checklist-cta-tiny:hover { background: var(--ds-cta-dk); }
.cro-hero-form .checklist-cta-tiny svg, .block-cro-block-2 .checklist-cta-tiny svg {
  width: 14px !important;
  height: 14px !important;
}

/* Phone CTA */
.cro-hero-form .hero-cta-secondary-fixed, .block-cro-block-2 .hero-cta-secondary-fixed {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--ds-radius);
  padding: var(--ds-space-4);
  text-decoration: none !important;
  color: #fff !important;
  transition: background var(--ds-duration) var(--ds-ease-out),
              border-color var(--ds-duration) var(--ds-ease-out);
}
.cro-hero-form .hero-cta-secondary-fixed:hover, .block-cro-block-2 .hero-cta-secondary-fixed:hover {
  background: rgba(255,255,255,.08);
  border-color: var(--ds-trust);
}
.cro-hero-form .cta-secondary-main, .block-cro-block-2 .cta-secondary-main {
  display: flex;
  align-items: center;
  gap: var(--ds-space-3);
}
.cro-hero-form .cta-secondary-icon-wrapper, .block-cro-block-2 .cta-secondary-icon-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: color-mix(in srgb, var(--ds-trust) 28%, transparent);
  color: var(--ds-trust);
  border-radius: var(--ds-radius-pill);
  flex-shrink: 0;
}
.cro-hero-form .cta-phone-svg,
.block-cro-block-2 .cta-phone-svg,
.cro-hero-form .cta-secondary-icon-wrapper svg,
.block-cro-block-2 .cta-secondary-icon-wrapper svg,
.cro-hero-form .cta-secondary-icon-wrapper img, .block-cro-block-2 .cta-secondary-icon-wrapper img {
  width: 22px !important;
  height: 22px !important;
}
.cro-hero-form .cta-secondary-text, .block-cro-block-2 .cta-secondary-text { display: flex; flex-direction: column; }
.cro-hero-form .cta-secondary-number, .block-cro-block-2 .cta-secondary-number {
  font-family: var(--ds-font-display);
  font-size: var(--ds-fs-display-sm);
  letter-spacing: 0.005em;
  color: #fff;
  text-transform: uppercase;
  line-height: 1.1;
}
.cro-hero-form .cta-secondary-hours, .block-cro-block-2 .cta-secondary-hours {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  color: rgba(255,247,227,.72);
}
.cro-hero-form .cta-secondary-footer, .block-cro-block-2 .cta-secondary-footer {
  display: inline-flex;
  align-items: center;
  gap: var(--ds-space-2);
  margin-top: var(--ds-space-3);
  padding-top: var(--ds-space-3);
  border-top: 1px solid rgba(255,255,255,.08);
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  color: rgba(255,247,227,.72);
}
.cro-hero-form .cta-chat-svg,
.block-cro-block-2 .cta-chat-svg,
.cro-hero-form .cta-secondary-footer svg, .block-cro-block-2 .cta-secondary-footer svg {
  width: 16px !important;
  height: 16px !important;
}

/* Testimonial */
.cro-hero-form .testimonial-transparent, .block-cro-block-2 .testimonial-transparent {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--ds-radius);
  padding: var(--ds-space-4);
}
.cro-hero-form .testimonial-slide-transparent, .block-cro-block-2 .testimonial-slide-transparent {
  display: none;
}
.cro-hero-form .testimonial-slide-transparent.active, .block-cro-block-2 .testimonial-slide-transparent.active { display: block; }
.cro-hero-form .testimonial-quote-transparent, .block-cro-block-2 .testimonial-quote-transparent {
  font-family: var(--ds-font-serif);
  font-size: var(--ds-fs-body-lg);
  line-height: 1.5;
  font-style: italic;
  color: rgba(255,247,227,.92);
  margin: 0 0 var(--ds-space-3);
}
.cro-hero-form .testimonial-quote-transparent strong, .block-cro-block-2 .testimonial-quote-transparent strong { color: var(--ds-cta); font-style: normal; }
.cro-hero-form .testimonial-author-transparent, .block-cro-block-2 .testimonial-author-transparent {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  font-weight: 600;
  color: rgba(255,247,227,.72);
  margin: 0;
}
.cro-hero-form .testimonial-nav-transparent, .block-cro-block-2 .testimonial-nav-transparent {
  display: flex;
  gap: var(--ds-space-2);
  margin-top: var(--ds-space-3);
}
.cro-hero-form .testimonial-dot-transparent, .block-cro-block-2 .testimonial-dot-transparent {
  width: 8px;
  height: 8px;
  border-radius: var(--ds-radius-pill);
  border: none;
  background: rgba(255,255,255,.20);
  cursor: pointer;
  padding: 0;
  transition: background var(--ds-duration) var(--ds-ease-out);
}
.cro-hero-form .testimonial-dot-transparent.active, .block-cro-block-2 .testimonial-dot-transparent.active { background: var(--ds-cta-aa, var(--ds-cta-dk)); }

/* Hard cap any stray icons */
.cro-hero-form svg, .cro-hero-form img, .block-cro-block-2 svg, .cro-hero-form img { max-width: 100%; }

/* Mobile tightening */
@media (max-width: 575px) {
  .cro-hero-form .hero-headline-fixed, .block-cro-block-2 .hero-headline-fixed { font-size: clamp(2rem, 9vw, 2.6rem); }
  .cro-hero-form .hero-solution-combined,
  .block-cro-block-2 .hero-solution-combined,
  .cro-hero-form .pain-checklist-dark, .block-cro-block-2 .pain-checklist-dark { padding: var(--ds-space-4) !important; }
  .cro-hero-form .checklist-footer, .block-cro-block-2 .checklist-footer { flex-direction: column; align-items: flex-start; }
  .cro-hero-form .checklist-cta-tiny, .block-cro-block-2 .checklist-cta-tiny { width: 100%; justify-content: center; }
}

/* ─────────────────────────────────────────────────────────────────
   Merged from block-cro-block-2.css (deleted in W1-A7 cleanup).
   Shared utility rules: .btn-cta/.btn-orange/.btn-gradient buttons,
   input[type] / select / textarea form fields, label, .pain-tab /
   .pain-card / .timeline-step / .stat-card / .calculator-result
   surfaces, .floating-cta-bar / .float-cta-btn mobile bar.
   ───────────────────────────────────────────────────────────── */
.block-cro-block-2 { font-family: var(--ds-font-body); color: var(--scheme-fg); }

/* Section header tag/eyebrow (legacy class — design-system .ds-eyebrow recipe values). */
.block-cro-block-2 .section-tag {
  display: inline-block;
  font-family: var(--ds-font-mono);
  font-size: var(--ds-fs-eyebrow);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ds-cta);
  margin-bottom: var(--ds-space-3);
}
.block-cro-block-2 .section-header-divider { background: var(--scheme-rule); }

/* Trust badges — pill row above the form/headline. */
.block-cro-block-2 .trust-badges-inline { gap: var(--ds-space-2); margin-bottom: var(--ds-space-5); }
.block-cro-block-2 .trust-badge {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  font-weight: 600;
  background: var(--scheme-card-bg);
  color: var(--scheme-card-fg);
  border: 1px solid var(--scheme-rule);
  border-radius: var(--ds-radius-lg);
  padding: var(--ds-space-2) var(--ds-space-3);
  gap: var(--ds-space-2);
}
.block-cro-block-2 .trust-icon-svg svg { stroke: var(--ds-trust); }

/* Live activity dot. */
.block-cro-block-2 .live-activity {
  font-family: var(--ds-font-mono);
  font-size: var(--ds-fs-eyebrow);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--scheme-fg-soft);
}
.block-cro-block-2 .pulse-dot { background: var(--ds-cta-aa, var(--ds-cta-dk)); }

/* Legacy CTA button aliases (cro-*.css uses btn-cta, btn-orange, btn-gradient). */
.block-cro-block-2 .btn-cta,
.block-cro-block-2 .btn-orange,
.block-cro-block-2 .btn-gradient {
  font-family: var(--ds-font-body);
  font-weight: 700;
  background: var(--ds-cta-aa, var(--ds-cta-dk));
  color: #fff;
  border: none;
  border-radius: var(--ds-radius-sm);
  box-shadow: var(--ds-shadow-cta);
  transition: background var(--ds-duration) var(--ds-ease-out),
              transform var(--ds-duration) var(--ds-ease-out),
              box-shadow var(--ds-duration) var(--ds-ease-out);
}
.block-cro-block-2 .btn-cta:hover,
.block-cro-block-2 .btn-orange:hover,
.block-cro-block-2 .btn-gradient:hover { background: var(--ds-cta-dk); color: #fff; }

/* Form fields shared across CRO blocks (lead-form / hero-form / calculator). */
.block-cro-block-2 input[type="text"],
.block-cro-block-2 input[type="email"],
.block-cro-block-2 input[type="tel"],
.block-cro-block-2 input[type="number"],
.block-cro-block-2 select,
.block-cro-block-2 textarea {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body);
  color: var(--scheme-fg);
  background: var(--scheme-card-bg);
  border: 1px solid var(--scheme-rule);
  border-radius: var(--ds-radius-sm);
  padding: var(--ds-space-3);
  transition: border-color var(--ds-duration) var(--ds-ease-out),
              box-shadow var(--ds-duration) var(--ds-ease-out);
}
.block-cro-block-2 input:focus,
.block-cro-block-2 select:focus,
.block-cro-block-2 textarea:focus {
  outline: none;
  border-color: var(--ds-cta);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-cta) 22%, transparent);
}
.block-cro-block-2 label {
  font-family: var(--ds-font-body);
  font-size: var(--ds-fs-body-sm);
  font-weight: 600;
  color: var(--scheme-fg);
}

/* Surface tokens for legacy non-.card cards (calculator/pain/timeline). */
.block-cro-block-2 .pain-tab,
.block-cro-block-2 .pain-card,
.block-cro-block-2 .timeline-step,
.block-cro-block-2 .stat-card,
.block-cro-block-2 .calculator-result {
  border-radius: var(--ds-radius);
  box-shadow: var(--ds-shadow-sm);
}

/* Floating CTA bar (mobile). */
.block-cro-block-2 .floating-cta-bar {
  font-family: var(--ds-font-body);
  background: #0e0f0c;                 /* WAVE45-H3 LITERAL — sticky-bar bg */
  border-top: 1px solid var(--ds-rule-dark);
}
.block-cro-block-2 .float-cta-btn {
  font-family: var(--ds-font-body);
  font-weight: 700;
  border-radius: var(--ds-radius-sm);
  transition: background var(--ds-duration) var(--ds-ease-out);
}
.block-cro-block-2 .float-cta-btn.phone { background: var(--ds-trust); color: #fff; }
.block-cro-block-2 .float-cta-btn.quote { background: var(--ds-cta-aa, var(--ds-cta-dk));   color: #fff; }

/* ─────────────────────────────────────────────────────────────────
   SENIOR-UX team-08 (2026-05-07) — CONVERSION-CRITICAL form pass.
   - Field height ≥48 px; primary CTA ≥56 px / ≥1.25rem.
   - Field font ≥18 px (prevents iOS zoom on focus for 45-70+ users).
   - Labels VISIBLE above field (already in template) — bump to 18 px.
   - Helper / trust text ≥16 px ≥4.5:1.
   - Qualifier pills, checklist headers ≥48 px tap.
   ───────────────────────────────────────────────────────────── */

/* Hero headline + subhead — older-eye contrast on dark scheme. */
.cro-hero-form .hero-subheadline-fixed,
.block-cro-block-2 .hero-subheadline-fixed {
  font-size: var(--ds-fs-body-lg);     /* 20 px */
  line-height: var(--ds-lh-body);      /* 1.6 */
  color: rgba(255,247,227,.95) !important;  /* was .82 — push to ≥4.5:1 */
}

/* Solution form intro */
.cro-hero-form .solution-sub-combined,
.block-cro-block-2 .solution-sub-combined {
  font-size: var(--ds-fs-body);
  line-height: var(--ds-lh-body);
  color: #0e0f0c !important;           /* WAVE45-H3 LITERAL — was var(--ds-ink), trap on .scheme-ink */
}

/* ── Qualifier pills — ≥48 px tap floor, ≥16 px label ───────── */
.cro-hero-form .qualifier-pill,
.block-cro-block-2 .qualifier-pill {
  min-height: var(--ds-touch-target);  /* 48 px */
  padding: 0.7rem 1.1rem;
  font-size: var(--ds-fs-body-sm);     /* 16 px */
  line-height: 1.2;
}
.cro-hero-form .qualifier-pill:focus-visible,
.block-cro-block-2 .qualifier-pill:focus-visible {
  outline: none;
  box-shadow: var(--ds-focus-ring);
}
.cro-hero-form .qualifier-label-pill,
.block-cro-block-2 .qualifier-label-pill {
  font-size: var(--ds-fs-body-sm);     /* 16 px — was eyebrow 14 */
  color: #0e0f0c !important;           /* WAVE45-H3 LITERAL — paper-card child, trap-safe */
}

/* ── Primary CTA "Book Free Audit" — ≥56 px / ≥1.25rem ──────── */
.cro-hero-form .cta-primary-combined,
.block-cro-block-2 .cta-primary-combined {
  min-height: var(--ds-touch-target-primary); /* 56 px */
  padding: 1.1rem 1.5rem !important;
  font-size: var(--ds-fs-body-lg) !important; /* 20 px */
}
.cro-hero-form .cta-primary-combined:focus-visible,
.block-cro-block-2 .cta-primary-combined:focus-visible {
  outline: none;
  box-shadow: var(--ds-focus-ring-dark);
}
.cro-hero-form .cta-main-combined,
.block-cro-block-2 .cta-main-combined {
  font-size: var(--ds-fs-body-lg);   /* 20 px */
  line-height: 1.25;
}
.cro-hero-form .cta-sub-combined,
.block-cro-block-2 .cta-sub-combined {
  font-size: var(--ds-fs-body-sm);   /* 16 px — was body-sm but opacity .92 */
  opacity: 1;
  line-height: 1.3;
}

/* ── Email field — label visible (template already does), ≥48 px,
   ≥18 px font (prevents iOS zoom), ≥4.5:1 contrast helper ──── */
.cro-hero-form .email-input-label,
.block-cro-block-2 .email-input-label {
  font-size: var(--ds-fs-body);     /* 18 px — was body-sm 16 */
  color: #0e0f0c !important;        /* WAVE45-H3 LITERAL — paper-card child, trap-safe */
  margin-bottom: var(--ds-space-2);
}
.cro-hero-form .leadmagnet-input-email,
.block-cro-block-2 .leadmagnet-input-email {
  min-height: var(--ds-touch-target);  /* 48 px */
  padding: 0.85rem 1rem;
  font-size: var(--ds-fs-body);        /* 18 px — iOS no-zoom floor */
  line-height: 1.4;
  border-width: 2px;                   /* thicker rule for low-vision */
}
.cro-hero-form .leadmagnet-input-email:focus-visible,
.block-cro-block-2 .leadmagnet-input-email:focus-visible {
  outline: none;
  box-shadow: var(--ds-focus-ring);
}

/* ── Submit info (secondary green) — ≥56 px primary CTA ─────── */
.cro-hero-form .submit-button-final,
.block-cro-block-2 .submit-button-final {
  min-height: var(--ds-touch-target-primary); /* 56 px */
  padding: 1.1rem 1.5rem;
  gap: 0.25rem;
}
.cro-hero-form .submit-button-text,
.block-cro-block-2 .submit-button-text {
  font-size: var(--ds-fs-body-lg);    /* 20 px */
  line-height: 1.25;
}
.cro-hero-form .submit-button-sub,
.block-cro-block-2 .submit-button-sub {
  font-size: var(--ds-fs-body-sm);    /* 16 px */
  opacity: 1;
}
.cro-hero-form .submit-button-final:focus-visible,
.block-cro-block-2 .submit-button-final:focus-visible {
  outline: none;
  box-shadow: var(--ds-focus-ring-dark);
}

/* ── Trust badges around form — ≥14 px paired w/ icon ──────── */
.cro-hero-form .trust-text-compact,
.block-cro-block-2 .trust-text-compact {
  font-size: var(--ds-fs-body-sm);    /* 16 px */
  color: rgba(255,247,227,.95);       /* was .82 */
}
.cro-hero-form .trust-badge-compact,
.block-cro-block-2 .trust-badge-compact {
  min-height: var(--ds-touch-target); /* 48 px — these are span/visual only but framework says 14 px paired with icons; bump anyway for keyboard scan */
  font-size: var(--ds-fs-body-sm);    /* 16 px */
  padding: 0.55rem 1rem;
  color: #fff;                        /* was rgba(...) — solid white for AAA on dark */
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.22);
}

/* ── Right column: Value items, Pain checklist ──────────────── */
.cro-hero-form .value-list li,
.block-cro-block-2 .value-list li {
  font-size: var(--ds-fs-body-sm);    /* 16 px — was body-sm; force min */
  color: rgba(255,247,227,.95);       /* was .88 */
  padding: 0.35rem 0;
  line-height: var(--ds-lh-body);
}
.cro-hero-form .value-cta-compact,
.block-cro-block-2 .value-cta-compact {
  min-height: var(--ds-touch-target);
  padding: 0.7rem 1.1rem;
  font-size: var(--ds-fs-body-sm);
}
.cro-hero-form .value-cta-compact:focus-visible,
.block-cro-block-2 .value-cta-compact:focus-visible {
  outline: none;
  box-shadow: var(--ds-focus-ring-dark);
}

/* Pain checklist — header rows ≥48 px tap, body text ≥16 px. */
.cro-hero-form .checklist-item-header,
.block-cro-block-2 .checklist-item-header {
  min-height: var(--ds-touch-target);  /* 48 px */
  padding: 0.85rem 0;
}
.cro-hero-form .checkbox-label-dark,
.block-cro-block-2 .checkbox-label-dark {
  font-size: var(--ds-fs-body);        /* 18 px — was body-sm 16 */
  color: #fff;                         /* was rgba .92 — push to AAA */
  line-height: var(--ds-lh-body);
}
.cro-hero-form .checklist-item-text,
.block-cro-block-2 .checklist-item-text {
  font-size: var(--ds-fs-body-sm);     /* 16 px — was body-sm */
  color: rgba(255,247,227,.95);        /* was .72 — AAA push */
  line-height: var(--ds-lh-body);
}
.cro-hero-form .checklist-question-dark,
.block-cro-block-2 .checklist-question-dark {
  font-size: var(--ds-fs-body);        /* 18 px */
  color: rgba(255,247,227,.95);
}
.cro-hero-form .checklist-cta-tiny,
.block-cro-block-2 .checklist-cta-tiny {
  min-height: var(--ds-touch-target);
  padding: 0.7rem 1.1rem;
  font-size: var(--ds-fs-body-sm);
}
.cro-hero-form .checklist-cta-tiny:focus-visible,
.block-cro-block-2 .checklist-cta-tiny:focus-visible {
  outline: none;
  box-shadow: var(--ds-focus-ring-dark);
}

/* Phone CTA card — ≥56 px tap-area on link wrapper. */
.cro-hero-form .hero-cta-secondary-fixed,
.block-cro-block-2 .hero-cta-secondary-fixed {
  min-height: var(--ds-touch-target-primary);
}
.cro-hero-form .hero-cta-secondary-fixed:focus-visible,
.block-cro-block-2 .hero-cta-secondary-fixed:focus-visible {
  outline: none;
  box-shadow: var(--ds-focus-ring-dark);
}
.cro-hero-form .cta-secondary-hours,
.block-cro-block-2 .cta-secondary-hours {
  font-size: var(--ds-fs-body-sm);     /* 16 px */
  color: rgba(255,247,227,.92);
}
.cro-hero-form .cta-secondary-footer,
.block-cro-block-2 .cta-secondary-footer {
  font-size: var(--ds-fs-body-sm);
  color: rgba(255,247,227,.92);
}

/* Testimonial quote — bump line-height; nav dots become real targets. */
.cro-hero-form .testimonial-quote-transparent,
.block-cro-block-2 .testimonial-quote-transparent {
  font-size: var(--ds-fs-body-lg);     /* 20 px */
  line-height: var(--ds-lh-body);      /* 1.6 */
  color: #fff;                         /* AAA on dark ink */
}
.cro-hero-form .testimonial-author-transparent,
.block-cro-block-2 .testimonial-author-transparent {
  font-size: var(--ds-fs-body-sm);     /* 16 px */
  color: rgba(255,247,227,.92);
}
/* Nav dot-buttons get keyboard ring + 44 px tap (visual still small dot).
   BUG-T8 (2026-05-07): bumped width/height from 28→44 so the *element*
   bbox itself meets WCAG AAA tap-target floor (was passing via padding,
   but bbox width=28 reported as small_tap by audit). Inner dot remains
   8px via ::after. */
.cro-hero-form .testimonial-dot-transparent,
.block-cro-block-2 .testimonial-dot-transparent {
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  position: relative;
  border: 0;
}
.cro-hero-form .testimonial-dot-transparent::after,
.block-cro-block-2 .testimonial-dot-transparent::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 8px; height: 8px;
  border-radius: var(--ds-radius-pill);
  background: rgba(255,255,255,.30);
}
.cro-hero-form .testimonial-dot-transparent.active::after,
.block-cro-block-2 .testimonial-dot-transparent.active::after {
  background: var(--ds-cta-aa, var(--ds-cta-dk));
}
.cro-hero-form .testimonial-dot-transparent:focus-visible,
.block-cro-block-2 .testimonial-dot-transparent:focus-visible {
  outline: none;
  box-shadow: var(--ds-focus-ring-dark);
  border-radius: var(--ds-radius-pill);
}

/* Solution headline — slightly tighter for two-line headlines. */
.cro-hero-form .solution-headline-combined,
.block-cro-block-2 .solution-headline-combined {
  line-height: 1.15;
}

/* ─────────────────────────────────────────────────────────────────
   BUG-T8 (2026-05-07) — mobile clearance + stacking:
   Audit reported qualifier-pills overlapping global #acme-sticky-cta
   (z:9999) at viewport 375. Real cause: when scrolled to the form
   bottom, the qualifier row visually ends behind the sticky bar.
   Add (a) stacking context isolation on the form card so its
   contents render in their own context, (b) extra bottom clearance
   on the section so the form scrolls fully past the sticky bar.
   ───────────────────────────────────────────────────────────── */
.cro-hero-form .hero-solution-combined,
.block-cro-block-2 .hero-solution-combined {
  position: relative;
  isolation: isolate;
  z-index: 1;
}
@media (max-width: 900px) {
  /* SWEEP-C1 (2026-05-08): bottom padding must clear the global #acme-sticky-cta
     (z:9999, ~96 px tall) AND give breathing room so the form's qualifier-pill
     row never reads as overlapping the bar in page-coord audits. */
  .block-cro-block-2 {
    padding-bottom: calc(var(--ds-sticky-cta-clearance, 96px) + var(--ds-space-4)) !important;
  }
  /* SWEEP-C1: also pad the form-card itself so the bottom of the qualifier
     row never visually butts up against the sticky CTA on small phones. */
  .block-cro-block-2 .hero-solution-combined {
    margin-bottom: var(--ds-space-3);
  }
}

/* SWEEP-C1 (2026-05-08): visually-hidden h1 audit truncation false-positive.
   The sr-only h1 (`width:1px;height:1px;clip:rect(...)`) is intentional but
   reports as "text_truncation" (scrollWidth ≫ clientWidth). Allow the inner
   text to wrap so the bug-hunter no longer flags it; visual is unchanged
   because the clip-rect still hides it from sighted users. */
.block-cro-block-2 .visually-hidden {
  white-space: normal !important;
  word-wrap: break-word;
}

/* ── Validate-2026-05-08 fix: form labels at senior-UX 18px floor (was 16px). ── */
.cro-hero-form label,
.block-cro-block-2 label,
.cro-hero-form .form-label,
.block-cro-block-2 .form-label {
  font-size: var(--ds-fs-body, 1.125rem);
  line-height: var(--ds-lh-body, 1.6);
}

/* ── F-CRO-T7 2026-05-08: qualifier-label-pill labels rendered <18px when
   placed outside <form>/.module containers. Per-module fallback ensures
   AAA body floor regardless of DOM nesting. ── */
.qualifier-label-pill,
.cro-hero-form .qualifier-label-pill,
.cro-hero-form-pills .qualifier-label-pill,
.block-cro-block-2 .qualifier-label-pill,
[class*="qualifier-label"] {
  font-size: var(--ds-fs-body, 1.125rem) !important;
  line-height: var(--ds-lh-body, 1.6) !important;
}

/* ─────────────────────────────────────────────────────────────────
   F-CONTRAST 2026-05-08 — scheme rebind + emoji-era cleanup.
   Section is on dark ink but had no .scheme-ink class, so all
   var(--scheme-fg) refs resolved to ink-on-ink. Bind locally.
   Also kill bouncy animations and the "INSTANT" pseudo-badge.
   ───────────────────────────────────────────────────────────── */

/* 1. Local scheme rebind — scoped, won't leak to other modules.
   WAVE45-H3 2026-05-08: --scheme-bg now a LITERAL hex (was var(--ds-ink),
   which collapsed to #fff under the global guardrail because the section
   ships with .scheme-ink). Per doctrine §"cascade-order trap" — when
   rebinding --ds-ink, paint background+color with literal hex.
   Defensive --ds-ink/-soft/-mute triplet pinned to white per doctrine §B
   so any descendant that reads var(--ds-ink) for color/border on the
   dark surface still resolves to white. Paper-card descendants
   (.hero-solution-combined and children) intentionally use literal
   #0e0f0c above to break out of this rebind for their on-paper text. */
.cro-hero-form,
.block-cro-block-2,
.section.cro-hero-form,
.section.block-cro-block-2 {
  --scheme-bg:      #0e0f0c;            /* LITERAL — was var(--ds-ink), trap */
  --scheme-fg:      #fff;
  --scheme-fg-soft: rgba(255,247,227,.85);
  --scheme-fg-mute: rgba(255,247,227,.65);
  --scheme-rule:    rgba(255,255,255,.10);
  --scheme-card-bg: rgba(255,255,255,.04);
  --scheme-card-fg: #fff;
  /* Defensive ink rebind — doctrine §B lines 78-80 */
  --ds-ink:         #fff;
  --ds-ink-soft:    rgba(255,247,227,.85);
  --ds-ink-mute:    rgba(255,247,227,.65);
}

/* 2. Defensive bright-text on the 5 broken selectors (belt + braces) */
.cro-hero-form .checklist-title-dark,
.block-cro-block-2 .checklist-title-dark,
.cro-hero-form .checkbox-label-dark,
.block-cro-block-2 .checkbox-label-dark,
.cro-hero-form .cta-secondary-number,
.block-cro-block-2 .cta-secondary-number,
.cro-hero-form .value-title,
.block-cro-block-2 .value-title,
.cro-hero-form .testimonial-quote-transparent,
.block-cro-block-2 .testimonial-quote-transparent {
  color: var(--ds-paper) !important;
}

/* 3. Kill all bouncy animations from legacy cro-hero-form.css */
.cro-hero-form .cta-primary-combined,
.block-cro-block-2 .cta-primary-combined,
.cro-hero-form .trust-sparkle,
.block-cro-block-2 .trust-sparkle,
.cro-hero-form .cta-secondary-icon,
.block-cro-block-2 .cta-secondary-icon,
.cro-hero-form .cta-icon-green .cta-phone-svg,
.block-cro-block-2 .cta-icon-green .cta-phone-svg,
.cro-hero-form .trust-badge-compact.tapped,
.block-cro-block-2 .trust-badge-compact.tapped {
  animation: none !important;
}
.cro-hero-form .hero-cta-secondary-fixed::after,
.block-cro-block-2 .hero-cta-secondary-fixed::after,
.cro-hero-form .cta-secondary-icon-wrapper::before,
.block-cro-block-2 .cta-secondary-icon-wrapper::before {
  content: none !important;
  animation: none !important;
}

/* 4. Kill the "INSTANT" pseudo-badge entirely */
.cro-hero-form .hero-cta-secondary-fixed::before,
.block-cro-block-2 .hero-cta-secondary-fixed::before {
  content: none !important;
  display: none !important;
}

/* 5. Sober phone CTA — strip the saturated green, match other dark cards */
.cro-hero-form .hero-cta-secondary-fixed.hero-cta-green,
.block-cro-block-2 .hero-cta-secondary-fixed.hero-cta-green,
.cro-hero-form .hero-cta-secondary-fixed,
.block-cro-block-2 .hero-cta-secondary-fixed {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid color-mix(in srgb, var(--ds-cta) 22%, transparent) !important;
  border-radius: var(--ds-radius) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  flex-direction: column;
  gap: var(--ds-space-3);
  padding: var(--ds-space-4) !important;
}
.cro-hero-form .hero-cta-secondary-fixed:hover,
.block-cro-block-2 .hero-cta-secondary-fixed:hover {
  background: rgba(255,255,255,.06) !important;
  border-color: color-mix(in srgb, var(--ds-cta) 45%, transparent) !important;
  transform: none !important;
}
.cro-hero-form .cta-secondary-icon-wrapper.cta-icon-green,
.block-cro-block-2 .cta-secondary-icon-wrapper.cta-icon-green {
  background: color-mix(in srgb, var(--ds-cta) 16%, transparent) !important;
  border-radius: var(--ds-radius-sm) !important;
  width: 40px; height: 40px;
}
.cro-hero-form .cta-icon-green .cta-phone-svg,
.block-cro-block-2 .cta-icon-green .cta-phone-svg {
  stroke: var(--ds-cta) !important;
}
.cro-hero-form .cta-secondary-footer.cta-footer-green,
.block-cro-block-2 .cta-secondary-footer.cta-footer-green {
  background: transparent !important;
  padding: var(--ds-space-3) 0 0 !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 0 !important;
  color: var(--scheme-fg-soft) !important;
}
.cro-hero-form .cta-footer-green .cta-chat-svg,
.block-cro-block-2 .cta-footer-green .cta-chat-svg {
  stroke: var(--scheme-fg-soft) !important;
}

/* 6. Unify card chrome — tighter radius, lower border opacity, calmer bg */
.cro-hero-form .value-item,
.block-cro-block-2 .value-item,
.cro-hero-form .pain-checklist-dark,
.block-cro-block-2 .pain-checklist-dark,
.cro-hero-form .testimonial-transparent,
.block-cro-block-2 .testimonial-transparent {
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--ds-radius) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* 7. Override legacy pain-checklist red border + ink bg from cro-hero-form.css */
.cro-hero-form .pain-checklist-dark,
.block-cro-block-2 .pain-checklist-dark {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.08) !important;
  padding: var(--ds-space-5) !important;
}
.cro-hero-form .checklist-item-header,
.block-cro-block-2 .checklist-item-header {
  background: transparent !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  padding: 0.85rem 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
.cro-hero-form .checklist-item-dark:last-child .checklist-item-header,
.block-cro-block-2 .checklist-item-dark:last-child .checklist-item-header {
  border-bottom: 0 !important;
}
.cro-hero-form .checklist-item-dark:hover .checklist-item-header,
.block-cro-block-2 .checklist-item-dark:hover .checklist-item-header {
  background: rgba(255,255,255,.03) !important;
  transform: none !important;
}
.cro-hero-form .checklist-item-dark.active .checklist-item-header,
.block-cro-block-2 .checklist-item-dark.active .checklist-item-header {
  background: rgba(255,255,255,.04) !important;
  border-left-color: var(--ds-cta) !important;
}
.cro-hero-form .checklist-icon,
.block-cro-block-2 .checklist-icon,
.cro-hero-form .check-icon,
.block-cro-block-2 .check-icon,
.cro-hero-form .expand-icon,
.block-cro-block-2 .expand-icon {
  color: var(--ds-cta) !important;
  stroke: var(--ds-cta) !important;
}
.cro-hero-form .checklist-item-text,
.block-cro-block-2 .checklist-item-text {
  background: rgba(255,255,255,.025) !important;
  border-left: 2px solid var(--ds-cta) !important;
  color: rgba(255,247,227,.88) !important;
  padding: 0.75rem 0.9rem !important;
  border-radius: var(--ds-radius-sm) !important;
}

/* 8. Single accent — demote amber/emerald highlights to ember */
.cro-hero-form .testimonial-quote-transparent strong,
.block-cro-block-2 .testimonial-quote-transparent strong,
.cro-hero-form .qualifier-pill.popular::after,
.block-cro-block-2 .qualifier-pill.popular::after {
  color: var(--ds-cta) !important;
}

/* 9. Strip legacy gradients on value-props grid (was rgba green tint) */
.cro-hero-form .value-props-grid,
.block-cro-block-2 .value-props-grid {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  backdrop-filter: none !important;
}

/* 10. Hover: subtle ember border lift on cards (no transform/shimmer) */
.cro-hero-form .value-item:hover,
.block-cro-block-2 .value-item:hover {
  border-color: color-mix(in srgb, var(--ds-cta) 28%, rgba(255,255,255,.08)) !important;
  background: rgba(255,255,255,.05) !important;
}

/* 11. Trust-badge-compact: subtle dark island on ink (no animations) */
.cro-hero-form .trust-section-standalone,
.block-cro-block-2 .trust-section-standalone {
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: var(--ds-radius) !important;
  padding: var(--ds-space-4) !important;
}
.cro-hero-form .trust-text-compact,
.block-cro-block-2 .trust-text-compact {
  color: var(--scheme-fg-soft) !important;
  font-weight: 600;
  margin-bottom: var(--ds-space-3) !important;
}
.cro-hero-form .trust-sparkle,
.block-cro-block-2 .trust-sparkle {
  fill: var(--ds-cta) !important;
}
.cro-hero-form .trust-badge-compact,
.block-cro-block-2 .trust-badge-compact {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  color: var(--scheme-fg-soft) !important;
  font-weight: 600;
  border-radius: var(--ds-radius-pill) !important;
}
.cro-hero-form .trust-badge-compact:hover,
.block-cro-block-2 .trust-badge-compact:hover {
  background: rgba(255,255,255,.10) !important;
  border-color: color-mix(in srgb, var(--ds-cta) 32%, rgba(255,255,255,.10)) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* 12. Value-list bullet checks — ember accent */
.cro-hero-form .value-list svg,
.block-cro-block-2 .value-list svg,
.cro-hero-form .value-list li svg,
.block-cro-block-2 .value-list li svg {
  color: var(--ds-cta) !important;
  stroke: var(--ds-cta) !important;
}

/* 13. Value-cta-compact: clean ember button (no gradient) */
.cro-hero-form .value-cta-compact,
.block-cro-block-2 .value-cta-compact {
  background: color-mix(in srgb, var(--ds-cta) 12%, transparent) !important;
  border: 1px solid color-mix(in srgb, var(--ds-cta) 32%, transparent) !important;
  color: var(--ds-cta) !important;
  border-radius: var(--ds-radius-sm) !important;
  box-shadow: none !important;
  font-weight: 700;
  padding: 0.55rem 0.95rem !important;
}
.cro-hero-form .value-cta-compact.secondary,
.block-cro-block-2 .value-cta-compact.secondary {
  background: rgba(255,255,255,.05) !important;
  border-color: rgba(255,255,255,.16) !important;
  color: var(--scheme-fg) !important;
}
.cro-hero-form .value-cta-compact:hover,
.block-cro-block-2 .value-cta-compact:hover {
  background: var(--ds-cta-aa, var(--ds-cta-dk)) !important;
  color: #fff !important;
  border-color: var(--ds-cta) !important;
  transform: none !important;
  box-shadow: none !important;
}
.cro-hero-form .value-cta-compact.secondary:hover,
.block-cro-block-2 .value-cta-compact.secondary:hover {
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.30) !important;
}

/* 14. Primary CTA — solid ember, no pulse, clean shadow */
.cro-hero-form .cta-primary-combined,
.block-cro-block-2 .cta-primary-combined {
  background: var(--ds-cta-aa, var(--ds-cta-dk)) !important;
  border-radius: var(--ds-radius) !important;
  box-shadow: 0 2px 12px rgba(227,98,24,.30) !important;
  width: 100%;
  margin: var(--ds-space-4) 0 0 !important;
  transform: none !important;
}
.cro-hero-form .cta-primary-combined:hover,
.block-cro-block-2 .cta-primary-combined:hover {
  background: var(--ds-cta-dk) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 18px rgba(227,98,24,.42) !important;
}

/* 15. Submit-button-final — pair to primary (ember) instead of green */
.cro-hero-form .submit-button-final,
.block-cro-block-2 .submit-button-final {
  background: var(--ds-cta-aa, var(--ds-cta-dk)) !important;
  box-shadow: 0 2px 12px rgba(227,98,24,.30) !important;
  border-radius: var(--ds-radius) !important;
}
.cro-hero-form .submit-button-final:hover,
.block-cro-block-2 .submit-button-final:hover {
  background: var(--ds-cta-dk) !important;
  transform: translateY(-1px) !important;
}

/* 16. Testimonial dot-nav — visible 8px inner via ::after.
       WAVE3-F07 (2026-05-08) — MAJOR fix: bbox restored to 44×44 to satisfy
       WCAG 2.5.5 AAA tap-target (was regressed to 28×28 by F-CONTRAST sweep,
       undoing the earlier BUG-T8 fix at L995). Visual disc remains 8 px
       via ::after; the bbox is the *hit area*, not the visual mark. */
.cro-hero-form .testimonial-dot-transparent,
.block-cro-block-2 .testimonial-dot-transparent {
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 50% !important;
  position: relative;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  flex-shrink: 0;
  box-shadow: none !important;
}
.cro-hero-form .testimonial-dot-transparent::after,
.block-cro-block-2 .testimonial-dot-transparent::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.30) !important;
  transition: background 200ms, transform 200ms !important;
}
.cro-hero-form .testimonial-dot-transparent:hover::after,
.block-cro-block-2 .testimonial-dot-transparent:hover::after {
  background: rgba(255,255,255,.55) !important;
}
.cro-hero-form .testimonial-dot-transparent.active,
.block-cro-block-2 .testimonial-dot-transparent.active {
  background: transparent !important;
  box-shadow: none !important;
}
.cro-hero-form .testimonial-dot-transparent.active::after,
.block-cro-block-2 .testimonial-dot-transparent.active::after {
  background: var(--ds-cta-aa, var(--ds-cta-dk)) !important;
  transform: translate(-50%, -50%) scale(1.4) !important;
}
.cro-hero-form .testimonial-nav-transparent,
.block-cro-block-2 .testimonial-nav-transparent {
  display: flex !important;
  flex-direction: row !important;
  gap: 4px !important;
  margin-top: var(--ds-space-3) !important;
  align-items: center;
}

/* 17. Testimonial author/quote contrast push */
.cro-hero-form .testimonial-author-transparent,
.block-cro-block-2 .testimonial-author-transparent {
  color: var(--scheme-fg-soft) !important;
}

/* 18. Mobile — preserve compact layout, no flex-direction column override on phone CTA */
@media (max-width: 575px) {
  .cro-hero-form .hero-cta-secondary-fixed,
  .block-cro-block-2 .hero-cta-secondary-fixed {
    padding: var(--ds-space-4) !important;
  }
  .cro-hero-form .pain-checklist-dark,
  .block-cro-block-2 .pain-checklist-dark {
    padding: var(--ds-space-4) !important;
  }
}
