/* ═══ COLOR FLOW MAP (from design-spec.theme_context_map) ═══
 * index.html:       dark-top
 *   nav             → transparent-on-dark (scrolled: solid #0F1E30)
 *   hero            → DARK  (#0F1E30)      | text: #F0EEE8
 *   proof-strip     → DARK_ALT (#1A2E4A)   | text: #F0EEE8
 *   problem         → LIGHT (#F5F5F0)      | text: #1A2E4A
 *   product-overview→ CREAM (#EDE9E0)      | text: #1A2E4A
 *   pipeline-deep   → DARK  (#0F1E30)      | text: #F0EEE8
 *   integrations-strip → LIGHT (#F5F5F0)   | text: #1A2E4A
 *   use-cases       → CREAM (#EDE9E0)      | text: #1A2E4A
 *   testimonials    → DARK  (#1A2E4A)      | text: #F0EEE8
 *   security-strip  → LIGHT (#F5F5F0)      | text: #1A2E4A
 *   cta-close       → DARK_ALT (#0F1E30)   | text: #F0EEE8
 *   footer          → DARK_ALT (#0F1E30)   | text: #B8BCCA
 *
 * product.html, how-it-works.html, use-cases/*.html, security.html, about.html:
 *   nav             → transparent-on-dark → logo-light
 *   hero            → DARK  (#0F1E30)
 *   body sections   → alternate light/cream/dark
 *   footer          → DARK_ALT
 *
 * integrations.html, pricing.html, contact.html, blog/*, login/*, legal/*:
 *   nav             → transparent-on-LIGHT → logo-dark (solid #1A2E4A on scroll)
 *   hero/first section → LIGHT (#F5F5F0)
 *   body sections   → alternate cream/light/dark
 *   footer          → DARK_ALT
 *
 * Adjacent same-polarity: dark hero → dark proof-strip: use #1A2E4A (slightly lighter than #0F1E30) + border-top
 * Adjacent dark-alt CTA-close → footer: share bg but footer has border-top separator
 * ═══════════════════════════════════════════════════════════════════════════════ */

/* ═══ CSS CUSTOM PROPERTIES ═══ */
:root {
  /* Brand colors */
  --cv-navy: #1A2E4A;
  --cv-navy-deep: #0F1E30;
  --cv-navy-mid: #243855;
  --cv-teal: #0E7C6B;
  --cv-teal-light: #4ECDC4;
  --cv-teal-aa-light: #0A6558;
  --cv-teal-aa-dark: #3DD6C4;
  --cv-amber: #C4772A;

  /* Foreground tokens */
  --cv-fg-on-light: #1A2E4A;
  --cv-fg-on-light-secondary: #4A5568;
  --cv-fg-on-light-muted: #6B7280;
  --cv-fg-on-dark: #F0EEE8;
  --cv-fg-on-dark-secondary: #B8BCCA;
  --cv-fg-on-dark-muted: #8896A8;

  /* Background tokens */
  --cv-bg-light: #F5F5F0;
  --cv-bg-white: #FFFFFF;
  --cv-bg-cream: #EDE9E0;
  --cv-bg-dark: #1A2E4A;
  --cv-bg-dark-alt: #0F1E30;
  --cv-bg-section-navy-light: #243855;

  /* Typography */
  --cv-font-display: 'DM Serif Display', Georgia, serif;
  --cv-font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --cv-font-mono: 'JetBrains Mono', 'Fira Code', Consolas, monospace;

  /* Spacing */
  --cv-section-pad-desktop: 96px;
  --cv-section-pad-mobile: 64px;
  --cv-container-width: 1200px;

  /* Borders & Shadows */
  --cv-border-light: 1px solid #E2DDD4;
  --cv-border-dark: 1px solid rgba(255, 255, 255, 0.08);
  --cv-shadow-card: 0 2px 8px rgba(26, 46, 74, 0.10);
  --cv-radius-card: 4px;
  --cv-radius-btn: 6px;
}

/* ═══ RESET & BASE ═══ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--cv-font-body);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--cv-fg-on-light);
  background: var(--cv-bg-light);
}

body.cv-page--dark-top {
  background: var(--cv-bg-dark-alt);
}

body.cv-page--light-top {
  background: var(--cv-bg-light);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

button {
  cursor: pointer;
  font-family: inherit;
}

/* ═══ TYPOGRAPHY ═══ */
h1, h2, h3, h4 {
  font-family: var(--cv-font-display);
  font-weight: 400;
  line-height: 1.2;
}

h1 { font-size: 3.5rem; }
h2 { font-size: 2.25rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; font-family: var(--cv-font-body); font-weight: 600; }

p { line-height: 1.7; }

.cv-label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-family: var(--cv-font-body);
}

.cv-body-large {
  font-size: 1.125rem;
  line-height: 1.7;
}

/* ═══ CONTAINER ═══ */
.cv-container {
  max-width: var(--cv-container-width);
  margin: 0 auto;
  padding: 0 24px;
}

/* ═══ SECTION BASE ═══ */
.cv-section {
  padding: var(--cv-section-pad-desktop) 0;
}

.cv-section--light {
  background: var(--cv-bg-light);
  color: var(--cv-fg-on-light);
}

.cv-section--white {
  background: var(--cv-bg-white);
  color: var(--cv-fg-on-light);
}

.cv-section--cream {
  background: var(--cv-bg-cream);
  color: var(--cv-fg-on-light);
}

.cv-section--dark {
  background: var(--cv-bg-dark);
  color: var(--cv-fg-on-dark);
}

.cv-section--dark-alt {
  background: var(--cv-bg-dark-alt);
  color: var(--cv-fg-on-dark);
}

/* ═══ BUTTONS ═══ */
.cv-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  border-radius: var(--cv-radius-btn);
  font-family: var(--cv-font-body);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  border: 2px solid transparent;
  transition: all 0.18s ease;
  white-space: nowrap;
}

.cv-btn--primary {
  background: var(--cv-teal);
  color: #FFFFFF;
  border-color: var(--cv-teal);
}
.cv-btn--primary:hover {
  background: var(--cv-teal-aa-light);
  border-color: var(--cv-teal-aa-light);
  color: #FFFFFF;
}

.cv-btn--outline-dark {
  background: transparent;
  color: var(--cv-fg-on-dark);
  border-color: rgba(240, 238, 232, 0.4);
}
.cv-btn--outline-dark:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(240, 238, 232, 0.7);
  color: var(--cv-fg-on-dark);
}

.cv-btn--outline-light {
  background: transparent;
  color: var(--cv-fg-on-light);
  border-color: var(--cv-navy);
}
.cv-btn--outline-light:hover {
  background: var(--cv-navy);
  color: var(--cv-fg-on-dark);
}

.cv-btn--ghost-dark {
  background: transparent;
  color: var(--cv-teal-aa-dark);
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
}
.cv-btn--ghost-dark:hover {
  color: #4ECDC4;
}

.cv-btn--ghost-light {
  background: transparent;
  color: var(--cv-teal-aa-light);
  border-color: transparent;
  padding-left: 0;
  padding-right: 0;
}
.cv-btn--ghost-light:hover {
  color: var(--cv-teal);
}

/* ═══ NAVIGATION ═══ */
.cv-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: background 0.25s ease, box-shadow 0.25s ease;
  padding: 0 24px;
}

/* Dark-top pages: nav starts transparent, links white */
body.cv-page--dark-top .cv-nav {
  background: transparent;
}

body.cv-page--dark-top .cv-nav--scrolled {
  background: var(--cv-bg-dark-alt);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* Light-top pages: nav starts solid navy immediately */
body.cv-page--light-top .cv-nav {
  background: var(--cv-bg-dark-alt);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

.cv-nav__inner {
  max-width: var(--cv-container-width);
  margin: 0 auto;
  height: 68px;
  display: flex;
  align-items: center;
  gap: 40px;
}

.cv-nav__logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.cv-nav__logo img {
  height: 36px;
  width: auto;
  max-width: 180px;
}

.cv-nav__links {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
}

.cv-nav__link {
  font-size: 0.9375rem;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: 4px;
  transition: color 0.15s ease, background 0.15s ease;
  color: var(--cv-fg-on-dark);
}

.cv-nav__link:hover {
  color: var(--cv-teal-aa-dark);
  background: rgba(255, 255, 255, 0.05);
}

/* Dropdown */
.cv-nav__item {
  position: relative;
}

.cv-nav__dropdown-toggle {
  background: transparent;
  border: none;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: color 0.15s ease, background 0.15s ease;
  color: var(--cv-fg-on-dark);
  display: flex;
  align-items: center;
  gap: 5px;
}

.cv-nav__dropdown-toggle:hover {
  color: var(--cv-teal-aa-dark);
  background: rgba(255, 255, 255, 0.05);
}

.cv-nav__dropdown-toggle .cv-nav__chevron {
  font-size: 0.6rem;
  transition: transform 0.2s ease;
}

.cv-nav__item:hover .cv-nav__chevron,
.cv-nav__item.is-open .cv-nav__chevron {
  transform: rotate(180deg);
}

.cv-nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 200px;
  background: var(--cv-bg-dark-alt);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--cv-radius-card);
  padding: 6px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s ease, visibility 0.18s ease, transform 0.18s ease;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.cv-nav__item:hover .cv-nav__dropdown-menu,
.cv-nav__item.is-open .cv-nav__dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.cv-nav__dropdown-menu a {
  display: block;
  padding: 9px 14px;
  font-size: 0.9rem;
  font-weight: 400;
  border-radius: 3px;
  color: var(--cv-fg-on-dark-secondary);
  transition: color 0.12s ease, background 0.12s ease;
}

.cv-nav__dropdown-menu a:hover {
  background: rgba(255, 255, 255, 0.07);
  color: var(--cv-fg-on-dark);
}

/* Nav actions */
.cv-nav__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.cv-nav__signin {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--cv-fg-on-dark-secondary);
  padding: 8px 12px;
  transition: color 0.15s ease;
}
.cv-nav__signin:hover {
  color: var(--cv-fg-on-dark);
}

