/* ============================================================
   MedWeb360 Design System v1.0 — Phase 0
   Tebra-level polish. Extends existing theme, doesn't replace.
   ============================================================ */

/* 0.2 CSS Custom Properties (Tokens) — Brand Kit v1 Strict */
:root {
  --font-display: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;

  /* Type scale — exact brand kit values */
  --fs-display: clamp(2.5rem, 5vw, 4rem);
  --fs-h1: clamp(2rem, 3.5vw, 3rem);
  --fs-h2: clamp(1.625rem, 2.5vw, 2.25rem);
  --fs-h3: 1.375rem;
  --fs-body-lg: 1.125rem;
  --fs-body: 1.0625rem;
  --fs-small: 0.9375rem;
  --fs-micro: 0.8125rem;

  /* Brand colors — exact brand kit values */
  --c-brand: #1B4FBA;
  --c-brand-dark: #143E94;
  --c-brand-soft: #E8EEFC;

  /* Neutrals */
  --c-heading: #0D1B2A;
  --c-body: #2D3748;
  --c-body-muted: #4A5568;
  --c-border: #E2E8F0;
  --c-border-soft: #EDF2F7;

  /* Status */
  --c-success: #0E7C66;
  --c-warning: #B7791F;
  --c-error: #C53030;

  /* Backgrounds */
  --c-bg-white: #FFFFFF;
  --c-bg-warm: #FAF9F7;
  --c-bg-tint: #F7F9FC;

  /* Spacing — strict 8pt grid */
  --space-1: 0.5rem;   /* 8px */
  --space-2: 1rem;     /* 16px */
  --space-3: 1.5rem;   /* 24px */
  --space-4: 2rem;     /* 32px */
  --space-5: 3rem;     /* 48px */
  --space-6: 4rem;     /* 64px */
  --space-7: 6rem;     /* 96px */
  --space-8: 8rem;     /* 128px */
  --space-9: 10rem;    /* 160px */

  /* Radius — only these four */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* Shadows — exact brand kit two-layer values */
  --shadow-card:       0 1px 3px rgba(13,27,42,0.06),  0 8px 24px rgba(13,27,42,0.08);
  --shadow-card-hover: 0 4px 8px rgba(13,27,42,0.06),  0 16px 48px rgba(13,27,42,0.08);
  --shadow-image:      0 4px 12px rgba(13,27,42,0.08), 0 24px 60px rgba(13,27,42,0.10);
  --shadow-megamenu:   0 16px 48px rgba(13,27,42,0.12),0 4px 12px rgba(13,27,42,0.06);
  --shadow-btn:        0 1px 2px rgba(27,79,186,0.15), 0 4px 12px rgba(27,79,186,0.12);
  --shadow-btn-hover:  0 2px 4px rgba(27,79,186,0.20), 0 8px 24px rgba(27,79,186,0.18);
}

/* 0.3 Typography */
body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--c-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, .h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-h1);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--c-heading);
  margin-top: 0;
}

h2, .h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--fs-h2);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: var(--c-heading);
}

h3, .h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-h3);
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--c-heading);
}

h4, h5 {
  font-family: var(--font-display);
  font-weight: 600;
  color: var(--c-heading);
  letter-spacing: -0.01em;
}

.display, .hero-headline {
  font-family: var(--font-display);
  font-size: var(--fs-display);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--c-heading);
  max-width: 18ch;
}

p {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.65;
  color: var(--c-body);
}

.lead, .hero-sub {
  font-size: var(--fs-body-lg);
  line-height: 1.6;
  color: var(--c-body-muted);
  max-width: 60ch;
}

/* Eyebrow labels — replaces h6.text-uppercase.blue-clr */
.eyebrow,
h6.blue-clr,
h6.orange-clr,
h6.text-uppercase {
  font-family: var(--font-body);
  font-size: var(--fs-micro);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-brand);
  margin-bottom: 0.75rem;
  display: block;
}

h6.orange-clr {
  color: #C2620A;
}

/* 0.4 Button System — Brand Kit Strict */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  padding: 18px 36px !important;
  border-radius: var(--radius-pill) !important;
  min-height: 44px;
  cursor: pointer;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease !important;
  white-space: nowrap;
  letter-spacing: 0;
}

/* Primary button */
.btn-info,
.btn-primary,
a.btn-info,
a.btn-primary {
  background: var(--c-brand) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: var(--shadow-btn) !important;
}
.btn-info:hover,
.btn-primary:hover,
a.btn-info:hover,
a.btn-primary:hover {
  background: var(--c-brand-dark) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: var(--shadow-btn-hover) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
.btn-info:active, .btn-primary:active { transform: translateY(0); }

/* Secondary button */
.btn-outline-info,
a.btn-outline-info {
  background: transparent !important;
  color: var(--c-brand) !important;
  border: 2px solid var(--c-brand) !important;
  padding: 16px 34px !important;
  box-shadow: none !important;
}
.btn-outline-info:hover,
a.btn-outline-info:hover {
  background: var(--c-brand) !important;
  color: #fff !important;
  transform: translateY(-1px);
  border-bottom: none !important;
}

/* Large modifier */
.btn-lg {
  font-size: 1.0625rem !important;
  padding: 22px 44px !important;
}

/* Focus ring — mandatory, never remove */
.btn:focus-visible {
  outline: 3px solid var(--c-brand) !important;
  outline-offset: 3px !important;
}

/* White button (blue CTA sections) */
.btn-white, a.btn-white {
  background: #fff !important;
  color: var(--c-brand) !important;
  border: none !important;
  box-shadow: none !important;
}
.btn-white:hover, a.btn-white:hover {
  background: var(--c-brand-soft) !important;
  color: var(--c-brand-dark) !important;
}

/* 0.5 Card System — Brand Kit Strict */
.card,
.iconWrap,
.servWrap > a,
.postWrap,
.performance-numbers,
.contentWrap.p-4.border,
.contentWrap.p-4.border.rounded-3 {
  background: var(--c-bg-white) !important;
  border-radius: var(--radius-lg) !important;
  border: none !important;
  padding: var(--space-4) !important;
  box-shadow: var(--shadow-card) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.card:hover,
.servWrap > a:hover,
.iconWrap:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--shadow-card-hover) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}
/* Service card h4 — stays heading color on hover, never brand blue */
.servWrap > a:hover h4,
.servWrap > a:hover h3 {
  color: var(--c-heading) !important;
}

