@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,700&amp;family=Open+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&amp;display=swap');

/* ==========================================================================
   America Connected - Modern Design System Tokens &amp; Global Base
   ========================================================================== */
:root {
  /* Brand Palette from Intake Brief (Enhanced for WCAG 2.2 AA Contrast) */
  --ac-teal: #00756c;          /* High contrast teal (5.4:1 on white - passes WCAG AA) */
  --ac-teal-brand: #0d9488;    /* Brand accent */
  --ac-teal-dark: #005a53;     /* Deep contrast teal */
  --ac-teal-deep: #042f2e;     /* Dark background teal */
  --ac-teal-light: #5eead4;    /* High contrast mint for dark backgrounds (10.8:1 on #042f2e) */
  --ac-mint: #99f6e4;          /* Soft mint */
  --ac-mint-soft: #ccfbf1;     /* Tint mint */
  --ac-bg: #f0fdfa;            /* Light mint surface */
  --ac-white: #ffffff;
  
  /* Text & Neutrals (High Contrast) */
  --ac-text-primary: #042f19;  /* 16.8:1 contrast on white */
  --ac-slate-900: #0f172a;     /* 18.2:1 contrast on white */
  --ac-slate-800: #1e293b;     /* 14.5:1 contrast on white */
  --ac-slate-700: #334155;     /* 9.6:1 contrast on white */
  --ac-slate-600: #475569;     /* 7.0:1 contrast on white */
  --ac-slate-500: #475569;     /* Upgraded for accessible body text */
  --ac-slate-100: #f1f5f9;

  /* Accents */
  --ac-red: #c83232;           /* Accessible accent red */
  --ac-red-light: #fee2e2;
  --ac-gold: #b45309;          /* Accessible amber (4.6:1 on white - passes WCAG AA) */
  --ac-gold-light: #fef3c7;

  /* Typography */
  --ac-font-heading: 'Montserrat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --ac-font-body: 'Open Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Rounded Shape System */
  --ac-radius-sm: 8px;
  --ac-radius-md: 14px;
  --ac-radius-lg: 20px;
  --ac-radius-xl: 28px;
  --ac-radius-pill: 9999px;

  /* Layered Shadows */
  --ac-shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.04);
  --ac-shadow-md: 0 12px 30px -6px rgba(13, 148, 136, 0.12), 0 4px 10px rgba(0, 0, 0, 0.03);
  --ac-shadow-lg: 0 22px 45px -10px rgba(13, 148, 136, 0.18), 0 8px 18px rgba(0, 0, 0, 0.04);
  --ac-shadow-hover: 0 28px 55px -12px rgba(13, 148, 136, 0.28), 0 12px 24px rgba(0, 0, 0, 0.06);

  --ac-transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
   Full Bleed Container Reset for Beaver Builder Pages
   ========================================================================== */