.cv-nav__cta {
  padding: 9px 20px;
  font-size: 0.875rem;
}

/* Mobile hamburger */
.cv-nav__hamburger {
  display: none;
  background: transparent;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: var(--cv-fg-on-dark);
  margin-left: auto;
}

.cv-nav__hamburger .bar {
  display: block;
  width: 22px;
  height: 2px;
  background: currentColor;
  margin: 5px 0;
  transition: all 0.25s ease;
  border-radius: 2px;
}

/* Mobile menu */
.cv-nav__mobile-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--cv-bg-dark-alt);
  border-top: var(--cv-border-dark);
  padding: 16px 24px 24px;
}

.cv-nav__mobile-menu.is-open {
  display: block;
}

.cv-nav__mobile-link {
  display: block;
  padding: 12px 0;
  font-size: 1rem;
  font-weight: 500;
  color: var(--cv-fg-on-dark);
  border-bottom: var(--cv-border-dark);
}

.cv-nav__mobile-link:last-child {
  border-bottom: none;
}

.cv-nav__mobile-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}

/* ═══ HERO SECTION ═══ */
.cv-hero {
  background: var(--cv-bg-dark-alt);
  color: var(--cv-fg-on-dark);
  padding-top: calc(68px + 80px);
  padding-bottom: 80px;
  position: relative;
  overflow: hidden;
}

.cv-hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.18;
  pointer-events: none;
}

.cv-hero__inner {
  max-width: var(--cv-container-width);
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  position: relative;
  z-index: 1;
}

.cv-hero__eyebrow {
  color: var(--cv-teal-aa-dark);
  margin-bottom: 16px;
  display: block;
}

.cv-hero__headline {
  font-size: 3.5rem;
  color: var(--cv-fg-on-dark);
  margin-bottom: 20px;
  line-height: 1.1;
}

.cv-hero__subhead {
  font-size: 1.125rem;
  color: var(--cv-fg-on-dark-secondary);
  margin-bottom: 36px;
  line-height: 1.7;
}

.cv-hero__actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* Sub-page hero (lighter weight) */
.cv-subhero {
  background: var(--cv-bg-dark-alt);
  color: var(--cv-fg-on-dark);
  padding-top: calc(68px + 64px);
  padding-bottom: 64px;
  position: relative;
  overflow: hidden;
}

.cv-subhero__inner {
  max-width: var(--cv-container-width);
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}

.cv-subhero__eyebrow {
  color: var(--cv-teal-aa-dark);
  margin-bottom: 14px;
  display: block;
}

.cv-subhero__headline {
  font-size: 2.75rem;
  color: var(--cv-fg-on-dark);
  margin-bottom: 16px;
  max-width: 720px;
}

.cv-subhero__subhead {
  font-size: 1.0625rem;
  color: var(--cv-fg-on-dark-secondary);
  max-width: 640px;
  line-height: 1.7;
}

.cv-subhero__img {
  margin-top: 40px;
  width: 100%;
  max-height: 400px;
  object-fit: cover;
  border-radius: var(--cv-radius-card);
  display: block;
}

/* Light-top subhero */
.cv-subhero--light {
  background: var(--cv-bg-light);
  color: var(--cv-fg-on-light);
  padding-top: calc(68px + 56px);
  padding-bottom: 56px;
}

.cv-subhero--light .cv-subhero__eyebrow {
  color: var(--cv-teal-aa-light);
}

.cv-subhero--light .cv-subhero__headline {
  color: var(--cv-fg-on-light);
}

.cv-subhero--light .cv-subhero__subhead {
  color: var(--cv-fg-on-light-secondary);
}

/* ═══ PIPELINE DIAGRAM (Hero Visual) ═══ */
.cv-pipeline {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 28px;
  font-family: var(--cv-font-mono);
}

.cv-pipeline__title {
  font-family: var(--cv-font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cv-fg-on-dark-muted);
  margin-bottom: 24px;
}

.cv-pipeline__nodes {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.cv-pipeline__node {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.cv-pipeline__connector {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 0;
}

.cv-pipeline__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--cv-teal-light);
  flex-shrink: 0;
  box-shadow: 0 0 8px rgba(78, 205, 196, 0.5);
  margin-top: 3px;
}

.cv-pipeline__dot--amber {
  background: var(--cv-amber);
  box-shadow: 0 0 8px rgba(196, 119, 42, 0.5);
}

.cv-pipeline__dot--complete {
  background: #4ADE80;
  box-shadow: 0 0 8px rgba(74, 222, 128, 0.5);
}

.cv-pipeline__line {
  width: 2px;
  height: 28px;
  background: linear-gradient(to bottom, rgba(78, 205, 196, 0.5), rgba(78, 205, 196, 0.15));
  flex-shrink: 0;
}

.cv-pipeline__content {
  flex: 1;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  padding: 12px 16px;
  margin-bottom: 4px;
}

.cv-pipeline__step-label {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cv-teal-aa-dark);
  margin-bottom: 4px;
  font-family: var(--cv-font-body);
}

.cv-pipeline__step-name {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--cv-fg-on-dark);
  font-family: var(--cv-font-body);
  margin-bottom: 4px;
}

.cv-pipeline__step-detail {
  font-size: 0.75rem;
  color: var(--cv-fg-on-dark-muted);
  font-family: var(--cv-font-mono);
  line-height: 1.4;
}

/* ═══ PROOF STRIP (Metrics) ═══ */
.cv-proof-strip {
  background: var(--cv-bg-dark);
  color: var(--cv-fg-on-dark);
  padding: 48px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cv-proof-strip__inner {
  max-width: var(--cv-container-width);
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px;
}

.cv-proof-strip__metric {
  text-align: center;
}

.cv-proof-strip__number {
  font-family: var(--cv-font-display);
  font-size: 3rem;
  color: var(--cv-teal-aa-dark);
  line-height: 1;
  margin-bottom: 8px;
}

.cv-proof-strip__label {
  font-size: 0.875rem;
  color: var(--cv-fg-on-dark-secondary);
  line-height: 1.5;
}

.cv-proof-strip__divider {
  width: 1px;
  background: rgba(255, 255, 255, 0.08);
  align-self: stretch;
}

/* ═══ SECTION HEADINGS ═══ */
.cv-section-header {
  margin-bottom: 56px;
}

.cv-section-header--centered {
  text-align: center;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 56px;
}

.cv-section__eyebrow {
  margin-bottom: 12px;
  display: block;
}

.cv-section--light .cv-section__eyebrow,
.cv-section--white .cv-section__eyebrow,
.cv-section--cream .cv-section__eyebrow {
  color: var(--cv-teal-aa-light);
}

.cv-section--dark .cv-section__eyebrow,
.cv-section--dark-alt .cv-section__eyebrow {
  color: var(--cv-teal-aa-dark);
}

.cv-section__headline {
  margin-bottom: 16px;
}

.cv-section--light .cv-section__headline,
.cv-section--white .cv-section__headline,
.cv-section--cream .cv-section__headline {
  color: var(--cv-fg-on-light);
}

.cv-section--dark .cv-section__headline,
.cv-section--dark-alt .cv-section__headline {
  color: var(--cv-fg-on-dark);
}

.cv-section__body {
  font-size: 1.0625rem;
  line-height: 1.7;
}

.cv-section--light .cv-section__body,
.cv-section--white .cv-section__body,
.cv-section--cream .cv-section__body {
  color: var(--cv-fg-on-light-secondary);
}

.cv-section--dark .cv-section__body,
.cv-section--dark-alt .cv-section__body {
  color: var(--cv-fg-on-dark-secondary);
}

/* ═══ FEATURE CARDS ═══ */
.cv-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.cv-card-grid--2col {
  grid-template-columns: repeat(2, 1fr);
}

.cv-card-grid--4col {
  grid-template-columns: repeat(4, 1fr);
}

.cv-card {
  padding: 28px;
  border-radius: var(--cv-radius-card);
  background: var(--cv-bg-white);
  box-shadow: var(--cv-shadow-card);
}

.cv-section--light .cv-card,
.cv-section--cream .cv-card {
  background: var(--cv-bg-white);
  box-shadow: var(--cv-shadow-card);
  border: none;
}

.cv-section--cream .cv-card {
  background: var(--cv-bg-light);
}

.cv-section--dark .cv-card,
.cv-section--dark-alt .cv-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
}

.cv-card__icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  font-size: 1.1rem;
}

.cv-section--light .cv-card__icon,
.cv-section--cream .cv-card__icon {
  background: rgba(14, 124, 107, 0.1);
  color: var(--cv-teal-aa-light);
}

.cv-section--dark .cv-card__icon,
.cv-section--dark-alt .cv-card__icon {
  background: rgba(61, 214, 196, 0.12);
  color: var(--cv-teal-aa-dark);
}

.cv-card__title {
  font-size: 1.125rem;
  font-weight: 600;
  font-family: var(--cv-font-body);
  margin-bottom: 10px;
}

.cv-section--light .cv-card__title,
.cv-section--cream .cv-card__title {
  color: var(--cv-fg-on-light);
}

.cv-section--dark .cv-card__title,
.cv-section--dark-alt .cv-card__title {
  color: var(--cv-fg-on-dark);
}

.cv-card__body {
  font-size: 0.9375rem;
  line-height: 1.65;
}

.cv-section--light .cv-card__body,
.cv-section--cream .cv-card__body {
  color: var(--cv-fg-on-light-secondary);
}

.cv-section--dark .cv-card__body,
.cv-section--dark-alt .cv-card__body {
  color: var(--cv-fg-on-dark-secondary);
}

/* Highlighted card (pricing Carrier tier) */
.cv-card--highlighted {
  background: var(--cv-navy);
  border: 2px solid var(--cv-teal);
  box-shadow: 0 4px 20px rgba(14, 124, 107, 0.25);
}