.card-icon {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-md);
  background: var(--c-brand-soft);
  color: var(--c-brand);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-3);
  flex-shrink: 0;
}

/* 0.6 Section backgrounds */
.section-warm, .gray-bg { background: var(--c-bg-warm) !important; }
.section-tint, .light-blue-bg { background: var(--c-bg-tint) !important; }
.section-brand-soft { background: var(--c-brand-soft) !important; }

/* Section padding — 128px desktop / 64px mobile (brand kit strict) */
.pad-100 { padding-top: 8rem !important; padding-bottom: 8rem !important; }  /* 128px */
.pad-70, .pad-80 { padding-top: 8rem !important; padding-bottom: 8rem !important; }
.pad-btm-100 { padding-bottom: 8rem !important; }
.pad-btm-60 { padding-bottom: 4rem !important; }

@media (max-width: 768px) {
  .pad-100 { padding-top: 4rem !important; padding-bottom: 4rem !important; }  /* 64px */
  .pad-70, .pad-80 { padding-top: 4rem !important; padding-bottom: 4rem !important; }
}

/* 0.7 Stat blocks */
.stat-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.stat-number {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--c-brand);
}

.stat-label {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 500;
  color: var(--c-body-muted);
  line-height: 1.4;
}

/* Homepage trust strip stat numbers */
.trust-strip .stat-number,
[class*="trust"] [style*="font-weight:800"] {
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--c-brand);
}

/* 0.8 Trust badges */
.trust-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--radius-pill);
  padding: 8px 18px;
  font-size: var(--fs-micro);
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
}

/* 0.9 Form fields */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="url"],
textarea,
select,
.wpcf7-text,
.wpcf7-email,
.wpcf7-textarea,
.wpcf7-select {
  font-family: var(--font-body) !important;
  font-size: var(--fs-body) !important;
  padding: 14px 18px !important;
  border: 1.5px solid var(--c-border) !important;
  border-radius: var(--radius-md) !important;
  background: var(--c-bg-white) !important;
  color: var(--c-body) !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
  width: 100%;
  box-sizing: border-box;
}

input:focus,
textarea:focus,
select:focus,
.wpcf7-text:focus,
.wpcf7-email:focus,
.wpcf7-textarea:focus {
  outline: none !important;
  border-color: var(--c-brand) !important;
  box-shadow: 0 0 0 4px rgba(27,79,186,0.08) !important;
}

/* 0.10 Micro-interactions */
.reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Link hover behavior — restrained */
nav a, .navbar a, .dropdown-item, .nav-link {
  border-bottom: none !important;
  transition: color 0.15s ease !important;
}

/* 0.11 Image treatment */
img { max-width: 100%; height: auto; }

.image-rounded,
.imgWrap img,
.hero-section img,
.home-about img {
  border-radius: var(--radius-lg) !important;
}

.image-soft-shadow {
  box-shadow: 0 4px 12px rgba(13,27,42,0.08), 0 24px 60px rgba(13,27,42,0.10) !important;
}

/* imgWrap border treatment */
.imgWrap.with-border {
  border: 1px solid var(--c-border) !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
}

/* ============================================================
   COMPONENT UPGRADES
   ============================================================ */

/* Hero section */
.hero-section {
  padding-top: 90px;
  padding-bottom: 90px;
  background: var(--c-bg-white);
}

.hero-section .pad-100,
.hero-section .pad-70 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

@media (max-width: 768px) {
  .hero-section { padding-top: 60px; padding-bottom: 60px; }
}

/* FAQ Accordion upgrade */
.accordion .card {
  margin-bottom: 8px !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
}

.accordion .card-header {
  background: var(--c-bg-tint) !important;
  border: none !important;
  padding: 0 !important;
}

.accordion .card-header h2 {
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}

.accordion .card-header [data-toggle="collapse"] {
  padding: 18px 24px !important;
  cursor: pointer;
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  color: var(--c-heading) !important;
  border-bottom: none !important;
  transition: background 0.15s ease;
}

.accordion .card-header [data-toggle="collapse"]:hover {
  background: var(--c-brand-soft);
  border-bottom: none !important;
}

.accordion .card-header [data-toggle="collapse"]:not(.collapsed) {
  color: var(--c-brand) !important;
}

.accordion .card-body {
  padding: 16px 24px 20px !important;
  background: #fff !important;
  border-top: 1px solid var(--c-border);
}

/* Service cards (servWrap) */
.servWrap {
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  height: 100%;
}

.servWrap > a {
  height: 100%;
  display: flex !important;
  flex-direction: column;
  color: var(--c-body) !important;
  border-bottom: none !important;
}

.servWrap > a h4 {
  color: var(--c-heading);
  font-size: 1.2rem;
}

.servWrap > a:hover h4 {
  color: var(--c-brand);
}

/* Icon list upgrade */
.icon-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
  font-size: var(--fs-body);
}

.icon-list li i,
.icon-list li svg {
  color: var(--c-brand);
  margin-top: 3px;
  flex-shrink: 0;
}

/* expWrap (dental/specialty cards) */
.expWrap {
  border-radius: var(--radius-md) !important;
  padding: 24px 16px !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.expWrap:hover {
  transform: translateY(-4px) !important;
}

/* Blue CTA section */
.blue-bg,
.home-cta-precense.blue-bg,
.cta-section.blue-bg {
  background: linear-gradient(135deg, #1B4FBA 0%, #143E94 100%) !important;
}

/* Lead magnet block */
[style*="border-left:5px solid #1B4FBA"],
[style*="border-left: 5px solid #1B4FBA"] {
  border-left-color: var(--c-brand) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-card) !important;
}

/* Navbar upgrade */
.flexia-navbar {
  box-shadow: 0 1px 3px rgba(13,27,42,0.08), 0 4px 16px rgba(13,27,42,0.04) !important;
  /* backdrop-filter removed: causes fixed-position children to escape viewport bounds on mobile */
}

.navbar .nav-link {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 0.9375rem !important;
  letter-spacing: 0;
}

/* Footer upgrade */
#footer {
  background: #0D1B2A !important;
}