body.fl-builder .fl-content-full.container,
body.fl-builder .fl-page-content .container {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.fl-builder .fl-content-full .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.fl-builder .fl-content.col-md-12 {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

body.fl-builder .fl-post-header {
  display: none !important;
}

body.fl-builder .fl-post-content {
  margin: 0 !important;
  padding: 0 !important;
}

/* Row and column spacing are managed natively via Beaver Builder row and column settings */

/* Global Font Assignments */
body {
  font-family: var(--ac-font-body) !important;
  color: var(--ac-slate-700);
  background-color: var(--ac-bg) !important;
  line-height: 1.7 !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ac-font-heading) !important;
  color: var(--ac-slate-900);
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
}

/* ==========================================================================
   Accessibility & High-Contrast Safety Overrides for Dark Rows & Footers
   ========================================================================== */
.fl-row.ds-dark-row,
.fl-row[style*="background-color: #042f2e"],
.fl-row[style*="background-color:#042f2e"],
.fl-row[style*="background-color: rgb(4, 47, 46)"],
.fl-builder-content-66 .fl-row:first-child,
.fl-builder-content-66 .fl-row.ds-dark-row {
  background-color: #042f2e !important;
  color: #f1f5f9;
}

/* Headings in Dark Rows (White AAA Contrast: 16.8:1) */
.fl-row.ds-dark-row h1,
.fl-row.ds-dark-row h2,
.fl-row.ds-dark-row h3,
.fl-row.ds-dark-row .fl-heading-h1,
.fl-row.ds-dark-row .fl-heading-h2,
.fl-row.ds-dark-row .fl-heading-h3,
.fl-row.ds-dark-row h1 .fl-heading-text,
.fl-row.ds-dark-row h2 .fl-heading-text,
.fl-row.ds-dark-row h3 .fl-heading-text,
.fl-row[style*="background-color: #042f2e"] h1,
.fl-row[style*="background-color: #042f2e"] h2,
.fl-row[style*="background-color: #042f2e"] h3,
.fl-row[style*="background-color: #042f2e"] .fl-heading-text,
.fl-row[style*="background-color:#042f2e"] h1,
.fl-row[style*="background-color:#042f2e"] h2,
.fl-row[style*="background-color:#042f2e"] h3,
.fl-row[style*="background-color:#042f2e"] .fl-heading-text {
  color: #ffffff !important;
}

/* Eyebrows in Dark Rows (Mint AAA Contrast: 10.8:1) */
.fl-row.ds-dark-row h4,
.fl-row.ds-dark-row h4.fl-heading-text,
.fl-row.ds-dark-row h4 .fl-heading-text,
.fl-row.ds-dark-row .fl-heading-h4,
.fl-row[style*="background-color: #042f2e"] h4,
.fl-row[style*="background-color: #042f2e"] h4.fl-heading-text,
.fl-row[style*="background-color: #042f2e"] h4 .fl-heading-text,
.fl-row[style*="background-color:#042f2e"] h4,
.fl-row[style*="background-color:#042f2e"] h4.fl-heading-text,
.fl-row[style*="background-color:#042f2e"] h4 .fl-heading-text,
.fl-builder-content-66 .fl-row:first-child h4,
.fl-builder-content-66 .fl-row:first-child .fl-heading-text {
  color: #5eead4 !important; /* High contrast vibrant mint (WCAG AAA: 10.8:1) */
}

/* Body Text & Lists in Dark Rows (WCAG AAA: 14.5:1 / 9.8:1) */
.fl-row.ds-dark-row p,
.fl-row.ds-dark-row li,
.fl-row.ds-dark-row span:not(.fl-button-text),
.fl-row[style*="background-color: #042f2e"] p,
.fl-row[style*="background-color: #042f2e"] li,
.fl-row[style*="background-color: #042f2e"] span:not(.fl-button-text),
.fl-row[style*="background-color:#042f2e"] p,
.fl-row[style*="background-color:#042f2e"] li,
.fl-row[style*="background-color:#042f2e"] span:not(.fl-button-text),
.fl-builder-content-66 .fl-row:first-child p,
.fl-builder-content-66 .fl-row:first-child li,
.fl-builder-content-66 .fl-row:first-child span:not(.fl-button-text) {
  color: #f1f5f9 !important;
}

.fl-row.ds-dark-row strong,
.fl-row[style*="background-color: #042f2e"] strong,
.fl-row[style*="background-color:#042f2e"] strong,
.fl-builder-content-66 .fl-row:first-child strong {
  color: #ffffff !important;
}

/* Quotes in Dark Rows */
.fl-row.ds-dark-row blockquote,
.fl-row[style*="background-color: #042f2e"] blockquote,
.fl-row[style*="background-color:#042f2e"] blockquote {
  background: rgba(20, 184, 166, 0.18) !important;
  border-left: 4px solid #5eead4 !important;
  color: #ffffff !important;
}
.fl-row.ds-dark-row blockquote p,
.fl-row[style*="background-color: #042f2e"] blockquote p,
.fl-row[style*="background-color:#042f2e"] blockquote p {
  color: #ffffff !important;
}

/* Dark Row & Footer Links */
.fl-row.ds-dark-row a:not(.fl-button),
.fl-row[style*="background-color: #042f2e"] a:not(.fl-button),
.fl-builder-content-66 .fl-row:first-child a:not(.fl-button) {
  color: #cbd5e1 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
.fl-row.ds-dark-row a:not(.fl-button):hover,
.fl-row[style*="background-color: #042f2e"] a:not(.fl-button):hover,
.fl-builder-content-66 .fl-row:first-child a:not(.fl-button):hover {
  color: #5eead4 !important;
  text-decoration: underline;
}

/* ==========================================================================
   Accessibility Overrides for CTA Rows
   ========================================================================== */
.fl-row.ds-cta-row,
.fl-row[style*="background-color: #00756c"],
.fl-row[style*="background-color:#00756c"],
.fl-row[style*="background-color: #0d9488"],
.fl-row[style*="background-color:#0d9488"] {
  background-color: #00756c !important;
  color: #ffffff !important;
}

.fl-row.ds-cta-row h1,
.fl-row.ds-cta-row h2,
.fl-row.ds-cta-row h3,
.fl-row.ds-cta-row h4,
.fl-row.ds-cta-row .fl-heading-text,
.fl-row[style*="background-color: #00756c"] h1,
.fl-row[style*="background-color: #00756c"] h2,
.fl-row[style*="background-color: #00756c"] h3,
.fl-row[style*="background-color: #00756c"] h4,
.fl-row[style*="background-color: #00756c"] .fl-heading-text,
.fl-row[style*="background-color:#00756c"] h1,
.fl-row[style*="background-color:#00756c"] h2,
.fl-row[style*="background-color:#00756c"] h3,
.fl-row[style*="background-color:#00756c"] h4,
.fl-row[style*="background-color:#00756c"] .fl-heading-text,
.fl-row[style*="background-color: #0d9488"] h1,
.fl-row[style*="background-color: #0d9488"] h2,
.fl-row[style*="background-color: #0d9488"] h3,
.fl-row[style*="background-color: #0d9488"] h4,
.fl-row[style*="background-color: #0d9488"] .fl-heading-text,
.fl-row[style*="background-color:#0d9488"] h1,
.fl-row[style*="background-color:#0d9488"] h2,
.fl-row[style*="background-color:#0d9488"] h3,
.fl-row[style*="background-color:#0d9488"] h4,
.fl-row[style*="background-color:#0d9488"] .fl-heading-text {
  color: #ffffff !important;
}

.fl-row.ds-cta-row p,
.fl-row.ds-cta-row span:not(.fl-button-text),
.fl-row[style*="background-color: #00756c"] p,
.fl-row[style*="background-color:#00756c"] p,
.fl-row[style*="background-color: #0d9488"] p,
.fl-row[style*="background-color:#0d9488"] p {
  color: #f0fdfa !important;
}

/* ==========================================================================
   Header Polish
   ========================================================================== */
.fl-page-header, 
header.fl-builder-content {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border-bottom: 1px solid rgba(13, 148, 136, 0.12) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
}

.fl-page-header .fl-logo-img,
header.fl-builder-content img,
header.fl-builder-content .ds-site-logo img {
  max-height: 52px !important;
  width: auto !important;
  transition: transform 0.2s ease !important;
}

.fl-page-header .fl-logo-img:hover {
  transform: scale(1.02) !important;
}

/* Header Navigation Links */
.fl-page-header .fl-menu-item a,
header.fl-builder-content .fl-menu-item a {
  font-family: var(--ac-font-heading) !important;
  font-weight: 600 !important;
  font-size: 14.5px !important;
  color: var(--ac-slate-700) !important;
  padding: 8px 16px !important;
  border-radius: var(--ac-radius-pill) !important;
  text-decoration: none !important;
  transition: var(--ac-transition) !important;
}

.fl-page-header .fl-menu-item a:hover,
header.fl-builder-content .fl-menu-item a:hover {
  color: var(--ac-teal) !important;
  background-color: var(--ac-mint-soft) !important;
}

/* Header Donate Button */
.fl-page-header .fl-button,
header.fl-builder-content .fl-button {
  background: linear-gradient(135deg, #0d9488 0%, #00756c 100%) !important;
  color: #ffffff !important;
  font-family: var(--ac-font-heading) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 10px 22px !important;
  border-radius: var(--ac-radius-pill) !important;
  border: none !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(13, 148, 136, 0.35) !important;
  transition: var(--ac-transition) !important;
}

.fl-page-header .fl-button:hover,
header.fl-builder-content .fl-button:hover {
  background: linear-gradient(135deg, #00756c 0%, #042f2e 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45) !important;
}

/* ==========================================================================
   Shared Component Layout &amp; Typography
   ========================================================================== */
.ac-section {
  padding: 90px 24px;
  position: relative;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}

.ac-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}

.ac-section-header {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 56px;
}

.ac-eyebrow {
  display: inline-block;
  color: var(--ac-teal);
  font-family: var(--ac-font-heading);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 12px;
}

.ac-eyebrow.red {
  color: var(--ac-red);
}

.ac-section-title {
  font-size: 40px;
  font-weight: 800;
  color: var(--ac-slate-900);
  margin-bottom: 18px;
  line-height: 1.2;
}

.ac-section-desc {
  font-size: 18px;
  color: var(--ac-slate-600);
  line-height: 1.7;
}

/* Global Buttons */
.ac-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(135deg, #0d9488 0%, #00756c 100%);
  color: #ffffff !important;
  font-family: var(--ac-font-heading);
  font-weight: 700;
  font-size: 15.5px;
  padding: 15px 32px;
  border-radius: var(--ac-radius-pill);
  text-decoration: none !important;
  box-shadow: 0 8px 24px rgba(13, 148, 136, 0.35);
  transition: var(--ac-transition);
}

.ac-btn-primary:hover {
  background: linear-gradient(135deg, #00756c 0%, #042f2e 100%);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(13, 148, 136, 0.45);
  color: #ffffff !important;
}

.ac-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #ffffff;
  color: var(--ac-slate-800) !important;
  font-family: var(--ac-font-heading);
  font-weight: 600;
  font-size: 15.5px;
  padding: 15px 30px;
  border-radius: var(--ac-radius-pill);
  border: 1.5px solid rgba(15, 23, 42, 0.2);
  text-decoration: none !important;
  transition: var(--ac-transition);
}

.ac-btn-secondary:hover {
  background: var(--ac-mint-soft);
  border-color: var(--ac-teal);
  color: var(--ac-teal) !important;
  transform: translateY(-2px);
}

/* ==========================================================================
   1. HERO SECTION
   ========================================================================== */
.ac-hero-wrap {
  padding: 80px 24px 100px;
  background: radial-gradient(circle at 85% 15%, rgba(153, 246, 228, 0.45) 0%, transparent 45%),
              radial-gradient(circle at 10% 85%, rgba(200, 50, 50, 0.05) 0%, transparent 40%),
              radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.6) 0%, transparent 60%),
              var(--ac-bg);
  position: relative;
  width: 100%;
}

.ac-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.95fr;
  gap: 56px;
  align-items: center;
}