.cv-card--highlighted .cv-card__title {
  color: var(--cv-fg-on-dark);
}

.cv-card--highlighted .cv-card__body {
  color: var(--cv-fg-on-dark-secondary);
}

.cv-card--highlighted .cv-card__icon {
  background: rgba(61, 214, 196, 0.15);
  color: var(--cv-teal-aa-dark);
}

.cv-card--highlighted .cv-pricing-price {
  color: var(--cv-teal-aa-dark);
}

.cv-card--highlighted .cv-pricing-volume {
  color: var(--cv-fg-on-dark-secondary);
}

.cv-card--highlighted .cv-pricing-features li {
  color: var(--cv-fg-on-dark-secondary);
}

.cv-card--highlighted .cv-pricing-features li i {
  color: var(--cv-teal-aa-dark);
}

.cv-card--highlighted .cv-label {
  color: var(--cv-fg-on-dark-muted);
}

/* ═══ PIPELINE DEEP MOCK UI ═══ */
.cv-mock-ui {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  overflow: hidden;
}

.cv-mock-ui__tabs {
  display: flex;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.2);
  padding: 0 16px;
}

.cv-mock-ui__tab {
  padding: 12px 16px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--cv-fg-on-dark-muted);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: color 0.15s ease, border-color 0.15s ease;
  background: transparent;
  border-top: none;
  border-left: none;
  border-right: none;
  font-family: var(--cv-font-body);
}

.cv-mock-ui__tab.active,
.cv-mock-ui__tab:hover {
  color: var(--cv-fg-on-dark);
  border-bottom-color: var(--cv-teal-light);
}

.cv-mock-ui__panel {
  display: none;
  padding: 20px;
}

.cv-mock-ui__panel.active {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}

.cv-mock-col {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 4px;
  padding: 14px;
}

.cv-mock-col__header {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cv-fg-on-dark-muted);
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.cv-mock-field {
  margin-bottom: 10px;
}

.cv-mock-field__label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--cv-fg-on-dark-muted);
  margin-bottom: 3px;
  font-family: var(--cv-font-body);
}

.cv-mock-field__value {
  font-size: 0.8125rem;
  color: var(--cv-fg-on-dark);
  font-family: var(--cv-font-mono);
  line-height: 1.4;
}

.cv-mock-field__value--teal {
  color: var(--cv-teal-aa-dark);
}

.cv-mock-field__value--amber {
  color: var(--cv-amber);
}

.cv-mock-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border-radius: 3px;
  font-size: 0.7rem;
  font-weight: 600;
  font-family: var(--cv-font-body);
}

.cv-mock-badge--matched {
  background: rgba(74, 222, 128, 0.15);
  color: #4ADE80;
}

.cv-mock-badge--routing {
  background: rgba(78, 205, 196, 0.15);
  color: var(--cv-teal-light);
}

.cv-mock-badge--assigned {
  background: rgba(196, 119, 42, 0.15);
  color: var(--cv-amber);
}

/* ═══ INTEGRATIONS STRIP ═══ */
.cv-integrations-strip {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.cv-integration-tag {
  padding: 10px 18px;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  font-family: var(--cv-font-body);
}

.cv-section--light .cv-integration-tag {
  background: var(--cv-bg-white);
  color: var(--cv-navy);
  border: 1px solid #D4CFCA;
  box-shadow: var(--cv-shadow-card);
}

/* ═══ TESTIMONIALS ═══ */
.cv-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.cv-testimonial {
  padding: 32px;
  border-radius: var(--cv-radius-card);
}

.cv-section--dark .cv-testimonial {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.cv-testimonial__quote {
  font-size: 1.0625rem;
  line-height: 1.7;
  margin-bottom: 20px;
  font-style: italic;
}

.cv-section--dark .cv-testimonial__quote {
  color: var(--cv-fg-on-dark);
}

.cv-section--light .cv-testimonial__quote {
  color: var(--cv-fg-on-light);
}

.cv-testimonial__author-name {
  font-size: 0.9375rem;
  font-weight: 600;
}

.cv-section--dark .cv-testimonial__author-name {
  color: var(--cv-fg-on-dark);
}

.cv-section--light .cv-testimonial__author-name {
  color: var(--cv-fg-on-light);
}

.cv-testimonial__author-title {
  font-size: 0.8125rem;
}

.cv-section--dark .cv-testimonial__author-title {
  color: var(--cv-fg-on-dark-muted);
}

.cv-section--light .cv-testimonial__author-title {
  color: var(--cv-fg-on-light-muted);
}

/* ═══ TRUST SIGNAL STRIP ═══ */
.cv-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.cv-trust-item {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.cv-trust-item__icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
}

.cv-section--light .cv-trust-item__icon {
  background: rgba(14, 124, 107, 0.1);
  color: var(--cv-teal-aa-light);
}

.cv-trust-item__title {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 6px;
}

.cv-section--light .cv-trust-item__title {
  color: var(--cv-fg-on-light);
}

.cv-trust-item__body {
  font-size: 0.9rem;
  line-height: 1.6;
}

.cv-section--light .cv-trust-item__body {
  color: var(--cv-fg-on-light-secondary);
}

/* ═══ USE CASE CARDS ═══ */
.cv-use-case-card {
  padding: 32px;
  border-radius: var(--cv-radius-card);
  background: var(--cv-bg-light);
  border: var(--cv-border-light);
  position: relative;
}

.cv-use-case-card__lob {
  margin-bottom: 12px;
  display: block;
  color: var(--cv-teal-aa-light);
}

.cv-use-case-card__title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--cv-fg-on-light);
  margin-bottom: 10px;
  font-family: var(--cv-font-body);
}

.cv-use-case-card__body {
  font-size: 0.9rem;
  color: var(--cv-fg-on-light-secondary);
  line-height: 1.65;
  margin-bottom: 16px;
}

.cv-use-case-card__link {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--cv-teal-aa-light);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.cv-use-case-card__link:hover {
  color: var(--cv-teal);
}

/* ═══ STEP LIST (How It Works) ═══ */
.cv-step {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 32px;
  align-items: start;
  padding: var(--cv-section-pad-desktop) 0;
  border-bottom: var(--cv-border-light);
}

.cv-section--cream .cv-step {
  border-bottom-color: #D9D3C8;
}

.cv-step:last-child {
  border-bottom: none;
}

.cv-step__number {
  font-family: var(--cv-font-display);
  font-size: 4rem;
  line-height: 1;
}

.cv-section--light .cv-step__number,
.cv-section--cream .cv-step__number {
  color: rgba(26, 46, 74, 0.12);
}

.cv-section--dark .cv-step__number {
  color: rgba(240, 238, 232, 0.1);
}

.cv-step__content {}

.cv-step__title {
  margin-bottom: 12px;
}

.cv-section--light .cv-step__title,
.cv-section--cream .cv-step__title {
  color: var(--cv-fg-on-light);
}

.cv-section--dark .cv-step__title {
  color: var(--cv-fg-on-dark);
}

.cv-step__body {
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 20px;
}

.cv-section--light .cv-step__body,
.cv-section--cream .cv-step__body {
  color: var(--cv-fg-on-light-secondary);
}

.cv-section--dark .cv-step__body {
  color: var(--cv-fg-on-dark-secondary);
}

.cv-step__details {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cv-step__tag {
  padding: 4px 10px;
  border-radius: 3px;
  font-size: 0.8rem;
  font-weight: 500;
}

.cv-section--light .cv-step__tag,
.cv-section--cream .cv-step__tag {
  background: rgba(14, 124, 107, 0.08);
  color: var(--cv-teal-aa-light);
}

.cv-section--dark .cv-step__tag {
  background: rgba(61, 214, 196, 0.1);
  color: var(--cv-teal-aa-dark);
}

/* ═══ PRICING ═══ */
.cv-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: stretch;
}

.cv-pricing-card {
  display: flex;
  flex-direction: column;
  padding: 32px;
  border-radius: var(--cv-radius-card);
  background: var(--cv-bg-white);
  border: var(--cv-border-light);
  box-shadow: var(--cv-shadow-card);
}

.cv-pricing-badge {
  display: inline-block;
  padding: 3px 10px;
  background: var(--cv-teal);
  color: #FFFFFF;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 3px;
  margin-bottom: 16px;
}

.cv-pricing-tier-name {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--cv-fg-on-light);
  margin-bottom: 6px;
  font-family: var(--cv-font-body);
}

.cv-card--highlighted .cv-pricing-tier-name {
  color: var(--cv-fg-on-dark);
}

.cv-pricing-price {
  font-family: var(--cv-font-display);
  font-size: 2.75rem;
  color: var(--cv-fg-on-light);
  line-height: 1;
  margin-bottom: 4px;
}

.cv-pricing-period {
  font-size: 0.8125rem;
  color: var(--cv-fg-on-light-muted);
  margin-bottom: 8px;
}

.cv-card--highlighted .cv-pricing-period {
  color: var(--cv-fg-on-dark-muted);
}

.cv-pricing-volume {
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-secondary);
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: var(--cv-border-light);
}

.cv-pricing-features {
  margin-bottom: 28px;
}

.cv-pricing-features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 6px 0;
  font-size: 0.9rem;
  color: var(--cv-fg-on-light-secondary);
  line-height: 1.5;
}

.cv-pricing-features li i {
  color: var(--cv-teal-aa-light);
  flex-shrink: 0;
  margin-top: 3px;
}

/* ═══ FAQ ═══ */
.cv-faq-list {
  max-width: 760px;
  margin: 0 auto;
}

.cv-faq-item {
  border-bottom: var(--cv-border-light);
}

.cv-section--cream .cv-faq-item {
  border-bottom-color: #D9D3C8;
}

.cv-faq-item:first-child {
  border-top: var(--cv-border-light);
}