#footer h4 {
  font-family: var(--font-display) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  color: #fff !important;
  margin-bottom: 1rem !important;
}

#footer p, #footer li, #footer a {
  font-size: var(--fs-small) !important;
  color: rgba(255,255,255,0.65) !important;
  border-bottom: none !important;
}

#footer a:hover {
  color: #fff !important;
}

/* Audit bar upgrade */
#audit-bar {
  background: linear-gradient(90deg, #1B4FBA 0%, #143E94 100%) !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.01em;
}

/* Specialties / service-list icons */
.service-list img {
  width: 56px;
  height: 56px;
  object-fit: contain;
}

/* Performance numbers (About hero stats) */
.performance-numbers h3 {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--c-brand);
}

/* Blog cards */
.postWrap {
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  box-shadow: var(--shadow-card) !important;
}

.postWrap:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-card-hover) !important;
}

.postContent {
  padding: 20px !important;
}

.postContent h5 {
  font-family: var(--font-display) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em;
  color: var(--c-heading) !important;
}

/* Breadcrumb upgrade */
.breadcrumb {
  background: transparent !important;
  padding: 0 !important;
  font-size: var(--fs-micro) !important;
  font-weight: 500;
  color: var(--c-body-muted) !important;
}

/* inner-header (used in page-full.php) */
.inner-header {
  background: linear-gradient(135deg, var(--c-bg-tint) 0%, var(--c-brand-soft) 100%) !important;
  border-bottom: 1px solid var(--c-border);
}

.inner-header h1 {
  font-size: var(--fs-h1) !important;
  font-weight: 700 !important;
}

/* Page full content area */
#post- .container.pad-50 {
  max-width: 860px;
  margin: 0 auto;
}

/* Mobile touch targets */
@media (max-width: 768px) {
  .btn { min-height: 48px; }
  .nav-link { min-height: 44px; display: flex; align-items: center; }
  .dropdown-item { min-height: 44px; display: flex; align-items: center; }
}

/* ============================================================
   SECTION BACKGROUND RHYTHM (homepage alternation)
   ============================================================ */
.home-about:nth-of-type(odd) { background: var(--c-bg-white); }
.home-about:nth-of-type(even) { background: var(--c-bg-tint); }
.home-specialties { background: var(--c-bg-warm); }
.home-expertise { background: #1B4FBA; }
.home-expertise h2, .home-expertise h5, .home-expertise p { color: #fff !important; }

/* ============================================================
   LAZY LOADING UTILITY
   ============================================================ */
img[data-src] { opacity: 0; transition: opacity 0.3s ease; }
img[data-src].loaded { opacity: 1; }

/* Bug #13 — Megamenu opaque background fix */
.navbar .dropdown-menu {
  background: #ffffff !important;
  box-shadow: 0 16px 48px rgba(13,27,42,0.14) !important;
  border: 1px solid var(--c-border) !important;
  border-top: none !important;
  border-radius: 0 0 16px 16px !important;
  z-index: 1050 !important;
}

.navbar .dropdown-menu.show,
.navbar .dropdown-menu[style] {
  background: #ffffff !important;
}

/* Megamenu (Who We Help wide panel) */
.navbar .nav-item.dropdown.services .dropdown-menu {
  background: #ffffff !important;
  padding: 24px !important;
  min-width: 800px !important;
  max-height: 70vh !important;
  overflow-y: auto !important;
}

.navbar .dropdown-item {
  color: var(--c-body) !important;
  font-size: var(--fs-small) !important;
  padding: 6px 16px !important;
  border-radius: var(--radius-sm) !important;
  border-bottom: none !important;
}

.navbar .dropdown-item:hover {
  background: var(--c-brand-soft) !important;
  color: var(--c-brand) !important;
}

/* ============================================================
   TEBRA-QUALITY MEGAMENU — Who We Help
   ============================================================ */

.mw360-megamenu {
  width: 900px !important;
  max-width: 95vw !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(13,27,42,0.10), 0 32px 80px rgba(13,27,42,0.12) !important;
  background: #fff !important;
  overflow: hidden;
  left: 50% !important;
  transform: translateX(-55%) !important;
  top: calc(100% + 12px) !important;
  max-height: min(82vh, 720px) !important;
  overflow-y: auto !important;
}

/* Custom scrollbar */
.mw360-megamenu::-webkit-scrollbar { width: 4px; }
.mw360-megamenu::-webkit-scrollbar-track { background: transparent; }
.mw360-megamenu::-webkit-scrollbar-thumb { background: #CBD5E0; border-radius: 4px; }

.mw360-mega-inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  min-height: 100%;
}

.mw360-mega-col {
  padding: 28px 22px 24px;
  border-right: 1px solid #EDF2F7;
}

.mw360-mega-col:last-child {
  border-right: none;
  background: #F7F9FC;
}

.mw360-mega-heading {
  font-family: var(--font-body) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #718096 !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
}

.mw360-mega-item {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 7px 10px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: background 0.15s ease !important;
  margin-bottom: 1px;
}

.mw360-mega-item:hover {
  background: var(--c-brand-soft) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.mw360-mega-icon {
  width: 32px;
  height: 32px;
  background: var(--c-brand-soft);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

.mw360-mega-icon i {
  font-size: 13px;
  color: var(--c-brand);
}

.mw360-mega-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mw360-mega-text strong {
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--c-heading);
  line-height: 1.2;
}

.mw360-mega-text small {
  font-family: var(--font-body);
  font-size: 0.74rem;
  color: var(--c-body-muted);
  line-height: 1.3;
  font-weight: 400;
}

.mw360-mega-item:hover .mw360-mega-text strong {
  color: var(--c-brand);
}

.mw360-mega-compact {
  padding: 6px 10px !important;
}

.mw360-mega-compact .mw360-mega-text strong {
  font-size: 0.8125rem;
}

.mw360-mega-see-all {
  display: inline-block;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--c-brand) !important;
  margin: 8px 10px 0;
  text-decoration: none !important;
  border-bottom: none !important;
}

.mw360-mega-see-all:hover {
  text-decoration: underline !important;
}

.mw360-mega-divider {
  height: 1px;
  background: var(--c-border);
  margin: 16px 0 0;
}

/* Mobile — collapse megamenu to accordion */
@media (max-width: 1199px) {
  .mw360-megamenu {
    width: 100% !important;
    transform: none !important;
    left: 0 !important;
    border-radius: 0 0 12px 12px !important;
    position: relative !important;
    box-shadow: none !important;
  }

  .mw360-mega-inner {
    grid-template-columns: 1fr;
  }

  .mw360-mega-col {
    border-right: none;
    border-bottom: 1px solid var(--c-border);
    padding: 16px;
    background: #fff !important;
  }

  .mw360-mega-text small {
    display: none;
  }
}

/* Megamenu footer strip */
.mw360-mega-footer {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 12px 24px;
  background: #EDF2F7;
  border-top: 1px solid #E2E8F0;
  flex-wrap: wrap;
  gap: 4px 0;
}

.mw360-mega-footer-label {
  font-family: var(--font-body);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #718096;
  margin-right: 12px;
  flex-shrink: 0;
}

.mw360-mega-footer a {
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--c-brand) !important;
  padding: 4px 12px;
  border-radius: 999px;
  border-bottom: none !important;
  transition: background 0.15s ease;
  white-space: nowrap;
}

.mw360-mega-footer a:hover {
  background: var(--c-brand-soft);
  border-bottom: none !important;
}

@media (max-width: 1199px) {
  .mw360-mega-footer {
    display: none;
  }
}

/* ============================================================
   MOBILE PASS v1 — 2026-05-24
   Full mobile audit pass on all pages
   ============================================================ */

/* Hero button group — flex wrap utility */
.hero-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 2rem;
  margin-bottom: 0;
}
.hero-btns .btn {
  margin: 0 !important;
}

