/* ============================================================
   247 MBS — Medical Billing Services Website
   CSS Custom Properties + Base Reset
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ── Variables ───────────────────────────────────────────── */
:root {
  --primary:        #F0483C;
  --primary-dark:   #D2372C;
  --primary-light:  #FDE4E1;
  --bg-pink:        #FFF3F1;
  --bg-dark:        #1A1A2E;
  --bg-dark2:       #111827;
  --white:          #FFFFFF;
  --text-dark:      #1F1F2E;
  --text-mid:       #4B5563;
  --text-light:     #9CA3AF;
  --border:         #E5E7EB;
  --green:          #22C55E;
  --shadow-sm:      0 2px 8px rgba(0,0,0,0.08);
  --shadow-md:      0 8px 24px rgba(0,0,0,0.12);
  --radius-sm:      8px;
  --radius-md:      16px;
  --radius-lg:      24px;
  --radius-full:    999px;
  --container:      1280px;
  --transition:     0.25s ease;
}

/* ── Reset ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; scroll-padding-top: 92px; font-size: 16px; }

body {
  font-family: 'Poppins', sans-serif;
  color: var(--text-dark);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; }
a  { text-decoration: none; color: inherit; }
ul { list-style: none; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }

/* ── Utility ─────────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

.section-tag {
  display: inline-block;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: var(--radius-full);
  margin-bottom: 14px;
  letter-spacing: 0.03em;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: var(--radius-full);
  font-size: 15px;
  font-weight: 600;
  transition: all var(--transition);
  white-space: nowrap;
}

.btn-primary {
  background: var(--primary);
  color: var(--white);
}
.btn-primary:hover { background: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(240,72,60,0.4); }

.btn-outline {
  background: transparent;
  color: var(--primary);
  border: 2px solid var(--primary);
}
.btn-outline:hover { background: var(--primary); color: var(--white); }

.btn-white {
  background: rgba(255,255,255,0.95);
  color: var(--primary);
  font-weight: 700;
}
.btn-white:hover {
  background: var(--white);
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  transform: translateY(-1px);
}

/* ── Scrollbar ───────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: var(--primary); border-radius: 3px; }

/* ============================================================
   SECTION 1 — NAVIGATION (PREMIUM)
   ============================================================ */

/* ── Base wrapper ── */
.navbar {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--white);
  box-shadow: 0 2px 20px rgba(0,0,0,0.08);
}
/* Top bar collapses on scroll-down, reveals on scroll-up (JS toggles .top-hidden) */
.navbar-top {
  max-height: 90px;   /* generous — never clips the badges, even if they wrap */
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4,0,0.2,1),
              padding 0.35s cubic-bezier(0.4,0,0.2,1),
              opacity 0.3s ease;
}
.navbar.top-hidden .navbar-top {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
}

/* ── Top info bar ── */
.navbar-top {
  position: relative;
  background: linear-gradient(100deg, #131020 0%, #201830 55%, #2b1a33 100%);
  padding: 10px 0;
  overflow: hidden;
}
/* Soft coral bloom on the right — subtle depth, ties to the phone CTA */
.navbar-top::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 34% 130% at 90% 50%, rgba(240,72,60,0.16) 0%, transparent 68%);
  pointer-events: none;
}
/* Hairline light edge along the bottom for a crisp separation */
.navbar-top::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.09) 20%, rgba(255,255,255,0.09) 80%, transparent);
  pointer-events: none;
}
.navbar-top > .container { position: relative; z-index: 1; }

.navbar-top .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.navbar-top-left {
  display: flex;
  align-items: center;
}

.top-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.top-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(255,255,255,0.82);
  padding: 0 16px;
  white-space: nowrap;
  transition: color var(--transition);
}
.top-badge:first-child { padding-left: 0; }
.top-badge:hover { color: #fff; }
/* Thin divider between items */
.top-badge + .top-badge::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 12px;
  background: rgba(255,255,255,0.18);
}
.top-badge svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--primary);
}

.navbar-top-info {
  display: flex;
  align-items: center;
  gap: 14px;
}

.top-contact-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 500;
  color: rgba(255,255,255,0.85);
  transition: color var(--transition);
  white-space: nowrap;
}
.top-contact-link:hover { color: #fff; }

/* Phone highlighted as a coral pill — urges a call */
.top-contact-phone {
  color: #fff;
  font-weight: 700;
  background: var(--primary);
  padding: 5px 14px;
  border-radius: var(--radius-full);
  box-shadow: 0 2px 10px rgba(240,72,60,0.45);
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}
.top-contact-phone svg { opacity: 1; }
.top-contact-phone:hover {
  color: #fff;
  background: var(--primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(240,72,60,0.55);
}

.top-contact-link svg { flex-shrink: 0; opacity: 0.8; }

.top-divider { display: none; }

/* ── Main nav row ── */
.navbar-main {
  padding: 0;
  border-bottom: 1px solid var(--border);
}

.navbar-main .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 76px;
}

/* ── Logo ── */
.navbar-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.navbar-logo-img {
  height: 64px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* ── Nav list ── */
.navbar-links {
  display: flex;
  align-items: stretch;
  gap: 0;
  height: 100%;
  list-style: none;
  flex: 1;
  justify-content: center;
}

.navbar-links li {
  display: flex;
  align-items: stretch;
}

/* Plain link */
.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-dark);
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: color var(--transition), border-color var(--transition);
  position: relative;
  height: 100%;
  letter-spacing: 0.01em;
}

.nav-link:hover,
.nav-link.active {
  color: var(--primary);
  border-bottom-color: var(--primary);
}

/* Chevron icon in trigger */
.nav-chevron {
  transition: transform 0.2s ease;
  flex-shrink: 0;
  opacity: 0.6;
}

.mega-nav-item.is-active .nav-chevron {
  transform: rotate(180deg);
  opacity: 1;
}

.mega-nav-item.is-active > .nav-link-trigger {
  color: var(--primary);
  border-bottom-color: var(--primary);
}

/* ── Nav Right ── */
.navbar-right {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.navbar-phone {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text-dark);
  transition: color var(--transition);
}
.navbar-phone:hover { color: var(--primary); }

.navbar-phone-icon {
  width: 40px;
  height: 40px;
  background: var(--primary-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.navbar-phone-icon svg {
  width: 18px;
  height: 18px;
  color: var(--primary);
}

.navbar-phone-text {
  line-height: 1.2;
}

.navbar-phone-text small {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--text-light);
}

.navbar-phone-text strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--text-dark);
}

/* ── Hamburger ── */
.navbar-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  cursor: pointer;
  background: none;
}

.navbar-hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--text-dark);
  border-radius: 2px;
  transition: all 0.3s ease;
  transform-origin: center;
}

/* Hamburger → X morph */
.navbar-hamburger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.navbar-hamburger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.navbar-hamburger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ============================================================
   MEGA MENU — Shared Base
   ============================================================ */

.mega-nav-item {
  position: static;
}

/* ── Mega panels: position:fixed so they always paint above the hero
      and every other page element regardless of stacking contexts ── */
.mega-panel {
  position: fixed;
  left: 0;
  top: var(--navbar-bottom, 114px);
  width: 100%;
  /* Explicit height fills the ENTIRE viewport below the navbar every time.
     This is the only reliable way to:
       a) prevent the hero showing through below a short panel
       b) give child grid containers a real height so 1fr rows expand */
  height: calc(100vh - var(--navbar-bottom, 114px));
  overflow-y: auto;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
  z-index: 9999;
  background: var(--white);
  border-top: 3px solid var(--primary);
  box-shadow: 0 16px 48px rgba(0,0,0,0.16);
}

/* ── Small dropdowns: absolute relative to their .dropdown-nav-item <li> ── */
.dropdown-panel {
  position: absolute;
  left: 0;
  top: 100%;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.22s ease, transform 0.22s ease;
  z-index: 9999;
}

/* ── Open state ── */
.mega-panel.is-open {
  opacity: 1;
  pointer-events: auto;
  /* No transform — mega-panel uses opacity-only transition */
}
.dropdown-panel.is-open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* ── Mega-menu backdrop ──
   Dims the entire page behind an open mega panel.
   Sits between the panel (9999) and all page content. ── */
.mega-backdrop {
  position: fixed;
  inset: 0;
  top: var(--navbar-bottom, 114px);
  background: rgba(8, 8, 20, 0.52);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  z-index: 9998;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

.mega-backdrop.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.mega-panel-inner {
  display: flex;
  gap: 0;
  padding: 36px 24px;
  box-sizing: border-box;
}

/* Columns */
.mega-col {
  flex: 1;
  padding: 0 20px;
  border-right: 1px solid var(--border);
}
.mega-col:first-child { padding-left: 0; }
.mega-col:last-of-type { border-right: none; }

.mega-col-heading {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--primary);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--primary-light);
}

/* Mega link rows */
.mega-link {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 10px;
  border-radius: var(--radius-sm);
  margin-bottom: 2px;
  transition: background var(--transition), box-shadow var(--transition);
  cursor: pointer;
}

.mega-link:hover {
  background: var(--primary-light);
  box-shadow: var(--shadow-sm);
}

.mega-link-icon {
  width: 34px;
  height: 34px;
  background: var(--primary-light);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background var(--transition);
}

.mega-link:hover .mega-link-icon {
  background: var(--primary);
  color: white;
}

.mega-link-icon svg { color: var(--primary); }
.mega-link:hover .mega-link-icon svg { color: white; }

.mega-link-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mega-link-text strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.2;
}

.mega-link-text span {
  font-size: 11.5px;
  color: var(--text-light);
  line-height: 1.3;
}

/* ── Mega Feature Card (right side CTA) ── */
.mega-feature-card {
  flex-shrink: 0;
  width: 240px;
  background: linear-gradient(145deg, var(--primary) 0%, #c94f43 100%);
  border-radius: var(--radius-md);
  padding: 28px 24px;
  color: white;
  display: flex;
  flex-direction: column;
  margin-left: 20px;
}

.mega-feature-tag {
  display: inline-block;
  background: rgba(255,255,255,0.2);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--radius-full);
  margin-bottom: 14px;
  width: fit-content;
}

.mega-feature-title {
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
  margin-bottom: 10px;
  color: white;
}

.mega-feature-sub {
  font-size: 12.5px;
  color: rgba(255,255,255,0.8);
  line-height: 1.6;
  margin-bottom: 16px;
}

.mega-feature-stats {
  display: flex;
  gap: 16px;
  margin-bottom: 4px;
}

.mega-feat-stat {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.mega-feat-stat strong {
  font-size: 20px;
  font-weight: 800;
  color: white;
}

.mega-feat-stat span {
  font-size: 11px;
  color: rgba(255,255,255,0.7);
}

.mega-feature-list {
  list-style: none;
  margin-bottom: 4px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mega-feature-list li {
  font-size: 12.5px;
  color: rgba(255,255,255,0.85);
}

/* ── Specialties Mega Panel — Premium Design ── */
.mega-panel--specialties .mega-panel-inner {
  display: flex;
  flex-direction: column;
  padding: 24px 28px;
  gap: 20px;
  height: 100%;
  box-sizing: border-box;
}

/* Header with search */
.spec-mega-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}
.spec-mega-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.spec-mega-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
}
.spec-mega-count {
  font-size: 11px;
  font-weight: 600;
  color: var(--primary);
  background: var(--primary-light);
  padding: 3px 10px;
  border-radius: var(--radius-full);
}
.spec-mega-search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f4f5f7;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  padding: 7px 14px;
  transition: border-color 0.25s ease;
}
.spec-mega-search:focus-within {
  border-color: var(--primary);
  background: var(--white);
}
.spec-mega-search svg {
  color: var(--text-muted);
  flex-shrink: 0;
}
.spec-mega-search input {
  border: none;
  outline: none;
  background: transparent;
  font-family: 'Poppins', sans-serif;
  font-size: 12.5px;
  color: var(--text-dark);
  width: 160px;
}
.spec-mega-search input::placeholder {
  color: var(--text-muted);
}

/* Categorized grid */
.spec-categories {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  flex: 1;
  overflow-y: auto;
}
.spec-category {
  background: #f8f9fb;
  border: 1px solid #eef0f3;
  border-radius: 10px;
  padding: 14px 16px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.spec-category:hover {
  border-color: #dde0e5;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.spec-cat-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--primary);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eef0f3;
}
.spec-cat-heading svg {
  opacity: 0.75;
}
.spec-cat-links {
  display: flex;
  flex-direction: column;
}

/* Specialty links */
.spec-link {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-dark);
  padding: 5px 8px;
  border-radius: 6px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  line-height: 1.4;
}
.spec-link svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: #9ca3af;
  transition: color 0.2s ease;
}
.spec-link:hover {
  color: var(--primary);
  background: var(--primary-light);
  padding-left: 10px;
}
.spec-link:hover svg {
  color: var(--primary);
}

/* Bottom CTA banner */
.spec-mega-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(135deg, #1a1a2e 0%, #2d1b35 100%);
  border-radius: 10px;
  padding: 16px 24px;
  flex-shrink: 0;
}
.spec-mega-cta-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.spec-mega-cta-badge {
  font-size: 10px;
  font-weight: 700;
  color: var(--white);
  background: var(--primary);
  padding: 5px 12px;
  border-radius: var(--radius-full);
  white-space: nowrap;
}
.spec-mega-cta-text {
  font-size: 13px;
  color: rgba(255,255,255,0.70);
  margin: 0;
}
.spec-mega-cta-text strong {
  color: var(--white);
}
.spec-mega-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--white);
  color: var(--text-dark);
  font-size: 12.5px;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: var(--radius-full);
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.25s ease;
}
.spec-mega-cta-btn:hover {
  background: var(--primary);
  color: var(--white);
}

/* ── Services Mega Panel — Premium Design ── */
.mega-panel--services .mega-panel-inner {
  display: flex;
  flex-direction: column;
  padding: 24px 28px;
  gap: 18px;
  height: 100%;
  box-sizing: border-box;
}

/* Header with search */
.srv-mega-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border);
}
.srv-mega-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.srv-mega-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
}
.srv-mega-count {
  font-size: 11px;
  font-weight: 600;
  color: var(--primary);
  background: var(--primary-light);
  padding: 3px 10px;
  border-radius: var(--radius-full);
}
.srv-mega-search {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f4f5f7;
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  padding: 7px 14px;
  transition: border-color 0.25s ease;
}
.srv-mega-search:focus-within {
  border-color: var(--primary);
  background: var(--white);
}
.srv-mega-search svg {
  color: var(--text-muted);
  flex-shrink: 0;
}
.srv-mega-search input {
  border: none;
  outline: none;
  background: transparent;
  font-family: 'Poppins', sans-serif;
  font-size: 12.5px;
  color: var(--text-dark);
  width: 160px;
}
.srv-mega-search input::placeholder {
  color: var(--text-muted);
}

/* RCM Pipeline visual */
.srv-pipeline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 40px;
}
.srv-pipeline-step {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f8f9fb;
  border: 1px solid #eef0f3;
  border-radius: var(--radius-full);
  padding: 6px 18px;
  transition: all 0.3s ease;
  cursor: default;
}
.srv-pipeline-step:hover,
.srv-pipeline-step--active {
  background: var(--primary-light);
  border-color: var(--primary);
}
.srv-pipeline-num {
  font-size: 10px;
  font-weight: 800;
  color: var(--primary);
  background: rgba(240,72,60,0.15);
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.srv-pipeline-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-dark);
}
.srv-pipeline-connector {
  width: 32px;
  height: 2px;
  background: linear-gradient(90deg, #e0e3e8, var(--primary), #e0e3e8);
  opacity: 0.5;
  flex-shrink: 0;
}

/* Categorized grid */
.srv-categories {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  flex: 1;
  overflow-y: auto;
}
.srv-category {
  background: #f8f9fb;
  border: 1px solid #eef0f3;
  border-radius: 10px;
  padding: 14px 16px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  position: relative;
}
.srv-category:hover {
  border-color: #dde0e5;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.srv-category::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  border-radius: 10px 10px 0 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.srv-category:hover::before {
  opacity: 1;
}
.srv-category[data-phase="front-end"]::before { background: var(--primary); }
.srv-category[data-phase="mid-cycle"]::before { background: #6366f1; }
.srv-category[data-phase="back-end"]::before { background: #10b981; }
.srv-category[data-phase="specialty"]::before { background: #f59e0b; }

.srv-cat-heading {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--primary);
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eef0f3;
}
.srv-category[data-phase="mid-cycle"] .srv-cat-heading { color: #6366f1; }
.srv-category[data-phase="back-end"] .srv-cat-heading { color: #10b981; }
.srv-category[data-phase="specialty"] .srv-cat-heading { color: #f59e0b; }

.srv-cat-heading svg {
  opacity: 0.75;
}
.srv-cat-links {
  display: flex;
  flex-direction: column;
}

/* Service links */
.srv-link {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--text-dark);
  padding: 5px 8px;
  border-radius: 6px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  line-height: 1.4;
}
.srv-link svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: #9ca3af;
  transition: color 0.2s ease;
}
.srv-link:hover {
  color: var(--primary);
  background: var(--primary-light);
  padding-left: 10px;
}
.srv-link:hover svg {
  color: var(--primary);
}
.srv-category[data-phase="mid-cycle"] .srv-link:hover { color: #6366f1; background: rgba(99,102,241,0.08); }
.srv-category[data-phase="mid-cycle"] .srv-link:hover svg { color: #6366f1; }
.srv-category[data-phase="back-end"] .srv-link:hover { color: #10b981; background: rgba(16,185,129,0.08); }
.srv-category[data-phase="back-end"] .srv-link:hover svg { color: #10b981; }
.srv-category[data-phase="specialty"] .srv-link:hover { color: #d97706; background: rgba(245,158,11,0.08); }
.srv-category[data-phase="specialty"] .srv-link:hover svg { color: #d97706; }

/* Bottom CTA banner */
.srv-mega-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(135deg, #1a1a2e 0%, #2d1b35 100%);
  border-radius: 10px;
  padding: 16px 24px;
  flex-shrink: 0;
}
.srv-mega-cta-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.srv-mega-cta-badge {
  font-size: 10px;
  font-weight: 700;
  color: var(--white);
  background: var(--primary);
  padding: 5px 12px;
  border-radius: var(--radius-full);
  white-space: nowrap;
}
.srv-mega-cta-text {
  font-size: 13px;
  color: rgba(255,255,255,0.70);
  margin: 0;
}
.srv-mega-cta-text strong {
  color: var(--white);
}
.srv-mega-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--white);
  color: var(--text-dark);
  font-size: 12.5px;
  font-weight: 600;
  padding: 9px 18px;
  border-radius: var(--radius-full);
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.25s ease;
}
.srv-mega-cta-btn:hover {
  background: var(--primary);
  color: var(--white);
}

/* ── Resources / Company Dropdown ── */
.dropdown-panel {
  width: 300px;
  background: var(--white);
  border-top: 3px solid var(--primary);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  box-shadow: 0 16px 40px rgba(0,0,0,0.13);
  padding: 10px 8px;
}

/* Position dropdown relative to its trigger li */
.dropdown-nav-item {
  position: relative;
}

.dropdown-nav-item .dropdown-panel {
  left: 0;
  width: 300px;
}

.dropdown-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border-radius: var(--radius-sm);
  transition: background var(--transition);
  cursor: pointer;
}

.dropdown-link:hover {
  background: var(--primary-light);
}

.dropdown-link-icon {
  width: 36px;
  height: 36px;
  background: var(--bg-pink);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background var(--transition);
}
.dropdown-link:hover .dropdown-link-icon { background: var(--primary-light); }
.dropdown-link-icon svg { color: var(--primary); }

.dropdown-link-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.dropdown-link-text strong {
  font-size: 13.5px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.2;
}

.dropdown-link-text span {
  font-size: 11.5px;
  color: var(--text-light);
}

/* ============================================================
   MOBILE DRAWER
   ============================================================ */

.mobile-drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: min(360px, 90vw);
  height: 100vh;
  background: var(--white);
  z-index: 1100;
  display: flex;
  flex-direction: column;
  transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -8px 0 40px rgba(0,0,0,0.15);
}

.mobile-drawer.is-open { right: 0; }

.mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 1050;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.mobile-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.mobile-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
}

.mobile-drawer-close {
  width: 36px;
  height: 36px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  cursor: pointer;
  color: var(--text-dark);
  transition: background var(--transition);
}
.mobile-drawer-close:hover { background: var(--primary-light); color: var(--primary); }

.mobile-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 12px 0;
}

.mobile-nav-link {
  display: block;
  padding: 13px 20px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
  border-bottom: 1px solid var(--border);
  transition: color var(--transition), background var(--transition);
}
.mobile-nav-link:hover { color: var(--primary); background: var(--primary-light); }

/* Mobile accordion */
.mobile-acc {
  border-bottom: 1px solid var(--border);
}

.mobile-acc-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 13px 20px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-dark);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: color var(--transition);
}
.mobile-acc-trigger:hover { color: var(--primary); }
.mobile-acc-trigger.is-open { color: var(--primary); }
.mobile-acc-trigger.is-open svg { transform: rotate(180deg); }
.mobile-acc-trigger svg { transition: transform 0.2s ease; flex-shrink: 0; }

.mobile-acc-panel {
  display: none;
  background: var(--bg-pink);
  padding: 8px 0;
}

.mobile-acc-panel.is-open { display: block; }

.mobile-sub-link {
  display: block;
  padding: 9px 32px;
  font-size: 13.5px;
  color: var(--text-mid);
  transition: color var(--transition), padding var(--transition);
}
.mobile-sub-link:hover { color: var(--primary); padding-left: 40px; }

.mobile-drawer-footer {
  padding: 16px 20px;
  border-top: 1px solid var(--border);
  background: var(--bg-pink);
}

/* ============================================================
   SECTION 2 — HERO
   ============================================================ */

.hero {
  background: linear-gradient(160deg, #fff8f7 0%, #fdecea 50%, #fbd5cf 100%);
  padding: 72px 0 0;
  overflow: hidden;
  position: relative;
}

.hero-inner {
  display: grid;
  grid-template-columns: 55% 45%;
  gap: 0;
  align-items: flex-end;
  min-height: 640px;
}

/* ── Left ── */
.hero-content {
  padding-bottom: 72px;
  padding-right: 32px;
  position: relative;
  z-index: 2;
}

/* Eyebrow pill */
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--white);
  border: 1px solid #f3c9c3;
  color: var(--primary);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 20px;
  border-radius: var(--radius-full);
  margin-bottom: 22px;
  box-shadow: 0 2px 12px rgba(240,72,60,0.15);
}

.hero-badge-dot {
  width: 8px;
  height: 8px;
  background: var(--green);
  border-radius: 50%;
  flex-shrink: 0;
  animation: dotpulse 2s infinite;
}

@keyframes dotpulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.5); }
  50%       { box-shadow: 0 0 0 6px rgba(34,197,94,0); }
}

/* Headline */
.hero-title {
  font-size: 46px;
  font-weight: 800;
  line-height: 1.18;
  color: var(--text-dark);
  margin-bottom: 18px;
  letter-spacing: -1.5px;
}

.hero-title span {
  color: var(--primary);
}

/* Sub */
.hero-subtitle {
  font-size: 16px;
  color: var(--text-mid);
  margin-bottom: 34px;
  max-width: 500px;
  line-height: 1.75;
}

/* CTA Row */
.hero-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 36px;
  flex-wrap: wrap;
}

/* Outlined pill — matches the primary button's shape/height */
.hero-play {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12.5px 30px;
  border-radius: var(--radius-full);
  font-size: 14px;
  font-weight: 700;
  color: var(--text-dark);
  background: var(--white);
  border: 1.5px solid var(--border);
  white-space: nowrap;
  transition: border-color var(--transition), color var(--transition),
              box-shadow var(--transition), transform var(--transition);
}
.hero-play svg {
  color: var(--primary);
  flex-shrink: 0;
  transition: transform var(--transition);
}
.hero-play:hover {
  color: var(--primary);
  border-color: var(--primary);
  box-shadow: 0 10px 24px rgba(240,72,60,0.18);
  transform: translateY(-2px);
}
.hero-play:hover svg { transform: scale(1.1); }

/* Rating + stats strip */
.hero-stats-row {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 28px;
  flex-wrap: wrap;
}

.hero-stats-divider {
  width: 1px;
  height: 36px;
  background: #e0c4bf;
  flex-shrink: 0;
}

.hero-stat {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.hero-stat strong {
  font-size: 22px;
  font-weight: 800;
  color: var(--primary);
}

.hero-stat span {
  font-size: 12px;
  color: var(--text-mid);
  font-weight: 500;
}

/* Trust badges row */
.hero-trust-logos {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.hero-trust-label {
  font-size: 12px;
  font-weight: 600;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.hero-trust-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--white);
  border: 1px solid #e8d5d2;
  color: var(--text-mid);
  font-size: 12px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-sm);
}

.trust-badge svg {
  color: var(--primary);
  flex-shrink: 0;
}

/* ── Right ── */
.hero-visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

/* Decorative blob circle — hidden; hero image has its own background */
.hero-blob {
  display: none;
}

/* Doctor image */
.hero-img-wrap {
  position: relative;
  z-index: 2;
}

.hero-img {
  width: 620px;
  max-width: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
  border-radius: var(--radius-lg);
}

/* Floating cards */
.hero-float {
  position: absolute;
  background: var(--white);
  border-radius: var(--radius-md);
  padding: 14px 18px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 12px;
}

.hero-float-1 {
  top: 60px;
  left: -16px;
  animation: floatY 4s ease-in-out infinite;
}

.hero-float-2 {
  bottom: 140px;
  right: -16px;
  animation: floatY 4s ease-in-out infinite 1s;
}

.hero-float-3 {
  top: 220px;
  right: -16px;
  animation: floatY 4s ease-in-out infinite 2s;
}

@keyframes floatY {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-8px); }
}

.float-icon {
  width: 44px;
  height: 44px;
  background: var(--primary-light);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.float-icon svg { width: 22px; height: 22px; color: var(--primary); }

.float-icon-green {
  background: #DCFCE7;
}
.float-icon-green svg { color: #16A34A; }

.float-num {
  font-size: 20px;
  font-weight: 800;
  color: var(--text-dark);
  line-height: 1;
}

.float-label {
  font-size: 11px;
  color: var(--text-light);
  font-weight: 500;
  margin-top: 2px;
}

/* Donut chart in float */
.float-chart {
  position: relative;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

.donut-chart {
  width: 48px;
  height: 48px;
  transform: rotate(-90deg);
}

.float-chart-pct {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 800;
  color: var(--primary);
}

/* ============================================================
   RESPONSIVE — Navigation & Hero
   ============================================================ */

/* ══════════════════════════════════════════════════════
   Section 3 · Why Choose Us
   ══════════════════════════════════════════════════════ */

/* Reusable eyebrow label — used across all sections */
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 14px;
}
.eyebrow::before {
  content: '';
  display: block;
  width: 28px;
  height: 2px;
  background: var(--primary);
  border-radius: 2px;
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════
   Section · Overview — SEO intro (medical billing company)
   ══════════════════════════════════════════════════════ */
.intro-seo {
  background: var(--white);
  padding: 88px 0 92px;
}
.intro-seo-head {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 48px;
}
.intro-seo-title {
  font-size: 34px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.5px;
  color: var(--text-dark);
  margin: 6px 0 20px;
}
.intro-seo-accent {
  background: linear-gradient(115deg, var(--primary-dark) 0%, var(--primary) 55%, #F57A6B 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.intro-seo-lead {
  font-size: 16px;
  line-height: 1.75;
  color: var(--text-mid);
}
.intro-seo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.intro-seo-card {
  background: var(--white);
  border: 1px solid rgba(26,26,46,0.07);
  border-radius: 16px;
  padding: 30px 28px;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.intro-seo-card:hover {
  border-color: rgba(240,72,60,0.28);
  box-shadow: 0 16px 34px -18px rgba(26,26,46,0.22);
  transform: translateY(-3px);
}
.intro-seo-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--primary-light);
  color: var(--primary);
  margin-bottom: 18px;
}
.intro-seo-card-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 10px;
  line-height: 1.3;
}
.intro-seo-card-body {
  font-size: 14px;
  line-height: 1.65;
  color: var(--text-mid);
  margin: 0;
}
@media (max-width: 900px) {
  .intro-seo-grid { grid-template-columns: 1fr; gap: 18px; }
  .intro-seo-title { font-size: 28px; }
}

.why-us {
  background: linear-gradient(180deg, #fafbfc 0%, #f4f0ee 100%);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}
.why-us::before {
  content: '';
  position: absolute;
  top: -120px;
  right: -120px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(240,72,60,0.06) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.why-us::after {
  content: '';
  position: absolute;
  bottom: -80px;
  left: -80px;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(99,102,241,0.05) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* ── Header ── */
.wcu-header {
  text-align: center;
  max-width: 740px;
  margin: 0 auto 48px;
}
.wcu-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--primary);
  background: rgba(240,72,60,0.10);
  border: 1px solid rgba(240,72,60,0.20);
  padding: 6px 16px;
  border-radius: var(--radius-full);
  margin-bottom: 20px;
}
.wcu-badge svg {
  color: var(--primary);
}
.wcu-title {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.18;
  color: var(--text-dark);
  margin-bottom: 18px;
}
.wcu-title-accent {
  background: linear-gradient(115deg, var(--primary-dark) 0%, var(--primary) 55%, #F57A6B 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.wcu-subtitle {
  font-size: 15.5px;
  line-height: 1.75;
  color: var(--text-mid);
  max-width: 680px;
  margin: 0 auto;
}

/* ── Trust Metrics Strip ── */
.wcu-metrics {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  background: var(--white);
  border: 1px solid #eef0f3;
  border-radius: 14px;
  padding: 20px 10px;
  margin-bottom: 48px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.04);
}
.wcu-metric {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 28px;
  flex: 1;
  justify-content: center;
}
.wcu-metric-icon {
  width: 42px;
  height: 42px;
  background: rgba(240,72,60,0.10);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  flex-shrink: 0;
}
.wcu-metric-text {
  display: flex;
  flex-direction: column;
}
.wcu-metric-text strong {
  font-size: 20px;
  font-weight: 800;
  color: var(--text-dark);
  line-height: 1.1;
}
.wcu-metric-text span {
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text-muted);
  white-space: nowrap;
}
.wcu-metric-divider {
  width: 1px;
  height: 36px;
  background: #e8eaed;
  flex-shrink: 0;
}

/* ── 6 Premium Feature Cards ── */
.wcu-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 48px;
}

.wcu-card {
  background: var(--white);
  border: 1px solid #eef0f3;
  border-radius: 14px;
  padding: 28px 26px 24px;
  position: relative;
  overflow: hidden;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}
.wcu-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.wcu-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.08);
  border-color: transparent;
}
.wcu-card:hover::before {
  opacity: 1;
}