.cv-section--cream .cv-faq-item:first-child {
  border-top-color: #D9D3C8;
}

.cv-faq-question {
  width: 100%;
  text-align: left;
  padding: 20px 0;
  background: transparent;
  border: none;
  font-family: var(--cv-font-body);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  transition: color 0.15s ease;
}

.cv-section--light .cv-faq-question,
.cv-section--cream .cv-faq-question {
  color: var(--cv-fg-on-light);
}

.cv-faq-question i {
  flex-shrink: 0;
  transition: transform 0.2s ease;
  font-size: 0.875rem;
}

.cv-section--light .cv-faq-question i,
.cv-section--cream .cv-faq-question i {
  color: var(--cv-fg-on-light-muted);
}

.cv-faq-item.is-open .cv-faq-question i {
  transform: rotate(180deg);
}

.cv-faq-answer {
  display: none;
  padding: 0 0 20px;
  font-size: 0.9375rem;
  line-height: 1.7;
}

.cv-faq-item.is-open .cv-faq-answer {
  display: block;
}

.cv-section--light .cv-faq-answer,
.cv-section--cream .cv-faq-answer {
  color: var(--cv-fg-on-light-secondary);
}

/* ═══ SECURITY / COMPLIANCE ═══ */
.cv-checklist {
  margin: 0;
}

.cv-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-bottom: var(--cv-border-light);
  font-size: 0.9375rem;
}

.cv-checklist li:last-child {
  border-bottom: none;
}

.cv-section--light .cv-checklist li {
  color: var(--cv-fg-on-light);
  border-bottom-color: #E2DDD4;
}

.cv-checklist li i {
  flex-shrink: 0;
  margin-top: 3px;
}

.cv-section--light .cv-checklist li i {
  color: var(--cv-teal-aa-light);
}

/* ═══ 2-COL SPLIT LAYOUT ═══ */
.cv-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.cv-split--reverse {
  direction: rtl;
}

.cv-split--reverse > * {
  direction: ltr;
}

/* ═══ TEAM CARDS ═══ */
.cv-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.cv-team-card {
  text-align: center;
  padding: 28px;
  border-radius: var(--cv-radius-card);
}

.cv-section--cream .cv-team-card {
  background: var(--cv-bg-light);
  box-shadow: var(--cv-shadow-card);
}

.cv-team-card__portrait {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 auto 16px;
  border: 3px solid rgba(14, 124, 107, 0.2);
}

.cv-team-card__name {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 4px;
  font-family: var(--cv-font-body);
}

.cv-section--cream .cv-team-card__name {
  color: var(--cv-fg-on-light);
}

.cv-team-card__title {
  font-size: 0.875rem;
  margin-bottom: 10px;
}

.cv-section--cream .cv-team-card__title {
  color: var(--cv-fg-on-light-secondary);
}

.cv-team-card__bio {
  font-size: 0.875rem;
  line-height: 1.6;
}

.cv-section--cream .cv-team-card__bio {
  color: var(--cv-fg-on-light-muted);
}

/* ═══ CONTACT FORM ═══ */
.cv-contact-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: start;
}

.cv-form-group {
  margin-bottom: 20px;
}

.cv-form-label {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--cv-fg-on-light);
  margin-bottom: 6px;
}

.cv-form-input {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #D4CFCA;
  border-radius: 4px;
  font-family: var(--cv-font-body);
  font-size: 0.9375rem;
  color: var(--cv-fg-on-light);
  background: var(--cv-bg-white);
  transition: border-color 0.15s ease;
}

.cv-form-input:focus {
  outline: none;
  border-color: var(--cv-teal);
  box-shadow: 0 0 0 3px rgba(14, 124, 107, 0.12);
}

.cv-form-textarea {
  min-height: 120px;
  resize: vertical;
}

.cv-form-select {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #D4CFCA;
  border-radius: 4px;
  font-family: var(--cv-font-body);
  font-size: 0.9375rem;
  color: var(--cv-fg-on-light);
  background: var(--cv-bg-white);
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
}

.cv-form-select:focus {
  outline: none;
  border-color: var(--cv-teal);
  box-shadow: 0 0 0 3px rgba(14, 124, 107, 0.12);
}

/* ═══ CONTACT INFO SIDEBAR ═══ */
.cv-contact-info {
  padding: 28px;
  border-radius: var(--cv-radius-card);
  background: var(--cv-bg-cream);
  border: var(--cv-border-light);
}

.cv-contact-info__item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: var(--cv-border-light);
}

.cv-contact-info__item:last-child {
  border-bottom: none;
}

.cv-contact-info__icon {
  color: var(--cv-teal-aa-light);
  width: 20px;
  flex-shrink: 0;
  margin-top: 2px;
}

.cv-contact-info__label {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cv-fg-on-light-muted);
  margin-bottom: 3px;
}

.cv-contact-info__value {
  font-size: 0.9375rem;
  color: var(--cv-fg-on-light);
}

.cv-contact-info__value a {
  color: var(--cv-teal-aa-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ═══ BLOG GRID ═══ */
.cv-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.cv-blog-card {
  background: var(--cv-bg-light);
  border-radius: var(--cv-radius-card);
  overflow: hidden;
  box-shadow: var(--cv-shadow-card);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.cv-blog-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(26, 46, 74, 0.13);
}

.cv-blog-card__img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  height: auto;
}

.cv-blog-card__content {
  padding: 20px;
}

.cv-blog-card__tag {
  display: inline-block;
  padding: 3px 8px;
  background: rgba(14, 124, 107, 0.1);
  color: var(--cv-teal-aa-light);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-radius: 3px;
  margin-bottom: 10px;
}

.cv-blog-card__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--cv-fg-on-light);
  line-height: 1.4;
  margin-bottom: 8px;
  font-family: var(--cv-font-body);
}

.cv-blog-card__excerpt {
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-secondary);
  line-height: 1.6;
  margin-bottom: 14px;
}

.cv-blog-card__meta {
  font-size: 0.8rem;
  color: var(--cv-fg-on-light-muted);
}

/* ═══ BLOG ARTICLE PAGE ═══ */
.cv-blog-article-header {
  padding-top: calc(68px + 40px);
  padding-bottom: 40px;
  background: var(--cv-bg-light);
}

.cv-blog-article-header__inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px;
}

.cv-blog-article__cover {
  width: 100%;
  height: auto;
  display: block;
  max-width: 760px;
  margin: 0 auto 0;
}

.cv-blog-article-body {
  padding: var(--cv-section-pad-desktop) 0;
  background: var(--cv-bg-white);
}

.cv-article-body {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 24px;
}

body.cv-page--light-top .cv-article-body h1,
body.cv-page--light-top .cv-article-body h2,
body.cv-page--light-top .cv-article-body h3 {
  color: var(--cv-fg-on-light);
  margin-top: 32px;
  margin-bottom: 12px;
}

body.cv-page--light-top .cv-article-body p {
  color: var(--cv-fg-on-light-secondary);
  margin-bottom: 18px;
  line-height: 1.8;
}

body.cv-page--light-top .cv-article-body ul,
body.cv-page--light-top .cv-article-body ol {
  list-style: disc;
  padding-left: 24px;
  margin-bottom: 18px;
}

body.cv-page--light-top .cv-article-body li {
  color: var(--cv-fg-on-light-secondary);
  margin-bottom: 6px;
  line-height: 1.7;
}

body.cv-page--light-top .cv-article-body a {
  color: var(--cv-teal-aa-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.cv-page--light-top .cv-article-body blockquote {
  border-left: 3px solid var(--cv-teal);
  padding: 16px 20px;
  margin: 24px 0;
  background: rgba(14, 124, 107, 0.05);
  border-radius: 0 4px 4px 0;
  color: var(--cv-fg-on-light);
  font-style: italic;
}

/* ═══ AUTH PAGES ═══ */
.cv-auth-layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 520px;
}

.cv-auth-brand-side {
  background: var(--cv-bg-dark-alt);
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}

.cv-auth-brand-side::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 30% 60%, rgba(14, 124, 107, 0.12) 0%, transparent 60%);
  pointer-events: none;
}

.cv-auth-brand-content {
  position: relative;
  z-index: 1;
  margin-top: 80px;
}

.cv-auth-brand-headline {
  font-family: var(--cv-font-display);
  font-size: 2.5rem;
  color: var(--cv-fg-on-dark);
  margin-bottom: 16px;
  line-height: 1.2;
}

.cv-auth-brand-body {
  font-size: 1rem;
  color: var(--cv-fg-on-dark-secondary);
  line-height: 1.7;
  max-width: 440px;
}

.cv-auth-brand-footer {
  position: relative;
  z-index: 1;
}

.cv-auth-panel {
  background: var(--cv-bg-white);
  padding: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cv-auth-panel__logo {
  margin-bottom: 40px;
}

.cv-auth-panel__logo img {
  height: 32px;
  width: auto;
}

.cv-auth-panel__title {
  font-family: var(--cv-font-display);
  font-size: 2rem;
  color: var(--cv-fg-on-light);
  margin-bottom: 8px;
}

.cv-auth-panel__sub {
  font-size: 0.9375rem;
  color: var(--cv-fg-on-light-secondary);
  margin-bottom: 32px;
}

.cv-auth-panel__footer {
  margin-top: 24px;
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-secondary);
}

.cv-auth-panel__footer a {
  color: var(--cv-teal-aa-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cv-auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
  font-size: 0.8125rem;
  color: var(--cv-fg-on-light-muted);
}

.cv-auth-divider::before,
.cv-auth-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #E2DDD4;
}

.cv-auth-brand-logo {
  display: inline-block;
  flex-shrink: 0;
}

.cv-auth-brand-eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cv-teal-aa-dark);
  display: block;
  margin-bottom: 16px;
}

.cv-auth-brand-stats {
  display: flex;
  gap: 32px;
  margin-top: 32px;
}