/* Audit bar — xs overflow fix */
@media (max-width: 575px) {
  #audit-bar {
    padding: 10px 44px 10px 16px !important;
    font-size: 12px !important;
    text-align: left !important;
  }
  #audit-bar .audit-bar-text {
    display: none;
  }
  #audit-bar button {
    right: 8px !important;
  }
}

/* Hero columns — mobile stacking gap */
@media (max-width: 767px) {
  .hero-section .row > [class*="col-"]:first-child {
    margin-bottom: 28px;
  }
}

/* ContentWrap — tablet breathing room */
@media (min-width: 768px) and (max-width: 1199px) {
  .contentWrap.pl-xl-5 {
    padding-left: 1.5rem !important;
  }
  .contentWrap.pr-xl-5 {
    padding-right: 1.5rem !important;
  }
}

/* Service cards — reduced padding on xs */
@media (max-width: 575px) {
  .servWrap > a.p-4,
  .servWrap > a.p-xl-5 {
    padding: 1.25rem !important;
  }
  /* Icon list comfortable tap targets */
  .icon-list li {
    margin-bottom: 14px;
  }
}

/* Specialties grid — text sizing on xs */
@media (max-width: 575px) {
  .service-list h5 {
    font-size: 0.9375rem !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
}

/* Megamenu touch targets on collapsed mobile */
@media (max-width: 1199px) {
  .mw360-mega-item {
    padding: 10px 12px !important;
    min-height: 44px;
  }
  .mw360-mega-col {
    padding: 12px 16px !important;
  }
}

/* CTA sections — full-width button on xs */
@media (max-width: 575px) {
  .cta-section .btn-lg {
    display: block;
    width: 100%;
    text-align: center;
  }
}

/* Trust strip stat blocks — xs safe */
@media (max-width: 399px) {
  .trust-strip .row > div > div:first-child {
    font-size: 22px !important;
  }
}

/* imgWrap — no overflow on mobile */
@media (max-width: 767px) {
  .imgWrap.p-3,
  .imgWrap.p-xl-4 {
    padding: 0.5rem !important;
  }
}

/* Free audit icon cards — stack icon + text properly on xs */
@media (max-width: 399px) {
  .iconWrap.d-flex.align-items-start {
    flex-direction: column !important;
  }
  .iconWrap .icon.mr-4 {
    margin-right: 0 !important;
    margin-bottom: 12px;
  }
}

/* Stat strip (location pages) — xs padding fix */
@media (max-width: 575px) {
  div[style*="background:#1B4FBA"] .row > div {
    margin-bottom: 16px !important;
  }
}

/* Blog carousel — prevent overflow */
@media (max-width: 767px) {
  .owl-carousel .item {
    padding: 0 4px;
  }
}

/* Footer — link spacing on mobile */
@media (max-width: 767px) {
  #footer li {
    margin-bottom: 6px;
  }
}

/* How-it-works step circles — center on mobile */
@media (max-width: 767px) {
  .col-md-4.text-center > div[style*="border-radius:50%"] {
    margin-left: auto;
    margin-right: auto;
  }
}
/* ============================================================
   MOBILE NAV — Enterprise premium (v6)
   ============================================================ */

/* Hamburger */
/* Kill transform on mobile — translate3d creates a containing block that traps position:fixed children */
@media (max-width: 1199px) {
  .flexia-navbar {
    transform: none !important;
  }
}