.ac-hero-content {
  max-width: 640px;
}


.ac-hero-title {
  font-size: 52px;
  font-weight: 900;
  line-height: 1.12;
  color: var(--ac-slate-900);
  margin-bottom: 24px;
  letter-spacing: -0.035em;
}

.ac-hero-title .highlight-teal {
  color: var(--ac-teal);
  background: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ac-hero-lead {
  font-size: 18.5px;
  color: var(--ac-slate-700);
  line-height: 1.75;
  margin-bottom: 34px;
}

.ac-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 32px;
}

.ac-hero-trust {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--ac-slate-600);
}

.ac-hero-trust .trust-icon {
  font-size: 16px;
  color: var(--ac-gold);
  letter-spacing: 2px;
}

/* Hero Media Card with Floating Proof Badges */
.ac-hero-media {
  position: relative;
  display: flex;
  justify-content: center;
}

.ac-hero-card-outer {
  position: relative;
  width: 100%;
  max-width: 500px;
}

.ac-hero-card {
  background: #ffffff;
  border-radius: var(--ac-radius-xl);
  padding: 12px;
  box-shadow: var(--ac-shadow-lg);
  border: 1px solid rgba(13, 148, 136, 0.15);
  position: relative;
  overflow: hidden;
  transition: var(--ac-transition);
  min-height: 440px;
}

.ac-hero-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ac-shadow-hover);
}

.ac-hero-img {
  width: 100% !important;
  height: 420px !important;
  min-height: 420px !important;
  object-fit: cover !important;
  border-radius: var(--ac-radius-lg);
  display: block !important;
}

/* Floating Badges */
.ac-float-badge {
  position: absolute;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 12px 18px;
  border-radius: var(--ac-radius-md);
  border: 1px solid rgba(13, 148, 136, 0.2);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 3;
}

.ac-float-badge.badge-left {
  bottom: 20px;
  left: -20px;
  animation: ac-float 4.5s ease-in-out infinite;
}

.ac-float-badge.badge-right {
  top: 24px;
  right: -20px;
  animation: ac-float 5s ease-in-out infinite reverse;
}

.ac-float-badge .badge-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--ac-mint-soft);
  color: var(--ac-teal-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.ac-float-badge .badge-title {
  font-family: var(--ac-font-heading);
  font-size: 16px;
  font-weight: 800;
  color: var(--ac-slate-900);
  line-height: 1.1;
}

.ac-float-badge .badge-sub {
  font-size: 11px;
  font-weight: 600;
  color: var(--ac-slate-600);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 3px;
}

@keyframes ac-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* ==========================================================================
   2. STATS &amp; PROOF POINTS RIBBON
   ========================================================================== */
.ac-stats-ribbon {
  background: #ffffff;
  border-top: 1px solid rgba(13, 148, 136, 0.12);
  border-bottom: 1px solid rgba(13, 148, 136, 0.12);
  padding: 44px 24px;
  box-shadow: var(--ac-shadow-sm);
  width: 100%;
  box-sizing: border-box;
}

.ac-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.ac-stat-item {
  text-align: center;
  padding: 8px 20px;
  border-right: 1px solid rgba(13, 148, 136, 0.15);
}

.ac-stat-item:last-child {
  border-right: none;
}

.ac-stat-number {
  font-family: var(--ac-font-heading);
  font-size: 42px;
  font-weight: 900;
  color: var(--ac-teal);
  line-height: 1;
  margin-bottom: 8px;
  letter-spacing: -0.03em;
}

.ac-stat-label {
  font-size: 14.5px;
  font-weight: 600;
  color: var(--ac-slate-600);
  line-height: 1.4;
}

/* ==========================================================================
   3. OUR UNIQUE APPROACH (VISUAL STORYTELLING)
   ========================================================================== */
.ac-approach-wrap {
  background: #ffffff;
}

.ac-approach-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.ac-approach-media {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

.ac-approach-card {
  position: relative;
  background: var(--ac-bg);
  border-radius: var(--ac-radius-xl);
  padding: 12px;
  box-shadow: var(--ac-shadow-lg);
  border: 1px solid rgba(13, 148, 136, 0.15);
  min-height: 440px;
}

.ac-approach-main-img {
  width: 100% !important;
  height: 440px !important;
  min-height: 440px !important;
  object-fit: cover !important;
  border-radius: var(--ac-radius-lg);
  display: block !important;
}

.ac-approach-overlap-card {
  position: absolute;
  bottom: -20px;
  right: -20px;
  background: #ffffff;
  padding: 16px 20px;
  border-radius: var(--ac-radius-lg);
  box-shadow: var(--ac-shadow-lg);
  border: 1px solid rgba(13, 148, 136, 0.2);
  max-width: 270px;
  z-index: 3;
}

.ac-approach-overlap-card .quote-text {
  font-size: 13px;
  font-weight: 600;
  color: var(--ac-slate-800);
  line-height: 1.5;
  margin-bottom: 6px;
}

.ac-approach-overlap-card .quote-attr {
  font-size: 11px;
  font-weight: 700;
  color: var(--ac-teal);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.ac-approach-content h2 {
  font-size: 38px;
  margin-bottom: 20px;
}

.ac-approach-content p.lead {
  font-size: 17.5px;
  color: var(--ac-slate-700);
  margin-bottom: 30px;
  line-height: 1.7;
}

.ac-feature-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 34px;
}

.ac-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.ac-feature-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--ac-mint-soft);
  color: var(--ac-teal-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 15px;
  margin-top: 2px;
}

.ac-feature-text h4 {
  font-size: 16.5px;
  font-weight: 750;
  margin-bottom: 4px;
  color: var(--ac-slate-900);
}

.ac-feature-text p {
  font-size: 14.5px;
  color: var(--ac-slate-600);
  margin: 0;
  line-height: 1.55;
}

/* ==========================================================================
   4. SIGNATURE PROGRAMS SHOWCASE (6-CARD BENTO GRID)
   ========================================================================== */
.ac-programs-wrap {
  background: linear-gradient(180deg, #f0fdfa 0%, #e6fcf7 100%);
}

.ac-programs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.ac-program-card {
  background: #ffffff;
  border-radius: var(--ac-radius-lg);
  padding: 34px 28px;
  border: 1px solid rgba(13, 148, 136, 0.14);
  box-shadow: var(--ac-shadow-md);
  transition: var(--ac-transition);
  display: flex;
  flex-direction: column;
  position: relative;
}

.ac-program-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--ac-shadow-hover);
  border-color: rgba(13, 148, 136, 0.35);
}

.ac-program-title {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.32;
  margin-bottom: 16px;
  color: var(--ac-slate-900);
}