.cv-auth-stat__value {
  display: block;
  font-family: var(--cv-font-display);
  font-size: 2rem;
  color: var(--cv-teal-aa-dark);
  line-height: 1;
  margin-bottom: 4px;
}

.cv-auth-stat__label {
  display: block;
  font-size: 0.8rem;
  color: var(--cv-fg-on-dark-muted);
}

.cv-auth-brand-list {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.cv-auth-brand-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9375rem;
  color: var(--cv-fg-on-dark-secondary);
}

.cv-auth-brand-list li i {
  color: var(--cv-teal-aa-dark);
  font-size: 0.8rem;
  flex-shrink: 0;
}

.cv-auth-brand-copy {
  font-size: 0.8rem;
  color: var(--cv-fg-on-dark-muted);
}

.cv-auth-inline-link {
  font-size: 0.875rem;
  color: var(--cv-teal-aa-light);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cv-auth-back-link:hover {
  color: var(--cv-fg-on-light-secondary);
}

/* ═══ LEGAL PAGES ═══ */
.cv-legal-header {
  padding-top: calc(68px + 40px);
  padding-bottom: 40px;
  background: var(--cv-bg-light);
}

.cv-legal-header__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}

.cv-legal-body {
  padding: var(--cv-section-pad-desktop) 0;
  background: var(--cv-bg-white);
}

.cv-legal-body__inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}

body.cv-page--light-top .cv-legal-body h1 {
  font-size: 2.5rem;
  color: var(--cv-fg-on-light);
  margin-bottom: 12px;
}

body.cv-page--light-top .cv-legal-body h2 {
  font-size: 1.5rem;
  color: var(--cv-fg-on-light);
  margin-top: 40px;
  margin-bottom: 12px;
  padding-top: 24px;
  border-top: var(--cv-border-light);
}

body.cv-page--light-top .cv-legal-body h2:first-of-type {
  border-top: none;
  margin-top: 0;
  padding-top: 0;
}

body.cv-page--light-top .cv-legal-body h3 {
  font-size: 1.125rem;
  color: var(--cv-fg-on-light);
  margin-top: 24px;
  margin-bottom: 8px;
  font-family: var(--cv-font-body);
  font-weight: 600;
}

body.cv-page--light-top .cv-legal-body p {
  color: var(--cv-fg-on-light-secondary);
  margin-bottom: 14px;
  line-height: 1.8;
}

body.cv-page--light-top .cv-legal-body ul,
body.cv-page--light-top .cv-legal-body ol {
  list-style: disc;
  padding-left: 24px;
  margin-bottom: 14px;
}

body.cv-page--light-top .cv-legal-body li {
  color: var(--cv-fg-on-light-secondary);
  margin-bottom: 6px;
  line-height: 1.7;
}

body.cv-page--light-top .cv-legal-body a {
  color: var(--cv-teal-aa-light);
  text-decoration: underline;
}

body.cv-page--light-top .cv-legal-body address {
  font-style: normal;
  color: var(--cv-fg-on-light-secondary);
  line-height: 1.8;
}

.legal-meta {
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-muted);
  margin-top: 8px;
}

.legal-table {
  width: 100%;
  border-collapse: collapse;
  margin: 16px 0 24px;
  font-size: 0.9rem;
}

.legal-table th {
  text-align: left;
  padding: 10px 14px;
  background: var(--cv-bg-light);
  color: var(--cv-fg-on-light);
  font-weight: 600;
  border: var(--cv-border-light);
}

.legal-table td {
  padding: 10px 14px;
  color: var(--cv-fg-on-light-secondary);
  border: var(--cv-border-light);
  line-height: 1.5;
}

/* ═══ FOOTER ═══ */
.cv-footer {
  background: var(--cv-bg-dark-alt);
  color: var(--cv-fg-on-dark-secondary);
  padding: 72px 0 40px;
}

.cv-footer__inner {
  max-width: var(--cv-container-width);
  margin: 0 auto;
  padding: 0 24px;
}

.cv-footer__grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 56px;
}

.cv-footer__brand-logo {
  margin-bottom: 14px;
}

.cv-footer__brand-logo img {
  height: 32px;
  width: auto;
}

.cv-footer__tagline {
  font-size: 0.9375rem;
  color: var(--cv-fg-on-dark-secondary);
  margin-bottom: 16px;
  line-height: 1.55;
}

.cv-footer__contact {
  font-size: 0.875rem;
  color: var(--cv-fg-on-dark-muted);
  line-height: 1.7;
}

.cv-footer__contact a {
  color: var(--cv-fg-on-dark-muted);
  transition: color 0.15s ease;
}

.cv-footer__contact a:hover {
  color: var(--cv-teal-aa-dark);
}

.cv-footer__social {
  margin-top: 16px;
  display: flex;
  gap: 12px;
}

.cv-footer__social-link {
  width: 32px;
  height: 32px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--cv-fg-on-dark-muted);
  font-size: 0.875rem;
  transition: background 0.15s ease, color 0.15s ease;
}

.cv-footer__social-link:hover {
  background: rgba(255, 255, 255, 0.12);
  color: var(--cv-fg-on-dark);
}

.cv-footer__col-heading {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cv-fg-on-dark);
  margin-bottom: 16px;
}

.cv-footer__link {
  display: block;
  font-size: 0.875rem;
  color: var(--cv-fg-on-dark-muted);
  padding: 4px 0;
  transition: color 0.15s ease;
}

.cv-footer__link:hover {
  color: var(--cv-fg-on-dark-secondary);
}

.cv-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 28px;
  border-top: var(--cv-border-dark);
  font-size: 0.8125rem;
  color: var(--cv-fg-on-dark-muted);
  flex-wrap: wrap;
  gap: 12px;
}

.cv-footer__bottom-links {
  display: flex;
  gap: 24px;
}

.cv-footer__bottom-link {
  color: var(--cv-fg-on-dark-muted);
  transition: color 0.15s ease;
}

.cv-footer__bottom-link:hover {
  color: var(--cv-fg-on-dark-secondary);
}

/* ═══ CTA CLOSE SECTION ═══ */
.cv-cta-section {
  text-align: center;
  padding: 96px 0;
}

.cv-cta-section .cv-container {
  max-width: 640px;
}

.cv-cta-section__eyebrow {
  margin-bottom: 16px;
  display: block;
  color: var(--cv-teal-aa-dark);
}

.cv-cta-section__headline {
  font-size: 2.5rem;
  color: var(--cv-fg-on-dark);
  margin-bottom: 16px;
}

.cv-cta-section__body {
  font-size: 1.0625rem;
  color: var(--cv-fg-on-dark-secondary);
  margin-bottom: 36px;
  line-height: 1.7;
}

.cv-cta-section__actions {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ═══ COOKIE BANNER ═══ */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: var(--cv-bg-dark-alt);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 16px 24px;
}