@media (max-width: 1199px) {
  .navbar-toggler {
    width: 44px !important; height: 44px !important; padding: 0 !important;
    border-radius: 10px !important; background: var(--c-brand) !important;
    border: none !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
    cursor: pointer; flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(27,79,186,0.3);
    transition: background 0.15s ease;
  }
  .navbar-toggler:hover  { background: var(--c-brand-dark) !important; }
  .navbar-toggler:focus  { outline: none !important; }
  .navbar-toggler-icon   {
    display: flex !important; align-items: center !important;
    justify-content: center !important; width: 100% !important; height: 100% !important;
  }
  .navbar-toggler .navbar-toggler-icon i { font-size: 16px !important; color: #fff !important; }
  .navbar-toggler[aria-expanded="false"] .fa-xmark { display: none !important; }
  .navbar-toggler[aria-expanded="true"]  .fa-bars  { display: none !important; }
  .navbar-toggler[aria-expanded="true"]  .fa-xmark { display: inline-block !important; }
}

/* Backdrop */
#mw360-backdrop {
  display: none;
  position: fixed; inset: 0;
  background: rgba(10,20,40,0.6);
  z-index: 1000001;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
#mw360-backdrop.mw360-active { display: block; }

/* Full-height overlay — only when Bootstrap adds .show */
@media (max-width: 1199px) {
  #navbar.collapse.navbar-collapse {
    display: none !important;
  }
  #navbar.collapse.navbar-collapse.show {
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    background: #fff !important;
    z-index: 1000002 !important;
    overflow: hidden !important;
    padding: 0 !important;
    box-shadow: -12px 0 48px rgba(10,20,40,0.22) !important;
    animation: mw360-slidein 0.26s cubic-bezier(0.4,0,0.2,1) both;
  }
  @keyframes mw360-slidein {
    from { transform: translateX(100%); }
    to   { transform: translateX(0); }
  }

  /* ── Nav header ──────────────────────────────────────── */
  .mw360-nav-hd {
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 16px; height: 62px; min-height: 62px;
    background: linear-gradient(135deg, #1B4FBA 0%, #143E94 100%);
    flex-shrink: 0;
  }
  .mw360-nav-hd-brand {
    display: flex; align-items: center; gap: 10px;
    font-family: var(--font-display); font-size: 1.05rem; font-weight: 700;
    color: #fff; text-decoration: none; letter-spacing: -0.02em;
  }
  .mw360-nav-hd-brand span {
    display: inline-flex; align-items: center; justify-content: center;
    width: 30px; height: 30px; background: rgba(255,255,255,0.18);
    border-radius: 8px; font-size: 14px;
  }
  .mw360-nav-hd-close {
    width: 36px; height: 36px; background: rgba(255,255,255,0.15);
    border: none; border-radius: 8px; color: #fff; font-size: 14px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: background 0.15s; flex-shrink: 0;
  }
  .mw360-nav-hd-close:hover { background: rgba(255,255,255,0.28); }

  /* ── Scrollable body ─────────────────────────────────── */
  .mw360-nav-scroll {
    flex: 1; overflow-y: auto; overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
  }

  /* ── Nav list ────────────────────────────────────────── */
  #navbar .navbar-nav {
    flex-direction: column !important; align-items: stretch !important;
    width: 100% !important; margin: 0 !important; padding: 0 !important; gap: 0 !important;
  }
  #navbar .nav-item { width: 100%; margin: 0 !important; }

  /* ── Section label ───────────────────────────────────── */
  .mw360-nav-section-label {
    padding: 14px 16px 6px;
    font-family: var(--font-body);
    font-size: 0.65rem; font-weight: 700;
    letter-spacing: 0.1em; text-transform: uppercase;
    color: #94a3b8;
  }

  /* ── Nav links ───────────────────────────────────────── */
  #navbar .nav-link {
    display: flex !important; align-items: center !important;
    padding: 0 16px !important; height: 54px; min-height: 54px;
    font-family: var(--font-body) !important; font-size: 0.9375rem !important;
    font-weight: 600 !important; color: #1e293b !important;
    border-bottom: 1px solid #f1f5f9 !important; border-radius: 0 !important;
    text-decoration: none !important; white-space: normal; word-break: break-word;
    transition: background 0.12s, color 0.12s; gap: 12px;
  }
  #navbar .nav-link .mw360-nav-icon {
    width: 34px; height: 34px; border-radius: 9px;
    background: #f1f5f9; display: flex; align-items: center;
    justify-content: center; flex-shrink: 0; font-size: 14px; color: #64748b;
    transition: background 0.12s, color 0.12s;
  }
  #navbar .nav-link:hover,
  #navbar .nav-link:active {
    background: #f0f5ff !important; color: var(--c-brand) !important;
  }
  #navbar .nav-link:hover .mw360-nav-icon {
    background: var(--c-brand-soft); color: var(--c-brand);
  }

  /* Chevron on expandable links */
  #navbar .dropdown-toggle::after {
    content: '\f054'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
    font-size: 10px; color: #cbd5e1; border: none !important;
    margin-left: auto; flex-shrink: 0; transition: transform 0.22s ease;
  }
  #navbar .show > .dropdown-toggle::after {
    transform: rotate(90deg); color: var(--c-brand);
  }

  /* ── Services dropdown ───────────────────────────────── */
  #navbar .dropdown-menu {
    position: static !important; float: none !important;
    box-shadow: none !important; border: none !important;
    background: #f8fafc !important; padding: 4px 0 !important;
    margin: 0 !important; width: 100% !important; overflow: hidden;
    border-bottom: 1px solid #e2e8f0 !important; border-radius: 0 !important;
  }
  #navbar .dropdown-item {
    display: flex !important; align-items: center; gap: 10px;
    padding: 11px 16px 11px 28px !important; font-size: 0.875rem !important;
    font-weight: 500 !important; color: #475569 !important;
    min-height: 44px; white-space: normal; word-break: break-word;
    border-bottom: 1px solid #f1f5f9 !important; background: transparent !important;
    transition: background 0.12s, color 0.12s;
  }
  #navbar .dropdown-item::before {
    content: ''; width: 5px; height: 5px; border-radius: 50%;
    background: #cbd5e1; flex-shrink: 0; transition: background 0.12s;
  }
  #navbar .dropdown-item:hover {
    background: #f0f5ff !important; color: var(--c-brand) !important;
  }
  #navbar .dropdown-item:hover::before { background: var(--c-brand); }

  /* ── Megamenu wrapper ────────────────────────────────── */
  #navbar .mw360-megamenu {
    position: static !important; transform: none !important;
    left: auto !important; right: auto !important; top: auto !important;
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    box-sizing: border-box !important;
    border-radius: 0 !important; box-shadow: none !important;
    max-height: none !important; border: none !important;
    background: #f8fafc !important; padding: 0 !important;
    overflow: hidden !important;
    border-bottom: 1px solid #e2e8f0 !important;
  }
  #navbar .mw360-mega-col, #navbar .mw360-mega-body, #navbar .mw360-mega-item {
    width: 100% !important; max-width: 100% !important; min-width: 0 !important;
    box-sizing: border-box !important; left: auto !important;
  }
  #navbar .mw360-mega-inner { display: block !important; padding: 0 !important; width: 100% !important; max-width: 100% !important; }
  #navbar .mw360-mega-col {
    border-right: none !important; padding: 0 !important; overflow: hidden;
    border-bottom: 1px solid #e8edf5 !important;
  }
  #navbar .mw360-mega-col:last-child { border-bottom: none !important; }
  #navbar .mw360-mega-footer { display: none !important; }

  /* Accordion heading */
  #navbar .mw360-mega-heading {
    display: flex !important; align-items: center; gap: 10px;
    padding: 12px 16px !important; margin: 0 !important;
    font-family: var(--font-body) !important; font-size: 0.7rem !important;
    font-weight: 700 !important; letter-spacing: 0.09em !important;
    text-transform: uppercase !important; color: #64748b !important;
    background: #f0f4fb !important; cursor: pointer;
    user-select: none; -webkit-user-select: none;
    border-bottom: 1px solid #e2e8f0; transition: background 0.15s, color 0.15s;
  }
  #navbar .mw360-mega-heading .mw360-acc-icon {
    width: 26px; height: 26px; border-radius: 7px;
    background: var(--c-brand-soft); display: flex; align-items: center;
    justify-content: center; flex-shrink: 0; font-size: 11px; color: var(--c-brand);
  }
  #navbar .mw360-mega-heading::after {
    content: '\f054'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
    font-size: 9px; color: #cbd5e1; margin-left: auto;
    transition: transform 0.25s ease;
  }
  #navbar .mw360-mega-col.mw360-open > .mw360-mega-heading {
    background: var(--c-brand) !important; color: #fff !important;
    border-bottom-color: var(--c-brand-dark);
  }
  #navbar .mw360-mega-col.mw360-open > .mw360-mega-heading .mw360-acc-icon {
    background: rgba(255,255,255,0.2); color: #fff;
  }
  #navbar .mw360-mega-col.mw360-open > .mw360-mega-heading::after {
    transform: rotate(90deg); color: rgba(255,255,255,0.7);
  }

  /* Accordion body */
  #navbar .mw360-mega-body {
    display: none;
    background: #fff;
  }
  #navbar .mw360-mega-col.mw360-open > .mw360-mega-body {
    display: block !important;
  }

  /* Mega items */
  #navbar .mw360-mega-item {
    display: flex !important; align-items: center !important; gap: 10px !important;
    padding: 10px 16px !important; min-height: 46px;
    border-bottom: 1px solid #f1f5f9 !important; background: #fff;
    color: #334155 !important; text-decoration: none !important;
    transition: background 0.1s;
  }
  #navbar .mw360-mega-item:hover { background: #f0f5ff !important; color: var(--c-brand) !important; }
  #navbar .mw360-mega-icon {
    width: 30px !important; height: 30px !important; flex-shrink: 0 !important;
    background: var(--c-brand-soft) !important; border-radius: 8px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
  }
  #navbar .mw360-mega-icon i { font-size: 12px !important; color: var(--c-brand) !important; }
  #navbar .mw360-mega-item:hover .mw360-mega-icon { background: var(--c-brand) !important; }
  #navbar .mw360-mega-item:hover .mw360-mega-icon i { color: #fff !important; }
  #navbar .mw360-mega-text strong {
    font-size: 0.875rem !important; font-weight: 600 !important;
    color: inherit !important; display: block;
  }
  #navbar .mw360-mega-text small { display: none !important; }
  #navbar .mw360-mega-see-all {
    display: flex !important; align-items: center !important; gap: 6px;
    padding: 10px 16px !important; font-size: 0.8rem !important;
    font-weight: 600 !important; color: var(--c-brand) !important;
    background: #eef3fd !important; border-top: 1px solid #dde6f7 !important;
    text-decoration: none !important; transition: background 0.12s;
  }
  #navbar .mw360-mega-see-all:hover { background: var(--c-brand-soft) !important; }

  /* ── Bottom CTA strip ────────────────────────────────── */
  .mw360-nav-cta {
    padding: 14px 16px 20px; border-top: 1px solid #e2e8f0;
    background: #fff; flex-shrink: 0; display: flex;
    flex-direction: column; gap: 10px;
  }
  .mw360-nav-cta .btn-primary-cta {
    display: flex; align-items: center; justify-content: center;
    height: 50px; border-radius: 999px; background: var(--c-brand);
    color: #fff; font-family: var(--font-body); font-size: 0.9375rem;
    font-weight: 700; text-decoration: none; box-shadow: 0 4px 14px rgba(27,79,186,0.3);
    transition: background 0.15s, box-shadow 0.15s; gap: 8px;
  }
  .mw360-nav-cta .btn-primary-cta:hover { background: var(--c-brand-dark); color: #fff; }
  .mw360-nav-cta .btn-secondary-cta {
    display: flex; align-items: center; justify-content: center;
    height: 46px; border-radius: 999px;
    border: 1.5px solid #e2e8f0; background: transparent;
    color: #475569; font-family: var(--font-body); font-size: 0.875rem;
    font-weight: 600; text-decoration: none; gap: 8px;
    transition: border-color 0.15s, color 0.15s;
  }
  .mw360-nav-cta .btn-secondary-cta:hover { border-color: var(--c-brand); color: var(--c-brand); }

  /* Hide old Bootstrap nav CTA buttons */
  #navbar .btn.nav-link { display: none !important; }
}