.ac-program-title::after {
  content: "";
  display: table;
  clear: both;
}

.ac-program-icon {
  float: left;
  font-size: 38px;
  line-height: 1;
  margin-right: 14px;
  margin-bottom: 6px;
  display: inline-block;
  user-select: none;
}

.ac-program-desc {
  font-size: 15px;
  color: var(--ac-slate-600);
  line-height: 1.65;
  margin-bottom: 24px;
  flex-grow: 1;
}

.ac-program-link {
  font-family: var(--ac-font-heading);
  font-size: 14.5px;
  font-weight: 700;
  color: var(--ac-teal);
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  transition: var(--ac-transition);
}

.ac-program-card:hover .ac-program-link {
  color: var(--ac-teal-dark);
  gap: 10px;
}

/* ==========================================================================
   5. GLOBAL REACH &amp; WORLD MAP SHOWCASE
   ========================================================================== */
.ac-impact-wrap {
  background: #ffffff;
}

.ac-impact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

.ac-map-container {
  background: radial-gradient(circle at center, rgba(13, 148, 136, 0.08) 0%, transparent 70%);
  border-radius: var(--ac-radius-xl);
  padding: 24px;
  text-align: center;
  border: 1px solid rgba(13, 148, 136, 0.18);
  box-shadow: var(--ac-shadow-md);
  position: relative;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ac-map-img {
  width: 100% !important;
  max-width: 480px !important;
  height: auto !important;
  min-height: 260px !important;
  display: block !important;
  margin: 0 auto !important;
  border-radius: var(--ac-radius-md);
  object-fit: contain !important;
}

.ac-map-stat-badge {
  position: absolute;
  bottom: 16px;
  left: 20px;
  right: 20px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  padding: 10px 16px;
  border-radius: var(--ac-radius-md);
  border: 1px solid rgba(13, 148, 136, 0.2);
  display: flex;
  justify-content: space-around;
  font-size: 13px;
  font-weight: 700;
  color: var(--ac-slate-800);
}

.ac-map-stat-badge span {
  color: var(--ac-teal);
}

.ac-impact-details h2 {
  font-size: 38px;
  margin-bottom: 20px;
}

.ac-impact-details p {
  font-size: 16.5px;
  color: var(--ac-slate-700);
  margin-bottom: 24px;
  line-height: 1.7;
}

.ac-impact-points {
  list-style: none;
  padding: 0;
  margin: 0 0 30px 0;
}

.ac-impact-points li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 14px;
  font-size: 15px;
  color: var(--ac-slate-800);
  line-height: 1.55;
}

.ac-impact-points li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--ac-teal);
  font-weight: 900;
  font-size: 16px;
  background: var(--ac-mint-soft);
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ==========================================================================
   6. FOUNDER & CONNECTIPLOMACY SPOTLIGHT
   ========================================================================== */
.ac-founder-wrap {
  background: linear-gradient(135deg, #042f2e 0%, #0f172a 100%);
  color: #ffffff;
  position: relative;
}

.ac-founder-grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 60px;
  align-items: center;
}

.ac-book-card {
  text-align: center;
  position: relative;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ac-book-img {
  width: 290px !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 380px !important;
  object-fit: cover !important;
  display: inline-block !important;
  border-radius: var(--ac-radius-lg);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.15);
  transition: transform 0.3s ease;
}

.ac-book-img:hover {
  transform: scale(1.03) rotate(-1deg);
}

.ac-founder-content h3 {
  color: var(--ac-mint) !important;
  font-size: 13.5px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 14px;
}

.ac-founder-content h2 {
  color: #ffffff !important;
  font-size: 38px;
  margin-bottom: 22px;
}

.ac-founder-quote {
  font-style: italic;
  font-size: 18.5px;
  line-height: 1.7;
  color: #e2e8f0;
  border-left: 3px solid var(--ac-teal-light);
  padding-left: 22px;
  margin-bottom: 24px;
}

.ac-founder-content p {
  color: #cbd5e1;
  font-size: 15.5px;
  line-height: 1.75;
  margin-bottom: 28px;
}

.ac-founder-author {
  font-family: var(--ac-font-heading);
  font-size: 16.5px;
  font-weight: 700;
  color: #ffffff;
}

.ac-founder-author span {
  font-weight: 400;
  color: var(--ac-mint);
  font-size: 14px;
}

/* ==========================================================================
   7. INSPIRING CALL TO ACTION & DONATION BANNER
   ========================================================================== */
.ac-cta-banner-wrap {
  padding: 95px 24px;
  background: radial-gradient(circle at 15% 20%, rgba(13, 148, 136, 0.15) 0%, transparent 50%),
              radial-gradient(circle at 85% 80%, rgba(200, 50, 50, 0.08) 0%, transparent 50%),
              #ffffff;
  text-align: center;
  width: 100%;
}

.ac-cta-box {
  background: linear-gradient(135deg, #0d9488 0%, #042f2e 100%);
  color: #ffffff;
  border-radius: var(--ac-radius-xl);
  padding: 64px 40px;
  box-shadow: 0 25px 65px -10px rgba(13, 148, 136, 0.35);
  position: relative;
  overflow: hidden;
  max-width: 960px;
  margin: 0 auto;
}

.ac-cta-box::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.ac-cta-box h2 {
  color: #ffffff !important;
  font-size: 40px;
  font-weight: 900;
  margin-bottom: 18px;
  line-height: 1.2;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

.ac-cta-box p {
  color: #f0fdfa !important;
  font-size: 18px;
  max-width: 700px;
  margin: 0 auto 36px;
  line-height: 1.75;
  opacity: 0.95;
}

.ac-cta-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin-bottom: 24px;
}

.ac-cta-box .ac-btn-donate {
  background: #ffffff;
  color: var(--ac-teal-deep) !important;
  font-family: var(--ac-font-heading);
  font-weight: 800;
  font-size: 16px;
  padding: 16px 36px;
  border-radius: var(--ac-radius-pill);
  text-decoration: none !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  transition: var(--ac-transition);
}

.ac-cta-box .ac-btn-donate:hover {
  background: var(--ac-mint);
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.25);
  color: var(--ac-teal-deep) !important;
}

.ac-cta-box .ac-btn-join {
  background: transparent;
  color: #ffffff !important;
  font-family: var(--ac-font-heading);
  font-weight: 700;
  font-size: 16px;
  padding: 16px 34px;
  border-radius: var(--ac-radius-pill);
  border: 2px solid rgba(255, 255, 255, 0.75);
  text-decoration: none !important;
  transition: var(--ac-transition);
}

.ac-cta-box .ac-btn-join:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: #ffffff;
  color: #ffffff !important;
  transform: translateY(-2px);
}

.ac-cta-trust {
  font-size: 13.5px;
  color: #cbd5e1;
  font-weight: 500;
}

/* ==========================================================================
   America Connected - Modern Rebuilt Footer
   ========================================================================== */