.cookie-banner__inner {
  max-width: var(--cv-container-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.cookie-banner__text {
  font-size: 0.875rem;
  color: var(--cv-fg-on-dark-secondary);
  line-height: 1.5;
}

.cookie-banner__text a {
  color: var(--cv-teal-aa-dark);
  text-decoration: underline;
}

.cookie-banner__actions {
  flex-shrink: 0;
}

.cookie-banner__btn--primary {
  padding: 8px 20px;
  background: var(--cv-teal);
  color: #FFFFFF;
  border: none;
  border-radius: var(--cv-radius-btn);
  font-family: var(--cv-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease;
}

.cookie-banner__btn--primary:hover {
  background: var(--cv-teal-aa-light);
}

/* ═══ PRODUCT FEATURE SECTIONS ═══ */
.cv-feature-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

.cv-feature-split--reverse .cv-feature-split__text {
  order: 2;
}

.cv-feature-split--reverse .cv-feature-split__visual {
  order: 1;
}

.cv-feature-split__eyebrow {
  display: block;
  margin-bottom: 12px;
}

.cv-section--light .cv-feature-split__eyebrow,
.cv-section--cream .cv-feature-split__eyebrow {
  color: var(--cv-teal-aa-light);
}

.cv-section--dark .cv-feature-split__eyebrow,
.cv-section--dark-alt .cv-feature-split__eyebrow {
  color: var(--cv-teal-aa-dark);
}

.cv-feature-split__title {
  margin-bottom: 16px;
}

.cv-section--light .cv-feature-split__title,
.cv-section--cream .cv-feature-split__title {
  color: var(--cv-fg-on-light);
}

.cv-section--dark .cv-feature-split__title,
.cv-section--dark-alt .cv-feature-split__title {
  color: var(--cv-fg-on-dark);
}

.cv-feature-split__body {
  font-size: 1.0625rem;
  line-height: 1.75;
  margin-bottom: 24px;
}

.cv-section--light .cv-feature-split__body,
.cv-section--cream .cv-feature-split__body {
  color: var(--cv-fg-on-light-secondary);
}

.cv-section--dark .cv-feature-split__body,
.cv-section--dark-alt .cv-feature-split__body {
  color: var(--cv-fg-on-dark-secondary);
}

.cv-feature-list {
  margin-bottom: 28px;
}

.cv-feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 6px 0;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.cv-section--light .cv-feature-list li,
.cv-section--cream .cv-feature-list li {
  color: var(--cv-fg-on-light-secondary);
}

.cv-section--dark .cv-feature-list li,
.cv-section--dark-alt .cv-feature-list li {
  color: var(--cv-fg-on-dark-secondary);
}

.cv-section--light .cv-feature-list li i,
.cv-section--cream .cv-feature-list li i {
  color: var(--cv-teal-aa-light);
  flex-shrink: 0;
  margin-top: 3px;
}

.cv-section--dark .cv-feature-list li i,
.cv-section--dark-alt .cv-feature-list li i {
  color: var(--cv-teal-aa-dark);
  flex-shrink: 0;
  margin-top: 3px;
}

/* ═══ VISUAL MOCK BOX ═══ */
.cv-mock-box {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 24px;
  font-family: var(--cv-font-mono);
  font-size: 0.8125rem;
  color: var(--cv-fg-on-dark-secondary);
}

.cv-mock-box--light {
  background: var(--cv-bg-white);
  border: 1px solid #E2DDD4;
  color: var(--cv-fg-on-light-secondary);
}

/* ═══ METRICS ROW ═══ */
.cv-metrics-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.cv-metric-card {
  padding: 24px;
  border-radius: var(--cv-radius-card);
  text-align: center;
}

.cv-section--dark .cv-metric-card,
.cv-section--dark-alt .cv-metric-card {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.cv-section--light .cv-metric-card,
.cv-section--cream .cv-metric-card {
  background: var(--cv-bg-white);
  box-shadow: var(--cv-shadow-card);
}

.cv-metric-card__value {
  font-family: var(--cv-font-display);
  font-size: 2.5rem;
  line-height: 1;
  margin-bottom: 8px;
}

.cv-section--dark .cv-metric-card__value,
.cv-section--dark-alt .cv-metric-card__value {
  color: var(--cv-teal-aa-dark);
}

.cv-section--light .cv-metric-card__value,
.cv-section--cream .cv-metric-card__value {
  color: var(--cv-teal-aa-light);
}

.cv-metric-card__label {
  font-size: 0.875rem;
  line-height: 1.4;
}

.cv-section--dark .cv-metric-card__label,
.cv-section--dark-alt .cv-metric-card__label {
  color: var(--cv-fg-on-dark-secondary);
}

.cv-section--light .cv-metric-card__label,
.cv-section--cream .cv-metric-card__label {
  color: var(--cv-fg-on-light-secondary);
}

/* ═══ BREADCRUMB ═══ */
.cv-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.8125rem;
  color: var(--cv-fg-on-light-muted);
  margin-bottom: 16px;
}

.cv-breadcrumb a {
  color: var(--cv-teal-aa-light);
}

.cv-breadcrumb__sep {
  color: var(--cv-fg-on-light-muted);
}

.cv-page--dark-top .cv-breadcrumb {
  color: var(--cv-fg-on-dark-muted);
}

.cv-page--dark-top .cv-breadcrumb a {
  color: var(--cv-teal-aa-dark);
}

/* ═══ COMPARISON TABLE ═══ */
.cv-comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}

.cv-comparison-table th {
  padding: 14px 16px;
  text-align: left;
  font-weight: 600;
  border-bottom: 2px solid #D4CFCA;
  color: var(--cv-fg-on-light);
}

.cv-comparison-table td {
  padding: 12px 16px;
  border-bottom: var(--cv-border-light);
  color: var(--cv-fg-on-light-secondary);
  vertical-align: top;
}

.cv-comparison-table tr:last-child td {
  border-bottom: none;
}

.cv-comparison-table td i.fa-check {
  color: var(--cv-teal-aa-light);
}

.cv-comparison-table td i.fa-xmark {
  color: #CBD5E0;
}

/* ═══ RELATED POSTS ═══ */
.cv-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* ═══ INTEGRATIONS GRID ═══ */
.cv-integration-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.cv-integration-card {
  padding: 24px;
  border-radius: var(--cv-radius-card);
  background: var(--cv-bg-white);
  border: var(--cv-border-light);
  box-shadow: var(--cv-shadow-card);
}

.cv-integration-card__icon {
  font-size: 1.5rem;
  margin-bottom: 12px;
}

.cv-section--light .cv-integration-card__icon,
.cv-section--cream .cv-integration-card__icon {
  color: var(--cv-teal-aa-light);
}

.cv-integration-card__name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--cv-fg-on-light);
  margin-bottom: 6px;
  font-family: var(--cv-font-body);
}

.cv-integration-card__desc {
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-secondary);
  line-height: 1.55;
}

/* ═══ FORM SUBMIT BTN ═══ */
.cv-form-submit {
  width: 100%;
  padding: 13px 24px;
  background: var(--cv-teal);
  color: #FFFFFF;
  border: none;
  border-radius: var(--cv-radius-btn);
  font-family: var(--cv-font-body);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.18s ease;
}

.cv-form-submit:hover {
  background: var(--cv-teal-aa-light);
}

/* ═══ PAGE-SPECIFIC ═══ */
.cv-values-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.cv-value-card {
  padding: 28px;
  border-radius: var(--cv-radius-card);
  background: var(--cv-bg-white);
  box-shadow: var(--cv-shadow-card);
}

.cv-value-card__title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--cv-fg-on-light);
  margin-bottom: 8px;
  font-family: var(--cv-font-body);
}

.cv-value-card__body {
  font-size: 0.9375rem;
  color: var(--cv-fg-on-light-secondary);
  line-height: 1.65;
}

/* Hartford section */
.cv-hartford-section {
  position: relative;
  overflow: hidden;
}

/* About origin story blockquote */
.cv-blockquote {
  border-left: 3px solid var(--cv-teal);
  padding: 20px 24px;
  background: rgba(14, 124, 107, 0.05);
  border-radius: 0 4px 4px 0;
  margin: 28px 0;
}

.cv-section--dark .cv-blockquote {
  background: rgba(61, 214, 196, 0.07);
  border-left-color: var(--cv-teal-aa-dark);
}

.cv-blockquote__text {
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.7;
}

.cv-section--light .cv-blockquote__text {
  color: var(--cv-fg-on-light);
}

.cv-section--dark .cv-blockquote__text {
  color: var(--cv-fg-on-dark);
}

.cv-blockquote__attribution {
  font-size: 0.875rem;
  margin-top: 10px;
}

.cv-section--light .cv-blockquote__attribution {
  color: var(--cv-fg-on-light-muted);
}

.cv-section--dark .cv-blockquote__attribution {
  color: var(--cv-fg-on-dark-muted);
}

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1024px) {
  h1 { font-size: 2.75rem; }
  h2 { font-size: 1.875rem; }

  .cv-hero__inner { grid-template-columns: 1fr; gap: 48px; }
  .cv-hero__headline { font-size: 2.75rem; }

  .cv-card-grid { grid-template-columns: repeat(2, 1fr); }
  .cv-card-grid--4col { grid-template-columns: repeat(2, 1fr); }
  .cv-pricing-grid { grid-template-columns: 1fr; gap: 20px; max-width: 480px; margin: 0 auto; }
  .cv-team-grid { grid-template-columns: repeat(2, 1fr); }
  .cv-auth-layout { grid-template-columns: 1fr; }
  .cv-auth-brand-side { display: none; }
  .cv-contact-layout { grid-template-columns: 1fr; }
  .cv-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .cv-feature-split { grid-template-columns: 1fr; gap: 40px; }
  .cv-feature-split--reverse .cv-feature-split__text { order: 1; }
  .cv-feature-split--reverse .cv-feature-split__visual { order: 2; }
  .cv-testimonial-grid { grid-template-columns: 1fr; }
  .cv-blog-grid { grid-template-columns: repeat(2, 1fr); }
  .cv-metrics-row { grid-template-columns: repeat(2, 1fr); }
  .cv-trust-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .cv-proof-strip__inner { grid-template-columns: 1fr 1fr; }
  .cv-mock-ui__panel.active { grid-template-columns: 1fr; }
  .cv-integration-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  :root {
    --cv-section-pad-desktop: var(--cv-section-pad-mobile);
  }

  h1 { font-size: 2.25rem; }
  h2 { font-size: 1.625rem; }

  .cv-nav__links { display: none; }
  .cv-nav__actions { display: none; }
  .cv-nav__hamburger { display: block; }

  .cv-hero__headline { font-size: 2.25rem; }
  .cv-subhero__headline { font-size: 2rem; }
  .cv-subhero__inner { max-width: 100%; }

  .cv-card-grid { grid-template-columns: 1fr; }
  .cv-card-grid--2col { grid-template-columns: 1fr; }
  .cv-team-grid { grid-template-columns: 1fr; }
  .cv-trust-grid { grid-template-columns: 1fr; }
  .cv-proof-strip__inner { grid-template-columns: 1fr; gap: 28px; }
  .cv-proof-strip__divider { display: none; }
  .cv-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .cv-footer__bottom { flex-direction: column; align-items: flex-start; }
  .cv-hero__actions { flex-direction: column; }
  .cv-cta-section__actions { flex-direction: column; align-items: center; }
  .cv-blog-grid { grid-template-columns: 1fr; }
  .cv-related-grid { grid-template-columns: 1fr; }
  .cv-metrics-row { grid-template-columns: repeat(2, 1fr); }
  .cv-values-grid { grid-template-columns: 1fr; }
  .cv-integration-grid { grid-template-columns: 1fr; }
  .cv-step { grid-template-columns: 48px 1fr; gap: 16px; }
  .cv-step__number { font-size: 2.5rem; }

  .cv-cookie-banner__inner { flex-direction: column; }
  .cookie-banner__inner { flex-direction: column; align-items: flex-start; }

  .cv-auth-layout { grid-template-columns: 1fr; }
  .cv-auth-panel { padding: 32px 24px; }
}

/* ═══ ACCESSIBILITY ═══ */
:focus-visible {
  outline: 2px solid var(--cv-teal);
  outline-offset: 3px;
}

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