/* ============================================================
   BRAND KIT GLOBAL ENFORCEMENT
   ============================================================ */

/* Body paragraph max-width: 72ch */
p, .lead, .hero-sub {
  max-width: 72ch;
}
/* Override for centered text sections */
.text-center p, .text-center .lead {
  margin-left: auto;
  margin-right: auto;
}

/* Hero H1 max-width: 18ch */
.hero-section h1,
.hero-section .h1 {
  max-width: 18ch;
}

/* Stat numbers — brand kit exact */
.stat-number,
.trust-strip [style*="font-weight:800"],
.trust-strip [style*="font-weight: 800"] {
  font-family: var(--font-display) !important;
  font-size: clamp(2.5rem, 4vw, 3.5rem) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: -0.03em !important;
  color: var(--c-brand) !important;
}

/* strong / b = weight 700 */
strong, b { font-weight: 700 !important; }

/* Section background alternation tokens */
.section-white  { background: var(--c-bg-white) !important; }
.section-warm   { background: var(--c-bg-warm)  !important; }
.section-tint   { background: var(--c-bg-tint)  !important; }
.section-brand  { background: var(--c-brand-soft) !important; }
/* Legacy aliases */
.gray-bg        { background: var(--c-bg-warm)  !important; }
.light-blue-bg  { background: var(--c-bg-tint)  !important; }