.fl-page-footer-wrap,
footer.fl-builder-content,
footer.fl-builder-content-66 {
  background: #021715 !important;
  color: #e2e8f0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

footer.fl-builder-content .fl-module-heading .fl-heading-text,
footer.fl-builder-content h4,
footer.fl-builder-content-66 h4,
footer.fl-builder-content-66 .fl-heading-text {
  color: #5eead4 !important; /* High contrast vibrant mint */
}

footer.fl-builder-content p,
footer.fl-builder-content-66 p {
  color: #cbd5e1 !important;
}

footer.fl-builder-content a,
footer.fl-builder-content-66 a {
  color: #f1f5f9 !important;
  text-decoration: none;
}

footer.fl-builder-content a:hover,
footer.fl-builder-content-66 a:hover {
  color: #5eead4 !important;
  text-decoration: underline;
}

.ac-footer-beaver-row .fl-row-content-wrap {
  padding: 0 !important;
}

.ac-footer-wrap {
  background: linear-gradient(180deg, #042724 0%, #021715 100%);
  color: #cbd5e1;
  font-family: var(--ac-font-body, "Open Sans", sans-serif);
  position: relative;
  overflow: hidden;
}

/* Luminous mint-teal top edge */
.ac-footer-accent-line {
  height: 3px;
  background: linear-gradient(90deg, #0d9488 0%, #2dd4bf 50%, #0d9488 100%);
  box-shadow: 0 0 15px rgba(45, 212, 191, 0.4);
}

.ac-footer-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 70px 24px 36px;
}

/* 4-column modern grid */
.ac-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 0.9fr 1.1fr 1.1fr;
  gap: 48px;
  align-items: start;
}

/* Column 1: Brand & Mission */
.ac-footer-brand-col {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.ac-footer-brand-link {
  display: inline-block;
  text-decoration: none;
}

.ac-footer-logo-badge {
  background: #ffffff;
  padding: 10px 18px;
  border-radius: 14px;
  display: inline-block;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  transition: transform 0.25s ease;
  max-width: 240px;
}

.ac-footer-logo-badge:hover {
  transform: translateY(-2px);
}

.ac-footer-logo {
  max-height: 52px;
  width: auto;
  display: block;
}

.ac-footer-mission {
  color: #94a3b8 !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

.ac-footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}

.ac-footer-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(20, 184, 166, 0.12);
  color: #99f6e4 !important;
  border: 1px solid rgba(45, 212, 191, 0.25);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.ac-footer-badge .badge-icon {
  color: #2dd4bf;
  font-weight: bold;
}

/* Section Headings */
.ac-footer-title {
  color: #ffffff !important;
  font-family: var(--ac-font-heading, "Montserrat", sans-serif) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  margin: 0 0 20px 0 !important;
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
}

.ac-footer-title .title-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, rgba(45, 212, 191, 0.4) 0%, transparent 100%);
}

/* Column 2: Navigation Links */
.ac-footer-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ac-footer-links li a {
  color: #cbd5e1 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease !important;
  padding: 2px 0;
}

.ac-footer-links li a:hover {
  color: #99f6e4 !important;
  transform: translateX(4px);
}

.ac-footer-links li a::before {
  content: "›";
  color: #14b8a6;
  font-size: 16px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.ac-footer-links li a:hover::before {
  transform: translateX(2px);
  color: #2dd4bf;
}

/* Column 3: Signature Programs */
.ac-footer-programs {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ac-footer-programs li a {
  display: block;
  text-decoration: none !important;
  color: inherit !important;
  padding: 8px 12px;
  border-radius: 8px;
  border-left: 2px solid rgba(45, 212, 191, 0.25);
  background: rgba(255, 255, 255, 0.02);
  transition: all 0.2s ease;
}

.ac-footer-programs li a:hover {
  background: rgba(255, 255, 255, 0.06);
  border-left-color: var(--ac-mint, #99f6e4);
  transform: translateX(4px);
}

.ac-footer-programs .program-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ac-footer-programs .program-info strong {
  color: #f1f5f9 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  transition: color 0.2s ease;
}

.ac-footer-programs li a:hover .program-info strong {
  color: #99f6e4 !important;
}

.ac-footer-programs .program-info span {
  color: #94a3b8 !important;
  font-size: 12px !important;
  line-height: 1.4;
}

/* Column 4: Support & Contact */
.ac-footer-cta-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ac-footer-support-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(45, 212, 191, 0.22);
  border-radius: 14px;
  padding: 18px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.ac-footer-support-card .support-card-text {
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: #cbd5e1 !important;
  margin: 0 0 14px 0 !important;
}

.ac-footer-donate-btn {
  background: linear-gradient(135deg, #c83232 0%, #b91c1c 100%) !important;
  color: #ffffff !important;
  padding: 10px 20px !important;
  border-radius: 999px !important;
  font-family: var(--ac-font-heading, "Montserrat", sans-serif) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 14px rgba(200, 50, 50, 0.35) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
  width: 100%;
}

.ac-footer-donate-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(200, 50, 50, 0.5) !important;
  color: #ffffff !important;
}

.ac-footer-contact-info {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.ac-footer-contact-info .contact-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.ac-footer-contact-info .contact-icon {
  font-size: 15px;
  color: #2dd4bf;
  margin-top: 1px;
}

.ac-footer-contact-info .contact-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ac-footer-contact-info .contact-text .label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #64748b;
  font-weight: 600;
}

.ac-footer-contact-info .contact-text a {
  color: #99f6e4 !important;
  font-size: 13px !important;
  text-decoration: none !important;
  font-weight: 500;
}

.ac-footer-contact-info .contact-text a:hover {
  text-decoration: underline !important;
}

.ac-footer-contact-info .contact-text span {
  color: #94a3b8;
  font-size: 13px;
}

/* Bottom Sub-Footer Bar */
.ac-footer-bottom {
  margin-top: 50px;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
}

.ac-footer-bottom-legal {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ac-footer-bottom-legal .copyright {
  color: #94a3b8 !important;
  margin: 0 !important;
  font-size: 13px !important;
}

.ac-footer-tagline {
  color: #64748b !important;
  margin: 0 !important;
  font-size: 12px !important;
  letter-spacing: 0.03em;
}

.ac-footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ac-footer-bottom-links a {
  color: #94a3b8 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  transition: color 0.2s ease;
}

.ac-footer-bottom-links a:hover {
  color: #99f6e4 !important;
}

.ac-footer-bottom-links .sep {
  color: #475569;
  font-size: 10px;
}

/* Sponsor / 48in48 bottom banner */
body ._48in48-footer {
  background: #ffffff !important;
  border-top: 1px solid #e2e8f0 !important;
  padding: 24px 20px !important;
  text-align: center !important;
}

body ._48in48-footer img {
  filter: none !important;
  opacity: 1 !important;
  display: inline-block !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}

body ._48in48-footer img:hover {
  opacity: 0.85 !important;
  transform: scale(1.02) !important;
}

/* Responsive Footer Breakpoints */
@media (max-width: 1024px) {
  .ac-footer-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
  .ac-footer-brand-col {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .ac-footer-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .ac-footer-brand-col {
    grid-column: span 1;
  }
  .ac-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}

/* ==========================================================================
   Responsive Adaptations
   ========================================================================== */
@media (max-width: 1024px) {
  .ac-hero-grid,
  .ac-approach-grid,
  .ac-impact-grid,
  .ac-founder-grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .ac-hero-media {
    order: -1;
  }

  .ac-programs-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ac-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }

  .ac-stat-item:nth-child(2) {
    border-right: none;
  }

  .ac-hero-title {
    font-size: 42px;
  }

  .ac-section-title {
    font-size: 34px;
  }
}

@media (max-width: 640px) {
  .ac-section {
    padding: 60px 18px;
  }

  .ac-hero-wrap {
    padding: 50px 18px 60px;
  }

  .ac-hero-title {
    font-size: 34px;
  }

  .ac-hero-img {
    height: 300px;
  }

  .ac-float-badge {
    position: static;
    margin-top: 14px;
  }

  .ac-approach-main-img {
    height: 320px;
  }

  .ac-approach-overlap-card {
    position: static;
    margin-top: 16px;
    max-width: 100%;
  }

  .ac-programs-grid {
    grid-template-columns: 1fr;
  }

  .ac-stats-grid {
    grid-template-columns: 1fr;
  }

  .ac-stat-item {
    border-right: none;
    border-bottom: 1px solid rgba(13, 148, 136, 0.12);
    padding-bottom: 20px;
  }

  .ac-stat-item:last-child {
    border-bottom: none;
  }

  .ac-cta-box {
    padding: 44px 20px;
  }

  .ac-cta-box h2 {
    font-size: 28px;
  }

  .ac-cta-buttons {
    flex-direction: column;
    width: 100%;
  }

  .ac-cta-buttons a {
    width: 100%;
    text-align: center;
  }
}

/* ==========================================================================
   America Connected - Subpages Modern Styling
   ========================================================================== */

/* Subpage Hero */
.ac-subpage-hero {
  background: linear-gradient(135deg, #042f2e 0%, #003833 50%, #042422 100%);
  color: #ffffff;
  padding: 80px 0 70px;
  position: relative;
  overflow: hidden;
}

.ac-subpage-hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(20, 184, 166, 0.15) 0%, transparent 70%);
  pointer-events: none;
}

.ac-subpage-hero-content {
  max-width: 820px;
}

.ac-subpage-breadcrumb {
  font-size: 13px;
  color: #99f6e4;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ac-subpage-breadcrumb a {
  color: #cbd5e1 !important;
  text-decoration: none !important;
  transition: color 0.2s;
}

.ac-subpage-breadcrumb a:hover {
  color: #ffffff !important;
}

.ac-subpage-breadcrumb span {
  opacity: 0.7;
}

.ac-subpage-title {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif) !important;
  font-size: 42px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.2 !important;
  margin-bottom: 20px !important;
}

.ac-subpage-lead {
  font-size: 18px !important;
  line-height: 1.65 !important;
  color: #cbd5e1 !important;
  margin-bottom: 30px !important;
  max-width: 720px;
}

.ac-subpage-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
}

/* Background Utility Classes */
.ac-bg-light {
  background-color: #f8fafc;
}

.ac-bg-white {
  background-color: #ffffff;
}

/* Centered Section Header */
.ac-section-header-center {
  text-align: center;
  max-width: 760px;
  margin: 0 auto 56px;
}

.ac-section-header-center h2 {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif) !important;
  font-size: 34px !important;
  font-weight: 800 !important;
  color: var(--ac-text-primary, #042f19) !important;
  margin: 12px 0 16px !important;
  line-height: 1.25 !important;
}

.ac-section-header-center p {
  color: #64748b !important;
  font-size: 16.5px !important;
  line-height: 1.65 !important;
}

/* Three Card Grid */
.ac-three-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.ac-feature-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 36px 30px;
  border: 1px solid rgba(13, 148, 136, 0.12);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ac-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(13, 148, 136, 0.12);
}