/* ═══ FADE-IN ANIMATIONS ═══ */
.fade-in {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Failsafe: ensure visible after 1.2s */
@keyframes failsafe-reveal {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

.fade-in {
  animation: failsafe-reveal 0.55s ease forwards;
  animation-delay: 1.2s;
}

.fade-in.visible {
  animation: none;
}

/* ═══ UTILITY ═══ */
.cv-text-teal-light { color: var(--cv-teal-aa-light); }
.cv-text-teal-dark { color: var(--cv-teal-aa-dark); }
.cv-text-amber { color: var(--cv-amber); }
.cv-text-center { text-align: center; }
.cv-mt-2 { margin-top: 8px; }
.cv-mt-4 { margin-top: 16px; }
.cv-mt-6 { margin-top: 24px; }
.cv-mt-8 { margin-top: 32px; }
.cv-mb-2 { margin-bottom: 8px; }
.cv-mb-4 { margin-bottom: 16px; }
.cv-mb-6 { margin-bottom: 24px; }
.cv-mb-8 { margin-bottom: 32px; }

/* ═══ NAV MODIFIER (explicit solid — for pages where body class handles it) ═══ */
.cv-nav--solid {
  background: var(--cv-bg-dark-alt) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

/* ═══ EYEBROW / LABEL ═══ */
.cv-eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: inline-block;
}

/* ═══ SECTION SUBHEAD ═══ */
.cv-section__sub {
  font-size: 1.0625rem;
  line-height: 1.7;
  max-width: 640px;
  margin: 12px auto 0;
}
.cv-section--dark .cv-section__sub,
.cv-section--dark-alt .cv-section__sub {
  color: var(--cv-fg-on-dark-secondary);
}
.cv-section--light .cv-section__sub,
.cv-section--cream .cv-section__sub,
.cv-section--white .cv-section__sub {
  color: var(--cv-fg-on-light-secondary);
}

/* ═══ SECTION HEADER CENTERED ═══ */
.cv-section-header {
  margin-bottom: 48px;
}
.cv-section-header--centered {
  text-align: center;
}
.cv-section-header--centered .cv-section__sub {
  margin-left: auto;
  margin-right: auto;
}

/* ═══ SUBHERO WITH BACKGROUND IMAGE ═══ */
.cv-subhero--with-img {
  min-height: 420px;
}
.cv-subhero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.22;
  pointer-events: none;
  z-index: 0;
}

/* ═══ SUBHERO COMPACT (smaller hero for blog/index) ═══ */
.cv-subhero--compact {
  padding-top: calc(68px + 40px);
  padding-bottom: 40px;
}

/* ═══ TERMINAL / CODE MOCK ═══ */
.cv-term {
  background: #0D1520;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  overflow: hidden;
  font-family: var(--cv-font-mono);
  font-size: 0.8125rem;
}
.cv-term__chrome {
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cv-term__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.cv-term__dot--red   { background: #FF5F57; }
.cv-term__dot--yellow { background: #FEBC2E; }
.cv-term__dot--green { background: #28C840; }
.cv-term__title {
  font-size: 0.75rem;
  color: rgba(240, 238, 232, 0.4);
  flex: 1;
  text-align: center;
  font-family: var(--cv-font-body);
}
.cv-term__body {
  padding: 20px;
  white-space: normal;
  line-height: 1.45;
}
.cv-tt-prompt { color: #3DD6C4; font-weight: 600; }
.cv-tt-cmd    { color: #F0EEE8; }
.cv-tt-meta   { color: rgba(240, 238, 232, 0.45); }
.cv-tt-key    { color: #C4772A; }
.cv-tt-val    { color: #4ADE80; }
.cv-tt-insert { color: #4ADE80; }
.cv-tt-output { color: rgba(240, 238, 232, 0.7); }
.cv-tt-line {
  display: block;
  white-space: pre;
  line-height: 1.45;
}

/* ═══ INTEGRATION PAGE CARDS ═══ */
.cv-card--integration {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cv-card__integration-icon {
  font-size: 1.75rem;
  margin-bottom: 8px;
}
.cv-section--light .cv-card__integration-icon,
.cv-section--cream .cv-card__integration-icon {
  color: var(--cv-teal-aa-light);
}
.cv-card__status {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-top: 8px;
  width: fit-content;
}
.cv-card__status--live {
  background: rgba(74, 222, 128, 0.12);
  color: #16A34A;
}
.cv-card__status--beta {
  background: rgba(196, 119, 42, 0.12);
  color: var(--cv-amber);
}
.cv-card__status--coming {
  background: rgba(26, 46, 74, 0.08);
  color: var(--cv-fg-on-light-muted);
}

/* ═══ LIGHT CARD VARIANT (on dark sections) ═══ */
.cv-card--light {
  background: var(--cv-bg-white);
  border: var(--cv-border-light);
  box-shadow: var(--cv-shadow-card);
}
.cv-card--light .cv-card__icon {
  background: rgba(14, 124, 107, 0.08);
  color: var(--cv-teal-aa-light);
}
.cv-card--light .cv-card__title,
.cv-card__title--dark {
  color: var(--cv-fg-on-light);
}
.cv-card--light .cv-card__body,
.cv-card__body--dark {
  color: var(--cv-fg-on-light-secondary);
}
.cv-card--light .cv-card__icon--dark,
.cv-card__icon--dark {
  background: rgba(14, 124, 107, 0.08);
  color: var(--cv-teal-aa-light);
}

/* ═══ PILOT STEP CARDS (pricing page) ═══ */
.cv-card__number {
  font-family: var(--cv-font-display);
  font-size: 2.5rem;
  color: var(--cv-teal-aa-light);
  line-height: 1;
  margin-bottom: 12px;
}

/* ═══ OUTLINE NAVY BUTTON ═══ */
.cv-btn--outline-navy {
  background: transparent;
  color: var(--cv-navy);
  border-color: var(--cv-navy);
}
.cv-btn--outline-navy:hover {
  background: var(--cv-navy);
  color: #FFFFFF;
}

/* ═══ CONTACT FORM LAYOUT ═══ */
.cv-form-row {
  margin-bottom: 20px;
}
.cv-form-row--2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 0;
}
.cv-form-row--2col .cv-form-group {
  margin-bottom: 0;
}
.cv-contact-section {
  padding: var(--cv-section-pad-desktop) 0;
  background: var(--cv-bg-white);
}
.cv-contact-form-col {
  min-width: 0;
}
.cv-contact-info-col {
  min-width: 0;
}
.cv-contact-form__submit {
  width: 100%;
  padding: 13px 24px;
  background: var(--cv-teal);
  color: #FFFFFF;
  border: none;
  border-radius: var(--cv-radius-btn);
  font-family: var(--cv-font-body);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.18s ease;
  margin-top: 8px;
}
.cv-contact-form__submit:hover {
  background: var(--cv-teal-aa-light);
}
.cv-contact-form__success {
  display: none;
  padding: 20px 24px;
  background: rgba(74, 222, 128, 0.08);
  border: 1px solid rgba(74, 222, 128, 0.25);
  border-radius: var(--cv-radius-card);
  font-size: 1rem;
  color: #15803D;
  margin-top: 12px;
}
.cv-contact-info-card {
  padding: 24px;
  border-radius: var(--cv-radius-card);
  background: var(--cv-bg-cream);
  border: var(--cv-border-light);
  margin-bottom: 20px;
}
.cv-contact-info-card:last-child {
  margin-bottom: 0;
}
.cv-contact-info-card__title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--cv-fg-on-light);
  margin-bottom: 12px;
}
.cv-expect-step {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 8px 0;
}
.cv-expect-step__num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--cv-teal);
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.cv-expect-step__text {
  font-size: 0.9rem;
  color: var(--cv-fg-on-light-secondary);
  line-height: 1.55;
}

/* ═══ BLOG ARTICLE PAGE STYLES ═══ */
.cv-blog-article__header {
  padding-top: calc(68px + 40px);
  padding-bottom: 48px;
}
.cv-blog-article__header-inner {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 24px;
}
.cv-blog-article__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.cv-blog-card__date {
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-muted);
}
.cv-blog-article__title {
  font-family: var(--cv-font-display);
  font-size: 2.25rem;
  line-height: 1.2;
  color: var(--cv-fg-on-light);
  margin-bottom: 16px;
  max-width: 680px;
}
.cv-section--cream .cv-blog-article__title {
  color: var(--cv-fg-on-light);
}
.cv-blog-article__lede {
  font-size: 1.125rem;
  line-height: 1.7;
  color: var(--cv-fg-on-light-secondary);
  max-width: 640px;
}
.cv-blog-article__cover-wrap {
  margin: 0;
  background: var(--cv-bg-light);
}
.cv-blog-article__cover {
  width: 100%;
  height: auto;
  display: block;
  max-width: 760px;
  margin: 0 auto;
}
.cv-blog-article__body-wrap {
  padding: 56px 0;
}
.cv-blog-article__body {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 24px;
}
.cv-blog-article__related {
  max-width: 720px;
  margin: 56px auto 0;
  padding: 40px 24px 0;
  border-top: var(--cv-border-light);
}
.cv-blog-article__related-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--cv-fg-on-light);
  margin-bottom: 20px;
  font-family: var(--cv-font-body);
}
.cv-blog-article__related-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.cv-blog-article__related-card a {
  display: block;
  border-radius: var(--cv-radius-card);
  overflow: hidden;
  background: var(--cv-bg-cream);
  border: var(--cv-border-light);
  transition: box-shadow 0.18s ease;
}
.cv-blog-article__related-card a:hover {
  box-shadow: 0 4px 16px rgba(26, 46, 74, 0.12);
}
.cv-blog-article__related-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
}
.cv-blog-article__related-card span {
  display: block;
  padding: 12px 14px;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--cv-fg-on-light);
  line-height: 1.4;
}

/* ═══ BLOG CARD META + READ MORE ═══ */
.cv-blog-card__img-link {
  display: block;
  overflow: hidden;
}
.cv-blog-card__body {
  padding: 20px;
}
.cv-blog-card__readmore {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--cv-teal-aa-light);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
}
.cv-blog-card__readmore:hover {
  color: var(--cv-teal);
}

/* ═══ TIMELINE / STEPS (how-it-works timing section) ═══ */
.cv-timing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.cv-timing-card {
  padding: 28px;
  border-radius: var(--cv-radius-card);
  text-align: center;
}
.cv-section--light .cv-timing-card {
  background: var(--cv-bg-white);
  box-shadow: var(--cv-shadow-card);
}
.cv-timing-card__num {
  font-family: var(--cv-font-display);
  font-size: 2.75rem;
  line-height: 1;
  color: var(--cv-teal-aa-light);
  margin-bottom: 8px;
}
.cv-timing-card__label {
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-secondary);
  line-height: 1.55;
}
.cv-timing-total {
  margin-top: 32px;
  padding: 24px;
  border-radius: var(--cv-radius-card);
  background: var(--cv-bg-cream);
  border: var(--cv-border-light);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.cv-timing-total__label {
  font-size: 1rem;
  font-weight: 600;
  color: var(--cv-fg-on-light);
}
.cv-timing-total__value {
  font-family: var(--cv-font-display);
  font-size: 2rem;
  color: var(--cv-teal-aa-light);
}

/* ═══ ACCESS TIERS VISUAL (security page) ═══ */
.cv-access-tiers {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  overflow: hidden;
}
.cv-access-tier {
  display: grid;
  grid-template-columns: 140px 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.cv-access-tier:last-child {
  border-bottom: none;
}
.cv-access-tier__role {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--cv-fg-on-dark);
}
.cv-access-tier__perms {
  font-size: 0.8125rem;
  color: var(--cv-fg-on-dark-secondary);
}
.cv-access-tier__badge {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 3px;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}
.cv-access-tier__badge--admin {
  background: rgba(196, 119, 42, 0.15);
  color: var(--cv-amber);
}
.cv-access-tier__badge--manager {
  background: rgba(61, 214, 196, 0.1);
  color: var(--cv-teal-aa-dark);
}
.cv-access-tier__badge--adjuster {
  background: rgba(255, 255, 255, 0.07);
  color: var(--cv-fg-on-dark-secondary);
}
.cv-access-tier__badge--readonly {
  background: rgba(255, 255, 255, 0.04);
  color: var(--cv-fg-on-dark-muted);
}

/* ═══ USE CASE STAT STRIP ═══ */
.cv-stat-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  text-align: center;
}
.cv-stat-item__value {
  font-family: var(--cv-font-display);
  font-size: 3rem;
  line-height: 1;
  color: var(--cv-teal-aa-dark);
  margin-bottom: 8px;
}
.cv-stat-item__label {
  font-size: 0.9rem;
  color: var(--cv-fg-on-dark-secondary);
  line-height: 1.5;
}