/* Eyebrow label — brand kit exact */
.eyebrow,
h6.blue-clr,
h6.orange-clr,
h6.text-uppercase,
.eyebrow-label {
  font-family: var(--font-body) !important;
  font-size: var(--fs-micro) !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--c-brand) !important;
  margin-bottom: var(--space-2) !important;
  display: block;
  line-height: 1.5;
}
h6.orange-clr { color: var(--c-warning) !important; }

/* Card icon — brand kit exact */
.card-icon,
.mw360-card-icon {
  width: 48px !important;
  height: 48px !important;
  border-radius: var(--radius-md) !important;
  background: var(--c-brand-soft) !important;
  color: var(--c-brand) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: var(--space-3) !important;
  font-size: 24px;
  flex-shrink: 0;
}

/* No hard borders on cards — ever */
.card,
.iconWrap,
.servWrap > a {
  border: none !important;
  outline: none !important;
}

/* Image shadow */
.image-soft-shadow,
.imgWrap img {
  box-shadow: var(--shadow-image) !important;
  border-radius: var(--radius-lg) !important;
}
/* imgWrap border — remove hard border, use shadow only */
.imgWrap.with-border {
  border: none !important;
  border-radius: var(--radius-lg) !important;
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

/* Megamenu shadow fix */
.mw360-megamenu {
  box-shadow: var(--shadow-megamenu) !important;
  background: var(--c-bg-white) !important;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg) !important;
}

/* Hero section padding */
.hero-section {
  padding-top: var(--space-9);
  padding-bottom: var(--space-9);
}
@media (max-width: 768px) {
  .hero-section {
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
  }
}
/* Zero out inner pad-* inside hero (they add their own) */
.hero-section .pad-100,
.hero-section .pad-70,
.hero-section .pad-80 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Lucide icon base (loaded via CDN) */
.lucide {
  stroke: currentColor;
  stroke-width: 1.75;
  fill: none;
  vertical-align: middle;
  flex-shrink: 0;
}

/* Body text color enforcement */
body { color: var(--c-body); }
p    { color: var(--c-body); }
.text-muted { color: var(--c-body-muted) !important; }

/* Off-palette color overrides — catch any remaining inline #555 */
[style*="color:#555"],
[style*="color: #555"] {
  color: var(--c-body-muted) !important;
}

/* ============================================================
   ANIMATED GROWTH DASHBOARD — Hero component
   ============================================================ */
.growth-dashboard {
  position: relative;
  background: var(--c-bg-white);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  box-shadow: var(--shadow-image);
  width: 100%;
  max-width: 500px;
  margin-left: auto;
}
.gd-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-3);
}
.gd-title {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  font-weight: 600;
  color: var(--c-body-muted);
}
.gd-live {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--c-success);
}
.gd-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-success);
  animation: gd-pulse 2s ease-in-out infinite;
}
@keyframes gd-pulse {
  0%,100% { transform:scale(1);   opacity:1;   }
  50%      { transform:scale(1.5); opacity:0.5; }
}
.gd-stat {
  margin-bottom: var(--space-2);
  opacity: 0;
  animation: gd-fade-up 0.6s ease forwards 0.3s;
}
.gd-stat-number {
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--c-brand);
}
.gd-stat-label {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: var(--c-body-muted);
  margin-top: 6px;
}
.gd-chart { margin: var(--space-3) 0; position: relative; }
.gd-chart svg { width:100%; height:auto; display:block; overflow:visible; }
.gd-grid-line { stroke: var(--c-border-soft); stroke-width:1; }
.gd-area {
  fill: url(#gdGrad);
  opacity: 0;
  animation: gd-fade-up 1s ease forwards 2.4s;
}
.gd-line {
  fill: none;
  stroke: var(--c-brand);
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 460;
  stroke-dashoffset: 460;
  animation: gd-draw 2.5s ease forwards 0.5s;
}
@keyframes gd-draw { to { stroke-dashoffset: 0; } }
.gd-dot {
  transform-origin: center;
  transform: scale(0);
  animation: gd-dot-pop 0.35s cubic-bezier(0.34,1.56,0.64,1) forwards;
}
.gd-dot:nth-child(3) { animation-delay: 0.9s; }
.gd-dot:nth-child(4) { animation-delay: 1.3s; }
.gd-dot:nth-child(5) { animation-delay: 1.7s; }
.gd-dot:nth-child(6) { animation-delay: 2.1s; }
.gd-dot:nth-child(7) { animation-delay: 2.5s; }
@keyframes gd-dot-pop { to { transform: scale(1); } }
.gd-pills {
  display: flex;
  gap: var(--space-2);
  margin-top: var(--space-3);
  opacity: 0;
  animation: gd-fade-up 0.6s ease forwards 2.9s;
}
.gd-pill {
  flex: 1;
  background: var(--c-bg-tint);
  border-radius: var(--radius-md);
  padding: 12px 8px;
  text-align: center;
}
.gd-pill-value {
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--c-brand);
  line-height: 1.2;
}
.gd-pill-label {
  font-family: var(--font-body);
  font-size: 0.6875rem;
  color: var(--c-body-muted);
  margin-top: 3px;
  line-height: 1.3;
}
.gd-float {
  position: absolute;
  background: var(--c-bg-white);
  border-radius: var(--radius-md);
  padding: 10px 14px;
  box-shadow: 0 4px 12px rgba(13,27,42,0.12), 0 1px 3px rgba(13,27,42,0.06);
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  opacity: 0;
  animation: gd-float-in 0.5s cubic-bezier(0.34,1.56,0.64,1) forwards;
  z-index: 2;
}
.gd-float-1 { top: -18px; right: -18px; animation-delay: 2.9s; }
.gd-float-2 { bottom: 56px; left: -20px; animation-delay: 3.3s; }
@keyframes gd-float-in {
  from { opacity:0; transform:scale(0.82) translateY(8px); }
  to   { opacity:1; transform:scale(1)    translateY(0);   }
}
.gd-float-icon {
  width: 30px; height: 30px;
  border-radius: var(--radius-sm);
  background: var(--c-brand-soft);
  color: var(--c-brand);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 14px;
}
.gd-float-icon--green { background: rgba(14,124,102,0.1); color: var(--c-success); }
.gd-float-label strong {
  display: block; font-weight: 600;
  color: var(--c-heading); font-size: 0.8125rem;
}
.gd-float-label span { font-size: 0.6875rem; color: var(--c-body-muted); }
@keyframes gd-fade-up {
  from { opacity:0; transform:translateY(14px); }
  to   { opacity:1; transform:translateY(0);    }
}
@media (max-width: 600px) {
  .gd-float-1, .gd-float-2 { display: none !important; }
  .growth-dashboard { max-width:100%; padding: var(--space-3); }
  .gd-stat-number { font-size: 2.5rem !important; }
}
@media (max-width: 767px) {
  .growth-dashboard { margin: var(--space-4) auto 0; }
}