.ac-feature-card .feature-icon-badge {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(20, 184, 166, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 20px;
}

.ac-feature-card h3 {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif) !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  color: var(--ac-text-primary, #042f19) !important;
  margin-bottom: 14px !important;
}

.ac-feature-card p {
  color: #64748b !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  margin: 0 !important;
}

/* Two Column Layout */
.ac-two-col-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: center;
}

.ac-media-col {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.ac-framed-img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 20px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
  display: block;
  object-fit: cover;
}

.ac-book-card-wrap {
  position: relative;
  display: block;
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
}

.ac-book-card-wrap .ac-framed-img {
  width: 100% !important;
  max-width: 340px !important;
  height: auto !important;
  min-height: 480px !important;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.16);
  display: block !important;
  object-fit: cover;
}

.ac-floating-pill {
  position: absolute;
  bottom: 24px;
  left: 20px;
  background: #ffffff;
  color: #042f2e;
  font-size: 13px;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.18);
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  z-index: 2;
}

.ac-floating-pill span {
  color: #f59e0b;
}

.ac-quote-box {
  background: rgba(20, 184, 166, 0.08);
  border-left: 4px solid var(--ac-teal, #0d9488);
  padding: 18px 24px;
  border-radius: 0 12px 12px 0;
  font-style: italic;
  font-size: 17px;
  line-height: 1.6;
  color: #042f2e;
  margin: 20px 0 24px;
}

.ac-author-meta {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
}

.ac-author-meta strong {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif);
  font-size: 17px;
  color: #042f2e;
}

.ac-author-meta span {
  font-size: 13.5px;
  color: #64748b;
}

/* Timeline */
.ac-timeline-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.ac-timeline-item {
  background: #ffffff;
  border-radius: 16px;
  padding: 28px 24px;
  border: 1px solid rgba(13, 148, 136, 0.12);
  box-shadow: 0 8px 24px rgba(0,0,0,0.03);
  position: relative;
}

.ac-timeline-item .timeline-year {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif);
  font-size: 26px;
  font-weight: 800;
  color: var(--ac-teal, #0d9488);
  margin-bottom: 12px;
}

.ac-timeline-item h4 {
  font-size: 16px;
  font-weight: 700;
  color: #042f19;
  margin-bottom: 10px;
}

.ac-timeline-item p {
  font-size: 14px;
  color: #64748b;
  line-height: 1.55;
  margin: 0;
}

/* Programs Detailed Cards */
.ac-programs-detail-list {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.ac-program-detail-card {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 0;
  align-items: stretch;
  background: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(13, 148, 136, 0.12);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.05);
}

.ac-program-detail-card.reverse {
  grid-template-columns: 1.3fr 1fr;
}

.ac-program-detail-card.reverse .program-detail-media {
  order: 2;
}

.program-detail-media {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 380px;
  display: flex;
}

.program-detail-img {
  width: 100%;
  height: 100%;
  min-height: 380px;
  object-fit: cover;
  display: block;
  flex: 1;
}