/* ═══ FEATURE VISUAL MOCK (use-case pages) ═══ */
.cv-feature-visual {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 24px;
}
.cv-section--light .cv-feature-visual,
.cv-section--cream .cv-feature-visual {
  background: var(--cv-bg-white);
  border: var(--cv-border-light);
  box-shadow: var(--cv-shadow-card);
}
.cv-feature-visual__title {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: var(--cv-border-light);
}
.cv-section--dark .cv-feature-visual__title,
.cv-section--dark-alt .cv-feature-visual__title {
  color: var(--cv-fg-on-dark-muted);
  border-bottom-color: rgba(255, 255, 255, 0.08);
}
.cv-section--light .cv-feature-visual__title,
.cv-section--cream .cv-feature-visual__title {
  color: var(--cv-fg-on-light-muted);
}

/* ═══ RESPONSIVE ADDITIONS ═══ */
@media (max-width: 768px) {
  .cv-form-row--2col { grid-template-columns: 1fr; }
  .cv-timing-grid { grid-template-columns: 1fr; }
  .cv-stat-strip { grid-template-columns: 1fr; gap: 20px; }
  .cv-blog-article__related-grid { grid-template-columns: 1fr; }
  .cv-access-tier { grid-template-columns: 1fr; }
  .cv-blog-article__title { font-size: 1.875rem; }
}

/* Logo visibility support */
.cv-logo--dark-page { display: block; }
.cv-logo--light-page { display: none; }

body.cv-page--dark-top .cv-logo--dark-page { display: block; }
body.cv-page--dark-top .cv-logo--light-page { display: none; }
body.cv-page--light-top .cv-logo--dark-page { display: none; }
body.cv-page--light-top .cv-logo--light-page { display: block; }

/* When nav is scrolled on dark-top, keep logo-light (white wordmark) visible — nav bg stays dark */
body.cv-page--dark-top .cv-nav--scrolled .cv-logo--dark-page { display: block; }
body.cv-page--dark-top .cv-nav--scrolled .cv-logo--light-page { display: none; }

/* ═══ MISSING CLASSES — A.5.6 FIX PASS ═══ */

/* Footer structural containers */
.cv-footer__brand {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (min-width: 1025px) {
  .cv-footer__brand { grid-column: 1; }
}
.cv-footer__col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Hero content containers */
.cv-hero__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 560px;
}
.cv-hero__visual {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
}

/* Subhero actions */
.cv-subhero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}
.cv-subhero__headline--dark { color: var(--cv-fg-on-dark-primary); }
.cv-subhero__subhead--dark { color: var(--cv-fg-on-dark-muted); }

/* Card icon wrap */
.cv-card__icon-wrap {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.07);
  margin-bottom: 16px;
  flex-shrink: 0;
}
.cv-card--light .cv-card__icon-wrap {
  background: rgba(10, 28, 54, 0.06);
}

/* Proof strip item */
.cv-proof-strip__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.875rem;
  font-weight: 500;
}

/* Section dark-context modifier classes */
.cv-section__headline--dark { color: var(--cv-fg-on-dark-primary); }
.cv-section__sub--dark { color: var(--cv-fg-on-dark-muted); }

/* Feature split dark-context modifiers */
.cv-feature-split__title--dark { color: var(--cv-fg-on-dark-primary); }
.cv-feature-split__body--dark { color: var(--cv-fg-on-dark-muted); }
.cv-feature-split__list {
  list-style: none;
  padding: 0;
  margin: 16px 0 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cv-feature-split__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.9375rem;
}

/* Step tag light modifier */
.cv-step__tag--light {
  background: rgba(255, 255, 255, 0.12);
  color: var(--cv-fg-on-dark-primary);
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Team card sub-elements */
.cv-team-card__info {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cv-team-card__role {
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-muted);
}
.cv-section--dark .cv-team-card__role,
.cv-section--dark-alt .cv-team-card__role {
  color: var(--cv-fg-on-dark-muted);
}

/* Contact form columns */
.cv-contact-form-col__headline {
  font-family: var(--cv-font-display);
  font-size: 1.75rem;
  color: var(--cv-fg-on-light-primary);
  margin-bottom: 8px;
}
.cv-contact-form-col__sub {
  font-size: 1rem;
  color: var(--cv-fg-on-light-muted);
  margin-bottom: 24px;
}
.cv-contact-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Contact info card sub-elements */
.cv-contact-info-card__address {
  font-size: 0.9375rem;
  color: var(--cv-fg-on-light-muted);
  margin-bottom: 20px;
  font-style: normal;
}
.cv-contact-info-card__items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cv-contact-info-card__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9375rem;
  color: var(--cv-fg-on-light-muted);
}
.cv-contact-info-card__steps {
  margin-top: 24px;
  padding-top: 20px;
  border-top: var(--cv-border-light);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Pricing card elements */
.cv-pricing-card__header {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: var(--cv-border-light);
}
.cv-pricing-card__tier {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cv-teal);
  margin-bottom: 12px;
}
.cv-pricing-card__price {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 8px;
}
.cv-pricing-card__amount {
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--cv-fg-on-light);
}
.cv-pricing-card__period {
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-muted);
}
.cv-pricing-card__volume {
  font-size: 0.875rem;
  color: var(--cv-fg-on-light-muted);
}
.cv-pricing-card__features {
  list-style: none;
  margin-bottom: 28px;
}
.cv-pricing-card__features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 6px 0;
  font-size: 0.9rem;
  color: var(--cv-fg-on-light-secondary);
  line-height: 1.5;
}
.cv-pricing-card__features li i {
  color: var(--cv-teal);
  flex-shrink: 0;
  margin-top: 3px;
}
.cv-pricing-card__cta {
  display: flex;
  justify-content: center;
  margin-top: auto;
  width: 100%;
}

/* Blog article wrapper */
.cv-blog-article {
  display: block;
}

/* Auth form elements */
.cv-auth-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cv-auth-form__demo-msg {
  background: rgba(0, 168, 139, 0.08);
  border: 1px solid rgba(0, 168, 139, 0.25);
  border-radius: 8px;
  padding: 16px 20px;
  font-size: 0.9375rem;
  color: var(--cv-fg-on-light-primary);
  display: none;
}
.cv-auth-form__demo-msg.cv-auth-form__demo-msg--visible {
  display: block;
}

/* Auth stat container */
.cv-auth-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* FAQ container (bare) and BEM variant selectors */
.cv-faq {
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* BEM double-underscore FAQ variants (used in pricing.html) */
.cv-faq-item__question {
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  font-family: var(--cv-font-body);
  font-size: 1rem;
  font-weight: 600;
  padding: 18px 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--cv-fg-on-light-primary);
}
.cv-section--dark .cv-faq-item__question,
.cv-section--dark-alt .cv-faq-item__question {
  color: var(--cv-fg-on-dark-primary);
}
.cv-faq-item__answer {
  display: none;
  padding: 0 0 18px;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--cv-fg-on-light-secondary);
}
.cv-faq-item.is-open .cv-faq-item__answer { display: block; }
.cv-section--dark .cv-faq-item__answer,
.cv-section--dark-alt .cv-faq-item__answer {
  color: var(--cv-fg-on-dark-muted);
}

/* Pricing card highlighted + badge */
.cv-pricing-card--highlighted {
  border-color: var(--cv-teal);
  box-shadow: 0 0 0 1px var(--cv-teal), 0 8px 24px rgba(14, 124, 107, 0.15);
  position: relative;
}
.cv-pricing-card--highlighted .cv-pricing-card__tier {
  color: var(--cv-teal);
}
.cv-pricing-card__badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--cv-teal);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 20px;
  white-space: nowrap;
}