/* Color variants */
.wcu-card--coral::before { background: linear-gradient(90deg, #F0483C, #f09590); }
.wcu-card--coral .wcu-card-icon { background: rgba(240,72,60,0.10); color: #F0483C; }
.wcu-card--coral .wcu-card-tag { color: #F0483C; background: rgba(240,72,60,0.08); }

.wcu-card--indigo::before { background: linear-gradient(90deg, #6366f1, #a5b4fc); }
.wcu-card--indigo .wcu-card-icon { background: rgba(99,102,241,0.10); color: #6366f1; }
.wcu-card--indigo .wcu-card-tag { color: #6366f1; background: rgba(99,102,241,0.08); }

.wcu-card--emerald::before { background: linear-gradient(90deg, #10b981, #6ee7b7); }
.wcu-card--emerald .wcu-card-icon { background: rgba(16,185,129,0.10); color: #10b981; }
.wcu-card--emerald .wcu-card-tag { color: #10b981; background: rgba(16,185,129,0.08); }

.wcu-card--amber::before { background: linear-gradient(90deg, #f59e0b, #fcd34d); }
.wcu-card--amber .wcu-card-icon { background: rgba(245,158,11,0.10); color: #d97706; }
.wcu-card--amber .wcu-card-tag { color: #d97706; background: rgba(245,158,11,0.08); }

.wcu-card--cyan::before { background: linear-gradient(90deg, #06b6d4, #67e8f9); }
.wcu-card--cyan .wcu-card-icon { background: rgba(6,182,212,0.10); color: #06b6d4; }
.wcu-card--cyan .wcu-card-tag { color: #06b6d4; background: rgba(6,182,212,0.08); }

.wcu-card--rose::before { background: linear-gradient(90deg, #f43f5e, #fda4af); }
.wcu-card--rose .wcu-card-icon { background: rgba(244,63,94,0.10); color: #f43f5e; }
.wcu-card--rose .wcu-card-tag { color: #f43f5e; background: rgba(244,63,94,0.08); }

.wcu-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 16px;
}
.wcu-card-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.35s ease;
}
.wcu-card:hover .wcu-card-icon {
  transform: scale(1.08);
}
.wcu-card-num {
  font-size: 28px;
  font-weight: 800;
  color: #eef0f3;
  line-height: 1;
  letter-spacing: -0.02em;
}
.wcu-card-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  color: var(--primary);
  background: rgba(240,72,60,0.12);
  border-radius: var(--radius-full);
  padding: 3px 10px;
  margin-bottom: 6px;
}
.wcu-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.3;
  margin-bottom: 10px;
}
.wcu-card-body {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--text-mid);
  margin-bottom: 16px;
}
.wcu-card-tag {
  display: inline-flex;
  align-items: center;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: var(--radius-full);
  letter-spacing: 0.02em;
}

/* ── Bottom CTA ── */
.wcu-bottom-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  background: linear-gradient(135deg, #0f1629 0%, #1a1a2e 50%, #2d1b35 100%);
  border-radius: 16px;
  padding: 32px 40px;
}
.wcu-bottom-text {
  font-size: 14.5px;
  line-height: 1.7;
  color: rgba(255,255,255,0.70);
  max-width: 600px;
  margin: 0;
}
.wcu-bottom-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--primary);
  color: var(--white);
  font-size: 14px;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: var(--radius-full);
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.3s ease;
  box-shadow: 0 4px 20px rgba(240,72,60,0.30);
}
.wcu-bottom-btn:hover {
  background: #d45a4f;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(240,72,60,0.40);
}
.wcu-bottom-btn svg {
  transition: transform 0.3s ease;
}
.wcu-bottom-btn:hover svg {
  transform: translateX(3px);
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .wcu-title { font-size: 30px; }
  .wcu-metrics { flex-wrap: wrap; gap: 16px; padding: 20px; }
  .wcu-metric { padding: 0 16px; }
  .wcu-metric-divider { display: none; }
  .wcu-cards { grid-template-columns: repeat(2, 1fr); }
  .wcu-bottom-cta { flex-direction: column; text-align: center; gap: 20px; padding: 28px 24px; }
  .wcu-bottom-text { max-width: 100%; }
}

@media (max-width: 600px) {
  .why-us { padding: 64px 0; }
  .wcu-title { font-size: 26px; }
  .wcu-metrics { flex-direction: column; gap: 12px; }
  .wcu-metric { justify-content: flex-start; padding: 0 10px; }
  .wcu-cards { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════
   Section 4 · FREE Provider Credentialing Banner
   ══════════════════════════════════════════════════════ */
.cred-cta {
  background: linear-gradient(135deg, #F35A4C 0%, var(--primary) 45%, #BF4438 100%);
  padding: 88px 0;
  position: relative;
  overflow: hidden;
}
/* Fine dotted texture — quiet depth, masked to fade at edges */
.cred-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,0.11) 1px, transparent 1px);
  background-size: 22px 22px;
  -webkit-mask-image: radial-gradient(ellipse 95% 85% at 50% 50%, #000 42%, transparent 88%);
          mask-image: radial-gradient(ellipse 95% 85% at 50% 50%, #000 42%, transparent 88%);
  pointer-events: none;
}
/* Second soft light bloom, bottom-left — balances the top-right glow */
.cred-cta::after {
  content: '';
  position: absolute;
  bottom: -130px;
  left: -110px;
  width: 440px;
  height: 440px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.10) 0%, transparent 70%);
  pointer-events: none;
}
.cred-cta > .container { position: relative; z-index: 1; }
.cred-cta-glow {
  position: absolute;
  top: -80px; right: -80px;
  width: 400px; height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.cred-cta-inner {
  display: grid;
  grid-template-columns: 58fr 42fr;
  gap: 64px;
  align-items: center;
}
.cred-cta-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--primary);
  background: rgba(255,255,255,0.92);
  border-radius: var(--radius-full);
  padding: 5px 14px 5px 10px;
  margin-bottom: 20px;
}
.cred-cta-title {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--white);
  margin-bottom: 20px;
}
.cred-cta-body {
  font-size: 15.5px;
  line-height: 1.75;
  color: rgba(255,255,255,0.88);
  margin-bottom: 28px;
}
/* Value stats strip */
.cred-cta-stats {
  display: flex;
  margin-bottom: 32px;
}
.cred-cta-stat {
  padding: 0 24px;
  display: flex;
  flex-direction: column;
}
.cred-cta-stat:first-child { padding-left: 0; }
.cred-cta-stat + .cred-cta-stat { border-left: 1px solid rgba(255,255,255,0.24); }
.cred-cta-stat strong {
  font-size: 27px;
  font-weight: 800;
  color: var(--white);
  line-height: 1;
  letter-spacing: -0.5px;
}
.cred-cta-stat span {
  font-size: 12px;
  color: rgba(255,255,255,0.82);
  margin-top: 6px;
}
.cred-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--white);
  color: var(--primary);
  font-size: 14px;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: transform var(--transition), box-shadow var(--transition);
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}
.cred-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.26);
}

/* Inline credentialing lead form (coral bg) */
.cred-form {
  max-width: 540px;
}
.cred-form-row { margin-bottom: 12px; }
.cred-form-row--2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.cred-input {
  width: 100%;
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.32);
  border-radius: 10px;
  padding: 13px 16px;
  font-size: 14px;
  font-family: 'Poppins', sans-serif;
  color: var(--white);
  box-sizing: border-box;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.cred-input::placeholder { color: rgba(255,255,255,0.72); }
.cred-input:focus {
  outline: none;
  border-color: var(--white);
  background: rgba(255,255,255,0.20);
}
.cred-form-submit {
  width: 100%;
  justify-content: center;
  margin-top: 4px;
  border: none;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
}
.cred-form-note {
  font-size: 12px;
  color: rgba(255,255,255,0.78);
  text-align: center;
  margin-top: 12px;
}
.cred-cta-list {
  position: relative;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.26);
  border-radius: 20px;
  padding: 34px 30px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow:
    0 26px 54px -26px rgba(120,20,10,0.55),
    inset 0 1px 0 rgba(255,255,255,0.28);
}
.cred-cta-list-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.72);
  margin-bottom: 8px;
}
.cred-feature-list {
  display: flex;
  flex-direction: column;
}
.cred-feature {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(255,255,255,0.14);
}
.cred-feature:first-child { padding-top: 4px; }
.cred-feature:last-child { border-bottom: none; padding-bottom: 0; }
.cred-feature-icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: rgba(255,255,255,0.16);
  border: 1px solid rgba(255,255,255,0.24);
  color: var(--white);
  transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.cred-feature:hover .cred-feature-icon {
  background: var(--white);
  color: var(--primary);
  transform: translateY(-1px);
}
.cred-feature-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.cred-feature-title {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--white);
  line-height: 1.3;
}
.cred-feature-desc {
  font-size: 12.5px;
  line-height: 1.5;
  color: rgba(255,255,255,0.78);
}
@media (max-width: 1024px) {
  .cred-cta-inner { grid-template-columns: 1fr; gap: 40px; }
  .cred-cta-title { font-size: 32px; }
}
@media (max-width: 600px) {
  .cred-cta { padding: 60px 0; }
  .cred-cta-title { font-size: 27px; }
  .cred-form-row--2 { grid-template-columns: 1fr; }
  .cred-cta-stat strong { font-size: 24px; }
}

/* ══════════════════════════════════════════════════════
   Section 5 · What We Offer
   ══════════════════════════════════════════════════════ */
.services-offer {
  background: var(--white);
  padding: 96px 0;
}
.services-offer-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 64px;
}
.services-offer-sub {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-mid);
  margin-bottom: 12px;
  letter-spacing: 0.02em;
}
.services-offer-title {
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--text-dark);
  margin-bottom: 20px;
}
.services-offer-body {
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-mid);
}
.services-offer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 48px;
}
.offer-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-top: 3px solid var(--primary);
  border-radius: var(--radius-md);
  padding: 28px 24px 24px;
  display: flex;
  flex-direction: column;
  transition: transform var(--transition), box-shadow var(--transition);
}
.offer-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}
.offer-card-icon {
  width: 46px; height: 46px;
  background: var(--primary-light);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  margin-bottom: 14px;
  flex-shrink: 0;
}
.offer-card-tag {
  display: inline-block;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--white);
  background: var(--primary);
  border-radius: var(--radius-full);
  padding: 2px 9px;
  margin-bottom: 8px;
  width: fit-content;
}
.offer-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.3;
  margin-bottom: 8px;
}
.offer-card-desc {
  font-size: 13px;
  line-height: 1.6;
  color: var(--text-mid);
  margin-bottom: 16px;
}
.offer-card-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 20px;
  flex: 1;
}
.offer-card-list li {
  font-size: 12.5px;
  color: var(--text-mid);
  padding-left: 16px;
  position: relative;
}
.offer-card-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 7px;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--primary);
  opacity: 0.65;
}
.offer-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--primary);
  text-decoration: none;
  margin-top: auto;
  transition: gap var(--transition);
}
.offer-card-link:hover { gap: 10px; }
.services-offer-cta { text-align: center; }

/* Reusable primary button */
.btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--primary);
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  padding: 14px 32px;
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
  box-shadow: 0 6px 20px rgba(240,72,60,0.35);
}
.btn-primary:hover {
  background: var(--primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(240,72,60,0.45);
}
@media (max-width: 1024px) {
  .services-offer-grid { grid-template-columns: repeat(2, 1fr); }
  .services-offer-title { font-size: 30px; }
}
@media (max-width: 600px) {
  .services-offer { padding: 64px 0; }
  .services-offer-grid { grid-template-columns: 1fr; }
  .services-offer-title { font-size: 26px; }
}

/* ══════════════════════════════════════════════════════
   Section 6 · Specialties & Nationwide Coverage
   ══════════════════════════════════════════════════════ */
.coverage-section {
  background: var(--white);
  padding: 96px 0 104px;
  position: relative;
  overflow: hidden;
}
.coverage-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 800px 500px at 10% 30%, rgba(240,72,60,0.04) 0%, transparent 70%),
    radial-gradient(ellipse 600px 400px at 90% 70%, rgba(240,72,60,0.03) 0%, transparent 70%);
  pointer-events: none;
}
.coverage-header {
  text-align: center;
  max-width: 700px;
  margin: 0 auto 72px;
  position: relative;
}
.section-tag {
  display: inline-block;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 12px;
  font-weight: 700;
  padding: 5px 16px;
  border-radius: var(--radius-full);
  margin-bottom: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.coverage-title {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.15;
  color: var(--text-dark);
  margin-bottom: 16px;
}
.coverage-title span { color: var(--primary); }
.coverage-subtitle {
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-mid);
}

/* ── Two-column layout ── */
.coverage-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 40px;
  align-items: start;
  position: relative;
}

/* ── Left: Specialties ── */
.col-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 12px;
}
.col-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 4px;
}
.col-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--text-dark);
  line-height: 1.2;
}
.col-count-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  white-space: nowrap;
  flex-shrink: 0;
}
.col-count-badge svg { width: 13px; height: 13px; flex-shrink: 0; }

.scroll-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--text-light);
  font-weight: 500;
  margin-bottom: 14px;
}
.scroll-hint-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px; height: 22px;
  background: var(--primary-light);
  border-radius: 50%;
  color: var(--primary);
  font-size: 13px;
  animation: bounce-down 1.6s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes bounce-down {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(3px); }
}

.spec-scroll-wrap { position: relative; }
.spec-scroll-wrap::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 56px;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.95));
  pointer-events: none;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
}

/* Scrollable specialty grid */
.spec-list {
  max-height: 560px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--white);
  padding: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  align-content: start;
  scroll-behavior: smooth;
}
.spec-list::-webkit-scrollbar { width: 4px; }
.spec-list::-webkit-scrollbar-track { background: transparent; }
.spec-list::-webkit-scrollbar-thumb { background: #E5E7EB; border-radius: 4px; }
.spec-list::-webkit-scrollbar-thumb:hover { background: var(--primary); }

/* Specialty item — premium: icon + name + brief */
.spec-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: #FAFAFA;
  border: 1px solid var(--border);
  border-top: 2px solid transparent;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all var(--transition);
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
}
.spec-item:hover {
  border-color: var(--primary);
  border-top-color: var(--primary);
  background: var(--primary-light);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}
.spec-item-icon {
  width: 34px; height: 34px;
  background: var(--primary-light);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: background var(--transition);
  margin-top: 1px;
}
.spec-item:hover .spec-item-icon { background: var(--primary); }
.spec-item-icon svg {
  width: 16px; height: 16px;
  stroke: var(--primary);
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke var(--transition);
}
.spec-item:hover .spec-item-icon svg { stroke: var(--white); }

/* Text group: name + brief */
.spec-item-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.spec-item-name {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-dark);
  line-height: 1.3;
  transition: color var(--transition);
}
.spec-item:hover .spec-item-name { color: var(--primary-dark); }
.spec-item-brief {
  font-size: 11px;
  color: var(--text-light);
  line-height: 1.4;
  font-weight: 400;
  transition: color var(--transition);
}
.spec-item:hover .spec-item-brief { color: var(--primary-dark); opacity: 0.8; }

.spec-item-arrow {
  width: 14px; height: 14px;
  color: var(--text-light);
  flex-shrink: 0;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity var(--transition), transform var(--transition), color var(--transition);
  margin-top: 3px;
}
.spec-item:hover .spec-item-arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--primary);
}

/* Viewing counter */
.view-counter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px 0;
}
.view-counter-text {
  font-size: 11.5px;
  color: var(--text-light);
  font-weight: 500;
  white-space: nowrap;
}
.view-counter-text strong { color: var(--text-mid); font-weight: 600; }
.view-progress {
  flex: 1;
  height: 3px;
  background: var(--border);
  border-radius: 3px;
  margin: 0 12px;
  overflow: hidden;
}
.view-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--primary-light), var(--primary));
  border-radius: 3px;
  transition: width 0.3s ease;
}

/* CTA below spec list */
.spec-cta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 22px;
}
.btn-outline-link {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-mid);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  transition: color var(--transition);
}
.btn-outline-link:hover { color: var(--primary); }
.btn-outline-link svg { width: 14px; height: 14px; }

/* ── Right: States Panel ── */
.states-col {
  position: sticky;
  top: 130px;
}
.states-panel {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.states-panel-head {
  background: linear-gradient(135deg, var(--bg-dark) 0%, #2D1B35 100%);
  padding: 22px 24px 18px;
  position: relative;
  overflow: hidden;
}
.states-panel-head::before {
  content: '';
  position: absolute;
  top: -60px; right: -60px;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.06) 0%, transparent 70%);
  pointer-events: none;
}
.states-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 8px;
}
.states-eyebrow::before {
  content: '';
  display: block;
  width: 16px; height: 2px;
  background: var(--primary);
  border-radius: 2px;
}
.states-panel-title {
  font-size: 18px;
  font-weight: 800;
  color: var(--white);
  line-height: 1.2;
  margin-bottom: 4px;
}
.states-panel-sub {
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  font-weight: 400;
}
.states-counter-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 24px;
  background: rgba(240,72,60,0.06);
  border-bottom: 1px solid var(--border);
}
.states-big-num {
  font-size: 28px;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
  flex-shrink: 0;
}
.states-counter-label {
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-mid);
}
.states-counter-label strong {
  display: block;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-dark);
}
.states-hipaa-badge {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 700;
  color: var(--green);
  background: rgba(34,197,94,0.1);
  border: 1px solid rgba(34,197,94,0.25);
  border-radius: var(--radius-full);
  padding: 4px 10px;
  flex-shrink: 0;
}
.states-hipaa-badge svg { width: 10px; height: 10px; }

.states-scroll-hint {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 24px 4px;
  font-size: 11px;
  color: var(--text-light);
  font-weight: 500;
}
.states-scroll-hint-arrow {
  width: 18px; height: 18px;
  background: var(--primary-light);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--primary);
  font-size: 11px;
  animation: bounce-down 1.6s ease-in-out infinite;
  flex-shrink: 0;
}
.states-scroll-wrap { position: relative; }
.states-scroll-wrap::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 40px;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.97));
  pointer-events: none;
}
.states-list {
  max-height: 310px;
  overflow-y: auto;
  padding: 6px 0 20px;
  scroll-behavior: smooth;
}
.states-list::-webkit-scrollbar { width: 3px; }
.states-list::-webkit-scrollbar-track { background: transparent; }
.states-list::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
.states-list::-webkit-scrollbar-thumb:hover { background: var(--primary); }

.state-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 24px;
  cursor: pointer;
  border-left: 2px solid transparent;
  transition: background var(--transition), border-color var(--transition);
}
.state-row:hover {
  background: var(--primary-light);
  border-left-color: var(--primary);
}
.state-row-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.state-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--primary);
  opacity: 0.45;
  flex-shrink: 0;
  transition: opacity var(--transition), transform var(--transition);
}
.state-row:hover .state-dot { opacity: 1; transform: scale(1.5); }
.state-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--text-mid);
  transition: color var(--transition);
}
.state-row:hover .state-name { color: var(--primary-dark); }
.state-abbr {
  font-size: 10px;
  font-weight: 700;
  color: var(--text-light);
  letter-spacing: 0.04em;
  background: #F3F4F6;
  border-radius: 4px;
  padding: 1px 6px;
  transition: background var(--transition), color var(--transition);
}
.state-row:hover .state-abbr { background: rgba(240,72,60,0.15); color: var(--primary); }
.state-chevron {
  width: 13px; height: 13px;
  color: var(--text-light);
  flex-shrink: 0;
  transition: color var(--transition), transform var(--transition);
}
.state-row:hover .state-chevron { color: var(--primary); transform: translateX(2px); }

.states-view-counter {
  display: flex;
  align-items: center;
  padding: 0 24px 10px;
  gap: 10px;
}
.states-view-text {
  font-size: 11px;
  color: var(--text-light);
  font-weight: 500;
  white-space: nowrap;
}
.states-view-text strong { color: var(--text-mid); font-weight: 600; }
.states-view-progress {
  flex: 1;
  height: 2px;
  background: var(--border);
  border-radius: 2px;
  overflow: hidden;
}
.states-view-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--primary-light), var(--primary));
  border-radius: 2px;
  transition: width 0.3s ease;
}
.states-panel-foot {
  padding: 16px 20px;
  border-top: 1px solid var(--border);
  background: #FAFAFA;
}
.btn-states-full {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 20px;
  background: var(--primary);
  color: var(--white);
  font-size: 13px;
  font-weight: 700;
  border-radius: var(--radius-full);
  text-decoration: none;
  font-family: 'Poppins', sans-serif;
  border: none;
  cursor: pointer;
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
  box-shadow: 0 4px 16px rgba(240,72,60,0.3);
}
.btn-states-full:hover {
  background: var(--primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(240,72,60,0.4);
}
.btn-states-full svg { width: 14px; height: 14px; transition: transform var(--transition); }
.btn-states-full:hover svg { transform: translateX(3px); }
.states-foot-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-top: 10px;
  font-size: 11px;
  color: var(--text-light);
}
.states-foot-note svg { width: 10px; height: 10px; color: var(--green); }

/* Fade-in on scroll */
.fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-up.visible { opacity: 1; transform: translateY(0); }
.d1 { transition-delay: 0.05s; }
.d2 { transition-delay: 0.12s; }

/* Responsive */
@media (max-width: 1024px) {
  .coverage-layout { grid-template-columns: 1fr; gap: 48px; }
  .states-col { position: static; }
  .spec-list { max-height: 420px; }
}
@media (max-width: 640px) {
  .coverage-title { font-size: 28px; }
  .spec-list { grid-template-columns: 1fr; max-height: 380px; }
  .coverage-section { padding: 64px 0; }
}

/* ══════════════════════════════════════════════════════
   Section 8 · Why Outsource Your Medical Billing
   ══════════════════════════════════════════════════════ */
.outsource-section {
  background: var(--white);
  padding: 96px 0;
}

/* ── Header ── */
.outsource-header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 64px;
}
.outsource-title {
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--text-dark);
  margin-bottom: 18px;
}
.outsource-intro {
  font-size: 15px;
  line-height: 1.75;
  color: var(--text-muted);
}

/* ── Two-col layout ── */
.outsource-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 52px;
}

/* ── Left: stat card + badges ── */
.outsource-visual {
  position: sticky;
  top: 130px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.outsource-stat-card {
  background: var(--bg-dark);
  border-radius: var(--radius-md);
  padding: 28px 24px;
  box-shadow: 0 16px 48px rgba(26,26,46,0.18);
}
.osc-header {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.45);
  margin-bottom: 20px;
}
.osc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.osc-label {
  font-size: 13px;
  color: rgba(255,255,255,0.65);
}
.osc-val {
  font-size: 15px;
  font-weight: 700;
}
.osc-val.loss     { color: #f87171; text-decoration: line-through; opacity: 0.75; }
.osc-val.gain     { color: #4ade80; }
.osc-val.highlight{ color: var(--primary); font-size: 18px; }
.osc-divider {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.10);
  margin: 16px 0;
}
.osc-total .osc-label { color: var(--white); font-weight: 600; }
.osc-bar-wrap {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.osc-bar-track {
  height: 7px;
  background: rgba(255,255,255,0.10);
  border-radius: 99px;
  overflow: hidden;
}
.osc-bar-fill {
  height: 100%;
  background: var(--primary);
  border-radius: 99px;
}
.osc-bar-label {
  font-size: 11px;
  font-weight: 600;
  color: var(--primary);
  text-align: right;
}

/* ── 3-badge row ── */
.outsource-badge-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.outsource-badge {
  background: var(--bg-pink);
  border: 1px solid rgba(240,72,60,0.18);
  border-radius: var(--radius-sm);
  padding: 16px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.outsource-badge-val {
  font-size: 18px;
  font-weight: 800;
  color: var(--primary);
  line-height: 1;
}
.outsource-badge-lbl {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ── Right: 7 benefit rows ── */
.outsource-benefits {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.benefit-row {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: 22px 0;
  border-bottom: 1px solid var(--border);
}
.benefit-row:first-child { border-top: 1px solid var(--border); }
.benefit-row--free .benefit-icon {
  background: rgba(240,72,60,0.15);
  color: var(--primary);
}
.benefit-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: var(--radius-sm);
  background: var(--bg-pink);
  color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.benefit-text {
  flex: 1;
}
.benefit-text strong {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15.5px;
  font-weight: 700;
  color: var(--text-dark);
  margin-bottom: 6px;
}
.benefit-text p {
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--text-muted);
  margin: 0;
}
.free-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 99px;
  background: var(--primary);
  color: var(--white);
  letter-spacing: 0.04em;
  vertical-align: middle;
}

/* ── Bottom CTA ── */
.outsource-cta {
  text-align: center;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .outsource-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .outsource-visual {
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
  .outsource-stat-card { flex: 1; min-width: 280px; }
  .outsource-badge-row { flex: 0 0 100%; grid-template-columns: repeat(3, 1fr); }
  .outsource-title { font-size: 30px; }
}
@media (max-width: 640px) {
  .outsource-section { padding: 64px 0; }
  .outsource-title { font-size: 26px; }
  .outsource-visual { flex-direction: column; }
}

/* ══════════════════════════════════════════════════════
   Section 9 · Testimonials
   ══════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════
   Testimonials — dark premium band, featured + stacked
   ══════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════
   Testimonials — auto-scrolling wall (Vercel / Cal.com style)
   ══════════════════════════════════════════════════════ */
.testimonials-section {
  position: relative;
  background: #fbfaf9;
  padding: 104px 0 96px;
  overflow: hidden;
}
.testimonials-section > .container { position: relative; z-index: 1; }

/* ── Header ── */
.testimonials-header {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 44px;
}
.testimonials-title {
  font-size: 38px;
  font-weight: 800;
  line-height: 1.14;
  letter-spacing: -0.7px;
  color: var(--text-dark);
  margin-bottom: 20px;
}
.testimonials-sub {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--text-mid);
  max-width: 560px;
  margin: 0 auto;
}

/* ── Wall ── */
.testi-wall {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  height: 560px;
  overflow: hidden;
  margin-bottom: 56px;
  /* Soft fade at top & bottom edges — the signature wall detail */
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.testi-wall-col { position: relative; overflow: hidden; }
.testi-wall-track {
  display: flex;
  flex-direction: column;
  gap: 22px;
  will-change: transform;
  animation: testi-scroll 34s linear infinite;
}
/* Middle column drifts the opposite way, side columns vary in pace */
.testi-wall-col--a .testi-wall-track { animation-duration: 38s; }
.testi-wall-col--b .testi-wall-track { animation-direction: reverse; animation-duration: 30s; }
.testi-wall-col--c .testi-wall-track { animation-duration: 44s; }
/* Pause the whole wall on hover */
.testi-wall:hover .testi-wall-track { animation-play-state: paused; }

@keyframes testi-scroll {
  from { transform: translateY(0); }
  to   { transform: translateY(-50%); }
}

/* ── Quote card ── */
.tq {
  background: var(--white);
  border: 1px solid rgba(26,26,46,0.07);
  border-radius: 16px;
  padding: 24px 22px;
  margin: 0;
  box-shadow: 0 1px 2px rgba(26,26,46,0.04);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.tq:hover {
  border-color: rgba(240,72,60,0.3);
  box-shadow: 0 16px 34px -18px rgba(26,26,46,0.28);
  transform: translateY(-2px);
}
.tq-stars {
  color: #F5A623;
  font-size: 13px;
  letter-spacing: 1.5px;
  margin-bottom: 12px;
}
.tq-text {
  font-size: 14px;
  line-height: 1.6;
  color: #3a3a4d;
  margin: 0 0 18px;
}
.tq-by { display: flex; align-items: center; gap: 12px; }
.tq-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--white);
  background: linear-gradient(135deg, #ef7a6d 0%, var(--primary) 60%, var(--primary-dark) 100%);
  box-shadow: 0 4px 12px -3px rgba(240,72,60,0.5);
}
.tq-who { display: flex; flex-direction: column; line-height: 1.3; }
.tq-name { font-size: 13.5px; font-weight: 700; color: var(--text-dark); }
.tq-role { font-size: 12px; color: var(--text-muted); }

/* ── Responsive ── */
@media (max-width: 900px) {
  .testi-wall { grid-template-columns: repeat(2, 1fr); height: 540px; }
  .testi-wall-col--c { display: none; }
}
@media (max-width: 560px) {
  .testimonials-section { padding: 72px 0 64px; }
  .testimonials-title { font-size: 28px; }
  .testi-wall { grid-template-columns: 1fr; height: 480px; }
  .testi-wall-col--b { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .testi-wall-track { animation: none; }
  .testi-wall {
    height: auto;
    -webkit-mask-image: none;
            mask-image: none;
  }
  /* Show only the first (real) set when motion is off */
  .testi-wall-track > .tq[aria-hidden="true"] { display: none; }
}

/* ── Video testimonial slider ── */
.vtesti-slider {
  position: relative;
  background: var(--white);
  border-radius: 20px;
  padding: 56px 56px 44px;
  box-shadow: 0 8px 48px rgba(26,26,46,0.08);
  overflow: hidden;
  margin-top: 16px;
}

/* Decorative large opening quote */
.vtesti-quote-mark {
  position: absolute;
  top: -10px;
  left: 32px;
  font-family: Georgia, serif;
  font-size: 140px;
  line-height: 1;
  color: #e0f4f4;
  pointer-events: none;
  user-select: none;
}

/* Decorative arc rings — bottom right */
.vtesti-arc {
  position: absolute;
  bottom: -60px;
  right: -60px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  border: 28px solid rgba(0,188,188,0.10);
  box-shadow: 0 0 0 28px rgba(0,188,188,0.06), 0 0 0 56px rgba(0,188,188,0.03);
  pointer-events: none;
}

/* Slides container — overflow hidden, single-slide viewport */
.vtesti-slides {
  overflow: hidden;
  position: relative;
}

/* Each slide — hidden by default, shown when active */
.vtesti-slide {
  display: none;
  grid-template-columns: 55fr 45fr;
  gap: 48px;
  align-items: center;
  animation: vSlideIn 0.42s ease;
}
.vtesti-slide.vtesti-slide--active {
  display: grid;
}
@keyframes vSlideIn {
  from { opacity: 0; transform: translateX(24px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* ── Video thumbnail col ── */
.vtesti-video-col {
  position: relative;
}
.vtesti-thumb {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  border-radius: 14px;
  overflow: hidden;
  background: #000;
  cursor: pointer;
  box-shadow: 0 12px 40px rgba(26,26,46,0.18);
}
.vtesti-thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease, opacity 0.3s;
  display: block;
}
.vtesti-thumb:hover img {
  transform: scale(1.03);
  opacity: 0.85;
}
/* Play button */
.vtesti-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 24px rgba(0,0,0,0.28);
  transition: transform 0.2s, background 0.2s, box-shadow 0.2s;
  z-index: 2;
}
.vtesti-play svg polygon { fill: var(--primary); }
.vtesti-thumb:hover .vtesti-play {
  transform: translate(-50%, -50%) scale(1.10);
  background: var(--white);
  box-shadow: 0 10px 32px rgba(0,0,0,0.32);
}
/* Iframe replaces thumbnail after click */
.vtesti-thumb iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: none;
  z-index: 3;
}
.vtesti-thumb.vtesti-thumb--playing img,
.vtesti-thumb.vtesti-thumb--playing .vtesti-play {
  display: none;
}
.vtesti-thumb.vtesti-thumb--playing iframe {
  display: block;
}

/* ── Quote / content col ── */
.vtesti-content-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 8px;
}
.vtesti-quote {
  font-size: 17px;
  font-weight: 500;
  line-height: 1.7;
  color: var(--text-dark);
  font-style: normal;
}
.vtesti-name {
  font-size: 17px;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
}
.vtesti-role {
  font-size: 13px;
  color: var(--text-muted);
  margin: 0;
}
.vtesti-stars {
  color: #F59E0B;
  font-size: 20px;
  letter-spacing: 3px;
}

/* ── Navigation row ── */
.vtesti-nav {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 36px;
}
.vtesti-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}
.vtesti-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: #d1d5db;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s, transform 0.2s, width 0.25s;
}
.vtesti-dot--active {
  background: var(--text-dark);
  width: 28px;
  border-radius: 99px;
}
.vtesti-next {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text-dark);
  padding: 0;
  transition: color var(--transition), gap 0.2s;
}
.vtesti-next:hover {
  color: var(--primary);
  gap: 12px;
}
.vtesti-next svg { flex-shrink: 0; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .vtesti-slide { grid-template-columns: 1fr; gap: 28px; }
  .vtesti-slider { padding: 40px 32px 36px; }
  .vtesti-quote { font-size: 15px; }
}
@media (max-width: 560px) {
  .vtesti-slider { padding: 32px 20px 28px; border-radius: 14px; }
  .vtesti-quote-mark { font-size: 90px; top: -6px; left: 16px; }
  .vtesti-quote { font-size: 14px; }
  .vtesti-name { font-size: 15px; }
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .testimonials-title { font-size: 30px; }
}
@media (max-width: 768px) {
  .testi-videos { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .testimonials-section { padding: 64px 0; }
  .testimonials-title { font-size: 26px; }
}

/* ══════════════════════════════════════════════════════
   Section 2 · EHR/EMR Strip — single scrolling logo row (after hero)
   Reuses .ehr-track / .ehr-fade / .ehr-list / .ehr-item + @keyframes ehrLeft
   ══════════════════════════════════════════════════════ */
.ehr-strip {
  background: var(--white);
  padding: 26px 0 22px;
  border-bottom: 1px solid var(--border);
}
.ehr-strip-line {
  text-align: center;
  font-size: 15px;
  line-height: 1.5;
  color: var(--text-mid);
  max-width: none;          /* keep on one line */
  white-space: nowrap;
  margin: 0 auto 18px;
  padding: 0 20px;
}
.ehr-strip-line strong { color: var(--text-dark); font-weight: 700; }
@media (max-width: 560px) {
  .ehr-strip-line { font-size: 13px; white-space: normal; }
  .ehr-strip { padding: 22px 0 20px; }
}

/* ── Track wrapper ── */
.ehr-track-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-bottom: 6px;
  padding: 10px 0;
}
.ehr-track-wrap:last-of-type { margin-bottom: 0; }

/* Fade overlays — match dark bg */
.ehr-fade {
  position: absolute;
  top: 0; bottom: 0;
  width: 140px;
  z-index: 2;
  pointer-events: none;
}
.ehr-fade--left  { left:  0; background: linear-gradient(to right, var(--white) 25%, transparent); }
.ehr-fade--right { right: 0; background: linear-gradient(to left,  var(--white) 25%, transparent); }

/* ── Animating tracks ── */
.ehr-track {
  display: flex;
  width: max-content;
}
.ehr-track--left  { animation: ehrLeft  58s linear infinite; }

.ehr-track--left:hover { animation-play-state: paused; }

@keyframes ehrLeft {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── Logo list ── */
.ehr-list {
  display: flex;
  align-items: center;
  list-style: none;
  flex-shrink: 0;
  gap: 0;
}

.ehr-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 32px;
  height: 80px;
  flex-shrink: 0;
  position: relative;
}

/* Thin divider between items */
/* dividers removed — clean logo cloud (see reference) */

/* Logo pill card */
.ehr-item img {
  max-height: 46px;
  max-width: 140px;
  width: auto;
  object-fit: contain;
  display: block;
  /* Muted grayscale logo cloud — colorizes on hover */
  filter: grayscale(1);
  opacity: 0.48;
  transition: filter 0.3s ease, opacity 0.3s ease;
}
.ehr-item:hover img {
  filter: grayscale(0);
  opacity: 1;
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .ehr-track--left { animation: none; }
  .ehr-list[aria-hidden="true"] { display: none; }
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .ehr-item { padding: 0 20px; height: 68px; }
  .ehr-item img { max-height: 34px; max-width: 100px; padding: 6px 10px; }
  .ehr-fade { width: 72px; }
}
@media (max-width: 480px) {
  .ehr-item { padding: 0 14px; }
  .ehr-item img { max-height: 28px; max-width: 80px; }
}

/* ══════════════════════════════════════════════════════
   Section 10 · FAQ
   ══════════════════════════════════════════════════════ */
.faq-section {
  background: #fafafa;
  padding: 96px 0;
}

/* ── Two-column grid ── */
.faq-grid {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 64px;
  align-items: start;
}

/* ── Left column: sticky header ── */
.faq-left {
  position: sticky;
  top: 120px;
}
.faq-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--primary);
  background: var(--primary-light);
  padding: 6px 14px;
  border-radius: var(--radius-full);
  margin-bottom: 20px;
}
.faq-title {
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  color: var(--text-dark);
  margin-bottom: 16px;
}
.faq-subtitle {
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-muted);
  margin-bottom: 28px;
}
.faq-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: var(--white);
  background: var(--primary);
  padding: 12px 24px;
  border-radius: var(--radius-full);
  text-decoration: none;
  transition: background var(--transition), transform var(--transition);
}
.faq-contact-btn:hover {
  background: var(--primary-dark);
  transform: translateY(-1px);
}

/* ── Right column: accordion ── */
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.faq-item {
  background: var(--white);
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  overflow: hidden;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.faq-item:hover {
  border-color: #d1d5db;
}
.faq-item--open {
  border-color: var(--primary);
  box-shadow: 0 4px 24px rgba(240,72,60,0.10);
}
.faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Poppins', sans-serif;
  font-size: 15.5px;
  font-weight: 600;
  color: var(--text-dark);
  text-align: left;
  transition: color var(--transition);
}
.faq-num {
  font-size: 13px;
  font-weight: 700;
  color: var(--primary);
  background: var(--primary-light);
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.25s ease, color 0.25s ease;
}
.faq-item--open .faq-num {
  background: var(--primary);
  color: var(--white);
}
.faq-q-text {
  flex: 1;
}
.faq-toggle {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f3f4f6;
  color: var(--text-muted);
  transition: background 0.25s ease, color 0.25s ease, transform 0.3s ease;
}
.faq-item--open .faq-toggle {
  background: var(--primary);
  color: var(--white);
  transform: rotate(45deg);
}
.faq-q:hover { color: var(--primary); }
.faq-q[aria-expanded="true"] { color: var(--primary); }
/* Legacy chevron support */
.faq-chevron {
  flex-shrink: 0;
  transition: transform 0.22s ease;
  color: var(--text-muted);
}
.faq-q[aria-expanded="true"] .faq-chevron {
  transform: rotate(180deg);
  color: var(--primary);
}
.faq-a {
  padding: 0 24px 24px 76px;
  animation: faqSlide 0.25s ease;
}
.faq-a p {
  font-size: 14px;
  line-height: 1.8;
  color: var(--text-muted);
  margin: 0;
}
.faq-link {
  color: var(--primary);
  font-weight: 600;
  text-decoration: none;
}
.faq-link:hover { text-decoration: underline; }
@keyframes faqSlide {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── FAQ Responsive ── */
@media (max-width: 1024px) {
  .faq-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .faq-left {
    position: static;
    text-align: center;
  }
  .faq-title { font-size: 30px; }
}
@media (max-width: 640px) {
  .faq-section { padding: 64px 0; }
  .faq-title { font-size: 26px; }
  .faq-q { font-size: 14.5px; padding: 16px 18px; }
  .faq-a { padding: 0 18px 20px 62px; }
}

/* ══════════════════════════════════════════════════════
   Section 11 · Final CTA Banner
   ══════════════════════════════════════════════════════ */
.final-cta-section {
  padding: 0;
  overflow: hidden;
}
.final-cta-inner {
  background: linear-gradient(135deg, var(--bg-dark) 0%, #2a1a3a 60%, #1A1A2E 100%);
  position: relative;
  padding: 96px 0;
}
.final-cta-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 70% at 82% 42%, rgba(240,72,60,0.16) 0%, transparent 66%),
    radial-gradient(ellipse 50% 60% at 8% 92%, rgba(94,114,232,0.10) 0%, transparent 70%);
  pointer-events: none;
}
/* Fine engraved grid — adds depth without reading as a pattern */
.final-cta-inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 80% 90% at 50% 40%, #000 30%, transparent 78%);
          mask-image: radial-gradient(ellipse 80% 90% at 50% 40%, #000 30%, transparent 78%);
  pointer-events: none;
}
.final-cta-content {
  position: relative;
  text-align: left;
}
.final-cta-content .eyebrow--light::after { left: 0; }
.eyebrow--light {
  color: rgba(255,255,255,0.55);
}
.eyebrow--light::after {
  background: rgba(255,255,255,0.25);
}
.final-cta-title {
  font-size: 44px;
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.5px;
  color: var(--white);
  margin-bottom: 20px;
}
.cta-accent {
  background: linear-gradient(120deg, var(--primary) 0%, #f0917f 55%, #ffd0b0 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.final-cta-sub {
  font-size: 15px;
  line-height: 1.75;
  color: rgba(255,255,255,0.68);
  margin-bottom: 36px;
}
.final-cta-buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}
.btn-final-ghost {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  color: var(--white);
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 700;
  padding: 14px 28px;
  border-radius: var(--radius-full);
  border: 2px solid rgba(255,255,255,0.35);
  text-decoration: none;
  transition: border-color var(--transition), background var(--transition), transform var(--transition);
}
.btn-final-ghost:hover {
  border-color: rgba(255,255,255,0.75);
  background: rgba(255,255,255,0.07);
  transform: translateY(-2px);
}
.trust-line {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  font-size: 11.5px;
  font-weight: 600;
  color: rgba(255,255,255,0.42);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Premium trust chips — replace the old dot-separated line */
.trust-chips {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}
.trust-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 14px 7px 11px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: rgba(255,255,255,0.72);
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: var(--radius-full);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: border-color var(--transition), color var(--transition), background var(--transition);
}
.trust-chip::before {
  content: '';
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  background: var(--primary);
  border-radius: 50%;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 10px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 10px no-repeat;
}
.trust-chip:hover {
  color: #fff;
  background: rgba(240,72,60,0.08);
  border-color: rgba(240,72,60,0.35);
}
.trust-line span:not(:nth-child(even)) {
  color: rgba(255,255,255,0.55);
}