.program-category-badge {
  position: absolute;
  top: 20px;
  left: 20px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 6px 14px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.badge-blue { background: #2563eb; }
.badge-teal { background: #0d9488; }
.badge-gold { background: #d97706; }
.badge-purple { background: #7c3aed; }
.badge-green { background: #059669; }
.badge-red { background: #c83232; }

.program-detail-content {
  padding: 40px;
}

.program-tag {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ac-teal, #0d9488);
  font-weight: 700;
  margin-bottom: 8px;
}

.program-detail-content h3 {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  color: #042f19 !important;
  margin-bottom: 16px !important;
}

.program-detail-content p {
  color: #475569 !important;
  font-size: 15.5px !important;
  line-height: 1.65 !important;
  margin-bottom: 20px !important;
}

.program-highlights {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 28px 0 !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.program-highlights li {
  font-size: 14.5px;
  color: #334155;
  line-height: 1.5;
  position: relative;
  padding-left: 20px;
}

.program-highlights li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--ac-teal, #0d9488);
  font-weight: bold;
}

/* Two by Two Grid for Pathways */
.ac-two-by-two-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}

.ac-path-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 38px 32px;
  border: 1px solid rgba(13, 148, 136, 0.12);
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
}

.ac-path-card .path-icon {
  font-size: 32px;
  margin-bottom: 18px;
}

.ac-path-card h3 {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #042f19 !important;
  margin-bottom: 12px !important;
}

.ac-path-card p {
  color: #64748b !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  margin-bottom: 18px !important;
}

.path-bullets {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 28px 0 !important;
  flex-grow: 1;
}

.path-bullets li {
  font-size: 14px;
  color: #334155;
  padding: 4px 0 4px 18px;
  position: relative;
}

.path-bullets li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--ac-teal, #0d9488);
  font-size: 18px;
  line-height: 1;
}

/* FAQ List */
.ac-faq-list {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ac-faq-item {
  background: #f8fafc;
  border-radius: 14px;
  padding: 24px 28px;
  border: 1px solid rgba(13, 148, 136, 0.1);
}

.ac-faq-item h4 {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif);
  font-size: 17.5px;
  color: #042f19;
  margin-bottom: 10px;
}

.ac-faq-item p {
  color: #64748b;
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}

/* Donation Cards */
.ac-four-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.ac-donation-card {
  background: #ffffff;
  border-radius: 20px;
  padding: 34px 24px;
  border: 1px solid rgba(13, 148, 136, 0.15);
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
  text-align: center;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ac-donation-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(200, 50, 50, 0.15);
}

.ac-donation-card.featured {
  border-color: var(--ac-red, #c83232);
  box-shadow: 0 16px 45px rgba(200, 50, 50, 0.14);
}

.ac-popular-tag {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--ac-red, #c83232);
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 12px;
  border-radius: 999px;
}

.donation-amount {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif);
  font-size: 38px;
  font-weight: 800;
  color: var(--ac-red, #c83232);
  margin-bottom: 12px;
}

.ac-donation-card h4 {
  font-size: 18px;
  color: #042f19;
  margin-bottom: 12px;
}

.ac-donation-card p {
  color: #64748b;
  font-size: 14px;
  line-height: 1.55;
  margin-bottom: 24px;
  flex-grow: 1;
}

/* Giving Options & Trust */
.ac-giving-options-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 24px 0;
}

.giving-method {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.giving-method strong {
  font-size: 15.5px;
  color: #042f19;
}

.giving-method span {
  font-size: 14px;
  color: #64748b;
}

.ac-tax-id-note {
  font-size: 13px;
  color: #94a3b8;
  font-style: italic;
}

.ac-trust-highlight-card {
  background: #f0fdfa;
  border: 1px solid rgba(13, 148, 136, 0.2);
  border-radius: 20px;
  padding: 36px 30px;
}

.ac-trust-highlight-card h3 {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif);
  font-size: 20px;
  color: #042f2e;
  margin-bottom: 18px;
}

.trust-list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.trust-list li {
  font-size: 14.5px;
  color: #042f2e;
}

.support-email-box {
  border-top: 1px solid rgba(13, 148, 136, 0.2);
  padding-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.support-email-box span {
  font-size: 12.5px;
  color: #64748b;
}

.support-email-box a {
  color: var(--ac-teal, #0d9488);
  font-weight: 700;
  font-size: 14.5px;
  text-decoration: none;
}

/* Contact Page Form & Details */
.ac-contact-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 28px 0;
}

.ac-contact-item-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #ffffff;
  padding: 20px;
  border-radius: 14px;
  border: 1px solid rgba(13, 148, 136, 0.12);
  box-shadow: 0 4px 14px rgba(0,0,0,0.03);
}

.ac-contact-item-card .item-icon {
  font-size: 24px;
  color: var(--ac-teal, #0d9488);
}

.ac-contact-item-card strong {
  display: block;
  font-size: 15px;
  color: #042f19;
  margin-bottom: 2px;
}

.ac-contact-item-card a,
.ac-contact-item-card span {
  font-size: 14px;
  color: var(--ac-teal, #0d9488);
  text-decoration: none;
}

.ac-contact-item-card .sub {
  display: block;
  font-size: 12px;
  color: #94a3b8;
  margin-top: 2px;
}

.ac-contact-form-card {
  background: #ffffff;
  padding: 40px;
  border-radius: 24px;
  border: 1px solid rgba(13, 148, 136, 0.15);
  box-shadow: 0 16px 45px rgba(0,0,0,0.06);
}

.ac-contact-form-card h3 {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif);
  font-size: 26px;
  color: #042f19;
  margin-bottom: 8px;
}

.ac-contact-form-card .form-desc {
  font-size: 14.5px;
  color: #64748b;
  margin-bottom: 24px;
}

.ac-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-group label {
  font-size: 13px;
  font-weight: 600;
  color: #334155;
}

.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid #cbd5e1;
  font-family: var(--ac-font-body, "Open Sans", sans-serif);
  font-size: 14.5px;
  color: #1e293b;
  background: #f8fafc;
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  outline: none;
  border-color: var(--ac-teal, #0d9488);
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15);
  background: #ffffff;
}

.form-privacy-note {
  font-size: 12px;
  color: #94a3b8;
  text-align: center;
  margin-top: 8px;
}

/* Articles Grid */
.ac-articles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.ac-article-card {
  background: #ffffff;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(13, 148, 136, 0.12);
  box-shadow: 0 10px 30px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ac-article-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}

.article-img-wrap {
  position: relative;
  height: 220px;
}

.article-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.article-tag {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background: rgba(4, 47, 46, 0.85);
  backdrop-filter: blur(4px);
  color: #99f6e4;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 4px 12px;
  border-radius: 999px;
}

.article-body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.article-date {
  font-size: 12.5px;
  color: #94a3b8;
  margin-bottom: 10px;
}

.article-body h3 {
  font-family: var(--ac-font-heading, "Montserrat", sans-serif);
  font-size: 19px;
  font-weight: 700;
  color: #042f19;
  line-height: 1.35;
  margin-bottom: 12px;
}

.article-body p {
  font-size: 14.5px;
  color: #64748b;
  line-height: 1.6;
  margin-bottom: 20px;
  flex-grow: 1;
}

.article-link {
  color: var(--ac-teal, #0d9488);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: transform 0.2s;
}

.article-link:hover {
  transform: translateX(4px);
}

/* Responsive Subpage Styles */
@media (max-width: 1024px) {
  .ac-three-card-grid,
  .ac-articles-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ac-four-card-grid,
  .ac-timeline-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .ac-two-col-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .ac-program-detail-card,
  .ac-program-detail-card.reverse {
    grid-template-columns: 1fr;
  }
  .ac-program-detail-card.reverse .program-detail-media {
    order: 0;
  }
}

@media (max-width: 768px) {
  .ac-subpage-title {
    font-size: 32px !important;
  }
  .ac-three-card-grid,
  .ac-articles-grid,
  .ac-four-card-grid,
  .ac-timeline-grid,
  .ac-two-by-two-grid {
    grid-template-columns: 1fr;
  }
  .program-detail-content {
    padding: 24px;
  }
  .ac-contact-form-card {
    padding: 24px;
  }
}

/* ==========================================================================
   Native Beaver Builder Photo Module Sizing & Elevation
   ========================================================================== */
.fl-module-photo:not(.ds-site-logo) {
  margin-bottom: 20px;
}

.fl-module-photo:not(.ds-site-logo) .fl-photo-content {
  width: 100%;
}

.fl-module-photo:not(.ds-site-logo) .fl-photo-img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.fl-col:hover .fl-module-photo:not(.ds-site-logo) .fl-photo-img {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
}

/* ==========================================================================
   Equal Height Cards & Consistent Media (WCAG & Visual Rhythm)
   ========================================================================== */
.fl-col.ds-card,
.fl-col.ac-card-col {
  padding-left: 14px !important;
  padding-right: 14px !important;
  margin-bottom: 28px !important;
  display: flex !important;
  box-sizing: border-box !important;
}

.fl-col.ds-card > .fl-col-content,
.fl-col.ac-card-col > .fl-col-content {
  background: #ffffff !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid #e2e8f0 !important;
  padding: 24px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 100% !important;
  height: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.fl-col.ds-card:hover > .fl-col-content,
.fl-col.ac-card-col:hover > .fl-col-content {
  transform: translateY(-4px) !important;
  box-shadow: 0 14px 34px rgba(0, 117, 108, 0.12) !important;
  border-color: #cbd5e1 !important;
}

/* Consistent Card Image Heights & Aspect Ratios */
.fl-col.ds-card .fl-module-photo,
.fl-col.ac-card-col .fl-module-photo {
  margin-bottom: 16px !important;
  width: 100% !important;
}

.fl-col.ds-card .fl-photo-content,
.fl-col.ac-card-col .fl-photo-content {
  width: 100% !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background-color: #f1f5f9;
}

.fl-col.ds-card .fl-photo-img,
.fl-col.ds-card .fl-photo-content img,
.fl-col.ac-card-col .fl-photo-img,
.fl-col.ac-card-col .fl-photo-content img {
  width: 100% !important;
  height: 200px !important;
  max-height: 200px !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 12px !important;
  display: block !important;
  box-shadow: none !important;
  transition: transform 0.3s ease;
}

.fl-col.ds-card:hover .fl-photo-img,
.fl-col.ac-card-col:hover .fl-photo-img {
  transform: scale(1.02);
}

/* Graphic logos on colored backgrounds (College CONNECT logo graphic) */
.fl-col.ds-card img[src*="AC-COLLEGE-CONNECT"],
.fl-col.ds-card img.wp-image-176,
.fl-col.ac-card-col img[src*="AC-COLLEGE-CONNECT"],
.fl-col.ac-card-col img.wp-image-176 {
  object-fit: contain !important;
  background-color: #ea580c !important;
  padding: 12px !important;
}

/* Consistent Card Heading Alignment across 1-line and 2-line titles */
.fl-col.ds-card .fl-module-heading,
.fl-col.ac-card-col .fl-module-heading {
  min-height: 56px !important;
  display: flex !important;
  align-items: flex-start !important;
  margin-bottom: 8px !important;
}

.fl-col.ds-card .fl-module-heading .fl-heading-text,
.fl-col.ds-card .fl-module-heading h3,
.fl-col.ds-card .fl-module-heading h4,
.fl-col.ac-card-col .fl-module-heading .fl-heading-text,
.fl-col.ac-card-col .fl-module-heading h3,
.fl-col.ac-card-col .fl-module-heading h4 {
  margin: 0 !important;
  line-height: 1.3 !important;
}

/* Flexible Body Text that absorbs differing lengths */
.fl-col.ds-card .fl-module-rich-text,
.fl-col.ac-card-col .fl-module-rich-text {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 20px !important;
}

.fl-col.ds-card .fl-module-rich-text p,
.fl-col.ac-card-col .fl-module-rich-text p {
  margin-bottom: 0 !important;
}

/* Card Button pinned cleanly to the bottom edge on the same horizontal line */
.fl-col.ds-card .fl-module-button,
.fl-col.ds-card .fl-button-wrap,
.fl-col.ac-card-col .fl-module-button,
.fl-col.ac-card-col .fl-button-wrap {
  margin-top: auto !important;
  padding-top: 10px !important;
}

@media (max-width: 768px) {
  .fl-col.ds-card,
  .fl-col.ac-card-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .fl-col.ds-card .fl-module-heading,
  .fl-col.ac-card-col .fl-module-heading {
    min-height: auto !important;
  }
}

/* Map image styling */
.fl-module-photo img[src*="AC-MAP"] {
  border: 1px solid rgba(13, 148, 136, 0.15);
  box-shadow: 0 12px 35px rgba(0, 0, 0, 0.06);
}

/* Book cover shadow & centering */
.fl-module-photo img[src*="BOOK-COVER"] {
  border-radius: 12px !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.2) !important;
  max-width: 320px;
  margin: 0 auto;
}

/* ==========================================================================
   Stats Ribbon Rows & Metric Counters (Centered Layout & Typography)
   ========================================================================== */
.fl-row.ac-stats-row,
.fl-row.ds-dark-row.ac-stats-row {
  text-align: center !important;
}

.fl-row.ac-stats-row .fl-col,
.fl-row.ac-stats-row .fl-col.ac-stat-col,
.fl-col.ac-stat-col {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.fl-row.ac-stats-row .fl-col-content,
.fl-col.ac-stat-col .fl-col-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  padding: 8px 12px !important;
}

/* Big Vibrant Stat Numbers Centered */
.fl-row.ac-stats-row .fl-module-heading,
.fl-row.ac-stats-row h3,
.fl-row.ac-stats-row h3.fl-heading,
.fl-row.ac-stats-row .fl-heading-text,
.fl-col.ac-stat-col .fl-module-heading,
.fl-col.ac-stat-col h3,
.fl-col.ac-stat-col h3.fl-heading,
.fl-col.ac-stat-col .fl-heading-text {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  margin: 0 auto 6px auto !important;
  font-size: 42px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
  color: #ffffff !important;
}

/* Stat Sub-labels Centered */
.fl-row.ac-stats-row .fl-module-rich-text,
.fl-row.ac-stats-row p,
.fl-col.ac-stat-col .fl-module-rich-text,
.fl-col.ac-stat-col p {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  margin: 0 auto !important;
  font-size: 14.5px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #f1f5f9 !important;
}

@media (max-width: 768px) {
  .fl-row.ac-stats-row .fl-col,
  .fl-col.ac-stat-col {
    margin-bottom: 24px !important;
  }
  .fl-row.ac-stats-row .fl-col:last-child,
  .fl-col.ac-stat-col:last-child {
    margin-bottom: 0 !important;
  }
  .fl-row.ac-stats-row h3,
  .fl-col.ac-stat-col h3 {
    font-size: 34px !important;
  }
}