/* ============================================================
   BUG FIXES — 2026-05-24 batch
   ============================================================ */

/* Fix: Card hover was turning teal (#00adee from old style.css) */
.servWrap > a:hover,
.servWrap a:hover {
  background: var(--c-bg-white) !important;
  background-color: var(--c-bg-white) !important;
  border-color: transparent !important;
  color: var(--c-body) !important;
}
.servWrap > a:hover h4,
.servWrap a:hover h4 { color: var(--c-heading) !important; }
.servWrap > a:hover i,
.servWrap a:hover i  { color: var(--c-brand) !important; }
.servWrap > a:hover p,
.servWrap a:hover p  { color: var(--c-body) !important; }

/* Fix: Dental section highlight — brand blue invisible on blue bg */
.blue-bg .highlight,
.blue-bg span.highlight {
  color: #ffffff !important;
}

/* Fix: Megamenu hover gap — invisible bridge fills mouse dead zone */
.nav-item.dropdown.services > .nav-link {
  padding-bottom: 18px !important;
}
.mw360-megamenu {
  margin-top: -8px !important;
  padding-top: 8px !important;
}

/* Fix: Megamenu footer strip — wrap properly, no overflow */
.mw360-mega-footer {
  flex-wrap: wrap !important;
  gap: 4px 0 !important;
  padding: 10px 16px !important;
}
.mw360-mega-footer a {
  white-space: nowrap !important;
  padding: 4px 10px !important;
}

/* Fix: Contact Us nav button bottom clipping */
.navbar .btn-outline-info.nav-link,
.navbar .btn-info.nav-link {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  line-height: 1.2 !important;
}

/* Fix: Icon list — ensure FA icons and text render properly */
.icon-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 var(--space-3) !important;
}
.icon-list li {
  display: flex !important;
  align-items: center !important;
  gap: var(--space-2) !important;
  margin-bottom: var(--space-2) !important;
  font-family: var(--font-body) !important;
  font-size: var(--fs-body) !important;
  color: var(--c-body) !important;
  min-height: 32px;
}
.icon-list li i {
  font-size: 18px !important;
  color: var(--c-brand) !important;
  width: 24px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
  line-height: 1 !important;
}
.icon-list li span {
  flex: 1 !important;
  min-width: 0 !important;
  word-break: break-word !important;
  color: var(--c-body) !important;
}

/* Fix: Footer Location column — remove physical address display */
.foot-col .location-address { display: none !important; }

/* ============================================================
   VERIFIED FIXES — 2026-05-24 batch 2
   ============================================================ */

/* Fix: Dental section h2 highlight — home-expertise has blue bg, not blue-bg class */
.home-expertise .highlight,
.home-expertise span.highlight {
  color: #ffffff !important;
}

/* Fix: Navbar CTA buttons — equal size, no nav-link padding conflict */
.navbar .nav-item:last-child .nav-link.btn,
.navbar .nav-item:nth-last-child(2) .nav-link.btn {
  padding: 11px 24px !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  display: inline-flex !important;
  align-items: center !important;
  height: auto !important;
  min-height: unset !important;
  border-radius: var(--radius-pill) !important;
}

/* Fix: Megamenu footer strip — prevent Content Marketing wrapping to 2nd line */
.mw360-mega-footer {
  padding: 10px 20px !important;
  gap: 0 2px !important;
  flex-wrap: nowrap !important;
  overflow-x: auto;
}
.mw360-mega-footer a {
  font-size: 0.75rem !important;
  padding: 4px 8px !important;
  white-space: nowrap !important;
  flex-shrink: 0;
}
.mw360-mega-footer-label {
  font-size: 0.65rem !important;
  margin-right: 6px !important;
  flex-shrink: 0;
}

/* ============================================================
   MOBILE NAV — Desktop hide + Scroll passthrough
   Fix: .mw360-nav-hd and .mw360-nav-cta are mobile-only,
   must be hidden on desktop. .mw360-nav-scroll uses
   display:contents so navbar-nav is a direct flex child.
   2026-05-25
   ============================================================ */
@media (min-width: 1200px) {
  .mw360-nav-hd   { display: none !important; }
  .mw360-nav-cta  { display: none !important; }
  .mw360-nav-scroll { display: contents; }
}

/* Desktop: hide mobile nav icons in nav links */
@media (min-width: 1200px) {
  .mw360-nav-icon { display: none !important; }
}