/* ══════════════════════════════════════════════════════
   Final CTA — premium two-column: copy left, lead form right
   ══════════════════════════════════════════════════════ */
.final-cta-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 60px;
  align-items: center;
}
.final-cta-content { z-index: 1; }
.final-cta-layout .final-cta-buttons { justify-content: flex-start; }

/* ── Form as a premium glass panel ──
   Layered: ambient depth shadow + tight contact shadow + inset top highlight.
   The gradient hairline border is painted by ::before via mask-composite. */
.final-cta-form-wrap {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.055) 0%, rgba(255,255,255,0.022) 100%);
  border-radius: 20px;
  padding: 34px 32px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow:
    0 40px 80px -30px rgba(0,0,0,0.6),
    0 8px 24px -12px rgba(0,0,0,0.5),
    inset 0 1px 0 rgba(255,255,255,0.08);
}
/* Gradient hairline border */
.final-cta-form-wrap::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(150deg, rgba(240,72,60,0.55) 0%, rgba(255,255,255,0.12) 34%, rgba(255,255,255,0.03) 70%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
/* Soft coral aura behind the card; intensifies while the user is filling it in */
.cta-form-glow {
  position: absolute;
  inset: -2px;
  border-radius: 22px;
  background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(240,72,60,0.28) 0%, transparent 70%);
  filter: blur(26px);
  opacity: 0.5;
  z-index: -1;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.final-cta-form-wrap:focus-within .cta-form-glow { opacity: 0.9; }

.final-cta-form-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.final-cta-form-title {
  font-size: 21px;
  font-weight: 700;
  color: var(--white);
  letter-spacing: -0.2px;
}
.cf-rating { display: flex; align-items: center; gap: 7px; }
.cf-stars {
  font-size: 13px;
  letter-spacing: 1px;
  color: #FFC24B;
  text-shadow: 0 0 12px rgba(255,194,75,0.4);
}
.cf-rating-text { font-size: 11.5px; color: rgba(255,255,255,0.5); }
.cf-rating-text strong { color: var(--white); font-weight: 700; }
.final-cta-form-sub {
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  margin: 8px 0 24px;
}

.cf-row {
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
}
.cf-row--2 { grid-template-columns: 1fr 1fr; }
.cf-field { display: flex; flex-direction: column; gap: 7px; }
.cf-label {
  font-size: 11.5px;
  font-weight: 600;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.cf-req { color: var(--primary); }

/* Input with leading icon */
.cf-input-wrap { position: relative; display: flex; align-items: center; }
.cf-input-icon {
  position: absolute;
  left: 13px;
  color: rgba(255,255,255,0.34);
  pointer-events: none;
  transition: color 0.18s ease;
}
.cf-input {
  width: 100%;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.11);
  border-radius: 11px;
  padding: 12px 14px;
  font-size: 13.5px;
  font-family: 'Poppins', sans-serif;
  color: var(--white);
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  box-sizing: border-box;
  appearance: none;
}
.cf-input--icon { padding-left: 40px; }
.cf-input::placeholder { color: rgba(255,255,255,0.26); }
.cf-input:focus {
  outline: none;
  border-color: var(--primary);
  background: rgba(0,0,0,0.32);
  box-shadow: 0 0 0 3px rgba(240,72,60,0.16);
}
.cf-input-wrap:focus-within .cf-input-icon { color: var(--primary); }
.cf-textarea { resize: vertical; min-height: 88px; }

/* Submit with a sweeping sheen on hover */
.cf-submit {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  background: linear-gradient(135deg, #ef7a6d 0%, var(--primary) 55%, var(--primary-dark) 100%);
  color: var(--white);
  font-family: 'Poppins', sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  padding: 16px 28px;
  border: none;
  border-radius: var(--radius-full);
  cursor: pointer;
  margin-top: 10px;
  transition: transform var(--transition), box-shadow var(--transition), filter var(--transition);
  box-shadow: 0 10px 26px -6px rgba(240,72,60,0.55), inset 0 1px 0 rgba(255,255,255,0.25);
}
.cf-submit > svg, .cf-submit { position: relative; }
.cf-submit-sheen {
  position: absolute;
  top: 0;
  left: -60%;
  width: 45%;
  height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.4), transparent);
  transform: skewX(-18deg);
  pointer-events: none;
}
.cf-submit:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 16px 34px -8px rgba(240,72,60,0.65), inset 0 1px 0 rgba(255,255,255,0.3);
}
.cf-submit:hover .cf-submit-sheen { animation: cf-sheen 0.85s ease; }
.cf-submit:active { transform: translateY(0); }
@keyframes cf-sheen {
  from { left: -60%; }
  to   { left: 130%; }
}

.cf-note {
  font-size: 11.5px;
  color: rgba(255,255,255,0.35);
  text-align: center;
  margin-top: 14px;
}
.cf-note span { color: rgba(255,255,255,0.55); }

/* Staggered field reveal once the section scrolls in */
.final-cta-layout.visible .cf-row,
.final-cta-layout.visible .final-cta-form-head,
.final-cta-layout.visible .final-cta-form-sub,
.final-cta-layout.visible .cf-submit {
  animation: cf-rise 0.55s cubic-bezier(0.22,1,0.36,1) both;
}
.final-cta-layout.visible .final-cta-form-head { animation-delay: 0.05s; }
.final-cta-layout.visible .final-cta-form-sub  { animation-delay: 0.10s; }
.final-cta-layout.visible .cf-row:nth-child(1) { animation-delay: 0.16s; }
.final-cta-layout.visible .cf-row:nth-child(2) { animation-delay: 0.22s; }
.final-cta-layout.visible .cf-row:nth-child(3) { animation-delay: 0.28s; }
.final-cta-layout.visible .cf-submit           { animation-delay: 0.34s; }
@keyframes cf-rise {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .final-cta-layout.visible .cf-row,
  .final-cta-layout.visible .final-cta-form-head,
  .final-cta-layout.visible .final-cta-form-sub,
  .final-cta-layout.visible .cf-submit { animation: none; }
  .cf-submit:hover .cf-submit-sheen { animation: none; }
}

@media (max-width: 900px) {
  .final-cta-layout { grid-template-columns: 1fr; gap: 44px; }
  .final-cta-content { text-align: center; }
  .final-cta-layout .final-cta-buttons { justify-content: center; }
  .final-cta-content .trust-chips { justify-content: center; }
  .final-cta-content .eyebrow--light::after { left: 50%; transform: translateX(-50%); }
}

@media (max-width: 768px) {
  .final-cta-title { font-size: 32px; }
}
@media (max-width: 480px) {
  .final-cta-inner { padding: 72px 0; }
  .final-cta-title { font-size: 26px; }
  .btn-final-ghost { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════════════════
   Section · How It Works
   ══════════════════════════════════════════════════════ */
.how-section { background: var(--white); padding: 96px 0; }
.how-header { text-align: center; max-width: 720px; margin: 0 auto 56px; }
.how-title {
  font-size: 36px; font-weight: 800; line-height: 1.18;
  letter-spacing: -0.5px; color: var(--text-dark); margin: 6px 0 16px;
}
.how-title-accent {
  background: linear-gradient(115deg, var(--primary-dark) 0%, var(--primary) 55%, #F57A6B 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.how-sub { font-size: 15.5px; line-height: 1.7; color: var(--text-mid); }
.how-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.how-step {
  position: relative; padding: 26px 20px 24px;
  border: 1px solid rgba(26,26,46,0.07); border-radius: 16px;
  background: var(--white);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.how-step:hover {
  border-color: rgba(240,72,60,0.28);
  box-shadow: 0 16px 34px -18px rgba(26,26,46,0.22);
  transform: translateY(-3px);
}
.how-step-num {
  position: absolute; top: 16px; right: 18px;
  font-size: 22px; font-weight: 800; color: rgba(240,72,60,0.16);
}
.how-step-icon {
  width: 46px; height: 46px; display: flex; align-items: center; justify-content: center;
  border-radius: 12px; background: var(--primary-light); color: var(--primary); margin-bottom: 18px;
}
.how-step-title { font-size: 15.5px; font-weight: 700; color: var(--text-dark); line-height: 1.3; margin-bottom: 8px; }
.how-step-desc { font-size: 13px; line-height: 1.6; color: var(--text-mid); }
@media (max-width: 1024px) { .how-steps { grid-template-columns: repeat(2, 1fr); } .how-title { font-size: 30px; } }
@media (max-width: 560px)  { .how-steps { grid-template-columns: 1fr; } .how-section { padding: 68px 0; } }

/* ══════════════════════════════════════════════════════
   Section · Transparent Pricing
   ══════════════════════════════════════════════════════ */
.pricing-section { background: linear-gradient(180deg, #fbfaf9 0%, #fff3f1 100%); padding: 96px 0; }
.pricing-header { text-align: center; max-width: 680px; margin: 0 auto 48px; }
.pricing-title { font-size: 36px; font-weight: 800; line-height: 1.18; letter-spacing: -0.5px; color: var(--text-dark); margin: 6px 0 16px; }
.pricing-accent {
  background: linear-gradient(115deg, var(--primary-dark) 0%, var(--primary) 55%, #F57A6B 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.pricing-sub { font-size: 15.5px; line-height: 1.7; color: var(--text-mid); }
.pricing-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 40px; }
.pricing-card {
  background: var(--white); border: 1px solid rgba(26,26,46,0.07); border-radius: 18px;
  padding: 32px 28px; text-align: center;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.pricing-card:hover {
  border-color: rgba(240,72,60,0.28);
  box-shadow: 0 18px 40px -20px rgba(26,26,46,0.24); transform: translateY(-4px);
}
.pricing-card-icon {
  width: 52px; height: 52px; margin: 0 auto 18px; display: flex; align-items: center; justify-content: center;
  border-radius: 14px; background: var(--primary-light); color: var(--primary);
}
.pricing-card-title { font-size: 18px; font-weight: 700; color: var(--text-dark); margin-bottom: 10px; }
.pricing-card-desc { font-size: 14px; line-height: 1.65; color: var(--text-mid); }
.pricing-foot { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.pricing-foot-note { font-size: 13px; color: var(--text-muted); }
@media (max-width: 900px) { .pricing-cards { grid-template-columns: 1fr; } .pricing-title { font-size: 30px; } }
@media (max-width: 560px) { .pricing-section { padding: 68px 0; } }

/* ══════════════════════════════════════════════════════
   Section · Latest Insights (blog teaser)
   ══════════════════════════════════════════════════════ */
.blog-section { background: var(--white); padding: 96px 0; }
.blog-header {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 24px; margin-bottom: 40px; flex-wrap: wrap;
}
.blog-title { font-size: 34px; font-weight: 800; line-height: 1.18; letter-spacing: -0.5px; color: var(--text-dark); margin-top: 6px; }
.blog-viewall {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 14px; font-weight: 700; color: var(--primary); text-decoration: none; white-space: nowrap;
  transition: gap 0.25s ease;
}
.blog-viewall:hover { gap: 11px; color: var(--primary-dark); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.blog-card {
  border: 1px solid rgba(26,26,46,0.07); border-radius: 18px; overflow: hidden; background: var(--white);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.blog-card:hover {
  border-color: rgba(240,72,60,0.28);
  box-shadow: 0 20px 44px -22px rgba(26,26,46,0.26); transform: translateY(-4px);
}
.blog-card-top {
  height: 92px; display: flex; align-items: flex-start; padding: 18px;
  background: linear-gradient(135deg, #fde8e6 0%, #fff3f1 100%);
}
.blog-card-tag {
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--primary); background: var(--white); border-radius: var(--radius-full); padding: 5px 12px;
}
.blog-card-body { padding: 22px 24px 24px; }
.blog-card-title { font-size: 17px; font-weight: 700; line-height: 1.35; margin-bottom: 10px; }
.blog-card-title a { color: var(--text-dark); text-decoration: none; transition: color 0.2s ease; }
.blog-card-title a:hover { color: var(--primary); }
.blog-card-excerpt { font-size: 13.5px; line-height: 1.6; color: var(--text-mid); margin-bottom: 16px; }
.blog-card-meta { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--text-muted); }
.blog-card-dot { opacity: 0.6; }
@media (max-width: 900px) { .blog-grid { grid-template-columns: 1fr; } .blog-title { font-size: 28px; } }
@media (max-width: 560px) { .blog-section { padding: 68px 0; } }

/* ══════════════════════════════════════════════════════
   Section · Book a Call — Calendly
   ══════════════════════════════════════════════════════ */
.booking-section {
  background: linear-gradient(180deg, #fbfaf9 0%, #fff3f1 100%);
  padding: 96px 0;
}
.booking-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 48px;
  align-items: center;
}
.booking-title {
  font-size: 34px;
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.5px;
  color: var(--text-dark);
  margin: 6px 0 16px;
}
.booking-sub {
  font-size: 15.5px;
  line-height: 1.7;
  color: var(--text-mid);
  margin-bottom: 26px;
}
.booking-points {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 30px;
}
.booking-points li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14.5px;
  font-weight: 500;
  color: var(--text-dark);
}
.booking-points li svg {
  flex-shrink: 0;
  color: var(--white);
  background: var(--primary);
  border-radius: 50%;
  padding: 4px;
  width: 24px;
  height: 24px;
  box-sizing: border-box;
  margin-top: 1px;
}
.booking-callout {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-sm);
}
.booking-callout-label { font-size: 13px; color: var(--text-mid); }
.booking-callout-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 14px;
  font-weight: 700;
  color: var(--primary);
  text-decoration: none;
}
.booking-callout-link:hover { color: var(--primary-dark); }

/* Calendly embed card */
.booking-embed {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 8px;
  box-shadow: 0 24px 60px -28px rgba(26,26,46,0.3);
  overflow: hidden;
}
.booking-embed .calendly-inline-widget {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
}
.booking-fallback {
  display: inline-block;
  padding: 20px;
  color: var(--primary);
  font-weight: 700;
  text-decoration: none;
}
@media (max-width: 900px) {
  .booking-grid { grid-template-columns: 1fr; gap: 32px; }
  .booking-title { font-size: 28px; }
}
@media (max-width: 600px) {
  .booking-section { padding: 64px 0; }
}

/* ══════════════════════════════════════════════════════
   Popup modals — Free Billing Audit & Get a Quote
   ══════════════════════════════════════════════════════ */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(18, 12, 22, 0.62);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.modal-overlay.is-open { opacity: 1; visibility: visible; }
.modal {
  position: relative;
  width: 100%;
  max-width: 460px;
  max-height: 92vh;
  overflow-y: auto;
  background: var(--white);
  border-radius: 20px;
  padding: 34px 32px 30px;
  box-shadow: 0 40px 80px -24px rgba(0,0,0,0.5);
  transform: translateY(16px) scale(0.98);
  transition: transform 0.28s cubic-bezier(0.22,1,0.36,1);
}
.modal-overlay.is-open .modal { transform: translateY(0) scale(1); }
.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 50%;
  background: var(--bg-pink);
  color: var(--primary);
  cursor: pointer;
  transition: background var(--transition), transform var(--transition);
}
.modal-close:hover { background: var(--primary); color: var(--white); transform: rotate(90deg); }
.modal-eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--primary);
  margin-bottom: 6px;
}
.modal-title {
  font-size: 24px;
  font-weight: 800;
  color: var(--text-dark);
  line-height: 1.2;
  margin-bottom: 6px;
}
.modal-sub {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--text-mid);
  margin-bottom: 22px;
}
.modal-form { display: flex; flex-direction: column; gap: 14px; }
.modal-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.modal-field { display: flex; flex-direction: column; gap: 6px; }
.modal-field label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text-dark);
}
.modal-field label span { color: var(--primary); }
.modal-field input,
.modal-field select,
.modal-field textarea {
  width: 100%;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  color: var(--text-dark);
  background: #f7f6f8;
  border: 1px solid var(--border);
  border-radius: 9px;
  padding: 11px 13px;
  box-sizing: border-box;
  transition: border-color 0.18s ease, background 0.18s ease;
}
.modal-field textarea { resize: vertical; min-height: 60px; }
.modal-field input::placeholder,
.modal-field textarea::placeholder { color: var(--text-light); }
.modal-field input:focus,
.modal-field select:focus,
.modal-field textarea:focus {
  outline: none;
  border-color: var(--primary);
  background: var(--white);
}
.modal-submit {
  margin-top: 4px;
  width: 100%;
  background: var(--primary);
  color: var(--white);
  font-family: 'Poppins', sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  padding: 14px 24px;
  border: none;
  border-radius: var(--radius-full);
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(240,72,60,0.35);
  transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
}
.modal-submit:hover {
  background: var(--primary-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(240,72,60,0.45);
}
.modal-note {
  font-size: 11.5px;
  color: var(--text-light);
  text-align: center;
  margin-top: 4px;
}
body.modal-open { overflow: hidden; }
@media (max-width: 480px) {
  .modal { padding: 28px 22px 24px; }
  .modal-row { grid-template-columns: 1fr; }
  .modal-title { font-size: 21px; }
}

/* ══════════════════════════════════════════════════════
   Sticky side CTA tab
   ══════════════════════════════════════════════════════ */
/* Nav "Book a Call" — outlined pill, matches the primary button */
.navbar-book-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12.5px 24px;
  border-radius: var(--radius-full);
  font-size: 14px;
  font-weight: 700;
  color: var(--text-dark);
  background: var(--white);
  border: 1.5px solid var(--border);
  text-decoration: none;
  white-space: nowrap;
  transition: border-color var(--transition), color var(--transition),
              box-shadow var(--transition), transform var(--transition);
}
.navbar-book-btn svg { color: var(--primary); flex-shrink: 0; transition: transform var(--transition); }
.navbar-book-btn:hover {
  color: var(--primary);
  border-color: var(--primary);
  box-shadow: 0 8px 20px rgba(240,72,60,0.16);
  transform: translateY(-1px);
}
.navbar-book-btn:hover svg { transform: scale(1.08); }

.side-cta {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(180deg);
  z-index: 950;
  writing-mode: vertical-rl;
  background: var(--bg-dark);
  color: var(--white);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  padding: 18px 11px;
  border-radius: 0 10px 10px 0;   /* rounds the visible (left) edge once rotated 180° */
  box-shadow: -4px 2px 18px rgba(0,0,0,0.2);
  transition: background var(--transition), padding var(--transition);
}
.side-cta:hover { background: var(--primary); padding-bottom: 22px; }
@media (max-width: 600px) {
  .side-cta { font-size: 11px; padding: 14px 9px; letter-spacing: 1px; }
}

/* ══════════════════════════════════════════════════════
   Footer
   ══════════════════════════════════════════════════════ */
.site-footer {
  background: #0a0a18;
  color: rgba(255,255,255,0.65);
  font-size: 13.5px;
  position: relative;
  overflow: hidden;
}
.site-footer::before {
  content: '';
  position: absolute;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 800px;
  height: 400px;
  background: radial-gradient(ellipse, rgba(240,72,60,0.06) 0%, transparent 70%);
  pointer-events: none;
}

/* ── Main footer ── */
.footer-top {
  position: relative;
  z-index: 1;
  padding: 72px 0 40px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr;
  gap: 40px;
  align-items: start;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* ── Brand col ── */
.footer-brand { display: flex; flex-direction: column; gap: 20px; }
.footer-logo-link img {
  max-width: 160px;
  height: auto;
  filter: brightness(0) invert(1);
  opacity: 0.90;
}
.footer-tagline {
  font-size: 13.5px;
  line-height: 1.75;
  color: rgba(255,255,255,0.50);
  max-width: 300px;
}

/* ── Trust Metrics ── */
.footer-trust-row {
  display: flex;
  gap: 28px;
}
.footer-trust-item {
  display: flex;
  flex-direction: column;
}
.footer-trust-num {
  font-size: 22px;
  font-weight: 800;
  color: var(--white);
  line-height: 1.1;
}
.footer-trust-label {
  font-size: 10.5px;
  font-weight: 500;
  color: rgba(255,255,255,0.35);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ── Social icons ── */
.footer-socials {
  display: flex;
  gap: 10px;
}
.footer-social {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.50);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.25s ease;
}
.footer-social:hover {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--white);
  transform: translateY(-2px);
}

/* ── Free Resource Tags ── */
.footer-free-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.48);
  text-decoration: none;
  font-size: 13px;
  transition: color 0.25s ease, padding-left 0.25s ease;
}
.footer-free-link:hover {
  color: var(--white);
  padding-left: 4px;
}
.footer-free-tag {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #4ade80;
  background: rgba(74,222,128,0.12);
  border: 1px solid rgba(74,222,128,0.18);
  padding: 2px 7px;
  border-radius: 4px;
  flex-shrink: 0;
}

/* ── Newsletter Section ── */
.footer-newsletter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  padding: 36px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.footer-newsletter-content {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  flex: 1;
  max-width: 480px;
}
.footer-newsletter-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(240,72,60,0.12);
  border: 1px solid rgba(240,72,60,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--primary);
  flex-shrink: 0;
}
.footer-newsletter-text h4 {
  font-size: 16px;
  font-weight: 700;
  color: var(--white);
  margin-bottom: 4px;
}
.footer-newsletter-text p {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255,255,255,0.45);
  margin: 0;
}
.footer-newsletter-form {
  flex: 1;
  max-width: 440px;
}
.footer-newsletter-input-wrap {
  display: flex;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 99px;
  overflow: hidden;
  transition: border-color 0.25s ease;
}
.footer-newsletter-input-wrap:focus-within {
  border-color: var(--primary);
}
.footer-newsletter-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  padding: 13px 20px;
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  color: var(--white);
}
.footer-newsletter-input::placeholder {
  color: rgba(255,255,255,0.30);
}
.footer-newsletter-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--primary);
  color: var(--white);
  border: none;
  padding: 13px 24px;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.25s ease;
  white-space: nowrap;
}
.footer-newsletter-btn:hover {
  background: var(--primary-dark);
}
.footer-newsletter-note {
  font-size: 11.5px;
  color: rgba(255,255,255,0.28);
  margin-top: 8px;
  padding-left: 4px;
}

/* ── Office locations row ── */
.footer-offices-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  padding-top: 32px;
}
.footer-office-card {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 16px;
  transition: border-color 0.25s ease;
}
.footer-office-card:hover {
  border-color: rgba(255,255,255,0.12);
}
.footer-office-card svg {
  flex-shrink: 0;
  color: var(--primary);
  margin-top: 2px;
}
.footer-office-card div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.footer-office-card strong {
  font-size: 12px;
  font-weight: 700;
  color: var(--white);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.footer-office-card span {
  font-size: 12px;
  color: rgba(255,255,255,0.42);
  line-height: 1.5;
}

/* ── Nav columns ── */
.footer-nav-col h3.footer-nav-heading {
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--white);
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 10px;
}
.footer-nav-col h3.footer-nav-heading::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 24px;
  height: 2px;
  background: var(--primary);
  border-radius: 2px;
}
.footer-nav-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.footer-nav-col ul li a {
  color: rgba(255,255,255,0.48);
  text-decoration: none;
  font-size: 13px;
  transition: color 0.25s ease, padding-left 0.25s ease;
  display: inline-block;
}
.footer-nav-col ul li a:hover {
  color: var(--white);
  padding-left: 4px;
}

/* ── The footer grid holds two stacks rather than five loose columns, so each
   side can place a block directly beneath its columns. A plain row-2 item
   would sit below the TALLEST column instead, leaving a large gap.

   Left  stack (cols 1-3): Brand / Services / Specialties, newsletter beneath.
   Right stack (cols 4-5): Free Resources / Company, contact card beneath.

   The inner track lists repeat the outer ones (1.6fr 1fr 1fr | 1fr 1fr) with
   the same 40px gap, so nested columns stay aligned to the outer grid. ── */
.footer-main-stack {
  grid-column: 1 / 4;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.footer-main-row {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  gap: 40px;
  align-items: start;
}
.footer-col-stack {
  grid-column: 4 / 6;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.footer-col-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
}

/* Nested in the grid now — the divider and vertical padding belonged to its
   old position as a standalone band between the grid and the offices row. */
.footer-newsletter {
  padding: 0;
  border-bottom: none;
}
/* ── Contact card — same surface vocabulary as .footer-office-card ── */
.footer-contact-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  padding: 24px;
}
.footer-contact-title {
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--white);
  margin-bottom: 20px;
}
.footer-contact-rows {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.footer-contact-row {
  display: flex;
  align-items: center;
  gap: 14px;
}
.footer-contact-icon {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: rgba(240,72,60,0.12);
  border: 1px solid rgba(240,72,60,0.2);
  color: var(--primary);
}
.footer-contact-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.footer-contact-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(255,255,255,0.42);
}
.footer-contact-value {
  font-size: 14px;
  color: var(--white);
  text-decoration: none;
  transition: color 0.25s ease;
  overflow-wrap: anywhere;
}
.footer-contact-value:hover {
  color: var(--primary);
}

.footer-link-highlight {
  color: var(--primary) !important;
  font-weight: 600;
}

/* ── Bottom bar ── */
.footer-bottom {
  position: relative;
  z-index: 1;
  padding: 24px 0;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.footer-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.footer-copy {
  font-size: 12px;
  color: rgba(255,255,255,0.28);
}
.footer-bottom-links {
  display: flex;
  gap: 20px;
}
.footer-bottom-links a {
  font-size: 12px;
  color: rgba(255,255,255,0.35);
  text-decoration: none;
  transition: color 0.25s ease;
}
.footer-bottom-links a:hover { color: var(--primary); }
.footer-compliance-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.footer-badge {
  font-size: 11px;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 99px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.45);
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.footer-badge svg { opacity: 0.6; }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-main-stack { grid-column: 1 / -1; }
  .footer-main-row { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-col-stack { grid-column: 1 / -1; }
  .footer-offices-row { grid-template-columns: 1fr 1fr; }
  .footer-newsletter { flex-direction: column; gap: 24px; }
  .footer-newsletter-content { max-width: 100%; }
  .footer-newsletter-form { max-width: 100%; width: 100%; }
  .final-cta-title { font-size: 36px; }
}
@media (max-width: 640px) {
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-main-stack { grid-column: auto; }
  .footer-main-row { grid-template-columns: 1fr; gap: 32px; }
  .footer-brand { grid-column: auto; }
  .footer-col-stack { grid-column: auto; }
  .footer-col-pair { grid-template-columns: 1fr; gap: 32px; }
  .footer-top { padding: 52px 0 40px; }
  .footer-offices-row { grid-template-columns: 1fr; }
  .footer-bottom-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer-bottom-links { flex-wrap: wrap; gap: 12px; }
  .footer-trust-row { gap: 20px; }
  .footer-newsletter-input-wrap { flex-direction: column; border-radius: 12px; }
  .footer-newsletter-btn { justify-content: center; border-radius: 0 0 12px 12px; }
}

/* Large screens: trim mega specialties grid font slightly */
@media (max-width: 1280px) {
  .spec-link { font-size: 12px; }
  .mega-link-text strong { font-size: 12.5px; }
}

@media (max-width: 1100px) {
  .hero-title { font-size: 38px; }
  .hero-img   { width: 420px; }
  .hero-float-1 { left: 0; }
  .hero-float-2, .hero-float-3 { right: 0; }
  .nav-link { padding: 0 10px; font-size: 13px; }
  .mega-feature-card { width: 200px; }
}

/* Tablet: hide nav links, show hamburger */
@media (max-width: 900px) {
  .navbar-links { display: none; }
  .navbar-right .btn { display: none; }
  .navbar-phone-text { display: none; }
  .navbar-hamburger  { display: flex; }
  .navbar-top-left   { display: none; }
}

/* Mobile */
@media (max-width: 768px) {
  .navbar-main .container { height: 64px; }
  .navbar-logo-img { height: 52px; }

  .hero-inner {
    grid-template-columns: 1fr;
    text-align: center;
    min-height: auto;
  }

  .hero-content {
    padding-bottom: 40px;
    padding-right: 0;
  }

  .hero-title        { font-size: 28px; letter-spacing: -0.5px; }
  .hero-actions      { justify-content: center; }
  .hero-stats-row    { justify-content: center; }
  .hero-trust-logos  { justify-content: center; }
  .hero-visual       { display: none; }
}


/* ══════════════════════════════════════════════════════════════
   SPECIALTY PAGE TEMPLATE  (append-only — consumed by specialty.html)
   Additive: new selectors + two previously-undefined tokens.
   No existing homepage rule is modified.
   ══════════════════════════════════════════════════════════════ */

:root{
  --text-muted: var(--text-mid);   /* was referenced but never defined */
  --navbar-bottom: 114px;          /* JS overrides inline; this is the fallback */
}

/* — Breadcrumb (sits on the coral hero) — */
.spec-breadcrumb{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:13px; font-weight:500; margin-bottom:20px; }
.spec-breadcrumb a{ color:var(--white); opacity:.82; text-decoration:none; transition:opacity var(--transition); }
.spec-breadcrumb a:hover{ opacity:1; text-decoration:underline; }
.spec-breadcrumb-sep{ color:var(--white); opacity:.5; }
.spec-breadcrumb-current{ color:var(--white); font-weight:600; }

/* — Slim, text-only hero — */
.spec-hero{ background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color:var(--white); padding:56px 0 60px; }
.spec-hero--img{ position:relative; }
.spec-inline-img{ width:100%; height:auto; border-radius:14px; margin:8px 0 24px; box-shadow:0 22px 46px -26px rgba(30,8,34,.42); display:block; }
.spec-hero-title{ font-size:clamp(28px, 4vw, 44px); font-weight:800; line-height:1.15; margin:0 0 16px; max-width:900px; }
.spec-hero-lead{ font-size:clamp(15px, 1.6vw, 18px); line-height:1.6; opacity:.94; max-width:720px; margin:0 0 28px; }
.spec-hero-actions{ display:flex; flex-wrap:wrap; gap:14px; }
.spec-hero-actions .btn-outline{ border-color:rgba(255,255,255,.7); color:var(--white); background:transparent; }
.spec-hero-actions .btn-outline:hover{ background:var(--white); color:var(--primary); border-color:var(--white); }

/* — Content + sticky sidebar layout — */
.spec-layout{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:56px; padding:60px 0 72px; align-items:start; }
.spec-main{ min-width:0; }
.spec-aside{ display:flex; flex-direction:column; gap:24px; position:sticky; top:130px; }

/* — Main column typography — */
.spec-main .eyebrow{ margin-bottom:14px; }
.spec-section-title{ font-size:clamp(22px, 2.6vw, 30px); font-weight:800; line-height:1.28; color:var(--text-dark); margin:0 0 18px; }
.spec-section-title + .spec-body{ margin-top:0; }
.spec-body{ font-size:16px; line-height:1.8; color:var(--text-mid); margin:0 0 22px; }
.spec-main .spec-section-title:not(:first-of-type){ margin-top:46px; }

/* — Speak-to-experts callout — */
.spec-callout{ display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background:var(--bg-pink); border:1px solid var(--primary-light); border-radius:var(--radius-md); padding:24px 28px; margin:34px 0; }
.spec-callout-text{ display:flex; flex-direction:column; gap:2px; }
.spec-callout-label{ font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:var(--primary); }
.spec-callout-phone{ font-size:26px; font-weight:800; color:var(--text-dark); text-decoration:none; line-height:1.2; }
.spec-callout-sub{ font-size:13px; color:var(--text-mid); }
.spec-callout-btn{ white-space:nowrap; }
/* Enhanced callout (pharmacy page) */
.spec-section-title--lead{ margin-top:4px; }
.spec-callout--v2{ position:relative; overflow:hidden; gap:22px;
  background:linear-gradient(120deg,#fff6f4 0%,#ffe9e4 100%);
  border:1px solid #ffd9d2; border-left:5px solid var(--primary);
  border-radius:16px; padding:26px 30px;
  box-shadow:0 20px 44px -26px rgba(240,72,60,.55); }
.spec-callout--v2::after{ content:""; position:absolute; right:-40px; top:-40px; width:150px; height:150px;
  border-radius:50%; background:radial-gradient(circle, rgba(240,72,60,.10), transparent 70%); pointer-events:none; }
.spec-callout-ic{ flex-shrink:0; width:58px; height:58px; border-radius:50%;
  background:linear-gradient(135deg,var(--primary),#ff8a7e); color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 14px 28px -10px rgba(240,72,60,.7); }
.spec-callout-ic svg{ width:26px; height:26px; }
.spec-callout--v2 .spec-callout-text{ flex:1; gap:3px; position:relative; z-index:1; }
.spec-callout--v2 .spec-callout-phone{ font-size:28px; letter-spacing:-.4px; }
.spec-callout--v2 .spec-callout-btn{ display:inline-flex; align-items:center; gap:8px; position:relative; z-index:1;
  box-shadow:0 12px 26px -12px rgba(240,72,60,.75); }
.spec-callout--v2 .spec-callout-btn svg{ width:16px; height:16px; transition:transform .16s ease; }
.spec-callout--v2 .spec-callout-btn:hover svg{ transform:translateX(3px); }
/* GET IN TOUCH — premium split card (pharmacy page) */
.spec-contact{ background:#fbf7f6; border-top:1px solid #f2e9e7; padding:66px 0 76px; }
.spec-ct2{ display:grid; grid-template-columns:.9fr 1.1fr; border-radius:24px; overflow:hidden; background:#fff; box-shadow:0 46px 90px -46px rgba(20,10,30,.55), 0 12px 34px -20px rgba(20,10,30,.25); }
.spec-ct2-info{ position:relative; overflow:hidden; padding:48px 44px; color:#fff;
  background:radial-gradient(580px 400px at 12% 6%, rgba(240,72,60,.30), transparent 60%), radial-gradient(520px 460px at 100% 108%, rgba(96,64,150,.42), transparent 62%), linear-gradient(150deg,#17122b 0%,#241736 60%,#2b1a33 100%); }
.spec-ct2-info::after{ content:""; position:absolute; inset:0; opacity:.5; background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size:22px 22px; pointer-events:none; }
.spec-ct2-info > *{ position:relative; z-index:1; }
.spec-ct2-eyebrow{ display:inline-block; font-size:11.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#ff8a7e; background:rgba(255,138,126,.12); border:1px solid rgba(255,138,126,.34); padding:6px 13px; border-radius:999px; margin-bottom:16px; }
.spec-ct2-title{ font-size:clamp(26px,2.6vw,34px); font-weight:800; line-height:1.12; letter-spacing:-.01em; color:#fff; }
.spec-ct2-sub{ font-size:15px; line-height:1.6; color:rgba(255,255,255,.72); margin:14px 0 24px; }
.spec-ct2-points{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:12px; }
.spec-ct2-points li{ display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:rgba(255,255,255,.9); }
.spec-ct2-points svg{ width:18px; height:18px; color:#4ade80; flex-shrink:0; margin-top:1px; }
.spec-ct2-methods{ display:flex; flex-direction:column; gap:14px; margin-bottom:22px; }
.spec-ct2-method{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.spec-ct2-mic{ width:40px; height:40px; border-radius:11px; background:rgba(240,72,60,.16); color:#ff8a7e; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.spec-ct2-mic svg{ width:18px; height:18px; }
.spec-ct2-mtx{ display:flex; flex-direction:column; line-height:1.3; min-width:0; }
.spec-ct2-mtx small{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,.5); font-weight:700; }
.spec-ct2-mtx strong{ font-size:14px; color:#fff; font-weight:700; word-break:break-word; }
.spec-ct2-badges{ font-size:12px; font-weight:600; color:rgba(255,255,255,.5); border-top:1px solid rgba(255,255,255,.1); padding-top:16px; margin-top:2px; }
.spec-ct2-form{ padding:40px; }
.scf{ display:flex; flex-direction:column; gap:14px; }
.scf-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.scf-field{ position:relative; }
.scf-ic{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#b3b3bd; pointer-events:none; display:flex; }
.scf-ic svg{ width:17px; height:17px; }
.scf-field--area .scf-ic{ top:15px; transform:none; }
.scf-field:focus-within .scf-ic{ color:var(--primary); }
.scf input, .scf textarea{ width:100%; padding:13px 15px 13px 42px; font-family:inherit; font-size:14.5px; color:var(--text-dark); background:#fafafa; border:1.5px solid #ececf0; border-radius:11px; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.scf input::placeholder, .scf textarea::placeholder{ color:#9aa0ab; }
.scf input:focus, .scf textarea:focus{ outline:none; background:#fff; border-color:var(--primary); box-shadow:0 0 0 3px rgba(240,72,60,.12); }
.scf textarea{ resize:vertical; min-height:104px; }
.scf-submit{ width:100%; display:inline-flex; align-items:center; justify-content:center; gap:8px; margin-top:2px; padding:14px 20px; }
.scf-submit svg{ width:16px; height:16px; transition:transform .16s ease; }
.scf-submit:hover svg{ transform:translateX(3px); }
.scf-note{ display:flex; align-items:center; gap:8px; justify-content:center; font-size:12px; color:var(--text-muted); margin-top:2px; }
.scf-note svg{ width:15px; height:15px; color:var(--primary); flex-shrink:0; }
@media (max-width:860px){ .spec-ct2{ grid-template-columns:1fr; } }
@media (max-width:560px){ .scf-row{ grid-template-columns:1fr; } .spec-ct2-info{ padding:34px 24px; } .spec-ct2-form{ padding:28px 22px; } }

/* ── home-v2: hero risk-reversal line ── */
.hh-riskline{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:#2A2C3E; margin-top:16px; }
.hh-riskline svg{ width:16px; height:16px; color:#17A34A; flex-shrink:0; }

/* ── home-v2: us-vs-industry benchmark band ── */
.vs-band{ padding:64px 0 68px; background:linear-gradient(180deg,#ffffff,#fbf7f6); border-top:1px solid #f2e9e7; border-bottom:1px solid #f2e9e7; }
.vs-head{ text-align:center; max-width:730px; margin:0 auto 40px; }
.vs-eyebrow{ font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#E5342B; margin-bottom:12px; }
.vs-title{ font-size:clamp(26px,3vw,37px); font-weight:800; letter-spacing:-.6px; color:#151626; line-height:1.12; }
.vs-sub{ font-size:16px; line-height:1.62; color:#6b7080; margin-top:14px; }
.vs-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.vs-card{ background:#fff; border:1px solid #efe3e1; border-radius:16px; padding:24px 22px; box-shadow:0 16px 36px -26px rgba(30,8,34,.24); }
.vs-metric{ display:block; font-size:13px; font-weight:700; color:#2A2C3E; letter-spacing:-.01em; min-height:34px; margin-bottom:16px; padding-bottom:14px; border-bottom:1px solid #f2e9e7; }
.vs-nums{ display:flex; flex-direction:column; gap:14px; }
.vs-us b, .vs-them b{ display:block; font-size:34px; font-weight:800; line-height:1; letter-spacing:-1px; }
.vs-us b{ color:#E5342B; }
.vs-them b{ color:#c4b4b9; }
.vs-us span, .vs-them span{ display:block; font-size:11.5px; font-weight:600; color:#8a8f9c; margin-top:5px; }
.vs-note{ text-align:center; font-size:12.5px; color:#8a8f9c; margin-top:30px; max-width:640px; margin-left:auto; margin-right:auto; }
@media (max-width:900px){ .vs-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .vs-grid{ grid-template-columns:1fr; } .vs-title{ font-size:24px; } }

/* ============================================================
   home-c (Variant C) — adapted wireframe sections
   Poppins + coral (#E5342B), our card/section vocabulary
   ============================================================ */
.lnk-arr{ width:16px; height:16px; vertical-align:-3px; margin-left:5px; transition:transform .16s ease; }
.home-c-sec-title{ font-weight:800; letter-spacing:-.6px; color:#151626; line-height:1.12; }

/* §2 Credibility bar — light icon-stats row */
.credbar-section{ position:relative; padding:32px 0 34px; background:linear-gradient(180deg,#fff,#fdf7f6); border-bottom:1px solid #f2e9e7; }
.credbar-section::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg, transparent, rgba(229,52,43,.55), transparent); }
.credbar-stats{ display:grid; grid-template-columns:repeat(5,1fr); }
.credbar-stat{ position:relative; display:flex; align-items:center; gap:14px; justify-content:center; padding:10px 14px; transition:transform .22s cubic-bezier(.2,.7,.2,1); }
.credbar-stat + .credbar-stat::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:54px; background:linear-gradient(180deg, transparent, #ecdfdc 28%, #ecdfdc 72%, transparent); }
.credbar-stat:hover{ transform:translateY(-4px); }
.credbar-ic{ flex-shrink:0; width:48px; height:48px; border-radius:14px; background:linear-gradient(135deg,#FFF3F1,#ffe4df); color:#E5342B; display:flex; align-items:center; justify-content:center; box-shadow:0 10px 20px -12px rgba(229,52,43,.45); transition:transform .24s cubic-bezier(.2,.7,.2,1); }
.credbar-stat:hover .credbar-ic{ transform:scale(1.08) rotate(-4deg); }
.credbar-ic svg{ width:24px; height:24px; }
.credbar-tx b{ display:block; font-size:clamp(22px,2.4vw,31px); font-weight:800; color:#151626; letter-spacing:-.6px; line-height:1; }
.credbar-tx span{ display:block; font-size:12.5px; font-weight:600; color:#6b7080; margin-top:6px; }
@media (max-width:860px){ .credbar-stats{ grid-template-columns:repeat(3,1fr); row-gap:20px; } .credbar-stat + .credbar-stat::before{ display:none; } }
@media (max-width:520px){ .credbar-stats{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:900px){ .credbar-stats{ grid-template-columns:repeat(2,1fr); gap:22px 0; } .credbar-stat{ justify-content:flex-start; border-right:none; } }
@media (max-width:520px){ .credbar-stats{ grid-template-columns:1fr; } }

/* §3 Compliance — attestation seal emblem (signature element) */
.cglance-section{ position:relative; overflow:hidden; padding:80px 0 84px; background:linear-gradient(180deg,#fbf7f6 0%,#ffffff 100%); }
.cgl-atmos{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(560px 480px at 82% 44%, rgba(229,52,43,.11), transparent 66%); }
.cgl-wrap{ position:relative; z-index:1; display:grid; grid-template-columns:1.08fr .92fr; gap:60px; align-items:center; }
.cgl-title{ font-size:clamp(30px,3.5vw,46px); font-weight:800; letter-spacing:-1px; line-height:1.08; color:#151626; margin:14px 0 0; max-width:16ch; }
.cgl-title em{ font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400; color:#E5342B; letter-spacing:-.2px; }
.cgl-sub{ font-size:16.5px; line-height:1.65; color:#5a6270; margin:22px 0 30px; max-width:54ch; }
/* left: audit-trail — dashed coral line threading icon nodes */
.cgl-trail{ list-style:none; margin:34px 0 0; padding:0; }
.cgl-node{ position:relative; display:flex; gap:22px; padding-bottom:30px; }
.cgl-node:last-child{ padding-bottom:0; }
.cgl-node:not(:last-child)::before{ content:""; position:absolute; left:22px; top:50px; bottom:2px; width:2px;
  background:repeating-linear-gradient(#E5342B 0 5px, transparent 5px 11px); opacity:.45; }
.cgl-node-dot{ position:relative; z-index:1; flex-shrink:0; width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#E5342B; background:#fff; border:1.5px solid #f3cdc8; box-shadow:0 8px 18px -10px rgba(229,52,43,.4); transition:.25s cubic-bezier(.2,.7,.2,1); }
.cgl-node-dot svg{ width:22px; height:22px; }
.cgl-node:hover .cgl-node-dot{ transform:translateY(-3px) scale(1.06); color:#fff; border-color:transparent; background:linear-gradient(135deg,#E5342B,#ff7365); box-shadow:0 16px 28px -10px rgba(229,52,43,.7); }
.cgl-node-tx{ padding-top:1px; min-width:0; }
.cgl-node-head{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:7px; }
.cgl-node-head b{ font-size:18px; font-weight:800; letter-spacing:-.3px; color:#151626; }
.cgl-mono{ font-family:'Inter',sans-serif; font-size:10.5px; font-weight:600; letter-spacing:.01em; text-transform:uppercase;
  color:#c6281f; background:#FFF3F1; border:1px solid #f6d9d3; border-radius:6px; padding:3px 8px; white-space:nowrap; }
.cgl-node-tx p{ font-size:14.5px; line-height:1.62; color:#6b7080; max-width:52ch; }
.cgl-node-tx p em{ font-family:Georgia,'Times New Roman',serif; font-style:italic; color:#2A2C3E; }
/* the seal */
.cgl-sealbox{ display:flex; flex-direction:column; align-items:center; }
.cgl-seal{ position:relative; width:min(370px,82vw); aspect-ratio:1; display:flex; align-items:center; justify-content:center; filter:drop-shadow(0 40px 64px rgba(229,52,43,.22)); }
.cgl-seal-svg{ width:100%; height:100%; }
.cgl-ring{ fill:none; }
.cgl-ring-1{ stroke:#efd0ca; stroke-width:1.4; }
.cgl-ring-2{ stroke:#E5342B; stroke-width:1.4; stroke-dasharray:2 7; opacity:.5; }
.cgl-ring-3{ stroke:#efd0ca; stroke-width:1.4; }
.cgl-ringtext{ fill:#E5342B; font-size:12px; font-weight:800; letter-spacing:3px; }
.cgl-ring-rotate{ transform-origin:150px 150px; animation:cglSpin 36s linear infinite; }
@keyframes cglSpin{ to{ transform:rotate(360deg); } }
.cgl-seal-core{ position:absolute; width:46%; height:46%; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:#fff;
  background:radial-gradient(circle at 32% 24%, #ff7365, #E5342B 60%, #c6281f 100%); box-shadow:0 26px 46px -16px rgba(229,52,43,.72), inset 0 2px 7px rgba(255,255,255,.35); }
.cgl-seal-ic svg{ width:36px; height:36px; }
.cgl-seal-k{ font-size:13.5px; font-weight:800; letter-spacing:.01em; margin-top:9px; }
.cgl-seal-sub{ font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:rgba(255,255,255,.85); margin-top:4px; }
.cgl-seal-cap{ font-size:12.5px; line-height:1.55; color:#8a8f9c; text-align:center; max-width:36ch; margin-top:28px; }
@media (prefers-reduced-motion: reduce){ .cgl-ring-rotate{ animation:none; } }
@media (max-width:900px){ .cgl-wrap{ grid-template-columns:1fr; gap:40px; justify-items:center; } .cgl-copy{ order:2; } .cgl-sealbox{ order:1; } .cgl-title, .cgl-sub{ max-width:none; } }

/* ═══════════════════════════════════════════════════════════════
   home-c §4/§5/§7 — signature data-visual redesign
   Problem = leak pipeline · Method = tab showcase · Proof = bar duel
   ═══════════════════════════════════════════════════════════════ */

/* ── §4 THE REAL PROBLEM — revenue pipeline / leak diagram (dark) ── */
.leakx{ position:relative; overflow:hidden; padding:96px 0 88px; background:#140f24; color:#fff; }
.leakx-atmos{ position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(700px 480px at 90% 8%, rgba(229,52,43,.22), transparent 62%),
    radial-gradient(600px 560px at 2% 96%, rgba(229,52,43,.12), transparent 66%),
    linear-gradient(180deg,#17122b,#110c1e); }
.leakx::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px); background-size:24px 24px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 74%); mask-image:linear-gradient(180deg,#000,transparent 74%); }
.leakx-wrap{ position:relative; display:grid; grid-template-columns:0.92fr 1.08fr; gap:64px; align-items:start; }
.leakx-intro{ position:sticky; top:96px; }
.leakx-eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:'Inter',sans-serif; font-size:11.5px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:#ff9a8f; margin:0; }
.leakx-pulse{ width:8px; height:8px; border-radius:50%; background:#E5342B; box-shadow:0 0 0 0 rgba(229,52,43,.6); animation:leakxPulse 2.4s ease-out infinite; }
@keyframes leakxPulse{ 0%{ box-shadow:0 0 0 0 rgba(229,52,43,.55); } 70%{ box-shadow:0 0 0 11px rgba(229,52,43,0); } 100%{ box-shadow:0 0 0 0 rgba(229,52,43,0); } }
.leakx-title{ font-size:clamp(30px,3.7vw,46px); font-weight:800; letter-spacing:-1.3px; line-height:1.06; margin:20px 0 0; max-width:15ch; }
.leakx-title em{ font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400; color:#ff6a5c; letter-spacing:-.5px; }
.leakx-lead{ font-size:16px; line-height:1.68; color:rgba(255,255,255,.66); margin:22px 0 0; max-width:46ch; }
/* flow meter — charges in vs deposit out, with a visible loss segment */
.leakx-flowmeter{ margin-top:34px; padding-top:28px; border-top:1px solid rgba(255,255,255,.12); }
.leakx-flowmeter-top{ display:flex; justify-content:space-between; font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.leakx-fm-in{ color:rgba(255,255,255,.72); }
.leakx-fm-out{ color:#ff8577; }
.leakx-flowmeter-bar{ position:relative; display:flex; height:12px; margin:12px 0 14px; border-radius:7px; overflow:hidden; background:rgba(255,255,255,.06); }
.leakx-fm-fill{ flex:0 0 64%; background:linear-gradient(90deg,#E5342B,#ff7a6b); box-shadow:0 0 22px rgba(229,52,43,.5); }
.leakx-fm-loss{ flex:1; background:repeating-linear-gradient(45deg, rgba(255,140,128,.42) 0 5px, transparent 5px 10px); }
.leakx-flowmeter-cap{ display:flex; align-items:center; gap:9px; font-size:13px; line-height:1.5; color:rgba(255,255,255,.6); }
.leakx-drop{ flex-shrink:0; width:9px; height:12px; background:radial-gradient(circle at 35% 32%, #ff9a8f, #E5342B); border-radius:50% 50% 50% 50%/62% 62% 40% 40%; }
/* the pipeline */
.leakx-flow{ position:relative; list-style:none; margin:0; padding:6px 0; }
.leakx-flow::before{ content:""; position:absolute; left:23px; top:24px; bottom:24px; width:2px; background:rgba(255,255,255,.12); }
.leakx-flow::after{ content:""; position:absolute; left:22px; top:24px; bottom:24px; width:4px; border-radius:4px;
  background:repeating-linear-gradient(180deg,#ff6a5c 0 6px, transparent 6px 17px); background-size:4px 17px;
  opacity:.7; animation:leakxStream .9s linear infinite;
  -webkit-mask-image:linear-gradient(180deg,transparent, #000 12%, #000 88%, transparent); mask-image:linear-gradient(180deg,transparent, #000 12%, #000 88%, transparent); }
@keyframes leakxStream{ to{ background-position-y:17px; } }
.leakx-node{ position:relative; display:grid; grid-template-columns:48px 1fr; gap:22px; align-items:center; padding:12px 0; }
.leakx-valve{ position:relative; z-index:2; width:48px; height:48px; border-radius:50%; display:grid; place-items:center;
  background:#1b1533; border:1.5px solid rgba(229,52,43,.55); box-shadow:0 0 0 7px #140f24, 0 8px 20px -8px rgba(229,52,43,.5); transition:transform .3s ease, background .3s ease, border-color .3s ease; }
.leakx-valve-num{ font-family:'Inter',sans-serif; font-size:13px; font-weight:700; color:#ff6a5c; transition:color .3s ease; }
.leakx-valve::after{ content:""; position:absolute; left:50%; top:calc(100% - 3px); width:7px; height:9px; margin-left:-3.5px;
  background:radial-gradient(circle at 35% 30%, #ff9a8f, #E5342B); border-radius:50% 50% 50% 50%/62% 62% 40% 40%;
  opacity:0; transform-origin:top; animation:leakxDrip 3.8s ease-in infinite; animation-delay:calc(var(--i,0)*0.62s); }
@keyframes leakxDrip{ 0%,52%{ opacity:0; transform:translateY(0) scale(.5); } 60%{ opacity:.85; transform:translateY(2px) scale(1); } 100%{ opacity:0; transform:translateY(30px) scale(.75); } }
.leakx-node:hover .leakx-valve{ transform:scale(1.08); background:linear-gradient(135deg,#E5342B,#ff7365); border-color:transparent; }
.leakx-node:hover .leakx-valve-num{ color:#fff; }
.leakx-card{ border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:16px 20px;
  background:linear-gradient(120deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); transition:transform .3s ease, border-color .3s ease, background .3s ease; }
.leakx-node:hover .leakx-card{ transform:translateX(5px); border-color:rgba(229,52,43,.4); background:linear-gradient(120deg,rgba(229,52,43,.12),rgba(255,255,255,.02)); }
.leakx-cardhead{ display:flex; align-items:center; gap:13px; flex-wrap:wrap; margin-bottom:7px; }
.leakx-card h3{ font-size:16.5px; font-weight:700; letter-spacing:-.3px; line-height:1.25; color:#fff; }
.leakx-tag{ font-family:'Inter',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#ffb3aa; background:rgba(229,52,43,.14); border:1px solid rgba(229,52,43,.32); border-radius:5px; padding:3px 7px; white-space:nowrap; }
.leakx-card p{ font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.56); }
.leakx-verdict{ position:relative; display:flex; align-items:center; gap:16px; margin-top:44px; padding:22px 26px; border-radius:16px;
  background:linear-gradient(120deg,rgba(255,255,255,.06),rgba(255,255,255,.02)); border:1px solid rgba(255,255,255,.12); }
.leakx-verdict-ic{ flex-shrink:0; width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(135deg,#E5342B,#ff7365); box-shadow:0 12px 26px -12px rgba(229,52,43,.7); }
.leakx-verdict-ic svg{ width:20px; height:20px; }
.leakx-verdict-tx{ font-size:16px; font-weight:600; line-height:1.5; color:rgba(255,255,255,.9); }
.leakx-verdict em{ font-family:Georgia,serif; font-style:italic; font-weight:400; color:#ff8577; }
@media (max-width:920px){ .leakx-wrap{ grid-template-columns:1fr; gap:40px; } .leakx-intro{ position:static; } .leakx-title{ max-width:none; } }
@media (max-width:560px){ .leakx-node{ grid-template-columns:40px 1fr; gap:16px; } .leakx-flow::before{ left:19px; } .leakx-flow::after{ left:18px; } .leakx-valve{ width:40px; height:40px; } .leakx-verdict{ align-items:flex-start; } }

/* ── §5 WHAT'S DIFFERENT — interactive method showcase (light) ── */
.methodx{ position:relative; padding:92px 0 94px; background:linear-gradient(180deg,#fff,#fdf8f7); }
.methodx-head{ max-width:820px; margin:0 auto 44px; text-align:center; }
.methodx-eyebrow{ display:flex; justify-content:center; }
.methodx-title{ font-size:clamp(28px,3.3vw,44px); font-weight:800; letter-spacing:-1px; line-height:1.08; color:#151626; margin:12px 0 0; }
.methodx-title em{ font-family:Georgia,serif; font-style:italic; font-weight:400; color:#E5342B; }
.methodx-lead{ font-size:16.5px; line-height:1.64; color:#6b7080; margin:16px auto 0; max-width:66ch; }
.methodx-panel{ position:relative; }
.methodx-radio{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.methodx-body{ display:grid; grid-template-columns:0.86fr 1.14fr; background:#fff; border:1px solid #eee2e0; border-radius:24px; overflow:hidden;
  box-shadow:0 2px 6px rgba(20,10,30,.03), 0 40px 80px -54px rgba(30,8,34,.42); }
.methodx-tabs{ display:flex; flex-direction:column; background:#fdf6f5; border-right:1px solid #f0e4e2; }
.methodx-tab{ position:relative; display:flex; align-items:center; gap:15px; padding:19px 22px; cursor:pointer; border-bottom:1px solid #f2e7e5; transition:background .22s ease; }
.methodx-tab:last-child{ border-bottom:none; }
.methodx-tab::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(#E5342B,#ff7365); transform:scaleY(0); transform-origin:center; transition:transform .28s cubic-bezier(.2,.7,.2,1); }
.methodx-tab:hover{ background:#fbeeec; }
.methodx-tab-idx{ font-family:'Inter',sans-serif; font-size:12px; font-weight:700; color:#c98c85; transition:color .22s ease; }
.methodx-tab-tx{ display:flex; flex-direction:column; gap:2px; flex:1; min-width:0; }
.methodx-tab-tx b{ font-size:14.5px; font-weight:700; letter-spacing:-.2px; color:#2A2C3E; }
.methodx-tab-tx small{ font-family:'Inter',sans-serif; font-size:10.5px; letter-spacing:.01em; color:#9a8f8d; }
.methodx-tab-arw{ color:#E5342B; opacity:0; transform:translateX(-4px); transition:opacity .22s ease, transform .22s ease; }
.methodx-tab-arw .lnk-arr{ width:16px; height:16px; }
.methodx-stage{ position:relative; padding:38px 40px 40px; min-height:340px; background:radial-gradient(420px 300px at 100% 0%, #fff5f3, #fff); }
.methodx-slide{ display:none; }
.methodx-bignum{ position:absolute; top:22px; right:34px; font-family:Georgia,serif; font-size:96px; font-weight:400; line-height:1; color:#E5342B; opacity:.09; letter-spacing:-3px; }
.methodx-spec{ display:inline-flex; align-items:center; gap:8px; font-family:'Inter',sans-serif; font-size:11.5px; font-weight:700; color:#c6281f; background:#FFF3F1; border:1px solid #f6d9d3; border-radius:8px; padding:6px 12px; }
.methodx-spec-dot{ width:6px; height:6px; border-radius:50%; background:#E5342B; box-shadow:0 0 0 3px rgba(229,52,43,.16); }
.methodx-slide h3{ font-size:clamp(22px,2.4vw,28px); font-weight:800; letter-spacing:-.6px; line-height:1.18; color:#151626; margin:18px 0 12px; max-width:20ch; }
.methodx-slide h3 em{ font-family:Georgia,serif; font-style:italic; font-weight:400; color:#E5342B; }
.methodx-slide p{ font-size:15px; line-height:1.68; color:#5c6270; max-width:52ch; }
.methodx-lnk{ display:inline-flex; align-items:center; gap:8px; margin-top:22px; font-size:14px; font-weight:800; letter-spacing:-.1px; color:#E5342B; text-decoration:none; }
.methodx-lnk .lnk-arr{ width:18px; height:18px; transition:transform .25s ease; }
.methodx-lnk:hover .lnk-arr{ transform:translateX(4px); }
#mx1:checked ~ .methodx-body label[for="mx1"], #mx2:checked ~ .methodx-body label[for="mx2"], #mx3:checked ~ .methodx-body label[for="mx3"], #mx4:checked ~ .methodx-body label[for="mx4"], #mx5:checked ~ .methodx-body label[for="mx5"], #mx6:checked ~ .methodx-body label[for="mx6"]{ background:#fff; }
#mx1:checked ~ .methodx-body label[for="mx1"]::before, #mx2:checked ~ .methodx-body label[for="mx2"]::before, #mx3:checked ~ .methodx-body label[for="mx3"]::before, #mx4:checked ~ .methodx-body label[for="mx4"]::before, #mx5:checked ~ .methodx-body label[for="mx5"]::before, #mx6:checked ~ .methodx-body label[for="mx6"]::before{ transform:scaleY(1); }
#mx1:checked ~ .methodx-body label[for="mx1"] .methodx-tab-idx, #mx2:checked ~ .methodx-body label[for="mx2"] .methodx-tab-idx, #mx3:checked ~ .methodx-body label[for="mx3"] .methodx-tab-idx, #mx4:checked ~ .methodx-body label[for="mx4"] .methodx-tab-idx, #mx5:checked ~ .methodx-body label[for="mx5"] .methodx-tab-idx, #mx6:checked ~ .methodx-body label[for="mx6"] .methodx-tab-idx{ color:#E5342B; }
#mx1:checked ~ .methodx-body label[for="mx1"] .methodx-tab-arw, #mx2:checked ~ .methodx-body label[for="mx2"] .methodx-tab-arw, #mx3:checked ~ .methodx-body label[for="mx3"] .methodx-tab-arw, #mx4:checked ~ .methodx-body label[for="mx4"] .methodx-tab-arw, #mx5:checked ~ .methodx-body label[for="mx5"] .methodx-tab-arw, #mx6:checked ~ .methodx-body label[for="mx6"] .methodx-tab-arw{ opacity:1; transform:translateX(0); }
#mx1:checked ~ .methodx-body .methodx-slide[data-for="mx1"], #mx2:checked ~ .methodx-body .methodx-slide[data-for="mx2"], #mx3:checked ~ .methodx-body .methodx-slide[data-for="mx3"], #mx4:checked ~ .methodx-body .methodx-slide[data-for="mx4"], #mx5:checked ~ .methodx-body .methodx-slide[data-for="mx5"], #mx6:checked ~ .methodx-body .methodx-slide[data-for="mx6"]{ display:block; animation:methodxIn .42s cubic-bezier(.2,.7,.2,1); }
.methodx-radio:focus-visible ~ .methodx-body label[for="mx1"]{ outline:2px solid #E5342B; outline-offset:-2px; }
@keyframes methodxIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }
@media (max-width:820px){ .methodx-body{ grid-template-columns:1fr; } .methodx-tabs{ flex-direction:row; overflow-x:auto; border-right:none; border-bottom:1px solid #f0e4e2; } .methodx-tab{ flex:0 0 auto; border-bottom:none; border-right:1px solid #f2e7e5; } .methodx-tab::before{ top:auto; bottom:0; left:0; right:0; width:auto; height:3px; transform:scaleX(0); } #mx1:checked ~ .methodx-body label[for="mx1"]::before, #mx2:checked ~ .methodx-body label[for="mx2"]::before, #mx3:checked ~ .methodx-body label[for="mx3"]::before, #mx4:checked ~ .methodx-body label[for="mx4"]::before, #mx5:checked ~ .methodx-body label[for="mx5"]::before, #mx6:checked ~ .methodx-body label[for="mx6"]::before{ transform:scaleX(1); } .methodx-tab-arw{ display:none; } .methodx-stage{ padding:30px 26px 34px; min-height:0; } }

/* ── §7 PERFORMANCE VS INDUSTRY — benchmark bar duel (light) ── */
.benchx{ position:relative; overflow:hidden; padding:92px 0 88px; background:#fbf6f5; }
.benchx-atmos{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(660px 440px at 82% 0%, rgba(229,52,43,.08), transparent 60%); }
.benchx .container{ position:relative; }
.benchx-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; flex-wrap:wrap; margin-bottom:30px; }
.benchx-headtx{ max-width:640px; }
.benchx-title{ font-size:clamp(28px,3.2vw,42px); font-weight:800; letter-spacing:-1px; line-height:1.08; color:#151626; margin:12px 0 0; }
.benchx-title em{ font-family:Georgia,serif; font-style:italic; font-weight:400; color:#E5342B; }
.benchx-lead{ font-size:15.5px; line-height:1.62; color:#6b7080; margin-top:14px; }
.benchx-keys{ display:flex; flex-direction:column; gap:9px; font-size:12.5px; font-weight:600; color:#6b6360; }
.benchx-key{ display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.benchx-key-swatch{ width:22px; height:9px; border-radius:5px; }
.benchx-key-swatch--us{ background:linear-gradient(90deg,#E5342B,#ff7a6b); }
.benchx-key-swatch--ind{ background:#d9cfcc; }
.benchx-card{ position:relative; background:#fff; border:1px solid #eee2e0; border-radius:22px; box-shadow:0 40px 84px -52px rgba(30,8,34,.5); padding:10px 12px; overflow-x:auto; }
.benchx-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.benchx-table{ width:100%; border-collapse:collapse; min-width:760px; }
.benchx-table thead th{ font-family:'Inter',sans-serif; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#a1918e; text-align:left; padding:14px 18px 12px; border-bottom:1px solid #f0e6e4; }
.benchx-table thead th:nth-child(1){ width:30%; }
.benchx-table thead th:nth-child(2){ width:38%; color:#c6281f; }
.benchx-catrow th{ text-align:left; padding:22px 18px 10px; }
.benchx-cat{ font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#151626;
  display:inline-flex; align-items:center; gap:10px; }
.benchx-cat::after{ content:""; display:inline-block; width:40px; height:2px; border-radius:2px; background:linear-gradient(90deg,#E5342B,transparent); }
.benchx-row > *{ border-bottom:1px solid #f5eeec; }
.benchx-metric{ text-align:left; font-size:14.5px; font-weight:600; color:#2A2C3E; padding:14px 18px; vertical-align:middle; }
.benchx-cell{ padding:12px 18px; vertical-align:middle; }
.benchx-cell{ display:table-cell; }
.benchx-cell .benchx-track{ display:block; height:9px; border-radius:6px; background:#f2eae8; overflow:hidden; }
.benchx-cell .benchx-fill{ display:block; height:100%; width:0; border-radius:6px; transition:width 1.05s cubic-bezier(.2,.7,.2,1); }
.benchx-cell--us .benchx-fill{ background:linear-gradient(90deg,#E5342B,#ff7a6b); box-shadow:0 2px 10px -2px rgba(229,52,43,.5); }
.benchx-cell--ind .benchx-fill{ background:#d3c8c5; }
.benchx-cell .benchx-val{ display:block; margin-top:7px; font-size:13.5px; line-height:1.3; }
.benchx-cell--us .benchx-val{ font-weight:800; color:#151626; }
.benchx-cell--ind .benchx-val{ font-weight:500; color:#8a8f9c; }
.benchx-up{ color:#17A34A; font-weight:900; font-size:10px; margin-right:7px; font-style:normal; }
.benchx-cell--empty{ color:#c3b8b5; }
.benchx-row.is-in .benchx-cell--us .benchx-fill{ width:calc(var(--us,0)*1%); }
.benchx-row.is-in .benchx-cell--ind .benchx-fill{ width:calc(var(--ind,0)*1%); }
.benchx-row:hover .benchx-metric, .benchx-row:hover .benchx-cell{ background:#fffaf9; }
.benchx-method{ font-size:13px; line-height:1.62; color:#6b7080; margin-top:18px; max-width:none; }
.benchx-method b{ color:#2A2C3E; }
/* ── BENCHMARKED AGAINST card (right of the header) ── */
.benchx-against{ display:flex; align-items:flex-start; gap:14px; max-width:344px; padding:18px 20px; background:#fff; border:1px solid #eee2e0; border-radius:16px; box-shadow:0 26px 54px -40px rgba(30,8,34,.55); }
.benchx-against-ic{ flex:0 0 auto; display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,#151626,#2c2440); color:#fff; }
.benchx-against-ic svg{ width:22px; height:22px; }
.benchx-against-lb{ font-family:'Inter',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:#a1918e; margin:1px 0 0; }
.benchx-against-names{ font-size:15px; font-weight:800; color:#151626; letter-spacing:-.01em; margin:5px 0 0; }
.benchx-against-names i{ color:#E5342B; font-style:normal; margin:0 3px; }
.benchx-against-sub{ font-size:12px; line-height:1.5; color:#77808f; margin:7px 0 0; }

/* ── comparison scorecard — elevated "spotlight" 24/7 column, embossed icon chips ── */
.benchx-cols{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:0 54px; padding:18px 28px 22px; }
.benchx-cols::before{ content:""; position:absolute; left:50%; top:24px; bottom:24px; width:1px; background:#f2e8e6; }
.benchx-mini{ width:100%; border-collapse:separate; border-spacing:0; }
.benchx-mini thead th{ font-family:'Inter',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#a99e9b; text-align:right; padding:8px 2px 15px; white-space:nowrap; vertical-align:bottom; }
.benchx-mini thead th:first-child{ text-align:left; }
/* glossy coral cap of the spotlight column */
.benchx-mini thead th.benchx-th-us{ color:#fff; text-align:right; vertical-align:middle; padding:12px 15px; font-size:10px; letter-spacing:.1em;
  border-top-left-radius:15px; border-top-right-radius:15px;
  background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,0) 62%),linear-gradient(135deg,#E5342B,#ff6a5c);
  box-shadow:0 15px 26px -16px rgba(229,52,43,.9), inset 0 1px 0 rgba(255,255,255,.4); }
.benchx-usbadge{ display:inline-grid; place-items:center; width:35px; height:20px; margin-right:9px; border-radius:6px; background:#fff; color:#E5342B; font-family:'Inter',sans-serif; font-size:10.5px; font-weight:800; letter-spacing:-.02em; vertical-align:middle; box-shadow:0 3px 7px -2px rgba(120,10,4,.45); }
/* metric name + embossed icon chip */
.benchx-r th[scope="row"]{ position:relative; text-align:left; font-size:13px; font-weight:600; line-height:1.3; color:#2A2C3E; padding:12px 10px 12px 48px; border-bottom:1px solid #f4ecea; vertical-align:middle; transition:color .2s; }
.benchx-ricon{ position:absolute; left:2px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:34px; height:34px; border-radius:11px; color:#E5342B;
  background:linear-gradient(145deg,#ffffff,#ffe7e1); border:1px solid #ffdcd4; box-shadow:0 4px 9px -5px rgba(229,52,43,.5), inset 0 1px 0 #fff; transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s; }
.benchx-ricon svg{ width:16px; height:16px; }
/* industry benchmark cell */
.benchx-r .benchx-ind{ text-align:right; font-size:12.5px; font-weight:500; color:#aca8b2; padding:12px 6px 12px 12px; border-bottom:1px solid #f4ecea; white-space:nowrap; vertical-align:middle; font-variant-numeric:tabular-nums; }
/* spotlight column body cells — warm channel with a coral halo down both edges */
.benchx-r .benchx-us{ text-align:right; white-space:nowrap; vertical-align:middle; font-weight:800; font-size:14px; letter-spacing:-.01em; color:#14152a; font-variant-numeric:tabular-nums; padding:12px 15px;
  background:linear-gradient(180deg,#fff8f6,#fff3f0); border-left:1px solid #f7ddd8; border-right:1px solid #f7ddd8;
  box-shadow:-15px 0 26px -22px rgba(229,52,43,.55), 15px 0 26px -22px rgba(229,52,43,.55); transition:background .2s; }
.benchx-us .benchx-up{ display:inline-grid; place-items:center; width:19px; height:19px; margin:0 0 0 9px; border-radius:50%; color:#12924a; vertical-align:middle;
  background:linear-gradient(145deg,#e9f8ee,#d3efdc); box-shadow:inset 0 0 0 1px rgba(18,146,74,.2); }
.benchx-us .benchx-up svg{ width:11px; height:11px; }
/* rounded bottom cap + soft column drop shadow */
.benchx-mini tbody tr:last-child th[scope="row"], .benchx-mini tbody tr:last-child .benchx-ind{ border-bottom:none; }
.benchx-mini tbody tr:last-child .benchx-us{ border-bottom:1px solid #f7ddd8; border-bottom-left-radius:15px; border-bottom-right-radius:15px;
  box-shadow:-15px 0 26px -22px rgba(229,52,43,.55), 15px 0 26px -22px rgba(229,52,43,.55), 0 22px 30px -24px rgba(229,52,43,.7); }
/* row hover */
.benchx-r:hover th[scope="row"]{ color:#151626; }
.benchx-r:hover .benchx-ricon{ transform:translateY(calc(-50% - 2px)); box-shadow:0 9px 16px -6px rgba(229,52,43,.6), inset 0 1px 0 #fff; }
.benchx-r:hover .benchx-us{ background:linear-gradient(180deg,#fff3ef,#ffe9e4); }

/* ── highlight stat cards ── */
.benchx-highlights{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:22px; }
.benchx-hl{ display:flex; align-items:flex-start; gap:14px; padding:22px 20px; background:#fff; border:1px solid #eee2e0; border-radius:18px; box-shadow:0 30px 60px -46px rgba(30,8,34,.5); transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s; }
.benchx-hl:hover{ transform:translateY(-4px); box-shadow:0 42px 72px -44px rgba(30,8,34,.55); }
.benchx-hl-ic{ flex:0 0 auto; display:grid; place-items:center; width:46px; height:46px; border-radius:13px; }
.benchx-hl-ic svg{ width:23px; height:23px; }
.benchx-hl--coral .benchx-hl-ic{ background:#FFF0ED; color:#E5342B; }
.benchx-hl--green .benchx-hl-ic{ background:#E7F6EC; color:#17A34A; }
.benchx-hl--blue .benchx-hl-ic{ background:#EAF1FE; color:#2f6df0; }
.benchx-hl--amber .benchx-hl-ic{ background:#FDF1DC; color:#d8912a; }
.benchx-hl-num{ font-size:13px; font-weight:600; color:#8a8f9c; margin:0; line-height:1.15; }
.benchx-hl-num b{ font-family:'Inter',sans-serif; font-size:26px; font-weight:800; letter-spacing:-.02em; color:#151626; }
.benchx-hl-lb{ font-size:13.5px; font-weight:700; color:#2A2C3E; margin:9px 0 0; line-height:1.25; }
.benchx-hl-sub{ font-size:11.5px; line-height:1.45; color:#8a8f9c; margin:4px 0 0; }

/* ── dark CTA band ── */
.benchx-cta{ position:relative; overflow:hidden; margin-top:24px; border-radius:22px; background:linear-gradient(135deg,#141026,#1f1533 55%,#2a1030); box-shadow:0 44px 92px -52px rgba(20,6,26,.85); }
.benchx-cta-atmos{ position:absolute; inset:0; pointer-events:none; background:radial-gradient(520px 300px at 88% 8%, rgba(229,52,43,.28), transparent 60%), radial-gradient(420px 320px at 4% 100%, rgba(120,64,220,.2), transparent 62%); }
.benchx-cta-in{ position:relative; display:flex; align-items:center; gap:26px; flex-wrap:wrap; padding:30px 34px; }
.benchx-cta-lead{ display:flex; align-items:center; gap:16px; flex:1 1 340px; }
.benchx-cta-ic{ flex:0 0 auto; display:grid; place-items:center; width:52px; height:52px; border-radius:15px; background:linear-gradient(135deg,#E5342B,#ff6a5c); color:#fff; box-shadow:0 16px 32px -14px rgba(229,52,43,.8); }
.benchx-cta-ic svg{ width:26px; height:26px; }
.benchx-cta-lead h3{ font-size:19px; font-weight:800; letter-spacing:-.01em; color:#fff; margin:0; }
.benchx-cta-lead p{ font-size:13.5px; line-height:1.5; color:rgba(255,255,255,.68); margin:5px 0 0; max-width:430px; }
.benchx-cta-btn{ display:inline-flex; align-items:center; gap:9px; padding:15px 26px; border-radius:13px; background:linear-gradient(135deg,#E5342B,#ff6a5c); color:#fff; font-size:14.5px; font-weight:700; text-decoration:none; box-shadow:0 20px 40px -16px rgba(229,52,43,.9); transition:transform .25s, box-shadow .25s; }
.benchx-cta-btn:hover{ transform:translateY(-2px); box-shadow:0 26px 48px -16px rgba(229,52,43,1); }
.benchx-cta-btn svg{ width:17px; height:17px; }
.benchx-cta-alt{ display:inline-flex; align-items:center; gap:11px; text-decoration:none; }
.benchx-cta-alt-ic{ flex:0 0 auto; display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18); color:#fff; transition:background .25s; }
.benchx-cta-alt:hover .benchx-cta-alt-ic{ background:rgba(255,255,255,.16); }
.benchx-cta-alt-ic svg{ width:21px; height:21px; }
.benchx-cta-alt-tx{ display:flex; flex-direction:column; line-height:1.2; }
.benchx-cta-alt-tx b{ font-size:14px; font-weight:700; color:#fff; }
.benchx-cta-alt-tx small{ font-size:11.5px; color:rgba(255,255,255,.6); }

/* ── disclaimer ── */
.benchx-disc{ display:flex; align-items:flex-start; gap:10px; margin:22px auto 0; max-width:920px; font-size:11.5px; line-height:1.62; color:#8a8f9c; }
.benchx-disc-ic{ flex:0 0 auto; color:#c3b8b5; margin-top:1px; }
.benchx-disc-ic svg{ width:15px; height:15px; }

@media (max-width:1000px){ .benchx-highlights{ grid-template-columns:repeat(2,1fr); } }
/* tablet: stack the two tables so each gets full width (metric column no longer starved) */
@media (max-width:1024px){ .benchx-cols{ grid-template-columns:1fr; gap:6px 0; padding:14px 18px 18px; } .benchx-cols::before{ display:none; } }
/* phone: reflow every row into a self-contained comparison card */
@media (max-width:760px){
  .benchx-card{ background:transparent; border:none; box-shadow:none; padding:0; overflow:visible; }
  .benchx-cols{ grid-template-columns:1fr; gap:12px; padding:2px 0; }
  .benchx-mini, .benchx-mini tbody, .benchx-mini th, .benchx-mini td{ display:block; }
  .benchx-mini thead{ display:none; }
  .benchx-mini + .benchx-mini{ margin-top:12px; }
  .benchx-mini .benchx-r{ display:flex; flex-wrap:wrap; gap:10px; background:#fff; border:1px solid #eee2e0; border-radius:16px; padding:15px 15px 16px; box-shadow:0 20px 44px -34px rgba(30,8,34,.5); }
  .benchx-mini .benchx-r:hover .benchx-us{ background:linear-gradient(180deg,#fff6f4,#fff0ec); }
  .benchx-r th[scope="row"]{ flex:1 1 100%; display:flex; align-items:center; gap:12px; font-size:13.5px; font-weight:700; color:#151626; padding:0 0 13px; border-bottom:1px solid #f4ecea; }
  .benchx-ricon{ position:static; transform:none; margin-right:0; width:36px; height:36px; }
  .benchx-r .benchx-us, .benchx-r .benchx-ind{ flex:1 1 0; min-width:0; display:block; text-align:left; white-space:nowrap; padding:10px 13px 11px; border-radius:12px; border:1px solid #f7ddd8; box-shadow:none; }
  .benchx-r .benchx-us{ background:linear-gradient(180deg,#fff6f4,#fff0ec); font-size:16px; font-weight:800; color:#14152a; }
  .benchx-r .benchx-ind{ background:#f6f3f2; border-color:#ece2e0; font-size:15px; font-weight:700; color:#7b7f8c; }
  .benchx-r .benchx-us::before{ content:"24/7 Medical Billing"; display:block; margin-bottom:5px; font-family:'Inter',sans-serif; font-size:8.5px; letter-spacing:.09em; text-transform:uppercase; font-weight:700; color:#c6281f; }
  .benchx-r .benchx-ind::before{ content:"Industry"; display:block; margin-bottom:5px; font-family:'Inter',sans-serif; font-size:8.5px; letter-spacing:.09em; text-transform:uppercase; font-weight:700; color:#a99e9b; }
  .benchx-us .benchx-up{ margin-left:7px; }
  .benchx-mini tbody tr:last-child .benchx-us{ border:1px solid #f7ddd8; border-radius:12px; box-shadow:none; }
  .benchx-mini tbody tr:last-child th[scope="row"], .benchx-mini tbody tr:last-child .benchx-ind{ border-bottom:1px solid #f4ecea; }
}
@media (max-width:640px){ .benchx-head{ align-items:flex-start; } .benchx-against{ max-width:none; } .benchx-highlights{ grid-template-columns:1fr; } .benchx-cta-in{ padding:24px; gap:20px; } .benchx-cta-btn{ width:100%; justify-content:center; } }
@media (prefers-reduced-motion: reduce){ .leakx-pulse, .leakx-flow::after, .leakx-valve::after{ animation:none; } }

/* ── CLIENT STORIES — modern B2B SaaS testimonial wall (home-c only) ── */
.testimonials-section:has(.vwall){ position:relative; overflow:hidden; background:radial-gradient(760px 440px at 84% 4%, rgba(229,52,43,.08), transparent 62%), radial-gradient(680px 460px at 6% 96%, rgba(229,52,43,.05), transparent 66%), linear-gradient(180deg,#fff,#fbf6f5); }
.testimonials-section:has(.vwall)::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5; background-image:radial-gradient(rgba(21,10,32,.028) 1px, transparent 1px); background-size:26px 26px; -webkit-mask-image:linear-gradient(180deg,transparent, #000 30%, #000 70%, transparent); mask-image:linear-gradient(180deg,transparent, #000 30%, #000 70%, transparent); }
.cstory-head{ max-width:760px; margin:0 auto 40px; text-align:center; }
.cstory-eyebrow{ display:inline-flex; align-items:center; gap:8px; margin:0; font-family:'Inter',sans-serif; font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:#c6281f; }
.cstory-eyebrow-dot{ width:7px; height:7px; border-radius:50%; background:#E5342B; box-shadow:0 0 0 3px rgba(229,52,43,.16); }
.cstory-title{ font-size:clamp(28px,3.3vw,44px); font-weight:800; letter-spacing:-1px; line-height:1.08; color:#151626; margin:14px 0 0; }
.cstory-title em{ font-family:Georgia,serif; font-style:italic; font-weight:400; color:#E5342B; }
.cstory-sub{ font-size:16.5px; line-height:1.6; color:#6b7080; margin:15px auto 0; max-width:60ch; }
.cstory-trust{ display:inline-flex; align-items:center; gap:10px; margin-top:22px; padding:9px 18px; border-radius:100px; background:#fff; border:1px solid #eee0dd; box-shadow:0 10px 26px -18px rgba(30,8,34,.4); }
.cstory-trust-stars{ color:#F5A623; font-size:14px; letter-spacing:2px; }
.cstory-trust-tx{ font-size:13.5px; font-weight:500; color:#5c6270; }
.cstory-trust-tx b{ font-weight:800; color:#151626; }
/* Premium testimonial carousel — auto-play, drag-swipe, arrows + dots */
.ctes{ --per:1; position:relative; margin-top:8px; }
.ctes-viewport{ overflow:hidden; touch-action:pan-y; cursor:grab; margin:0 -10px; transition:height .5s cubic-bezier(.22,.72,.2,1); }
.ctes-viewport:active{ cursor:grabbing; }
.ctes-track{ display:flex; align-items:flex-start; transition:transform .55s cubic-bezier(.22,.72,.2,1); will-change:transform; }
.ctes-slide{ flex:0 0 calc(100% / var(--per)); box-sizing:border-box; padding:10px; }
.ctes-card{ position:relative; min-height:290px; box-sizing:border-box; display:flex; flex-direction:column; max-width:880px; margin:0 auto; background:#fff; border:1px solid #ece4e2; border-radius:26px; padding:48px 56px 44px;
  box-shadow:0 2px 6px rgba(20,10,30,.03), 0 46px 92px -56px rgba(30,8,34,.5); }
.ctes-card::before{ content:"\201C"; position:absolute; top:6px; left:40px; font-family:Georgia,serif; font-size:150px; line-height:1; color:#E5342B; opacity:.09; pointer-events:none; }
.ctes-card .cstory-stars{ position:relative; z-index:1; color:#F5A623; font-size:16px; letter-spacing:3px; margin-bottom:18px; }
.ctes-card .cstory-text{ position:relative; z-index:1; margin:0 0 26px; font-family:Georgia,serif; font-style:italic; font-weight:400; font-size:clamp(18px,1.65vw,23px); line-height:1.55; color:#22232f; }
.ctes-card .cstory-by{ margin-top:auto; }
.ctes-card .cstory-avatar{ width:50px; height:50px; font-size:16px; }
.ctes-card .cstory-name{ font-size:16px; }
.ctes-card .cstory-role{ font-size:13px; }
/* shared inner classes used by the cards */
.cstory-by{ display:flex; align-items:center; gap:12px; }
.cstory-avatar{ flex-shrink:0; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-size:13px; font-weight:800; letter-spacing:.02em; color:#fff; background:linear-gradient(135deg,#E5342B,#ff7365); box-shadow:0 8px 18px -8px rgba(229,52,43,.55); }
.cstory-who{ display:flex; flex-direction:column; min-width:0; }
.cstory-name{ font-size:14px; font-weight:700; letter-spacing:-.2px; color:#1F1F2E; }
.cstory-role{ font-size:12px; color:#8a8f9c; margin-top:1px; }
/* controls */
.ctes-controls{ display:flex; align-items:center; justify-content:center; gap:20px; margin-top:28px; }
.ctes-arrow{ width:46px; height:46px; border-radius:50%; border:1px solid #eaddd9; background:#fff; color:#E5342B; display:grid; place-items:center; cursor:pointer; box-shadow:0 10px 24px -14px rgba(30,8,34,.4); transition:transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease; }
.ctes-arrow:hover{ background:linear-gradient(135deg,#E5342B,#ff7365); color:#fff; border-color:transparent; transform:translateY(-2px); }
.ctes-arrow svg{ width:20px; height:20px; }
.ctes-dots{ display:flex; align-items:center; gap:9px; }
.ctes-dot{ width:9px; height:9px; padding:0; border:none; border-radius:50%; background:#e4d7d3; cursor:pointer; transition:width .3s ease, background .3s ease; }
.ctes-dot.is-active{ width:26px; border-radius:5px; background:linear-gradient(90deg,#E5342B,#ff7a6b); }
@media (max-width:600px){ .ctes-card{ padding:34px 28px 30px; } .ctes-card::before{ left:24px; font-size:110px; } }
@media (prefers-reduced-motion: reduce){ .ctes-track{ transition:none; } }

/* Cinematic video testimonials — hero video, on-video nav, thumbnail filmstrip */
.vwall{ position:relative; margin-top:34px; }
.vwall-head{ max-width:760px; margin:0 auto 26px; text-align:center; }
.vwall-eyebrow{ display:inline-flex; align-items:center; gap:8px; margin:0; font-family:'Inter',sans-serif; font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#c6281f; }
.vwall-eyebrow-dot{ width:7px; height:7px; border-radius:50%; background:#E5342B; box-shadow:0 0 0 3px rgba(229,52,43,.16); }
.vwall-title{ font-family:'Inter',sans-serif; font-weight:800; font-size:clamp(28px,3.2vw,44px); letter-spacing:-1px; line-height:1.08; color:#151626; margin:14px 0 0; text-wrap:balance; }
.vwall-title em{ font-style:normal; font-weight:inherit; color:#E5342B; white-space:nowrap; }
.vwall-desc{ font-size:15.5px; line-height:1.62; color:#6b7080; margin:15px auto 0; max-width:60ch; }
.vwall-viewport{ position:relative; overflow:hidden; touch-action:pan-y; cursor:grab; border-radius:26px; box-shadow:0 46px 100px -54px rgba(30,8,34,.7), 0 26px 72px -38px rgba(229,52,43,.3); }
.vwall-viewport::after{ content:""; position:absolute; inset:0; z-index:6; pointer-events:none; border-radius:26px; padding:1.5px;
  background:linear-gradient(135deg, rgba(229,52,43,.6), rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%, rgba(255,138,126,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; }
.vwall-viewport:active{ cursor:grabbing; }
.vwall-track{ display:flex; transition:transform .62s cubic-bezier(.4,.75,.2,1); will-change:transform; }
.vwall-stage{ position:relative; flex:0 0 100%; aspect-ratio:16/9; overflow:hidden; background:#150f24; }
.vwall-stage img{ width:100%; height:100%; object-fit:cover; display:block; }
.vwall-stage::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,10,26,0) 34%, rgba(15,10,26,.32) 60%, rgba(15,10,26,.88)); pointer-events:none; transition:opacity .3s ease; }
.vwall-stage.is-playing::after, .vwall-stage.is-playing .vwall-play, .vwall-stage.is-playing .vwall-meta{ opacity:0; pointer-events:none; }
.vwall-play{ position:absolute; inset:0; margin:auto; width:88px; height:88px; border-radius:50%; border:none; cursor:pointer; z-index:3; display:grid; place-items:center; color:#fff;
  background:linear-gradient(135deg,#E5342B,#ff6a5c); box-shadow:0 22px 50px -12px rgba(229,52,43,.9); transition:transform .25s cubic-bezier(.2,.7,.2,1); }
.vwall-play svg{ width:33px; height:33px; margin-left:5px; }
.vwall-play::before{ content:""; position:absolute; inset:-11px; border-radius:50%; border:2px solid rgba(255,255,255,.55); animation:vwallPulse 2.4s ease-out infinite; }
@keyframes vwallPulse{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.6); opacity:0; } }
.vwall-stage:hover .vwall-play{ transform:scale(1.08); }
.vwall-meta{ position:absolute; left:34px; right:34px; bottom:30px; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:16px; color:#fff; transition:opacity .3s ease; }
.vwall-name{ font-family:'Inter',sans-serif; font-weight:700; margin:0; font-size:clamp(18px,1.7vw,23px); letter-spacing:-.3px; color:#fff; }
.vwall-role{ margin:4px 0 0; font-size:13.5px; color:rgba(255,255,255,.74); }
.vwall-stars{ color:#F5A623; font-size:16px; letter-spacing:2px; text-shadow:0 1px 6px rgba(0,0,0,.45); }
.vwall-nav{ position:absolute; top:50%; transform:translateY(-50%); z-index:4; width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,255,255,.35); cursor:pointer; display:grid; place-items:center; color:#fff;
  background:rgba(20,14,32,.42); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); box-shadow:0 12px 30px -12px rgba(0,0,0,.6); transition:transform .22s ease, background .22s ease, border-color .22s ease; }
.vwall-nav svg{ width:22px; height:22px; }
.vwall-nav-prev{ left:20px; }
.vwall-nav-next{ right:20px; }
.vwall-nav:hover{ background:linear-gradient(135deg,#E5342B,#ff6a5c); border-color:transparent; transform:translateY(-50%) scale(1.06); }
.vwall-count{ position:absolute; top:20px; right:22px; z-index:4; padding:7px 13px; border-radius:100px; font-family:'Inter',sans-serif; font-size:12px; font-weight:700; letter-spacing:.04em; color:rgba(255,255,255,.85);
  background:rgba(20,14,32,.44); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.22); }
.vwall-count-cur{ color:#fff; }
.vwall-caption{ max-width:920px; margin:0 auto; }
.vwall-quote{ margin:28px auto 0; text-align:center; font-family:Georgia,serif; font-style:italic; font-weight:400; font-size:clamp(18px,1.65vw,25px); line-height:1.5; color:#2a2c3a; }
@keyframes vwallQuoteIn{ from{ opacity:0; transform:translateY(9px); } to{ opacity:1; transform:translateY(0); } }
.vwall-strip{ display:flex; justify-content:center; gap:12px; overflow-x:auto; padding:6px 2px; margin-top:26px; scrollbar-width:none; scroll-behavior:smooth; }
.vwall-strip::-webkit-scrollbar{ display:none; }
.vwall-thumb{ position:relative; flex:0 0 auto; width:104px; aspect-ratio:16/9; border-radius:12px; overflow:hidden; border:none; padding:0; cursor:pointer; background:#150f24; opacity:.5; filter:saturate(.9); transition:opacity .25s ease, transform .25s ease, box-shadow .25s ease, filter .25s ease; }
.vwall-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.vwall-thumb::after{ content:""; position:absolute; inset:0; border-radius:12px; box-shadow:inset 0 0 0 0 #E5342B; transition:box-shadow .25s ease; pointer-events:none; }
.vwall-thumb-play{ position:absolute; inset:0; margin:auto; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:rgba(10,6,18,.5); color:#fff; opacity:0; transition:opacity .25s ease; }
.vwall-thumb-play svg{ width:11px; height:11px; margin-left:1px; }
.vwall-thumb:hover{ opacity:.9; }
.vwall-thumb:hover .vwall-thumb-play{ opacity:1; }
.vwall-thumb.is-active{ opacity:1; filter:none; transform:translateY(-3px); box-shadow:0 16px 28px -12px rgba(229,52,43,.65); }
.vwall-thumb.is-active::after{ box-shadow:inset 0 0 0 2.5px #E5342B; }
@media (max-width:860px){ .vwall-meta{ left:18px; right:18px; bottom:16px; } .vwall-nav{ width:44px; height:44px; } .vwall-nav-prev{ left:12px; } .vwall-nav-next{ right:12px; } .vwall-strip{ justify-content:flex-start; } .vwall-thumb{ width:88px; } }
@media (prefers-reduced-motion: reduce){ .vwall-track, .vwall-strip{ transition:none; scroll-behavior:auto; } .vwall-play::before{ animation:none; } .vwall-quote{ animation:none !important; } }

/* ── Hero (home-c) — dark, premium lead-form hero ── */
.herox{ position:relative; overflow:hidden; padding:66px 0 88px; color:#fff; background:#140e22; }
.herox-bg{ position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(720px 440px at 82% 16%, rgba(229,52,43,.30), transparent 60%),
    radial-gradient(560px 520px at 6% 90%, rgba(229,52,43,.14), transparent 64%),
    linear-gradient(160deg,#1c1533 0%,#140e22 55%,#100b1c 100%); }
.herox-bg::before{ content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:56px 56px; opacity:.6;
  -webkit-mask-image:radial-gradient(120% 90% at 72% 24%, #000 30%, transparent 74%); mask-image:radial-gradient(120% 90% at 72% 24%, #000 30%, transparent 74%); }
.herox-bg::after{ content:""; position:absolute; inset:0; opacity:.4; mix-blend-mode:overlay;
  background-image:radial-gradient(rgba(255,255,255,.5) .5px, transparent .5px); background-size:3px 3px; }
.herox .container{ position:relative; }
.herox-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:56px; align-items:center; }
.herox-left{ min-width:0; }
.herox-eyebrow{ display:inline-flex; align-items:center; gap:9px; margin:0; font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; color:#ff9a8f; background:rgba(229,52,43,.12); border:1px solid rgba(229,52,43,.32); border-radius:100px; padding:8px 15px; }
.herox-eyebrow-dot{ width:8px; height:8px; border-radius:50%; background:#E5342B; box-shadow:0 0 0 0 rgba(229,52,43,.6); animation:heroxPulse 2.4s ease-out infinite; }
@keyframes heroxPulse{ 0%{ box-shadow:0 0 0 0 rgba(229,52,43,.55); } 70%{ box-shadow:0 0 0 11px rgba(229,52,43,0); } 100%{ box-shadow:0 0 0 0 rgba(229,52,43,0); } }
.herox-h1{ font-size:clamp(35px,4.6vw,58px); font-weight:800; letter-spacing:-1.8px; line-height:1.02; color:#fff; margin:20px 0 0; max-width:15ch; }
.herox-h1 .hx-accent{ color:#ff5a4d; }
.herox-lede{ font-size:17px; line-height:1.62; color:rgba(255,255,255,.66); margin:22px 0 0; max-width:46ch; }
.herox-points{ display:flex; flex-wrap:wrap; gap:12px 26px; margin:26px 0 0; }
.herox-point{ display:inline-flex; align-items:center; gap:10px; font-size:14.5px; font-weight:600; color:rgba(255,255,255,.9); }
.herox-point-ic{ flex-shrink:0; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#E5342B,#ff7365); box-shadow:0 6px 14px -6px rgba(229,52,43,.7); }
.herox-point-ic svg{ width:12px; height:12px; }
.herox-stats{ display:flex; margin-top:32px; padding:18px 4px; border-radius:16px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.11); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); box-shadow:0 20px 44px -30px rgba(0,0,0,.6); }
.herox-stat{ flex:1; padding:2px 22px; position:relative; }
.herox-stat + .herox-stat::before{ content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:62%; background:rgba(255,255,255,.14); }
.herox-stat b{ display:block; font-size:clamp(23px,2.3vw,29px); font-weight:800; letter-spacing:-.6px; line-height:1; background:linear-gradient(135deg,#fff 35%,#ffb0a6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.herox-stat span{ display:block; margin-top:8px; font-size:12px; color:rgba(255,255,255,.55); }
.herox-badges{ display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.herox-badge{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:rgba(255,255,255,.86); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); border-radius:100px; padding:8px 14px; -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); }
.herox-badge-ic{ display:grid; place-items:center; color:#ff8577; }
.herox-badge-ic svg{ width:14px; height:14px; display:block; }
/* form card — floats on the dark hero */
.herox-right{ position:relative; min-width:0; }
.herox-glow{ position:absolute; inset:-14% -8%; z-index:0; border-radius:50%;
  background:radial-gradient(closest-side, rgba(229,52,43,.4), transparent 70%); filter:blur(14px); }
.herox-form, .herox-success{ position:relative; z-index:1; background:#fff; border-radius:24px; padding:30px 30px 26px;
  box-shadow:0 60px 120px -44px rgba(0,0,0,.7), 0 8px 24px -12px rgba(0,0,0,.4); }
.herox-form::before, .herox-success::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; border-radius:24px; padding:1.5px;
  background:linear-gradient(135deg, rgba(229,52,43,.6), rgba(255,255,255,0) 42%, rgba(255,255,255,0) 58%, rgba(255,138,126,.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite:exclude; }
.herox-form > *, .herox-success > *{ position:relative; z-index:1; }
.herox-form-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.herox-form-kicker{ margin:0; font-family:'Inter',sans-serif; font-size:10.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#c6281f; }
.herox-form-badge{ font-size:11px; font-weight:800; letter-spacing:.02em; color:#c6281f; background:#FFF3F1; border:1px solid #f6d9d3; border-radius:100px; padding:5px 11px; }
.herox-form-title{ font-size:24px; font-weight:800; letter-spacing:-.5px; color:#151626; margin:12px 0 0; }
.herox-form-sub{ font-size:14px; line-height:1.55; color:#6b7080; margin:8px 0 0; }
.herox-fields{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:22px; }
.herox-field{ display:block; min-width:0; }
.herox-input{ position:relative; display:block; }
.herox-input-ic{ position:absolute; left:15px; top:28px; transform:translateY(-50%); color:#b3aeb8; pointer-events:none; transition:color .2s ease; }
.herox-input-ic svg{ width:16px; height:16px; display:block; }
.herox-input input{ width:100%; box-sizing:border-box; height:56px; padding:19px 14px 0 42px; border:1.5px solid #e6dcda; border-radius:13px; font-family:inherit; font-size:15px; color:#1f1f2e; background:#fbf8f8; transition:border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.herox-input input:focus{ outline:none; border-color:#E5342B; background:#fff; box-shadow:0 0 0 4px rgba(229,52,43,.13); }
.herox-input:focus-within .herox-input-ic{ color:#E5342B; }
.herox-flabel{ position:absolute; left:42px; top:28px; transform:translateY(-50%); color:#9a95a0; font-size:14.5px; pointer-events:none; transition:top .16s ease, transform .16s ease, font-size .16s ease, color .16s ease, letter-spacing .16s ease; }
.herox-input input:focus ~ .herox-flabel, .herox-input input:not(:placeholder-shown) ~ .herox-flabel, .herox-input.is-filled .herox-flabel{ top:12px; transform:none; font-size:10.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#c6281f; }
.herox-submit{ width:100%; margin-top:20px; height:54px; border:none; border-radius:13px; cursor:pointer; position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:9px; font-family:inherit; font-size:15.5px; font-weight:800; letter-spacing:-.1px; color:#fff; background:linear-gradient(135deg,#E5342B,#ff5a4d); box-shadow:0 18px 38px -12px rgba(229,52,43,.62); transition:transform .2s ease, box-shadow .2s ease; }
.herox-submit::after{ content:""; position:absolute; top:0; left:-45%; width:45%; height:100%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.38), transparent); transform:skewX(-18deg); transition:left .55s ease; pointer-events:none; }
.herox-submit:hover{ transform:translateY(-2px); box-shadow:0 24px 48px -14px rgba(229,52,43,.75); }
.herox-submit:hover::after{ left:130%; }
.herox-submit span, .herox-submit svg{ position:relative; z-index:1; }
.herox-submit svg{ width:19px; height:19px; transition:transform .2s ease; }
.herox-submit:hover svg{ transform:translateX(3px); }
.herox-alt{ text-align:center; font-size:13.5px; color:#6b7080; margin:16px 0 0; }
.herox-alt a{ color:#E5342B; font-weight:700; text-decoration:none; }
.herox-alt a:hover{ text-decoration:underline; }
.herox-micro{ display:flex; align-items:center; justify-content:center; gap:7px; font-size:12px; color:#9a9aa6; margin:14px 0 0; }
.herox-micro-ic svg{ width:14px; height:14px; }
.herox-success{ text-align:center; padding:46px 34px; }
.herox-success-ic{ display:inline-grid; place-items:center; width:58px; height:58px; border-radius:50%; color:#fff; background:linear-gradient(135deg,#17A34A,#37c76b); box-shadow:0 16px 32px -12px rgba(23,163,74,.6); }
.herox-success-ic svg{ width:28px; height:28px; }
.herox-success-title{ font-size:22px; font-weight:800; letter-spacing:-.4px; color:#151626; margin:16px 0 0; }
.herox-success-tx{ font-size:14.5px; line-height:1.6; color:#6b7080; margin:10px auto 0; max-width:38ch; }
/* orchestrated load-in */
@keyframes heroxIn{ from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:translateY(0); } }
.herox-eyebrow, .herox-h1, .herox-lede, .herox-points, .herox-stats, .herox-badges, .herox-right{ opacity:0; animation:heroxIn .62s cubic-bezier(.2,.7,.2,1) forwards; }
.herox-eyebrow{ animation-delay:.05s; }
.herox-h1{ animation-delay:.13s; }
.herox-lede{ animation-delay:.22s; }
.herox-points{ animation-delay:.30s; }
.herox-stats{ animation-delay:.38s; }
.herox-badges{ animation-delay:.45s; }
.herox-right{ animation-delay:.24s; }
@media (max-width:940px){ .herox-grid{ grid-template-columns:1fr; gap:40px; } .herox-h1, .herox-lede{ max-width:none; } }
@media (max-width:520px){ .herox-fields{ grid-template-columns:1fr; } .herox-form, .herox-success{ padding:26px 22px; } .herox-stats{ gap:22px; } }
@media (prefers-reduced-motion: reduce){ .herox-eyebrow, .herox-h1, .herox-lede, .herox-points, .herox-stats, .herox-badges, .herox-right{ animation:none; opacity:1; } .herox-eyebrow-dot{ animation:none; } .herox-submit:hover{ transform:none; } }

/* §8 Mid-page CTA */
.midcta-section{ padding:20px 0 44px; background:#fff; }
.midcta-band{ position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  border-radius:20px; padding:30px 36px;
  background:radial-gradient(520px 240px at 100% 0%, rgba(229,52,43,.32), transparent 60%), linear-gradient(150deg,#17122b,#2b1a33); }
.midcta-text h3{ font-size:22px; font-weight:800; letter-spacing:-.3px; color:#fff; }
.midcta-text p{ font-size:14.5px; line-height:1.55; color:rgba(255,255,255,.72); margin-top:8px; max-width:60ch; }
.midcta-btn{ display:inline-flex; align-items:center; white-space:nowrap; flex-shrink:0; }
.midcta-btn:hover .lnk-arr{ transform:translateX(3px); }

/* §9 Full service stack — accent-topped columns */
.stack-section{ padding:62px 0 66px; background:#fff; }
.stack-title{ font-size:clamp(24px,2.7vw,35px); font-weight:800; letter-spacing:-.5px; color:#151626; margin:10px 0 0; max-width:24ch; }
.stack-lead{ font-size:16px; line-height:1.62; color:#6b7080; margin:16px 0 30px; max-width:72ch; }
.stack-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.stack-card{ position:relative; overflow:hidden; background:#fbf7f6; border:1px solid #f0e6e4; border-radius:18px; padding:28px 28px 22px; transition:transform .2s ease, box-shadow .2s ease; }
.stack-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#E5342B,#ff8a7e); }
.stack-card:hover{ transform:translateY(-4px); box-shadow:0 30px 54px -34px rgba(30,8,34,.4); }
.stack-card h3{ font-size:16px; font-weight:800; letter-spacing:-.2px; color:#151626; margin-bottom:15px; padding-bottom:13px; border-bottom:1px solid #ece0dd; }
.stack-card ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.stack-card li a{ position:relative; padding-left:20px; font-size:14.5px; line-height:1.42; color:#4B5563; text-decoration:none; display:inline-block; transition:color .15s ease, transform .15s ease; }
.stack-card li a::before{ content:""; position:absolute; left:2px; top:8px; width:6px; height:6px; border-radius:2px; background:#E5342B; transform:rotate(45deg); }
.stack-card li a:hover{ color:#E5342B; transform:translateX(2px); }
@media (max-width:820px){ .stack-grid{ grid-template-columns:1fr; } }

/* §10 Service hub — premium engagement cards */
.hub-section{ padding:64px 0 68px; background:linear-gradient(180deg,#fbf7f6,#fff); }
.hub-title{ font-size:clamp(26px,3vw,38px); font-weight:800; letter-spacing:-.7px; color:#151626; margin:10px 0 0; }
.hub-lead{ font-size:16px; line-height:1.62; color:#6b7080; margin:16px 0 30px; max-width:72ch; }
.hub-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.hub-card{ position:relative; overflow:hidden; display:block; background:#fff; border:1px solid #efe3e1; border-radius:20px; padding:30px 30px 26px; text-decoration:none;
  box-shadow:0 2px 4px rgba(20,10,30,.03), 0 18px 42px -30px rgba(30,8,34,.3); transition:transform .24s cubic-bezier(.2,.7,.2,1), box-shadow .24s ease, border-color .24s ease; }
.hub-card::after{ content:""; position:absolute; top:-40px; right:-40px; width:130px; height:130px; border-radius:50%; background:radial-gradient(circle, rgba(229,52,43,.12), transparent 70%); opacity:0; transition:opacity .28s ease; }
.hub-card:hover{ transform:translateY(-7px); border-color:#f2c9c2; box-shadow:0 46px 70px -38px rgba(229,52,43,.5); }
.hub-card:hover::after{ opacity:1; }
.hub-card h3{ position:relative; z-index:1; font-size:21px; font-weight:800; letter-spacing:-.3px; color:#151626; margin-bottom:11px; }
.hub-card p{ position:relative; z-index:1; font-size:14.5px; line-height:1.62; color:#6b7080; }
.hub-lnk{ position:relative; z-index:1; display:inline-flex; align-items:center; margin-top:17px; font-size:14px; font-weight:800; color:#E5342B; }
.hub-card:hover .lnk-arr{ transform:translateX(4px); }
@media (max-width:820px){ .hub-grid{ grid-template-columns:1fr; } }

/* §14 Technology & integrations */
.techint-section{ padding:64px 0 70px; background:#fff; }
.techint-title{ font-size:clamp(26px,3vw,38px); font-weight:800; letter-spacing:-.7px; color:#151626; margin:10px 0 0; }
.techint-lead{ font-size:16.5px; line-height:1.65; color:#6b7080; margin:16px 0 30px; max-width:72ch; }
.techint-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.techint-card{ position:relative; background:#fbf7f6; border:1px solid #f0e6e4; border-radius:18px; padding:26px 26px; transition:transform .2s ease, box-shadow .2s ease; }
.techint-card:hover{ transform:translateY(-4px); box-shadow:0 30px 54px -34px rgba(30,8,34,.36); }
.techint-card h4{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#E5342B; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid #ece0dd; width:100%; }
.techint-card h4::before{ content:""; width:8px; height:8px; border-radius:2px; background:#E5342B; transform:rotate(45deg); }
.techint-card p{ font-size:14px; line-height:1.75; color:#4B5563; }
@media (max-width:820px){ .techint-grid{ grid-template-columns:1fr; } }

/* — Benefits cards (top-aligned so uneven lengths don't stretch) — */
.spec-benefits{ margin-top:10px; align-items:start; }

/* — Sidebar cards — */
.spec-sidebar-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); padding:24px; }
.spec-sidebar-title{ font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--text-dark);
  margin:0 0 14px; padding-bottom:12px; border-bottom:2px solid var(--primary-light); }
/* NOTE: renamed from .spec-list -> .spec-side-list to stop colliding with the
   homepage's scrollable specialty-card list (.spec-list / .spec-item, ~L2568). */
.spec-side-list{ display:flex; flex-direction:column; margin:0 0 18px; }
.spec-side-list li{ border-bottom:1px solid var(--border); }
.spec-side-list li:last-child{ border-bottom:none; }
.spec-side-list a{ display:flex; align-items:center; gap:10px; padding:10px 2px; font-size:14px; font-weight:500;
  color:var(--text-mid); text-decoration:none; transition:color var(--transition), padding-left var(--transition); }
.spec-side-list a::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--primary); flex-shrink:0; }
.spec-side-list a:hover{ color:var(--primary); padding-left:8px; }
.spec-sidebar-btn{ width:100%; justify-content:center; }

/* — Sidebar quote form (reuses .modal-field input styling) — */
.spec-quote-card .spec-form{ display:flex; flex-direction:column; gap:12px; }
.spec-quote-card .modal-field{ margin:0; }
.spec-form-submit{ width:100%; justify-content:center; margin-top:4px; }
.spec-form-note{ font-size:11px; line-height:1.5; color:var(--text-light); text-align:center; margin:0; }

/* — Bottom quote band — */
.spec-cta-band{ background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color:var(--white); padding:48px 0; }
.spec-cta-band-inner{ display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.spec-cta-band-title{ font-size:clamp(22px, 2.4vw, 28px); font-weight:800; margin:0 0 6px; }
.spec-cta-band-sub{ font-size:15px; opacity:.92; margin:0; }
.spec-cta-form{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.spec-cta-select{ appearance:none; -webkit-appearance:none; background-color:var(--white); border:none; border-radius:var(--radius-full);
  padding:13px 44px 13px 20px; font-family:inherit; font-size:14px; font-weight:500; color:var(--text-dark); min-width:200px; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center; }
.spec-cta-submit{ white-space:nowrap; }

/* — Responsive — */
@media (max-width:1024px){
  .spec-layout{ grid-template-columns:1fr; gap:40px; padding:48px 0 60px; }
  .spec-aside{ position:static; }
}
@media (max-width:640px){
  .spec-callout{ flex-direction:column; align-items:flex-start; }
  .spec-callout-btn{ width:100%; justify-content:center; }
  .spec-cta-band-inner{ flex-direction:column; align-items:stretch; text-align:center; }
  .spec-cta-form{ flex-direction:column; }
  .spec-cta-select, .spec-cta-submit{ width:100%; min-width:0; }
}
/* ═══════════════ END SPECIALTY PAGE TEMPLATE ═══════════════ */


/* ══════════════════════════════════════════════════════════════
   TEMPLATE 2 — NATIONAL FLAGSHIP  (append-only; used by
   specialty-national.html). Additive selectors only. Footer/body
   tweaks are scoped to .nat-page so the homepage is unaffected.
   ══════════════════════════════════════════════════════════════ */

/* — Hero — */
.nat-hero{ background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color:var(--white); padding:52px 0 56px; }
.nat-h1{ font-size:clamp(30px, 4.4vw, 48px); font-weight:800; line-height:1.12; margin:6px 0 18px; }
.nat-quick{ font-size:clamp(16px, 1.7vw, 19px); line-height:1.65; opacity:.96; max-width:820px; margin:0 0 22px; }
.nat-quick strong{ color:var(--white); }
.nat-chips{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 20px; }
.nat-chip{ display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.28);
  border-radius:var(--radius-full); padding:7px 15px; font-size:13.5px; font-weight:600; }
.nat-hero-badges{ display:flex; flex-wrap:wrap; gap:8px 18px; margin:0 0 26px; padding:0; }
.nat-hero-badges li{ position:relative; padding-left:20px; font-size:13px; font-weight:500; opacity:.94; }
.nat-hero-badges li::before{ content:"\2714"; position:absolute; left:0; top:0; font-size:12px; color:var(--white); }
.nat-hero-actions{ display:flex; flex-wrap:wrap; gap:14px; }
.nat-hero-actions .btn-outline{ border-color:rgba(255,255,255,.7); color:var(--white); background:transparent; }
.nat-hero-actions .btn-outline:hover{ background:var(--white); color:var(--primary); border-color:var(--white); }

/* — Byline strip (E-E-A-T) — */
.nat-byline-strip{ background:var(--bg-pink); border-bottom:1px solid var(--primary-light); }
.nat-byline{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; padding:14px 24px; font-size:13.5px; color:var(--text-mid); }
.nat-byline strong{ color:var(--text-dark); }
.nat-byline-label{ color:var(--text-light); }
.nat-byline-dot{ color:var(--primary); }

/* — 2-zone layout — */
.nat-layout{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:56px; padding:52px 0 72px; align-items:start; }
.nat-article{ min-width:0; }

/* — Article typography — */
.nat-article h2{ font-size:clamp(23px, 2.7vw, 31px); font-weight:800; color:var(--text-dark); line-height:1.25; margin:52px 0 16px; scroll-margin-top:120px; }
.nat-article h2:first-of-type{ margin-top:0; }
.nat-article h3{ font-size:19px; font-weight:700; color:var(--text-dark); margin:30px 0 12px; }
.nat-article p{ font-size:16px; line-height:1.8; color:var(--text-mid); margin:0 0 18px; }
.nat-article > ul{ margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:11px; }
.nat-article > ul > li{ position:relative; padding-left:26px; font-size:15.5px; line-height:1.7; color:var(--text-mid); }
.nat-article > ul > li::before{ content:""; position:absolute; left:6px; top:10px; width:7px; height:7px; border-radius:50%; background:var(--primary); }
.nat-article a{ color:var(--primary); font-weight:600; text-decoration:none; }
.nat-article a:hover{ text-decoration:underline; }
.nat-article strong{ color:var(--text-dark); }
.nat-article em{ color:var(--text-mid); }

/* — Stat tiles — */
.nat-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:8px 0 26px; }
.nat-stat{ background:var(--bg-pink); border:1px solid var(--primary-light); border-radius:var(--radius-md); padding:20px 18px; text-align:center; }
.nat-stat-num{ display:block; font-size:30px; font-weight:800; color:var(--primary); line-height:1.1; }
.nat-stat-label{ display:block; font-size:12.5px; line-height:1.45; color:var(--text-mid); margin-top:8px; }

/* — Data tables — */
.nat-table-wrap{ overflow-x:auto; margin:0 0 24px; border:1px solid var(--border); border-radius:var(--radius-md); -webkit-overflow-scrolling:touch; }
.nat-table{ width:100%; border-collapse:collapse; font-size:14px; min-width:560px; }
.nat-table thead th{ background:var(--bg-dark); color:var(--white); text-align:left; font-weight:600; padding:13px 16px; font-size:13px; white-space:nowrap; }
.nat-table tbody td{ padding:12px 16px; border-top:1px solid var(--border); color:var(--text-mid); line-height:1.5; vertical-align:top; }
.nat-table tbody tr:nth-child(even){ background:#FAFAFB; }
.nat-table tbody td strong{ color:var(--text-dark); }

/* — 5-gate stepper — */
.nat-steps{ list-style:none; margin:0 0 22px; padding:0; display:flex; flex-direction:column; gap:14px; counter-reset:none; }
.nat-step{ display:flex; gap:16px; background:var(--white); border:1px solid var(--border); border-left:3px solid var(--primary); border-radius:var(--radius-sm); padding:16px 18px; }
.nat-step-num{ flex-shrink:0; width:34px; height:34px; border-radius:50%; background:var(--primary); color:var(--white); font-weight:800; display:flex; align-items:center; justify-content:center; font-size:15px; }
.nat-step-body strong{ display:block; color:var(--text-dark); font-size:16px; margin-bottom:3px; }
.nat-step-body p{ margin:0; font-size:14.5px; line-height:1.6; }

/* — Checklist — */
.nat-checklist{ list-style:none; margin:0 0 24px; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 24px; }
.nat-checklist li{ position:relative; padding-left:30px; font-size:15px; line-height:1.5; color:var(--text-mid); }
.nat-checklist li::before{ content:"\2714"; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:var(--primary-light); color:var(--primary-dark); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; }

/* — Pull-quote CTA — */
.nat-pullcta{ background:var(--bg-pink); border:1px solid var(--primary-light); border-left:4px solid var(--primary); border-radius:var(--radius-md); padding:24px 26px; margin:32px 0; }
.nat-pullcta-text{ font-size:16.5px; line-height:1.65; color:var(--text-dark); margin:0 0 16px; }
.nat-pullcta-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.nat-pullcta-phone{ font-weight:700; color:var(--primary-dark); text-decoration:none; font-size:15px; }

/* — Who we serve cards — */
.nat-serve-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:6px 0 22px; }
.nat-serve-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow-sm); padding:20px; }
.nat-serve-card h3{ margin:0 0 6px; font-size:16px; }
.nat-serve-card p{ margin:0; font-size:14.5px; }

/* — FAQ (native details) — */
.nat-faq{ display:flex; flex-direction:column; gap:10px; margin:0 0 8px; }
.nat-faq-item{ border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; background:var(--white); }
.nat-faq-item summary{ list-style:none; cursor:pointer; padding:16px 46px 16px 18px; font-weight:600; font-size:15.5px; color:var(--text-dark); position:relative; }
.nat-faq-item summary::-webkit-details-marker{ display:none; }
.nat-faq-item summary::after{ content:"+"; position:absolute; right:18px; top:50%; transform:translateY(-50%); font-size:22px; font-weight:400; color:var(--primary); transition:transform var(--transition); }
.nat-faq-item[open] summary::after{ content:"\2212"; }
.nat-faq-item[open] summary{ color:var(--primary-dark); }
.nat-faq-a{ padding:0 18px 16px; }
.nat-faq-a p{ margin:0; font-size:15px; line-height:1.7; color:var(--text-mid); }

/* — Takeaways — */
.nat-takeaways{ background:var(--bg-dark); color:var(--white); border-radius:var(--radius-md); padding:26px 28px; margin:6px 0 28px; }
.nat-takeaways ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.nat-takeaways li{ position:relative; padding-left:28px; font-size:15px; line-height:1.6; color:rgba(255,255,255,.9); }
.nat-takeaways li::before{ content:"\2714"; position:absolute; left:0; top:1px; color:var(--primary); font-weight:700; }
.nat-takeaways strong{ color:var(--white); }

/* — State index — */
.nat-states{ font-size:14px; line-height:2; color:var(--text-mid); margin:0 0 22px; }
.nat-states a{ color:var(--primary); font-weight:500; text-decoration:none; }
.nat-states a:hover{ text-decoration:underline; }

/* — Placeholders (sample content) — */
.nat-placeholder{ background:#FAFAFB; border:1px dashed var(--border); border-radius:var(--radius-md); padding:18px 20px; margin:0 0 14px; }
.nat-placeholder p{ margin:0 0 8px; font-style:italic; color:var(--text-mid); }
.nat-placeholder span{ font-size:14px; color:var(--text-light); }
.nat-placeholder--case ul{ margin:10px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:6px; }
.nat-placeholder--case li{ font-size:14px; color:var(--text-mid); }
.nat-note{ font-size:12.5px; line-height:1.6; color:var(--text-light); border-top:1px solid var(--border); padding-top:14px; margin-top:6px; }

/* — Final CTA — */
.nat-final-cta{ background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color:var(--white); border-radius:var(--radius-lg); padding:40px 36px; margin:40px 0 28px; text-align:center; }
.nat-final-cta h2{ color:var(--white); margin:0 0 10px; font-size:clamp(22px,2.6vw,28px); }
.nat-final-cta p{ color:rgba(255,255,255,.94); margin:0 0 22px; font-size:16px; }
.nat-final-actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }
.nat-final-actions .btn-outline{ border-color:rgba(255,255,255,.7); color:var(--white); }
.nat-final-actions .btn-outline:hover{ background:var(--white); color:var(--primary); border-color:var(--white); }

/* — Sources — */
.nat-sources{ font-size:12.5px; line-height:1.7; color:var(--text-light); border-top:1px solid var(--border); padding-top:18px; margin-top:12px; }
.nat-sources a{ color:var(--text-mid); font-weight:500; }

/* — Sticky lead-form CTA — */
.nat-cta{ position:sticky; top:120px; }
.nat-cta-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow-md); padding:24px; }
.nat-cta-eyebrow{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--primary); margin:0 0 8px; }
.nat-cta-title{ font-size:19px; font-weight:800; line-height:1.25; color:var(--text-dark); margin:0 0 8px; }
.nat-cta-sub{ font-size:13.5px; line-height:1.55; color:var(--text-mid); margin:0 0 16px; }
.nat-cta-form{ display:flex; flex-direction:column; gap:11px; }
.nat-cta-form .modal-field{ margin:0; }
.nat-cta-submit{ width:100%; justify-content:center; margin-top:2px; }
.nat-cta-phone{ display:block; text-align:center; margin:14px 0 0; font-size:17px; font-weight:800; color:var(--text-dark); text-decoration:none; }
.nat-cta-trust{ text-align:center; font-size:11.5px; color:var(--text-light); margin:10px 0 0; }

/* — Mobile sticky bottom CTA — */
.nat-mobile-cta{ display:none; }

/* — Responsive — */
@media (max-width:1024px){
  .nat-layout{ grid-template-columns:1fr; gap:40px; padding:40px 0 60px; }
  .nat-cta{ position:static; }
  .nat-page{ padding-bottom:76px; }           /* room for the fixed mobile bar (scoped) */
  .nat-mobile-cta{ display:flex; gap:10px; position:fixed; left:0; right:0; bottom:0; z-index:60;
    background:var(--white); border-top:1px solid var(--border); box-shadow:0 -4px 16px rgba(0,0,0,.08); padding:12px 16px; }
  .nat-mobile-cta .btn{ flex:1; justify-content:center; padding:12px 14px; }
  .nat-mobile-cta .btn-outline{ flex:0 0 auto; }
}
@media (max-width:640px){
  .nat-stats{ grid-template-columns:repeat(2,1fr); }
  .nat-checklist{ grid-template-columns:1fr; }
  .nat-serve-grid{ grid-template-columns:1fr; }
  .nat-pullcta-actions,.nat-final-actions{ flex-direction:column; align-items:stretch; }
  .nat-pullcta-actions .btn,.nat-final-actions .btn{ width:100%; justify-content:center; }
}
/* ═══════════════ END TEMPLATE 2 — NATIONAL FLAGSHIP ═══════════════ */


/* ═══════════════════════════════════════════════════════════════
   TEMPLATE 2 — HERO: LIGHT premium + signature graphic
   (content-preserving restyle — overrides the coral base; changes
   only visual treatment, no copy is touched)
   ═══════════════════════════════════════════════════════════════ */
.nat-hero{ position:relative; overflow:hidden; color:var(--text-dark);
  background:linear-gradient(180deg,#FFFFFF 0%,#FDF5F3 100%); border-bottom:1px solid var(--border); padding:52px 0 60px; }
.nat-hero::before{ content:""; position:absolute; top:-20%; right:-4%; width:540px; height:540px; border-radius:50%;
  background:radial-gradient(circle, rgba(240,72,60,.13), transparent 68%); pointer-events:none; z-index:0; }
.nat-hero-bg{ position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(rgba(26,26,46,.05) 1px, transparent 1.6px); background-size:26px 26px;
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 72%);
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 72%); }
.nat-hero .container{ position:relative; z-index:1; }
.nat-hero-grid{ display:grid; grid-template-columns:1.12fr 388px; gap:52px; align-items:center; }
.nat-hero-copy{ min-width:0; }

/* breadcrumb dark on light */
.nat-hero .spec-breadcrumb a{ color:var(--text-mid); }
.nat-hero .spec-breadcrumb a:hover{ color:var(--primary); }
.nat-hero .spec-breadcrumb-sep{ color:var(--text-light); }
.nat-hero .spec-breadcrumb-current{ color:var(--text-dark); }

/* headline + quick answer */
.nat-hero .nat-h1{ color:var(--text-dark); font-size:clamp(32px,4.6vw,52px); letter-spacing:-.5px; }
.nat-quick{ color:var(--text-mid); max-width:560px; }
.nat-quick strong{ color:var(--text-dark); }

/* benefit chips → light pills */
.nat-chip{ background:var(--white); border:1px solid var(--border); color:var(--text-dark); box-shadow:var(--shadow-sm); }

/* trust checklist → dark text, coral checks */
.nat-hero-badges li{ color:var(--text-mid); opacity:1; }
.nat-hero-badges li::before{ color:var(--primary); }

/* actions: coral primary + coral outline */
.nat-hero-actions .btn-outline{ border-color:var(--primary); color:var(--primary); background:transparent; }
.nat-hero-actions .btn-outline:hover{ background:var(--primary); color:var(--white); border-color:var(--primary); }

/* ── Signature graphic ── */
.nat-hero-visual{ position:relative; display:flex; justify-content:center; }
.nhv{ position:relative; width:100%; max-width:340px; }
.nhv-card{ background:var(--white); border:1px solid var(--border); border-radius:20px;
  box-shadow:0 26px 60px -14px rgba(26,26,46,.22), 0 6px 16px rgba(26,26,46,.05); padding:20px 20px 18px; }
.nhv-card-head{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--text-dark); margin-bottom:14px; }
.nhv-dot{ width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 4px rgba(34,197,94,.16); }
.nhv-card-trend{ margin-left:auto; font-size:11px; font-weight:700; color:var(--green); }
.nhv-chart{ height:96px; }
.nhv-chart svg{ width:100%; height:100%; display:block; }
.nhv-card-foot{ display:flex; gap:12px; margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
.nhv-stat{ flex:1; }
.nhv-stat strong{ display:block; font-size:13px; color:var(--text-dark); }
.nhv-down{ font-size:11px; font-weight:700; color:var(--primary); }

.nhv-float{ position:absolute; z-index:3; background:var(--white); border:1px solid var(--border); border-radius:14px;
  box-shadow:0 16px 36px rgba(26,26,46,.17); padding:11px 14px; display:flex; align-items:center; gap:10px; white-space:nowrap; }
.nhv-float--gauge{ top:-26px; left:-40px; }
.nhv-float--paid{ bottom:-24px; right:-30px; }
.nhv-donut{ width:40px; height:40px; transform:rotate(-90deg); flex-shrink:0; }
.nhv-donut-bg{ fill:none; stroke:var(--primary-light); stroke-width:3.6; }
.nhv-donut-arc{ fill:none; stroke:var(--primary); stroke-width:3.6; stroke-linecap:round; stroke-dasharray:96 100; }
.nhv-gauge-txt strong{ display:block; font-size:15px; font-weight:800; color:var(--text-dark); line-height:1; }
.nhv-gauge-txt span{ font-size:11px; color:var(--text-mid); }
.nhv-check{ width:26px; height:26px; border-radius:50%; background:rgba(34,197,94,.14); color:var(--green); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.nhv-check svg{ width:15px; height:15px; }
.nhv-float--paid strong{ display:block; font-size:12.5px; font-weight:700; color:var(--text-dark); line-height:1.15; }
.nhv-float--paid span{ font-size:11px; color:var(--text-mid); }

@keyframes nhvFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-7px); } }
.nhv-card{ animation:nhvFloat 6s ease-in-out infinite; }
.nhv-float--gauge{ animation:nhvFloat 5s ease-in-out infinite .4s; }
.nhv-float--paid{ animation:nhvFloat 5.5s ease-in-out infinite 1s; }
@media (prefers-reduced-motion:reduce){ .nhv-card,.nhv-float{ animation:none !important; } }

@media (max-width:980px){
  .nat-hero-grid{ grid-template-columns:1fr; }
  .nat-hero-visual{ display:none; }          /* decorative — hidden on mobile */
  .nat-hero::before{ display:none; }
}
/* ═══════════════ END HERO LIGHT + SIGNATURE ═══════════════ */


/* ═══════════ HERO — right-side lead form (replaces signature graphic) ═══════════ */
.nat-hero-grid{ align-items:start; }
.nat-hero-formcol{ display:flex; justify-content:flex-end; }
.nhf{ width:100%; max-width:400px; background:var(--white); border:1px solid var(--border); border-radius:20px;
  box-shadow:0 26px 60px -14px rgba(26,26,46,.22), 0 6px 16px rgba(26,26,46,.05); overflow:hidden; }
.nhf-head{ padding:24px 26px 18px; border-bottom:1px solid var(--border); position:relative; }
.nhf-head::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--primary),var(--primary-dark)); }
.nhf-eyebrow{ display:block; font-size:11px; font-weight:800; letter-spacing:1.2px; color:var(--primary); margin-bottom:7px; }
.nhf-title{ font-size:21px; font-weight:800; color:var(--text-dark); letter-spacing:-.3px; margin:0 0 6px; line-height:1.2; }
.nhf-sub{ font-size:13px; color:var(--text-mid); margin:0; }
.nhf-body{ padding:20px 26px 24px; display:flex; flex-direction:column; gap:12px; }
.nhf-field{ position:relative; }
.nhf-icon{ position:absolute; left:15px; top:50%; transform:translateY(-50%); width:17px; height:17px; color:var(--text-light); pointer-events:none; }
.nhf-body input, .nhf-body select{ width:100%; padding:13px 16px 13px 44px; border:1.5px solid var(--border); border-radius:12px;
  background:var(--white); font-family:inherit; font-size:14.5px; color:var(--text-dark); transition:border-color .18s, box-shadow .18s; }
.nhf-body input::placeholder{ color:var(--text-light); }
.nhf-body input:focus, .nhf-body select:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(240,72,60,.14); }
.nhf-body select{ appearance:none; -webkit-appearance:none; cursor:pointer; color:var(--text-mid); padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 15px center; }
.nhf-submit{ width:100%; justify-content:center; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); border-radius:12px;
  padding:15px 18px; font-size:15px; font-weight:700; box-shadow:0 12px 26px rgba(240,72,60,.32); transition:transform .18s, box-shadow .18s; margin-top:2px; }
.nhf-submit:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(240,72,60,.42); }
.nhf-note{ font-size:11.5px; line-height:1.5; color:var(--text-light); text-align:center; margin:2px 0 0; }
.nhf-call{ font-size:13px; text-align:center; color:var(--text-mid); margin:0; }
.nhf-call a{ color:var(--primary-dark); font-weight:700; text-decoration:none; }
@media (max-width:980px){ .nat-hero-formcol{ justify-content:stretch; } .nhf{ max-width:520px; margin:0 auto; } }
/* ═══════════ END right-side lead form ═══════════ */


/* ═══════════════════════════════════════════════════════════════
   TEMPLATE 2 — FULL-PAGE UI POLISH  (design only, CSS-only, additive)
   No markup/content touched — enhances existing .nat-* components to
   match the premium light hero. Later rules win over the base block.
   ═══════════════════════════════════════════════════════════════ */

/* — rhythm & typography — */
.nat-layout{ padding:64px 0 84px; gap:60px; }
.nat-article > h2{ font-size:clamp(24px,2.8vw,32px); letter-spacing:-.4px; margin:60px 0 18px; }
.nat-article > h2::before{ content:""; display:block; width:46px; height:4px; border-radius:2px;
  background:linear-gradient(90deg,var(--primary),var(--primary-dark)); margin-bottom:16px; }
.nat-article > h3{ font-size:19.5px; letter-spacing:-.2px; }
.nat-article p{ font-size:16.5px; line-height:1.85; color:var(--text-mid); }
.nat-article > ul > li{ font-size:16px; }

/* — E-E-A-T byline strip — */
.nat-byline-strip{ background:linear-gradient(180deg,#FDF5F3,#FFF); }
.nat-byline{ padding:16px 24px; }

/* — stat tiles → premium white cards, gradient numerals, hover — */
.nat-stats{ gap:18px; margin:10px 0 30px; }
.nat-stat{ background:var(--white); border:1px solid var(--border); border-radius:16px; padding:24px 18px;
  box-shadow:0 4px 14px rgba(26,26,46,.05); position:relative; overflow:hidden; transition:transform .2s, box-shadow .2s; }
.nat-stat::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--primary),var(--primary-dark)); }
.nat-stat:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(26,26,46,.12); }
.nat-stat-num{ font-size:34px; line-height:1; background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.nat-stat-label{ margin-top:10px; }

/* — data tables → rounded, refined header, row hover — */
.nat-table-wrap{ border-radius:16px; border-color:var(--border); box-shadow:0 6px 18px rgba(26,26,46,.05); }
.nat-table thead th{ background:linear-gradient(135deg,#28283E,#171727); font-size:12.5px; letter-spacing:.3px; padding:14px 16px; }
.nat-table tbody td{ padding:13px 16px; }
.nat-table tbody tr{ transition:background .15s; }
.nat-table tbody tr:hover{ background:var(--bg-pink); }
.nat-table tbody tr:nth-child(even){ background:#FBFAFB; }
.nat-table tbody tr:nth-child(even):hover{ background:var(--bg-pink); }

/* — 5-gate stepper → elevated cards, gradient numbers, hover slide — */
.nat-steps{ gap:14px; }
.nat-step{ border:1px solid var(--border); border-left:3px solid transparent; border-radius:14px; padding:18px 20px;
  box-shadow:0 3px 12px rgba(26,26,46,.05); transition:transform .2s, box-shadow .2s, border-color .2s; }
.nat-step:hover{ transform:translateX(5px); box-shadow:0 12px 28px rgba(26,26,46,.1); border-left-color:var(--primary); }
.nat-step-num{ width:38px; height:38px; font-size:16px; background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  box-shadow:0 6px 14px rgba(240,72,60,.32); }

/* — checklist → soft cards with coral ticks — */
.nat-checklist{ gap:12px 20px; }
.nat-checklist li{ background:var(--white); border:1px solid var(--border); border-radius:11px; padding:13px 14px 13px 42px;
  box-shadow:0 2px 8px rgba(26,26,46,.04); }
.nat-checklist li::before{ left:13px; top:12px; }

/* — pull-quote CTA → richer gradient panel — */
.nat-pullcta{ background:linear-gradient(135deg,#FFF3F1 0%,#FDE4E1 100%); border:1px solid var(--primary-light);
  border-left:4px solid var(--primary); border-radius:18px; box-shadow:0 10px 30px rgba(240,72,60,.12); padding:26px 28px; }
.nat-pullcta-text{ font-size:17px; }

/* — who-we-serve cards → hover lift, coral heading — */
.nat-serve-card{ border-radius:16px; box-shadow:0 4px 14px rgba(26,26,46,.05); transition:transform .2s, box-shadow .2s, border-color .2s; }
.nat-serve-card:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(26,26,46,.1); border-color:var(--primary-light); }
.nat-serve-card h3{ color:var(--primary-dark); }

/* — FAQ → premium accordion — */
.nat-faq-item{ border:1px solid var(--border); border-radius:14px; box-shadow:0 2px 10px rgba(26,26,46,.04);
  transition:box-shadow .2s, border-color .2s; }
.nat-faq-item summary{ font-size:16px; padding:18px 50px 18px 20px; }
.nat-faq-item summary:hover{ color:var(--primary); }
.nat-faq-item[open]{ box-shadow:0 12px 30px rgba(26,26,46,.1); border-color:var(--primary-light); }
.nat-faq-item summary::after{ width:26px; height:26px; line-height:24px; text-align:center; border-radius:50%;
  background:var(--bg-pink); font-size:18px; }

/* — key takeaways → deep gradient panel — */
.nat-takeaways{ background:linear-gradient(135deg,#28283E 0%,#141422 100%); border-radius:20px; padding:32px 34px;
  box-shadow:0 22px 54px rgba(26,26,46,.26); }

/* — placeholders / sources subtle — */
.nat-placeholder{ border-radius:14px; }
.nat-sources{ background:#FBFAFB; border:1px solid var(--border); border-radius:14px; padding:18px 20px; }

/* — final CTA → deeper radius + soft pattern — */
.nat-final-cta{ border-radius:24px; padding:44px 40px; box-shadow:0 26px 64px rgba(240,72,60,.3); position:relative; overflow:hidden; }
.nat-final-cta::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.14) 1px, transparent 1.6px); background-size:22px 22px;
  -webkit-mask-image:radial-gradient(circle at 80% 0, #000, transparent 60%); mask-image:radial-gradient(circle at 80% 0, #000, transparent 60%); }
.nat-final-cta > *{ position:relative; z-index:1; }

/* — sticky lead-form card → coral top accent + refined shadow + gradient button — */
.nat-cta-card{ border-radius:20px; box-shadow:0 26px 60px -14px rgba(26,26,46,.2), 0 6px 16px rgba(26,26,46,.05);
  position:relative; overflow:hidden; padding-top:26px; }
.nat-cta-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,var(--primary),var(--primary-dark)); }
.nat-cta-submit{ background:linear-gradient(135deg,var(--primary),var(--primary-dark)); box-shadow:0 12px 26px rgba(240,72,60,.3);
  transition:transform .18s, box-shadow .18s; }
.nat-cta-submit:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(240,72,60,.42); }
/* ═══════════════ END FULL-PAGE UI POLISH ═══════════════ */


/* ═══════════ TEMPLATE 2 — HERO polish pass (design only, CSS-only) ═══════════ */

/* richer, layered light background (kills the flat-white feel) */
.nat-hero{ background:
  radial-gradient(680px 380px at 88% -12%, rgba(240,72,60,.15), transparent 60%),
  radial-gradient(620px 440px at -8% 122%, rgba(240,72,60,.11), transparent 58%),
  linear-gradient(180deg,#FFFFFF 0%,#FDF4F2 100%); }

/* coral accent under the headline */
.nat-hero .nat-h1::after{ content:""; display:block; width:92px; height:5px; border-radius:3px; margin-top:16px;
  background:linear-gradient(90deg,var(--primary),var(--primary-dark)); }

/* quick-answer: slightly larger lead */
.nat-quick{ font-size:clamp(16px,1.55vw,18.5px); line-height:1.68; }

/* benefit chips → hover lift + coral edge */
.nat-chip{ padding:9px 16px; font-size:14px; transition:transform .18s, box-shadow .18s, border-color .18s; }
.nat-chip:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(26,26,46,.1); border-color:var(--primary-light); }

/* trust checklist → tighter, coral ticks in soft chips of space */
.nat-hero-badges{ gap:10px 22px; margin-bottom:28px; }
.nat-hero-badges li{ font-size:13px; }

/* primary CTA → glow + hover lift; outline → subtle */
.nat-hero-actions .btn-primary{ box-shadow:0 12px 26px rgba(240,72,60,.3); transition:transform .18s, box-shadow .18s; }
.nat-hero-actions .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(240,72,60,.44); }
.nat-hero-actions .btn-outline{ transition:transform .18s, background .18s, color .18s; }
.nat-hero-actions .btn-outline:hover{ transform:translateY(-2px); }

/* form: gentle entrance depth + hover on card */
.nhf{ transition:box-shadow .25s; }
.nhf:hover{ box-shadow:0 32px 70px -14px rgba(26,26,46,.26), 0 8px 20px rgba(26,26,46,.06); }
/* ═══════════ END HERO polish pass ═══════════ */


/* ═══════════ TEMPLATE 2 — HERO visible restyle (design only) ═══════════ */

/* stronger, clearly-visible warm background */
.nat-hero{ background:
  radial-gradient(720px 420px at 90% -14%, rgba(240,72,60,.22), transparent 60%),
  radial-gradient(640px 460px at -10% 120%, rgba(240,72,60,.14), transparent 58%),
  linear-gradient(180deg,#FFFFFF 0%,#FCEFEC 100%); }
.nat-hero-bg{ background-image:radial-gradient(rgba(26,26,46,.06) 1.1px, transparent 1.7px); background-size:24px 24px; }

/* bigger, tighter headline */
.nat-hero .nat-h1{ font-size:clamp(34px,5vw,58px); font-weight:800; line-height:1.06; }
.nat-hero .nat-h1::after{ width:104px; height:6px; margin-top:18px; }

/* benefit chips → coral-tint pills (clearly colored, not white) */
.nat-chip{ background:var(--bg-pink); border:1px solid var(--primary-light); color:var(--primary-dark);
  font-weight:600; font-size:14px; padding:9px 16px; box-shadow:none; }
.nat-chip:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(240,72,60,.18); }

/* trust checklist → structured credential pills (visible boxes) */
.nat-hero-badges{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; }
.nat-hero-badges li{ padding:8px 14px 8px 32px; background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-full); box-shadow:0 2px 8px rgba(26,26,46,.05); font-size:12.5px; font-weight:600;
  color:var(--text-dark); opacity:1; }
.nat-hero-badges li::before{ left:13px; top:50%; transform:translateY(-50%); color:var(--primary); font-size:11px; }

/* CTA buttons a touch larger */
.nat-hero-actions .btn{ padding:15px 30px; font-size:15px; }
.nat-hero-actions .btn-primary{ box-shadow:0 12px 28px rgba(240,72,60,.32); }
/* ═══════════ END HERO visible restyle ═══════════ */


/* ═══════════ TEMPLATE 2 — HERO stat bar + certified badges (homepage-style, DME) ═══════════ */
.nat-hero-stats{ display:inline-flex; align-items:center; gap:26px; flex-wrap:wrap;
  background:var(--bg-pink); border:1px solid var(--primary-light); border-radius:16px; padding:16px 26px; margin:2px 0 18px; }
.nhs strong{ display:block; font-size:26px; font-weight:800; line-height:1; color:var(--primary); }
.nhs span{ display:block; margin-top:5px; font-size:13px; font-weight:500; color:var(--text-mid); }
.nhs-div{ width:1px; align-self:stretch; min-height:38px; background:var(--primary-light); }

.nat-hero-certs{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:0 0 28px; }
.nat-certs-label{ font-size:11.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; color:var(--text-light); margin-right:2px; }
.nat-cert{ display:inline-flex; align-items:center; gap:7px; background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-full); padding:8px 15px; font-size:13px; font-weight:600; color:var(--text-dark); box-shadow:0 2px 8px rgba(26,26,46,.05); }
.nat-cert svg{ width:15px; height:15px; color:var(--primary); flex-shrink:0; }

@media (max-width:520px){
  .nat-hero-stats{ gap:16px; padding:14px 18px; width:100%; }
  .nhs strong{ font-size:22px; }
}
/* ═══════════ END HERO stat bar + certs ═══════════ */


/* TEMPLATE 2 — type scale nudged toward homepage (design only) */
.nat-hero .nat-h1{ font-size:clamp(32px,4.2vw,48px); }
.nat-quick{ font-size:clamp(15px,1.45vw,16.5px); line-height:1.65; }
.nat-article > h2{ font-size:clamp(23px,2.7vw,34px); }
.nat-article > h3{ font-size:18px; }
.nat-article p{ font-size:15px; line-height:1.8; }
.nat-article > ul > li{ font-size:15px; }
.nat-pullcta-text{ font-size:16px; }
.nat-takeaways li{ font-size:14.5px; }
/* END type scale nudge */


/* TEMPLATE 2 — hero polish pass 2 (design only) */
.nat-hero-stats{ gap:32px; padding:18px 30px; box-shadow:0 8px 24px rgba(240,72,60,.10);
  background:linear-gradient(135deg,#FFF3F1,#FDE4E1); }
.nhs strong{ font-size:29px; background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.nhs span{ font-size:13px; font-weight:600; color:var(--text-dark); }
.nhs-div{ background:var(--primary-light); min-height:42px; }
.nat-cert{ transition:transform .18s, box-shadow .18s, border-color .18s; }
.nat-cert:hover{ transform:translateY(-2px); box-shadow:0 8px 18px rgba(26,26,46,.1); border-color:var(--primary-light); }
.nat-certs-label{ color:var(--text-mid); }
/* END hero polish pass 2 */


/* ═══════════════════════════════════════════════════════════════
   TEMPLATE 2 — HERO v6: reference-matched (design only)
   Overrides all earlier hero rules (appended last = wins).
   ═══════════════════════════════════════════════════════════════ */
.nat-hero{ position:relative; overflow:hidden; color:var(--text-dark); border-bottom:none; padding:0;
  background:linear-gradient(155deg,#FEF0EB 0%,#FDF7F4 48%,#FCECE7 100%); }
.nat-hero::before{ display:none; }
.nat-hero-bg{ position:absolute; inset:0; pointer-events:none; z-index:0;
  background:radial-gradient(620px 440px at 80% 6%, rgba(240,72,60,.10), transparent 60%); }
.nat-hero .container{ position:relative; z-index:1; }
.nat-hero-grid{ display:grid; grid-template-columns:1.12fr 430px; gap:52px; align-items:start; padding:44px 0 38px; }
.nat-hero-copy{ min-width:0; }

/* eyebrow pill */
.nat-hero-eyebrow{ display:inline-flex; align-items:center; gap:9px; background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-full); padding:8px 16px 8px 12px; font-size:13px; font-weight:600; letter-spacing:0;
  color:var(--text-dark); box-shadow:0 2px 8px rgba(26,26,46,.05); }
.nat-hero-eyebrow .nat-ic{ width:17px; height:17px; color:var(--primary); }

/* headline */
.nat-hero .nat-h1{ font-size:clamp(38px,5.3vw,60px); font-weight:800; line-height:1.04; letter-spacing:-1.5px;
  color:var(--text-dark); margin:20px 0 20px; }
.nat-hero .nat-h1::after{ display:none; }
.nat-h1-accent{ color:var(--primary); }

/* subhead */
.nat-hero-sub{ font-size:clamp(16px,1.6vw,18px); line-height:1.6; color:var(--text-mid); max-width:520px; margin:0 0 24px; }
.nat-hero-sub strong{ color:var(--text-dark); }

/* inline trust badges */
.nat-tbadges{ display:flex; flex-wrap:wrap; gap:14px 26px; margin:0 0 24px; }
.nat-tbadge{ display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:600; color:var(--text-dark); }
.nat-tbadge .nat-ic{ width:32px; height:32px; padding:7px; border-radius:9px; background:var(--bg-pink); color:var(--primary); }

/* elevated stat card */
.nat-rstats{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; background:var(--white); border:1px solid var(--border);
  border-radius:18px; box-shadow:0 22px 54px -20px rgba(26,26,46,.2); padding:24px 22px; margin:0 0 22px; }
.nat-rstat{ padding:0 6px; }
.nat-rstat-ic{ display:inline-flex; width:42px; height:42px; border-radius:50%; background:var(--bg-pink); color:var(--primary);
  align-items:center; justify-content:center; margin-bottom:12px; }
.nat-rstat-ic svg{ width:20px; height:20px; }
.nat-rstat strong{ display:block; font-size:32px; font-weight:800; line-height:1; color:var(--primary); }
.nat-rstat span{ display:block; margin-top:6px; font-size:13.5px; font-weight:600; color:var(--text-dark); line-height:1.3; }

/* equipment strip */
.nat-equip{ display:flex; align-items:stretch; border:1px solid var(--border); border-radius:14px; overflow:hidden;
  background:var(--white); margin:0 0 26px; }
.nat-equip-label{ flex-shrink:0; width:152px; padding:16px 18px; font-size:14px; line-height:1.4; color:var(--text-mid);
  border-right:1px solid var(--border); display:flex; align-items:center; }
.nat-equip-label strong{ color:var(--text-dark); }
.nat-equip-items{ display:flex; flex:1; align-items:flex-start; justify-content:space-around; gap:8px; padding:16px 14px; flex-wrap:wrap; }
.nat-eq{ display:flex; flex-direction:column; align-items:center; gap:8px; font-size:11.5px; font-weight:500; color:var(--text-mid); text-align:center; width:90px; line-height:1.3; }
.nat-eq-ic{ display:inline-flex; width:42px; height:42px; border-radius:50%; background:#FAFAFB; border:1px solid var(--border);
  color:var(--text-mid); align-items:center; justify-content:center; }
.nat-eq-ic svg{ width:20px; height:20px; }

/* actions */
.nat-hero-actions{ display:flex; flex-wrap:wrap; gap:14px; margin:0 0 16px; }
.nat-hero-actions .btn-primary{ font-size:15px; padding:15px 26px; box-shadow:0 12px 26px rgba(240,72,60,.3); transition:transform .18s, box-shadow .18s; }
.nat-hero-actions .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(240,72,60,.42); }
.nat-hero-actions .btn-outline{ border-color:var(--primary); color:var(--primary); background:transparent; padding:15px 22px; }
.nat-hero-actions .btn-outline:hover{ background:var(--primary); color:var(--white); }
.nat-hero-actions .btn .nat-ic{ width:16px; height:16px; }

/* reassurance row */
.nat-reassure{ display:flex; flex-wrap:wrap; gap:8px 22px; }
.nat-reassure span{ display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:500; color:var(--text-mid); }
.nat-reassure .nat-ic{ width:17px; height:17px; color:var(--primary); }

/* form extras */
.nat-hero-formcol{ display:flex; justify-content:flex-end; }
.nhf{ max-width:430px; }
.nhf-hl{ color:var(--primary); font-weight:600; }
.nhf-or{ display:flex; align-items:center; text-align:center; color:var(--text-light); font-size:11px; font-weight:700; letter-spacing:.5px; margin:8px 0 2px; }
.nhf-or::before,.nhf-or::after{ content:""; flex:1; height:1px; background:var(--border); }
.nhf-or span{ padding:0 14px; }
.nhf-call{ font-size:14px; }
.nhf-hours{ font-size:12px; color:var(--text-light); text-align:center; margin:0; }

/* bottom trust bar */
.nat-trustbar{ background:var(--white); border-top:1px solid var(--border); position:relative; z-index:1; }
.nat-trustbar-inner{ display:flex; align-items:center; gap:32px; flex-wrap:wrap; padding:22px 0; }
.nat-trustbar-label{ font-size:16px; font-weight:800; color:var(--text-dark); line-height:1.25; flex-shrink:0; }
.nat-trustbar-logos{ display:flex; align-items:center; gap:16px 34px; flex-wrap:wrap; margin-left:auto; }
.nat-tb{ display:flex; align-items:center; gap:10px; }
.nat-tb-ic{ display:inline-flex; width:40px; height:40px; border-radius:50%; background:#FAFAFB; border:1px solid var(--border);
  color:var(--primary); align-items:center; justify-content:center; }
.nat-tb-ic svg{ width:20px; height:20px; }
.nat-tb strong{ display:block; font-size:14px; color:var(--text-dark); line-height:1.15; }
.nat-tb span{ font-size:12px; color:var(--text-mid); }

/* responsive */
@media (max-width:980px){
  .nat-hero-grid{ grid-template-columns:1fr; gap:34px; padding:34px 0 30px; }
  .nat-hero-formcol{ justify-content:stretch; }
  .nhf{ max-width:560px; margin:0 auto; width:100%; }
  .nat-trustbar-inner{ justify-content:center; text-align:center; gap:20px; }
  .nat-trustbar-logos{ margin-left:0; justify-content:center; }
}
@media (max-width:640px){
  .nat-rstats{ grid-template-columns:1fr; gap:18px; }
  .nat-rstat{ display:flex; flex-direction:column; align-items:center; text-align:center; }
  .nat-equip{ flex-direction:column; }
  .nat-equip-label{ width:100%; border-right:none; border-bottom:1px solid var(--border); justify-content:center; text-align:center; }
  .nat-hero-actions .btn{ width:100%; justify-content:center; }
}
/* ═══════════════ END HERO v6 reference ═══════════════ */


/* hero v6 — equip label fix + content-restore tweaks */
.nat-equip-label{ width:174px; font-size:13.5px; }
.nat-equip-label span{ display:block; line-height:1.45; }
.nat-hero .nat-h1{ margin-top:18px; }
/* END equip label fix */

@media (max-width:640px){ .nat-equip-label{ width:100%; } }


/* hero v6 fixes — stat-card icons + trust-bar alignment */
.nat-rstat{ display:flex; flex-direction:column; align-items:flex-start; text-align:left; padding:0 8px; min-width:0; }
.nat-rstat-ic{ display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%;
  background:var(--bg-pink); color:var(--primary); margin:0 0 14px; flex-shrink:0; overflow:hidden; }
.nat-rstat-ic svg{ width:22px; height:22px; display:block; }
.nat-rstat strong{ display:block; font-size:30px; line-height:1; margin:0; color:var(--primary); }
.nat-rstat span{ display:block; margin-top:6px; }

/* trust bar: label left, logos aligned right */
.nat-trustbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:24px 32px; flex-wrap:wrap; padding:22px 0; }
.nat-trustbar-label{ flex-shrink:0; }
.nat-trustbar-logos{ margin-left:auto; display:flex; align-items:center; gap:18px 34px; flex-wrap:wrap; justify-content:flex-end; }
/* END hero v6 fixes */


/* hero v6 fixes 2 — stat-icon centering, balance, subhead width, logos centre */
/* stat icon: beat the .nat-rstat span rule that forced display:block */
.nat-rstat .nat-rstat-ic{ display:flex; align-items:center; justify-content:center; }
/* subhead uses full column width (was capped at 520 -> half) */
.nat-hero-sub{ max-width:none; }
/* balance the two columns + let the form fill its column */
.nat-hero-grid{ grid-template-columns:1.05fr 0.95fr; }
.nat-hero-formcol{ justify-content:stretch; }
.nhf{ max-width:none; width:100%; }
/* trust-bar logos centred (not right) */
.nat-trustbar-inner{ justify-content:center; gap:24px 44px; }
.nat-trustbar-logos{ margin-left:0; justify-content:center; }
@media (max-width:980px){ .nhf{ max-width:560px; } }
/* END hero v6 fixes 2 */


/* hero v6 fixes 3 — equal height, smaller stat box, fix And-More wrap */
/* left content and form column same height; form fills its column */
.nat-hero-grid{ align-items:stretch; }
.nat-hero-formcol{ align-items:stretch; }
.nhf{ height:100%; display:flex; flex-direction:column; }
.nhf-head{ flex-shrink:0; }
.nhf-body{ flex:1 1 auto; display:flex; flex-direction:column; justify-content:space-between; }

/* smaller, more compact stat box (like the reference) */
.nat-rstats{ padding:18px 20px; margin:0 0 18px; }
.nat-rstat-ic{ width:38px; height:38px; margin:0 0 10px; }
.nat-rstat-ic svg{ width:19px; height:19px; }
.nat-rstat strong{ font-size:26px; }
.nat-rstat span{ font-size:12.5px; }

/* equipment strip: fit all 5 on ONE row (no And-More wrap) */
.nat-equip-label{ width:148px; font-size:13px; }
.nat-equip-items{ flex-wrap:nowrap; gap:4px; justify-content:space-between; padding:14px 12px; }
.nat-eq{ width:auto; flex:1 1 0; min-width:0; font-size:11px; gap:6px; }
.nat-eq-ic{ width:38px; height:38px; }
.nat-eq-ic svg{ width:18px; height:18px; }
@media (max-width:640px){ .nat-equip-items{ flex-wrap:wrap; } .nat-eq{ flex:0 0 auto; width:84px; } }
/* END hero v6 fixes 3 */


/* hero — stat row enhancement (design only) */
.nat-rstats{ transition:transform .25s ease, box-shadow .25s ease; }
.nat-rstats:hover{ transform:translateY(-3px); box-shadow:0 30px 66px -18px rgba(26,26,46,.24); }
.nat-rstat{ position:relative; }
/* subtle divider between stats */
.nat-rstat + .nat-rstat::before{ content:""; position:absolute; left:-4px; top:6px; bottom:6px; width:1px;
  background:linear-gradient(180deg, transparent, var(--border) 20%, var(--border) 80%, transparent); }
/* coral gradient icon circle with white icon */
.nat-rstat .nat-rstat-ic{ width:42px; height:42px; background:linear-gradient(135deg, var(--primary), var(--primary-dark));
  color:#fff; box-shadow:0 7px 16px rgba(240,72,60,.34); margin-bottom:12px; }
.nat-rstat .nat-rstat-ic svg{ width:20px; height:20px; }
/* gradient numerals */
.nat-rstat strong{ font-size:28px; background:linear-gradient(135deg, var(--primary), var(--primary-dark));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.nat-rstat span{ font-size:12.5px; font-weight:600; color:var(--text-dark); }
/* END stat row enhancement */


/* stat box — more compact */
.nat-rstats{ padding:14px 18px; margin:0 0 16px; }
.nat-rstat{ padding:0 6px; }
.nat-rstat .nat-rstat-ic{ width:34px; height:34px; margin-bottom:8px; box-shadow:0 5px 12px rgba(240,72,60,.3); }
.nat-rstat .nat-rstat-ic svg{ width:17px; height:17px; }
.nat-rstat strong{ font-size:23px; }
.nat-rstat span{ font-size:12px; margin-top:4px; }
.nat-rstat + .nat-rstat::before{ top:4px; bottom:4px; }
/* END stat box compact */


/* stat box — enhance more (design only) */
.nat-rstats{ background:linear-gradient(135deg,#FFFFFF 0%,#FFF6F3 100%); border-color:#FBE3DE; }
.nat-rstat{ transition:transform .2s ease; }
.nat-rstat:hover{ transform:translateY(-2px); }
/* icon: outer ring + hover pop */
.nat-rstat .nat-rstat-ic{ position:relative; transition:transform .2s ease, box-shadow .2s ease; }
.nat-rstat .nat-rstat-ic::after{ content:""; position:absolute; inset:-4px; border-radius:50%; border:1px solid rgba(240,72,60,.28); }
.nat-rstat:hover .nat-rstat-ic{ transform:scale(1.08); box-shadow:0 9px 20px rgba(240,72,60,.44); }
/* refined labels: uppercase, spaced */
.nat-rstat span{ text-transform:uppercase; letter-spacing:.6px; font-size:10.5px; font-weight:700; color:var(--text-mid); margin-top:5px; }
/* number: keep gradient, tiny bump for balance */
.nat-rstat strong{ font-size:24px; letter-spacing:-.5px; }
/* END stat box enhance more */


/* stat box — more colour + reduced breadth */
.nat-rstats{ max-width:470px; background:linear-gradient(135deg,#FFEBE6 0%,#FCD8D0 100%); border-color:#F6CDC5; }
.nat-rstat + .nat-rstat::before{ background:linear-gradient(180deg, transparent, rgba(212,90,78,.28) 20%, rgba(212,90,78,.28) 80%, transparent); }
.nat-rstat span{ color:var(--primary-dark); }
/* END stat box colour + breadth */


/* stat box — soften colour slightly */
.nat-rstats{ background:linear-gradient(135deg,#FFF5F2 0%,#FDE9E4 100%); border-color:#F8D8D1; }
/* END soften colour */


/* stat box — premium interaction: pulsing icon rings */
@keyframes natRingPulse{ 0%,100%{ transform:scale(1); opacity:.30; } 50%{ transform:scale(1.14); opacity:.08; } }
.nat-rstat .nat-rstat-ic::after{ transform-origin:center; animation:natRingPulse 2.8s ease-in-out infinite; }
.nat-rstat:nth-child(2) .nat-rstat-ic::after{ animation-delay:.5s; }
.nat-rstat:nth-child(3) .nat-rstat-ic::after{ animation-delay:1s; }
@media (prefers-reduced-motion:reduce){ .nat-rstat .nat-rstat-ic::after{ animation:none; } }
/* END pulsing rings */


/* ═══════════ right-side form — premium enhancement (design only) ═══════════ */
/* card depth */
.nhf{ box-shadow:0 30px 70px -18px rgba(90,22,17,.28), 0 8px 22px rgba(26,26,46,.06); border-color:#F1D9D3; }

/* header: soft coral-tint + FREE pill badge */
.nhf-head{ background:linear-gradient(135deg,#FFF6F3 0%,#FFEBE5 100%); padding:22px 26px 20px; }
.nhf-eyebrow{ display:inline-block; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:#fff;
  padding:5px 13px; border-radius:var(--radius-full); font-size:10px; font-weight:800; letter-spacing:1.2px;
  margin-bottom:11px; box-shadow:0 4px 10px rgba(240,72,60,.3); }
.nhf-title{ font-size:22px; letter-spacing:-.4px; }
.nhf-sub{ font-size:13.5px; }

/* inputs: hover + focus refinements, icon turns coral on focus */
.nhf-body input, .nhf-body select{ background:#FCFBFC; transition:border-color .18s, box-shadow .18s, background .18s; }
.nhf-body input:hover, .nhf-body select:hover{ border-color:#EEC4BC; }
.nhf-body input:focus, .nhf-body select:focus{ background:#fff; border-color:var(--primary); box-shadow:0 0 0 3px rgba(240,72,60,.15); }
.nhf-field:focus-within .nhf-icon{ color:var(--primary); }

/* submit: bolder gradient + hover shine/lift */
.nhf-submit{ padding:16px 18px; font-size:15px; font-weight:800; letter-spacing:.2px; border-radius:12px;
  background:linear-gradient(135deg,#F35A4C 0%,#D2372C 100%); box-shadow:0 14px 28px rgba(240,72,60,.36);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.nhf-submit:hover{ transform:translateY(-2px); box-shadow:0 18px 38px rgba(240,72,60,.48); filter:brightness(1.05); }

/* trust note + OR + call refinements */
.nhf-note{ font-size:11.5px; color:var(--text-mid); font-weight:500; }
.nhf-or{ margin:10px 0 4px; }
.nhf-or span{ color:var(--text-light); }
.nhf-call a{ color:var(--primary-dark); }
.nhf-call a:hover{ text-decoration:underline; }
/* ═══════════ END form enhancement ═══════════ */


/* form — natural spacing (stop the spread) + push OR block to bottom + trust line */
.nhf-body{ justify-content:flex-start; gap:13px; padding:20px 26px 22px; }
.nhf-or{ margin-top:auto; }                 /* only the OR/call block goes to the bottom */
.nhf-note{ margin-top:0; }
.nhf-trust{ display:flex; align-items:center; gap:7px; font-size:12px; font-weight:600; color:var(--primary-dark); margin:12px 0 0; }
.nhf-trust svg{ width:15px; height:15px; flex-shrink:0; }
/* END form spacing + trust */


/* trust bar — real logo images (only logos) */
.nat-trustbar-logos{ gap:16px 30px; align-items:center; }
.nat-tblogo{ height:46px; width:auto; max-width:150px; object-fit:contain; display:block; }
.nat-tblogo[src*="hipaa"]{ height:48px; }   /* caduceus reads small; nudge up */
/* END trust bar logos */


/* trust bar logos — uniform sizing (trimmed images) */
.nat-trustbar-logos{ gap:14px 34px; align-items:center; }
.nat-tblogo{ height:40px; width:auto; max-width:150px; object-fit:contain; display:block; }
.nat-tblogo[src*="soc2"]{ height:48px; }   /* compact circle reads smaller */
.nat-tblogo[src*="hipaa"]{ height:44px; }
/* END trust bar logos uniform */


/* trust bar logos — larger */
.nat-trustbar-inner{ padding:26px 0; }
.nat-trustbar-logos{ gap:16px 40px; }
.nat-tblogo{ height:56px; max-width:200px; }
.nat-tblogo[src*="soc2"]{ height:62px; }
.nat-tblogo[src*="hipaa"]{ height:58px; }
/* END trust bar logos larger */


/* trust bar — premium: logo cards + tinted band */
.nat-trustbar{ background:linear-gradient(180deg,#FFFFFF 0%,#FDF6F3 100%); border-top:1px solid #F3E4DF; }
.nat-trustbar-inner{ padding:28px 0; gap:24px 40px; }
.nat-trustbar-label{ font-size:16.5px; }
.nat-trustbar-logos{ gap:18px; }
.nat-tbcard{ display:flex; align-items:center; justify-content:center; padding:14px 22px; min-height:78px; min-width:120px;
  background:#fff; border:1px solid var(--border); border-radius:16px; box-shadow:0 5px 18px rgba(26,26,46,.07);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.nat-tbcard:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(26,26,46,.13); border-color:var(--primary-light); }
.nat-tbcard .nat-tblogo{ height:46px; max-width:150px; }
.nat-tbcard .nat-tblogo[src*="soc2"]{ height:52px; }
.nat-tbcard .nat-tblogo[src*="hipaa"]{ height:50px; }
/* END trust bar premium */


/* trust bar — balance compact logos (HIPAA shield, SOC 2 circle) */
.nat-tbcard{ min-height:90px; padding:12px 24px; }
.nat-tbcard .nat-tblogo{ height:48px; max-width:160px; }
.nat-tbcard .nat-tblogo[src*="hipaa"]{ height:62px; }
.nat-tbcard .nat-tblogo[src*="soc2"]{ height:66px; }
/* END balance compact logos */


/* trust bar — bigger SOC 2 (keep card height uniform via reduced padding) */
.nat-tbcard .nat-tblogo[src*="soc2"]{ height:76px; }
.nat-tbcard:has(.nat-tblogo[src*="soc2"]){ padding-top:7px; padding-bottom:7px; }
/* END bigger SOC 2 */


/* content update — right-size longer H1 + single-col checklist */
.nat-hero .nat-h1{ font-size:clamp(28px,3.4vw,42px); line-height:1.08; letter-spacing:-1px; }
.nat-checklist{ grid-template-columns:1fr; gap:11px; }
/* END content update */


/* DME billing challenge — icon cards */
.nat-challenges{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin:10px 0 22px; }
.nat-chal{ display:flex; gap:14px; align-items:flex-start; background:var(--white); border:1px solid var(--border);
  border-radius:14px; padding:18px 20px; box-shadow:0 4px 14px rgba(26,26,46,.05);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.nat-chal:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(26,26,46,.1); border-color:var(--primary-light); }
.nat-chal:last-child{ grid-column:1 / -1; }
.nat-chal-ic{ flex-shrink:0; display:flex; align-items:center; justify-content:center; width:44px; height:44px;
  border-radius:12px; background:var(--bg-pink); color:var(--primary); }
.nat-chal-ic svg{ width:22px; height:22px; }
.nat-chal p{ margin:0; font-size:14.5px; line-height:1.6; color:var(--text-mid); }
.nat-chal p strong{ display:block; margin-bottom:3px; font-size:15.5px; color:var(--text-dark); }
@media (max-width:768px){ .nat-challenges{ grid-template-columns:1fr; } .nat-chal:last-child{ grid-column:auto; } }
/* END challenge cards */


/* FIX: article link-color was making .btn-primary text coral-on-coral (invisible) */
.nat-article a.btn-primary, .nat-article a.btn-white{ font-weight:700; }
.nat-article a.btn-primary{ color:#fff; -webkit-text-fill-color:#fff; }
.nat-article a.btn-white{ color:var(--primary); -webkit-text-fill-color:var(--primary); }

/* pull-quote CTA — premium enhancement */
.nat-pullcta{ position:relative; overflow:hidden; background:linear-gradient(135deg,#FFF4F1 0%,#FDE2DE 100%);
  border:1px solid var(--primary-light); border-left:4px solid var(--primary); border-radius:18px;
  box-shadow:0 14px 36px rgba(240,72,60,.14); padding:30px 32px; margin:34px 0; }
.nat-pullcta::before{ content:"“"; position:absolute; top:2px; right:26px; font-family:Georgia, serif;
  font-size:130px; line-height:1; color:rgba(240,72,60,.12); pointer-events:none; }
.nat-pullcta-text{ position:relative; font-size:17px; line-height:1.6; color:var(--text-mid); margin:0 0 18px; max-width:760px; }
.nat-pullcta-text strong{ display:block; font-size:19px; color:var(--text-dark); margin-bottom:6px; }
.nat-pullcta-actions{ position:relative; display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.nat-pullcta-actions .btn-primary{ background:linear-gradient(135deg,var(--primary),var(--primary-dark)); border-radius:12px;
  padding:14px 26px; font-size:15px; box-shadow:0 12px 26px rgba(240,72,60,.34); transition:transform .18s ease, box-shadow .18s ease; }
.nat-pullcta-actions .btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(240,72,60,.46); }
.nat-pullcta-phone{ display:inline-flex; align-items:center; gap:8px; font-size:16px; font-weight:700; color:var(--primary-dark); text-decoration:none; }
.nat-pullcta-phone:hover{ text-decoration:underline; }
/* END pull-cta enhancement */


/* FIX + enhance: final CTA subtext contrast + button polish */
.nat-article .nat-final-cta p{ color:rgba(255,255,255,.94); }
.nat-final-cta h2{ letter-spacing:-.5px; }
.nat-final-cta .btn-white{ transition:transform .18s ease, box-shadow .18s ease; box-shadow:0 10px 24px rgba(0,0,0,.16); }
.nat-final-cta .btn-white:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(0,0,0,.24); }
.nat-final-cta .btn-outline:hover{ transform:translateY(-2px); }
/* END final CTA fix */


/* video testimonials */
.nat-vt-intro{ font-size:15px; color:var(--text-mid); margin:0 0 18px; }
.nat-vt-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:0 0 10px; align-items:start; }
.nat-vt{ background:var(--white); border:1px solid var(--border); border-radius:16px; overflow:hidden;
  box-shadow:0 6px 20px rgba(26,26,46,.07); display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; }
.nat-vt:hover{ transform:translateY(-4px); box-shadow:0 18px 38px rgba(26,26,46,.12); }
.nat-vt-video{ position:relative; aspect-ratio:16/9; cursor:pointer; background:#0d0d16; overflow:hidden; }
.nat-vt-video img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.nat-vt-video:hover img{ transform:scale(1.05); }
.nat-vt-video iframe{ width:100%; height:100%; border:0; display:block; }
.nat-vt-play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:56px; height:56px; border-radius:50%;
  background:rgba(240,72,60,.94); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(0,0,0,.34); transition:transform .2s ease, background .2s ease; }
.nat-vt-play svg{ width:22px; height:22px; margin-left:2px; }
.nat-vt-video:hover .nat-vt-play{ transform:translate(-50%,-50%) scale(1.1); background:var(--primary); }
.nat-vt-video.playing .nat-vt-play{ display:none; }
.nat-vt-body{ padding:18px 20px 20px; display:flex; flex-direction:column; gap:9px; }
.nat-vt-stars{ color:#F5A623; font-size:13px; letter-spacing:2px; }
.nat-vt-quote{ font-size:13.5px; line-height:1.6; color:var(--text-mid); margin:0; }
.nat-vt-name{ font-size:13px; color:var(--text-light); margin:0; }
.nat-vt-name strong{ color:var(--text-dark); }
@media (max-width:900px){ .nat-vt-grid{ grid-template-columns:1fr; max-width:460px; } }
/* END video testimonials */


/* text testimonial cards (premium) + video subhead */
.nat-quotes-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:2px 0 34px; align-items:start; }
.nat-quote-card{ position:relative; background:var(--white); border:1px solid var(--border); border-radius:16px;
  padding:26px 24px 22px; box-shadow:0 6px 20px rgba(26,26,46,.06); overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.nat-quote-card:hover{ transform:translateY(-4px); box-shadow:0 18px 38px rgba(26,26,46,.1); border-color:var(--primary-light); }
.nat-quote-mark{ position:absolute; top:4px; right:20px; font-family:Georgia, serif; font-size:92px; line-height:1; color:rgba(240,72,60,.12); pointer-events:none; }
.nat-quote-stars{ color:#F5A623; font-size:14px; letter-spacing:2px; margin-bottom:12px; position:relative; }
.nat-quote-text{ position:relative; font-size:15px; line-height:1.7; color:var(--text-dark); margin:0 0 18px; }
.nat-quote-author{ display:flex; align-items:center; gap:12px; }
.nat-quote-avatar{ flex-shrink:0; width:44px; height:44px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  color:#fff; display:flex; align-items:center; justify-content:center; font-size:12.5px; font-weight:800; letter-spacing:.5px; }
.nat-quote-author strong{ display:block; font-size:14.5px; color:var(--text-dark); }
.nat-quote-author span{ font-size:12.5px; color:var(--text-light); }
.nat-vt-subhead{ font-size:18px; font-weight:700; color:var(--text-dark); margin:6px 0 14px; }
@media (max-width:900px){ .nat-quotes-grid{ grid-template-columns:1fr; max-width:460px; } }
/* END text testimonial cards */


/* testimonials — tidy quote lengths */
.nat-vt-quote{ display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.nat-quote-text{ min-height:96px; }
/* END tidy quotes */


/* premium case study */
.nat-case{ background:var(--white); border:1px solid var(--border); border-radius:20px; overflow:hidden;
  box-shadow:0 12px 34px rgba(26,26,46,.09); margin:6px 0 12px; }
.nat-case-top{ padding:26px 30px 20px; border-bottom:1px solid var(--border);
  background:linear-gradient(135deg,#FFF6F3,#FFEFEA); }
.nat-case-eyebrow{ font-size:11px; font-weight:800; letter-spacing:1.4px; color:var(--primary); text-transform:uppercase; }
.nat-case-title{ font-size:22px; font-weight:800; color:var(--text-dark); margin:9px 0 0; line-height:1.25; letter-spacing:-.3px; }
.nat-case-body{ display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:24px 30px 26px; }
.nat-case-label{ display:inline-block; font-size:10.5px; font-weight:800; letter-spacing:.6px; text-transform:uppercase;
  padding:4px 12px; border-radius:var(--radius-full); margin-bottom:11px; }
.nat-case-label--chal{ background:#FEE7E2; color:var(--primary-dark); }
.nat-case-label--sol{ background:#E4F6EC; color:#178a4e; }
.nat-case-col p{ margin:0; font-size:14.5px; line-height:1.65; color:var(--text-mid); }
.nat-case-results{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border-top:1px solid var(--border); }
.nat-case-stat{ background:linear-gradient(180deg,#FFF8F5,#FFFFFF); padding:22px 18px; text-align:center; }
.nat-case-stat-label{ display:block; font-size:11.5px; font-weight:700; color:var(--text-mid); margin-bottom:10px; text-transform:uppercase; letter-spacing:.5px; }
.nat-case-stat-val{ display:flex; align-items:center; justify-content:center; gap:8px; }
.nat-case-stat .was{ font-size:17px; font-weight:600; color:var(--text-light); text-decoration:line-through; }
.nat-case-stat svg{ width:18px; height:18px; color:var(--primary); flex-shrink:0; }
.nat-case-stat .now{ font-size:29px; font-weight:800; line-height:1;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.nat-case-note{ font-size:11.5px; color:var(--text-light); font-style:italic; margin:0; padding:14px 30px 18px; }
@media (max-width:768px){ .nat-case-body{ grid-template-columns:1fr; gap:20px; } .nat-case-results{ grid-template-columns:1fr; } }
/* END premium case study */


/* ═══ CLIENT SUCCESS STORIES — reference testimonial section ═══ */
.tsection{ position:relative; text-align:center; padding:14px 0 6px; margin:6px 0 0; }
.tsection-qmark{ position:absolute; top:-6px; right:0; font-family:Georgia,serif; font-size:120px; line-height:1; color:rgba(240,72,60,.07); pointer-events:none; }
.tsection-eyebrow{ display:inline-flex; align-items:center; gap:14px; font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--primary); margin-bottom:12px; }
.tsection-eyebrow::before,.tsection-eyebrow::after{ content:""; width:42px; height:2px; background:linear-gradient(90deg,transparent,var(--primary)); }
.tsection-eyebrow::after{ background:linear-gradient(90deg,var(--primary),transparent); }
.tsection-title{ font-size:clamp(28px,3.4vw,40px); font-weight:800; color:var(--text-dark); letter-spacing:-1px; margin:0 0 12px; line-height:1.1; }
.tsection-title span{ color:var(--primary); }
.tsection-sub{ font-size:15px; color:var(--text-mid); max-width:600px; margin:0 auto 30px; line-height:1.6; }

.tcards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; text-align:left; margin-bottom:34px; }
.tcard{ position:relative; background:var(--white); border:1px solid var(--border); border-radius:18px; padding:22px 22px 0;
  box-shadow:0 8px 28px rgba(26,26,46,.08); overflow:hidden; display:flex; flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease; }
.tcard:hover{ transform:translateY(-5px); box-shadow:0 22px 46px rgba(26,26,46,.14); }
.tcard-head{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:12px; }
.tcard-stars{ color:var(--primary); font-size:14px; letter-spacing:2px; }
.tcard-qmark{ font-family:Georgia,serif; font-size:56px; line-height:.4; color:rgba(240,72,60,.18); }
.tcard-main{ position:relative; display:flex; gap:16px; align-items:flex-start; padding-bottom:20px; }
.tcard-deco{ position:absolute; left:-30px; top:-8px; width:96px; height:96px; border-radius:50%; background:rgba(240,72,60,.08); z-index:0; }
.tcard-icon{ position:relative; z-index:1; flex-shrink:0; width:52px; height:52px; border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 18px rgba(240,72,60,.34); }
.tcard-icon svg{ width:24px; height:24px; }
.tcard-quote{ position:relative; z-index:1; margin:0; font-size:14px; line-height:1.6; color:var(--text-mid); }
.tcard-foot{ border-top:1px solid var(--border); padding:16px 0 20px; display:flex; align-items:center; gap:12px; margin-top:auto; }
.tcard-avatar{ flex-shrink:0; width:44px; height:44px; border-radius:50%; border:1.5px solid var(--primary-light); color:var(--primary);
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; letter-spacing:.5px; }
.tcard-name strong{ display:block; font-size:15px; color:var(--text-dark); }
.tcard-name span{ font-size:12.5px; color:var(--text-light); }
.tcard-accent{ position:absolute; bottom:0; left:22px; width:58px; height:4px; border-radius:2px 2px 0 0; background:var(--primary); }

.tstats{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; }
.tstat{ display:flex; align-items:center; gap:14px; padding:0 30px; }
.tstat-ic{ width:52px; height:52px; border-radius:50%; border:2px solid var(--border); color:var(--primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.tstat-ic svg{ width:24px; height:24px; }
.tstat strong{ display:block; font-size:26px; font-weight:800; color:var(--primary); line-height:1; }
.tstat span{ font-size:13px; color:var(--text-mid); }
.tstat-div{ width:1px; height:46px; background:var(--border); }

@media (max-width:900px){
  .tcards{ grid-template-columns:1fr; max-width:430px; margin:0 auto 30px; }
  .tstats{ flex-direction:column; gap:20px; } .tstat-div{ display:none; } .tstat{ padding:0; }
}
/* ═══ END CLIENT SUCCESS STORIES ═══ */


/* testimonial cards — float icon so quote uses full width (fixes skinny/lengthy) */
.tcard{ padding:22px 24px 0; }
.tcard-main{ display:block; }
.tcard-main::after{ content:""; display:table; clear:both; }
.tcard-icon{ float:left; margin:2px 16px 6px 0; width:50px; height:50px; }
.tcard-icon svg{ width:23px; height:23px; }
.tcard-deco{ left:-24px; top:-2px; width:88px; height:88px; }
.tcard-quote{ display:block; font-size:14.5px; line-height:1.65; color:var(--text-mid); }
/* END float fix */


/* full-width testimonials + final CTA (roomy reference-width cards) */
.ts-full{ background:#F8F9FB; border-top:1px solid var(--border); padding:54px 0 50px; }
.ts-full .tsection{ padding-top:0; margin-top:0; }
.fcta-full{ padding:48px 0 8px; }
/* now there is room: icon beside quote (reference layout) */
.tcard-main{ display:flex; align-items:center; }
.tcard-main::after{ content:none; }
.tcard-icon{ float:none; margin:0 16px 0 0; }
.tcard-quote{ display:block; }
/* END full-width testimonials */


/* testimonials — unify text + video + one CTA into a single section */
.nat-vt-subhead{ text-align:center; font-size:20px; font-weight:800; color:var(--text-dark); letter-spacing:-.3px; margin:40px 0 22px; }
.ts-cta{ text-align:center; margin-top:40px; }
.ts-cta-text{ font-size:17px; font-weight:600; color:var(--text-dark); margin:0 0 16px; }
.ts-cta-btn{ font-size:15px; padding:15px 30px; box-shadow:0 12px 28px rgba(240,72,60,.32); transition:transform .18s ease, box-shadow .18s ease; }
.ts-cta-btn:hover{ transform:translateY(-2px); box-shadow:0 16px 36px rgba(240,72,60,.42); }
/* END unify testimonials */


/* ═══ premium FAQ accordion ═══ */
.pfaq-head{ text-align:center; margin:6px 0 26px; }
.pfaq-eyebrow{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--primary); margin-bottom:10px; }
.pfaq-title{ font-size:clamp(26px,3vw,36px); font-weight:800; color:var(--text-dark); letter-spacing:-.5px; margin:0 0 10px; line-height:1.15; scroll-margin-top:120px; }
.pfaq-title span{ color:var(--primary); }
.pfaq-sub{ font-size:15px; color:var(--text-mid); margin:0; }
.pfaq{ max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.pfaq-item{ background:var(--white); border:1px solid var(--border); border-radius:14px; overflow:hidden;
  transition:box-shadow .25s ease, border-color .25s ease; }
.pfaq-item.open{ border-color:var(--primary-light); box-shadow:0 14px 34px rgba(26,26,46,.11); }
.pfaq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px;
  text-align:left; font-size:16px; font-weight:600; color:var(--text-dark); background:none; border:none; cursor:pointer; font-family:inherit; }
.pfaq-q:hover{ color:var(--primary); }
.pfaq-item.open .pfaq-q{ color:var(--primary); }
.pfaq-ic{ flex-shrink:0; width:32px; height:32px; border-radius:50%; background:var(--bg-pink); color:var(--primary);
  display:flex; align-items:center; justify-content:center; transition:transform .3s ease, background .25s ease, color .25s ease; }
.pfaq-ic svg{ width:16px; height:16px; }
.pfaq-item.open .pfaq-ic{ transform:rotate(180deg); background:var(--primary); color:#fff; }
.pfaq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.pfaq-a-in{ padding:0 22px 20px; }
.pfaq-a-in p{ margin:0; font-size:15px; line-height:1.72; color:var(--text-mid); }
/* ═══ END premium FAQ ═══ */


/* ═══ FAQ v2 — numbered + gradient open-state + support card ═══ */
.pfaq-q{ padding:20px 22px; gap:16px; align-items:center; }
.pfaq-num{ flex-shrink:0; width:36px; height:36px; border-radius:11px; background:var(--bg-pink); color:var(--primary);
  font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center;
  transition:background .25s ease, color .25s ease, box-shadow .25s ease; }
.pfaq-item.open .pfaq-num{ background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:#fff; box-shadow:0 6px 14px rgba(240,72,60,.32); }
.pfaq-qtext{ flex:1; }
.pfaq-item{ border-radius:16px; }
.pfaq-item.open{ background:linear-gradient(180deg,#FFF7F5 0%,#FFFFFF 60%); border-color:var(--primary-light); box-shadow:0 16px 38px rgba(26,26,46,.12); }
.pfaq-a-in{ padding:0 22px 22px 74px; }
.pfaq-a-in p{ font-size:15px; line-height:1.72; color:var(--text-mid); }

.pfaq-support{ max-width:760px; margin:26px auto 0; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background:linear-gradient(135deg,#FFF3F0,#FFE7E1); border:1px solid var(--primary-light); border-radius:18px; padding:24px 30px; }
.pfaq-support-txt strong{ display:block; font-size:18px; font-weight:800; color:var(--text-dark); }
.pfaq-support-txt span{ font-size:14px; color:var(--text-mid); }
.pfaq-support-actions{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.pfaq-support-phone{ font-weight:700; color:var(--primary-dark); text-decoration:none; white-space:nowrap; }
.pfaq-support-phone:hover{ text-decoration:underline; }
@media (max-width:560px){ .pfaq-support{ flex-direction:column; align-items:flex-start; } .pfaq-a-in{ padding-left:22px; } }
/* ═══ END FAQ v2 ═══ */


/* ═══ FAQ 2-column — compact modern ═══ */
.pfaq{ max-width:none; display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.pfaq-col{ display:flex; flex-direction:column; gap:10px; }
/* cleaner, less-boxy closed state */
.pfaq-item{ border:1px solid var(--border); border-radius:14px; box-shadow:none; background:var(--white); }
.pfaq-item:hover{ border-color:var(--primary-light); }
.pfaq-item.open{ box-shadow:0 14px 34px rgba(26,26,46,.1); }
.pfaq-q{ padding:16px 18px; gap:13px; font-size:15px; }
.pfaq-num{ width:30px; height:30px; border-radius:9px; font-size:12px; }
.pfaq-ic{ width:28px; height:28px; }
.pfaq-ic svg{ width:15px; height:15px; }
.pfaq-a-in{ padding:0 18px 18px 61px; }
.pfaq-a-in p{ font-size:14px; line-height:1.65; }
@media (max-width:820px){ .pfaq{ grid-template-columns:1fr; max-width:640px; margin:0 auto; } .pfaq-a-in{ padding-left:61px; } }
/* ═══ END FAQ 2-column ═══ */


/* ═══ Related services + state grid ═══ */
.rel-label{ font-size:14px; font-weight:800; color:var(--text-dark); text-transform:uppercase; letter-spacing:.6px;
  margin:26px 0 14px; display:flex; align-items:center; gap:11px; }
.rel-label::before{ content:""; width:22px; height:3px; border-radius:2px; background:linear-gradient(90deg,var(--primary),var(--primary-dark)); }

.rel-services{ display:flex; flex-wrap:wrap; gap:12px; }
.rel-chip{ display:inline-flex; align-items:center; gap:8px; background:var(--white); border:1px solid var(--border);
  border-radius:var(--radius-full); padding:10px 18px; font-size:14px; font-weight:600; color:var(--text-dark); text-decoration:none;
  box-shadow:0 2px 8px rgba(26,26,46,.05); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease; }
.rel-chip:hover{ border-color:var(--primary); color:var(--primary); transform:translateY(-2px); box-shadow:0 10px 20px rgba(240,72,60,.16); }
.rel-chip svg{ width:14px; height:14px; color:var(--primary); transition:transform .18s ease; }
.rel-chip:hover svg{ transform:translateX(3px); }

.rel-sub{ font-size:14px; color:var(--text-mid); margin:0 0 16px; }
.state-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px,1fr)); gap:10px; }
.state-chip{ display:flex; align-items:center; gap:8px; background:var(--white); border:1px solid var(--border); border-radius:11px;
  padding:11px 14px; font-size:13.5px; font-weight:500; color:var(--text-mid); text-decoration:none; transition:.18s ease; }
.state-chip svg{ width:14px; height:14px; color:var(--text-light); flex-shrink:0; transition:color .18s ease; }
.state-chip:hover{ border-color:var(--primary); color:var(--primary); background:var(--bg-pink); box-shadow:0 4px 12px rgba(240,72,60,.1); }
.state-chip:hover svg{ color:var(--primary); }
@media (max-width:520px){ .state-grid{ grid-template-columns:repeat(auto-fill, minmax(120px,1fr)); } }
/* ═══ END related + states ═══ */


/* ═══ Our DME billing services — icon cards ═══ */
.svc-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:10px 0 22px; }
.svc-item{ display:flex; gap:14px; align-items:flex-start; background:var(--white); border:1px solid var(--border); border-radius:14px;
  padding:16px 18px; box-shadow:0 3px 12px rgba(26,26,46,.05); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.svc-item:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(26,26,46,.1); border-color:var(--primary-light); }
.svc-item:last-child:nth-child(odd){ grid-column:1 / -1; }
.svc-ic{ flex-shrink:0; display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:11px;
  background:var(--bg-pink); color:var(--primary); }
.svc-ic svg{ width:21px; height:21px; }
.svc-txt{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.svc-title{ font-size:15px; font-weight:700; color:var(--text-dark); line-height:1.3; }
.svc-title a{ color:var(--text-dark); text-decoration:none; }
.svc-title a:hover{ color:var(--primary); }
.svc-desc{ font-size:13.5px; line-height:1.5; color:var(--text-mid); }
@media (max-width:768px){ .svc-grid{ grid-template-columns:1fr; } .svc-item:last-child:nth-child(odd){ grid-column:auto; } }
/* ═══ END services cards ═══ */


/* services cards — title-case titles (CSS-only) + richer hover */
.svc-title{ text-transform:capitalize; }
.svc-ic{ transition:background .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease; }
.svc-item:hover .svc-ic{ background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:#fff; transform:scale(1.07); box-shadow:0 9px 20px rgba(240,72,60,.34); }
.svc-item{ box-shadow:0 4px 14px rgba(26,26,46,.05); }
.svc-item:hover{ box-shadow:0 14px 32px rgba(26,26,46,.12); }
/* END services title-case + hover */


/* ═══ Clean-claim checklist — check cards ═══ */
.chk-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:10px 0 22px; }
.chk-item{ display:flex; gap:14px; align-items:flex-start; background:var(--white); border:1px solid var(--border); border-radius:14px;
  padding:16px 18px; box-shadow:0 3px 12px rgba(26,26,46,.05); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.chk-item:hover{ transform:translateY(-3px); box-shadow:0 12px 28px rgba(26,26,46,.1); border-color:var(--primary-light); }
.chk-ic{ flex-shrink:0; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:#fff; box-shadow:0 6px 14px rgba(240,72,60,.3); }
.chk-ic svg{ width:18px; height:18px; }
.chk-item p{ margin:0; font-size:14.5px; line-height:1.55; color:var(--text-mid); }
.chk-item p strong{ color:var(--text-dark); }
@media (max-width:768px){ .chk-grid{ grid-template-columns:1fr; } }
/* ═══ END checklist cards ═══ */


/* ═══ Switching to 247MBS — dark de-risk panel ═══ */
.switch-panel{ position:relative; overflow:hidden; background:linear-gradient(135deg,#24243C 0%,#141422 100%);
  border-radius:22px; padding:34px 36px; margin:10px 0 22px; box-shadow:0 20px 50px rgba(20,20,34,.28); }
.switch-panel::before{ content:""; position:absolute; top:-38%; right:-8%; width:380px; height:380px; border-radius:50%;
  background:radial-gradient(circle, rgba(240,72,60,.20), transparent 65%); pointer-events:none; }
.switch-list{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:26px 32px; }
.switch-item{ display:flex; gap:15px; align-items:flex-start; }
.switch-item:last-child:nth-child(odd){ grid-column:1 / -1; }
.switch-ic{ flex-shrink:0; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:#fff; box-shadow:0 8px 18px rgba(240,72,60,.42); }
.switch-ic svg{ width:22px; height:22px; }
.switch-txt strong{ display:block; color:#fff; font-size:15.5px; margin-bottom:4px; line-height:1.3; }
.switch-txt span{ font-size:14px; line-height:1.6; color:rgba(255,255,255,.72); }
@media (max-width:768px){ .switch-list{ grid-template-columns:1fr; gap:22px; } .switch-item:last-child:nth-child(odd){ grid-column:auto; } .switch-panel{ padding:28px 24px; } }
/* ═══ END switch panel ═══ */


/* ═══ Outsource cost-model comparison (replaces the fixed-$ savings calculator) ═══ */
.osc-compare{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.osc-col{ display:flex; flex-direction:column; gap:9px; }
.osc-col--247{ position:relative; }
.osc-col--247::before{ content:""; position:absolute; left:-7px; top:2px; bottom:18px; width:1px; background:rgba(255,255,255,.10); }
.osc-col-tag{ font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.osc-col-tag--in{ color:rgba(255,255,255,.55); }
.osc-col-tag--247{ color:var(--primary); }
.osc-col-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:7px; }
.osc-col-list li{ position:relative; padding-left:15px; font-size:12.5px; line-height:1.35; color:rgba(255,255,255,.72); }
.osc-col-list li::before{ content:""; position:absolute; left:0; top:6px; width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.28); }
.osc-col--247 .osc-col-list li::before{ background:var(--primary); }
.osc-col-foot{ margin-top:3px; font-size:11.5px; font-weight:700; line-height:1.3; }
.osc-col-foot.loss{ color:#f87171; }
.osc-col-foot.gain{ color:#4ade80; }
/* ═══ END cost-model comparison ═══ */


/* ═══ hero-badge is now the <h1> — neutralize the UA h1 top margin (size/pill unchanged) ═══ */
h1.hero-badge{ margin-top:0; }
/* ═══ END hero-badge h1 reset ═══ */





/* ── Listing pages (/services, /specialties) ── */
.listing-hero{ background:linear-gradient(120deg,#1a1330 0%,#241830 55%,#2b1a33 100%); color:#fff; padding:58px 0 50px; }
.listing-crumb{ font-size:13px; color:rgba(255,255,255,.6); margin-bottom:14px; }
.listing-crumb a{ color:rgba(255,255,255,.82); text-decoration:none; }
.listing-crumb a:hover{ color:#fff; }
.listing-crumb span{ margin:0 2px; }
.listing-title{ font-size:40px; font-weight:800; letter-spacing:-.02em; line-height:1.12; }
.listing-sub{ font-size:16px; color:rgba(255,255,255,.75); margin-top:14px; max-width:660px; line-height:1.6; }
.listing-body{ padding:56px 0 74px; background:#fff; }
.listing-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.listing-grid .spec-item{ margin:0; }
.listing-cta{ text-align:center; margin-top:44px; }
@media (max-width:900px){ .listing-grid{ grid-template-columns:repeat(2,1fr); } .listing-title{ font-size:30px; } .listing-hero{ padding:44px 0 38px; } }
@media (max-width:600px){ .listing-grid{ grid-template-columns:1fr; } }

/* ── Contact page ── */
.contact-body{ padding:56px 0 74px; background:#fff; }
.contact-grid{ display:grid; grid-template-columns:1.25fr 1fr; gap:40px; align-items:start; }
.contact-form-col .eyebrow{ color:var(--primary); }
.contact-h2{ font-size:26px; font-weight:800; color:var(--text-dark); letter-spacing:-.01em; margin:10px 0 10px; }
.contact-lead{ font-size:15.5px; line-height:1.6; color:var(--text-muted); margin-bottom:22px; max-width:520px; }
.contact-form{ display:flex; flex-direction:column; gap:14px; max-width:560px; }
.contact-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-inp{ width:100%; padding:14px 15px; font-size:14.5px; font-family:inherit; color:var(--text-dark); background:#fff; border:1.5px solid #e7dddb; border-radius:11px; transition:border-color .15s ease, box-shadow .15s ease; }
.contact-inp::placeholder{ color:#9aa0ab; }
.contact-inp:focus{ outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(240,72,60,.12); }
.contact-select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239aa0ab' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 15px center; padding-right:40px; }
.contact-textarea{ resize:vertical; min-height:96px; }
.contact-submit{ align-self:flex-start; margin-top:4px; }
.contact-note{ display:inline-flex; align-items:center; gap:8px; font-size:12.5px; color:var(--text-muted); margin-top:4px; }
.contact-note svg{ width:15px; height:15px; color:var(--primary); flex-shrink:0; }
.contact-card{ background:linear-gradient(160deg,#1a1330,#2b1a33); color:#fff; border-radius:20px; padding:30px 28px; box-shadow:0 22px 54px -26px rgba(20,10,25,.5); }
.contact-card-title{ font-size:18px; font-weight:800; margin-bottom:20px; }
.contact-line{ display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.1); text-decoration:none; }
.contact-line:hover .contact-line-tx strong{ color:#fff; }
.contact-line-ic{ width:42px; height:42px; border-radius:12px; background:rgba(255,255,255,.08); color:var(--primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-line-ic svg{ width:19px; height:19px; }
.contact-line-tx{ display:flex; flex-direction:column; line-height:1.35; min-width:0; }
.contact-line-lb{ font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:rgba(255,255,255,.55); font-weight:700; }
.contact-line-tx strong{ font-size:14.5px; font-weight:700; color:rgba(255,255,255,.92); word-break:break-word; transition:color .15s ease; }
.contact-addr{ display:flex; gap:14px; padding:16px 0 4px; }
.contact-addr-ic{ width:42px; height:42px; border-radius:12px; background:rgba(255,255,255,.08); color:var(--primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-addr-ic svg{ width:19px; height:19px; }
.contact-addr-tx p{ font-size:13.5px; color:rgba(255,255,255,.82); line-height:1.45; margin-bottom:10px; }
.contact-addr-tx strong{ display:block; color:#fff; font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; margin-bottom:2px; }
.contact-trust{ margin-top:12px; padding-top:16px; border-top:1px solid rgba(255,255,255,.1); font-size:12.5px; font-weight:700; color:rgba(255,255,255,.7); text-align:center; }
@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; gap:30px; } .contact-h2{ font-size:23px; } }
@media (max-width:520px){ .contact-row{ grid-template-columns:1fr; } .contact-submit{ width:100%; } }

/* ── Contact page enhancements ── */
.contact-hero{ position:relative; overflow:hidden; }
.contact-hero::before{ content:""; position:absolute; top:-120px; right:-80px; width:460px; height:460px; border-radius:50%; background:radial-gradient(circle, rgba(240,72,60,.22), transparent 70%); pointer-events:none; }
.contact-hero .container{ position:relative; z-index:1; }
.contact-hero-trust{ display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:22px; }
.contact-hero-trust .cht{ display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; color:rgba(255,255,255,.82); }
.contact-hero-trust .cht svg{ width:15px; height:15px; color:#4ade80; flex-shrink:0; }
.contact-steps{ background:#faf5f4; border:1px solid #f0e7e5; border-radius:18px; padding:24px 24px 20px; margin-bottom:22px; }
.contact-steps-title{ font-size:14px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--primary); margin-bottom:16px; }
.contact-steps-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
.contact-steps-list li{ display:flex; align-items:flex-start; gap:13px; font-size:14px; line-height:1.5; color:var(--text-dark); font-weight:500; }
.step-n{ width:26px; height:26px; border-radius:50%; background:var(--primary); color:#fff; font-size:13px; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.offices-section{ padding:60px 0 78px; background:#fbf7f6; border-top:1px solid #f2e9e7; }
.offices-head{ text-align:center; max-width:640px; margin:0 auto 34px; }
.offices-head .eyebrow{ color:var(--primary); }
.offices-title{ font-size:28px; font-weight:800; color:var(--text-dark); letter-spacing:-.01em; margin:10px 0 10px; }
.offices-sub{ font-size:15px; color:var(--text-muted); line-height:1.6; }
.offices-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.office-card{ display:flex; flex-direction:column; background:#fff; border:1px solid #efe3e1; border-radius:16px; overflow:hidden; box-shadow:0 2px 10px rgba(30,8,34,.04); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.office-card:hover{ transform:translateY(-4px); border-color:var(--primary); box-shadow:0 20px 40px -20px rgba(240,72,60,.4); }
.office-map-embed{ position:relative; width:100%; aspect-ratio:16/10; background:#eee9e8; border-bottom:1px solid #efe3e1; }
.office-map-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; filter:grayscale(.28); transition:filter .2s ease; }
.office-card:hover .office-map-embed iframe{ filter:grayscale(0); }
.office-body{ display:flex; flex-direction:column; flex:1; padding:20px 20px 22px; }
.office-state{ display:flex; align-items:center; gap:8px; font-size:17px; font-weight:800; color:var(--text-dark); margin-bottom:8px; }
.office-pin{ width:26px; height:26px; border-radius:8px; background:var(--bg-pink); color:var(--primary); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.office-pin svg{ width:15px; height:15px; }
.office-addr{ font-size:13.5px; color:var(--text-muted); line-height:1.55; flex:1; }
.office-map{ display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-size:13.5px; font-weight:800; color:var(--primary); text-decoration:none; }
.office-map svg{ transition:transform .16s ease; }
.office-card:hover .office-map svg{ transform:translateX(3px); }
@media (max-width:1000px){ .offices-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:860px){ .offices-title{ font-size:23px; } }
@media (max-width:520px){ .offices-grid{ grid-template-columns:1fr; } }

/* ── Contact page — modern split hero + floating form card ── */
.ct-hero{ position:relative; overflow:hidden; background:#17122b; padding:60px 0 70px; }
.ct-hero::before{ content:""; position:absolute; inset:0; background:radial-gradient(680px 440px at 10% 6%, rgba(240,72,60,.20), transparent 60%), radial-gradient(620px 520px at 96% 104%, rgba(96,64,150,.38), transparent 62%), linear-gradient(135deg,#17122b 0%,#221634 55%,#2b1a33 100%); }
.ct-hero::after{ content:""; position:absolute; inset:0; opacity:.5; background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size:22px 22px; pointer-events:none; }
.ct-hero .container{ position:relative; z-index:1; }
.ct-hero-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:52px; align-items:center; }
.ct-crumb{ font-size:13px; color:rgba(255,255,255,.55); margin-bottom:22px; }
.ct-crumb a{ color:rgba(255,255,255,.8); text-decoration:none; } .ct-crumb a:hover{ color:#fff; } .ct-crumb span{ margin:0 5px; }
.ct-eyebrow{ display:inline-flex; align-items:center; font-size:11.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#ff8a7e; background:rgba(255,138,126,.12); border:1px solid rgba(255,138,126,.34); padding:7px 15px; border-radius:999px; margin-bottom:17px; }
.ct-title{ font-size:clamp(30px,3.6vw,44px); font-weight:800; line-height:1.1; letter-spacing:-.02em; color:#fff; }
.ct-title span{ color:#ff8a7e; }
.ct-sub{ font-size:16px; line-height:1.65; color:rgba(255,255,255,.72); margin:18px 0 26px; max-width:500px; }
.ct-points{ list-style:none; margin:0 0 28px; padding:0; display:flex; flex-direction:column; gap:13px; }
.ct-points li{ display:flex; align-items:flex-start; gap:11px; font-size:15px; color:rgba(255,255,255,.9); font-weight:500; }
.ct-points li svg{ width:19px; height:19px; color:#4ade80; flex-shrink:0; margin-top:1px; }
.ct-methods{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:22px; }
.ct-method{ display:inline-flex; align-items:center; gap:12px; padding:12px 15px; border-radius:14px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); text-decoration:none; transition:background .18s ease, border-color .18s ease; }
.ct-method:hover{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.22); }
.ct-method-ic{ width:38px; height:38px; border-radius:10px; background:rgba(240,72,60,.16); color:#ff8a7e; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ct-method-ic svg{ width:18px; height:18px; }
.ct-method-tx{ display:flex; flex-direction:column; line-height:1.3; min-width:0; }
.ct-method-tx small{ font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,.5); font-weight:700; }
.ct-method-tx strong{ font-size:13.5px; color:#fff; font-weight:700; word-break:break-word; }
.ct-badges{ font-size:12.5px; font-weight:600; color:rgba(255,255,255,.55); }
.ct-trust-row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ct-logo{ height:44px; width:auto; background:#fff; border-radius:9px; padding:5px 9px; box-shadow:0 6px 18px -8px rgba(0,0,0,.5); object-fit:contain; }
.ct-trust-tx{ font-size:12.5px; font-weight:600; color:rgba(255,255,255,.6); }
.ct-form-wrap{ position:relative; }
.ct-card{ position:relative; background:#fff; border-radius:22px; padding:0; overflow:hidden; box-shadow:0 44px 88px -34px rgba(0,0,0,.65), 0 12px 34px rgba(0,0,0,.28); }
.ct-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:5px; background:linear-gradient(90deg,var(--primary),#ff8a7e); z-index:2; }
.ct-card-head{ padding:28px 32px 22px; background:linear-gradient(180deg,#fff5f3,#ffffff); border-bottom:1px solid #f2e7e5; }
.ct-head-ic{ display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:13px; background:linear-gradient(135deg,var(--primary),#ff8a7e); color:#fff; margin-bottom:14px; box-shadow:0 10px 22px -9px rgba(240,72,60,.65); }
.ct-head-ic svg{ width:22px; height:22px; }
.ct-card-title{ font-size:22px; font-weight:800; color:var(--text-dark); letter-spacing:-.01em; }
.ct-card-sub{ font-size:13.5px; color:var(--text-muted); line-height:1.6; margin:7px 0 0; }
.ct-form{ display:flex; flex-direction:column; gap:13px; padding:24px 32px 22px; }
.ct-row{ display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.ct-field{ display:flex; flex-direction:column; gap:6px; }
.ct-label{ font-size:11.5px; font-weight:700; color:var(--text-mid); letter-spacing:.01em; }
.ct-input-wrap{ position:relative; }
.ct-field-ic{ position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#b3b3bd; pointer-events:none; display:flex; }
.ct-field-ic svg{ width:17px; height:17px; }
.ct-input-wrap .ct-inp{ padding-left:42px; }
.ct-field--area .ct-field-ic{ top:15px; transform:none; }
.ct-input-wrap:focus-within .ct-field-ic{ color:var(--primary); }
.ct-inp{ width:100%; padding:13px 15px; font-size:14.5px; font-family:inherit; color:var(--text-dark); background:#fafafa; border:1.5px solid #ececf0; border-radius:11px; transition:border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.ct-inp::placeholder{ color:#9aa0ab; }
.ct-inp:focus{ outline:none; background:#fff; border-color:var(--primary); box-shadow:0 0 0 3px rgba(240,72,60,.12); }
.ct-select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%239aa0ab%27 stroke-width=%272.5%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M6 9l6 6 6-6%27/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 15px center; padding-right:40px; }
.ct-textarea{ resize:vertical; min-height:84px; }
.ct-submit{ width:100%; justify-content:center; margin-top:4px; padding:15px 20px; font-size:15.5px; }
.ct-card-secure{ padding:20px 32px 26px; border-top:1px solid #f2e7e5; background:#faf8fb; }
.ct-secure-logos{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:14px; margin-top:14px; }
.ct-card-secure .ct-logo{ height:74px; width:auto; background:#fff; border:1px solid #e6dce1; border-radius:12px; padding:9px 14px; box-shadow:0 6px 18px -7px rgba(30,8,34,.28); object-fit:contain; }
.ct-secure-tx{ display:flex; align-items:center; gap:8px; justify-content:center; text-align:center; font-size:12.5px; line-height:1.5; color:var(--text-muted); font-weight:600; }
.ct-secure-tx svg{ width:15px; height:15px; color:var(--primary); flex-shrink:0; }
/* Reviews / video testimonials on contact page */
.ct-reviews{ padding:64px 0 68px; background:#fff; }
.ct-reviews-head{ text-align:center; max-width:640px; margin:0 auto 40px; }
.ct-reviews-head .eyebrow{ color:var(--primary); }
.ct-reviews-title{ font-size:28px; font-weight:800; color:var(--text-dark); letter-spacing:-.01em; margin:10px 0 10px; }
.ct-reviews-sub{ font-size:15px; color:var(--text-muted); line-height:1.6; }
@media (max-width:920px){ .ct-hero-grid{ grid-template-columns:1fr; gap:36px; } .ct-hero{ padding:46px 0 54px; } }
@media (max-width:860px){ .ct-reviews-title{ font-size:23px; } }
@media (max-width:520px){ .ct-row{ grid-template-columns:1fr; } .ct-card-head{ padding:24px 20px 18px; } .ct-form{ padding:20px 20px 18px; } .ct-card-secure{ padding:16px 20px 20px; } .ct-methods{ flex-direction:column; } .ct-method{ width:100%; } }

/* home-c only: consistent, tighter vertical rhythm across sections (section padding is shared with index.html) */
.vc-home .testimonials-section, .vc-home .cglance-section, .vc-home .leakx, .vc-home .methodx, .vc-home .benchx, .vc-home .proof-section, .vc-home .faq-section, .vc-home .blog-section{ padding-top:54px; padding-bottom:54px; }
.vc-home .testimonials-section.vc-video .vwall{ margin-top:8px; }

/* ═══════════════════════════════════════════════════════════════
   home-c TYPOGRAPHY SYSTEM (scoped .vc-home) — Plus Jakarta Sans
   for headings + testimonial; Inter for body/UI. Per role spec.
   index.html keeps 'Poppins' (different string) — untouched.
   ═══════════════════════════════════════════════════════════════ */
.vc-home{ font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased; }

/* Headings → Plus Jakarta Sans */
.vc-home h1, .vc-home h2, .vc-home h3, .vc-home h4,
.vc-home .herox-h1, .vc-home .vwall-title, .vc-home .benchx-title,
.vc-home .leakx-title, .vc-home .methodx-title, .vc-home .cglance-title,
.vc-home .proof-title, .vc-home .faq-title{ font-family:'Plus Jakarta Sans','Inter',sans-serif; }
.vc-home .herox-h1{ font-weight:800; line-height:1.1; letter-spacing:-.02em; }
.vc-home h1{ font-weight:800; line-height:1.15; letter-spacing:-.02em; }
.vc-home h2, .vc-home .vwall-title, .vc-home .benchx-title{ font-weight:800; line-height:1.15; letter-spacing:-.015em; }
.vc-home h3{ font-weight:700; line-height:1.25; letter-spacing:-.01em; }
.vc-home h4{ font-weight:700; line-height:1.3; letter-spacing:0; }
/* heading coral accent → same heading font (drops Georgia italic); keeps its contextual color */
.vc-home h1 em, .vc-home h2 em, .vc-home h3 em, .vc-home h4 em,
.vc-home .cgl-title em, .vc-home .leakx-title em, .vc-home .leakx-verdict em,
.vc-home .methodx-title em, .vc-home .methodx-slide h3 em,
.vc-home .benchx-title em, .vc-home .vwall-title em, .vc-home .cstory-title em,
.vc-home .cgl-node-tx p em{ font-family:inherit; font-style:normal; font-weight:inherit; }
/* decorative big index number ("03") → heading font, not serif */
.vc-home .methodx-bignum{ font-family:'Plus Jakarta Sans','Inter',sans-serif; font-weight:800; }

/* Eyebrow / kicker → Inter 800, +.1em */
.vc-home .herox-eyebrow, .vc-home .vwall-eyebrow, .vc-home .leakx-eyebrow, .vc-home .cstory-eyebrow, .vc-home .eyebrow, .vc-home .herox-form-kicker{ font-family:'Inter',sans-serif; font-weight:800; letter-spacing:.1em; }

/* KPI / stat number → Inter 800, -.02em */
.vc-home .benchx-hl-num b, .vc-home .herox-stat-num, .vc-home .benchx-us{ font-weight:800; }
.vc-home .benchx-hl-num b{ letter-spacing:-.02em; }

/* Badge (pill) → Inter 800, +.08em */
.vc-home .herox-badge, .vc-home .benchx-usbadge{ font-weight:800; letter-spacing:.05em; }

/* Buttons → Inter 700 */
.vc-home .herox-submit, .vc-home .benchx-cta-btn, .vc-home .btn, .vc-home .btn-primary{ font-weight:700; }

/* Testimonial / blockquote → Plus Jakarta Sans 600 */
.vc-home .vwall-quote{ font-family:'Plus Jakarta Sans','Inter',sans-serif; font-weight:600; line-height:1.45; font-style:normal; }
