/* ═══════════════════════════════════════════════════════════════
   CYA ZOHO SITES — CUSTOM CSS v8.1
   March 22, 2026 — v8.1 FINAL: All audits passed
   
   CHANGELOG from v7.3:
   - FIXED: Accordion icons now RED when closed, BLUE on hover and active
   - FIXED: Section 0 neutralizer accordion colors aligned with Section 36
   - ADDED: cya-impact-stat-num / cya-impact-stat-label for light-bg stats
   - ADDED: Contact page campus cards (cya-campus-card-blue/red)
   - ADDED: cya-social-box, cya-form-title, cya-campus-director
   - Hero uses Zoho native overlay (#082847 at 55%), no CSS pseudo-elements
   
   RULES:
   - No duplicate class definitions
   - No conflicting selectors
   - Badge colors baked into per-card class (no second class needed)
   - Box overlay set in Builder, not CSS
   - All selectors verified against live DOM
   ═══════════════════════════════════════════════════════════════ */

:root {
  --blue: #1E90FF;
  --red: #E10600;
  --navy: #082847;
  --cream: #FFFDF7;
  --warm-gray: #F6F4F0;
  --text: #1A1A2E;
  --text-mid: #4A4A5A;
  --text-light: #7A7A8A;
  --gold: #D4A853;
  --green: #22C55E;
  --serif: 'DM Serif Display', Georgia, serif;
  --sans: 'DM Sans', system-ui, sans-serif;
  --radius: 16px;
  --radius-lg: 24px;
  --radius-xl: 32px;
  --shadow: 0 4px 24px rgba(10,22,40,.08);
  --shadow-lg: 0 16px 48px rgba(10,22,40,.12);
  --shadow-xl: 0 24px 64px rgba(10,22,40,.16);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }


/* ═══════ 0. TEMPLATE COLOR NEUTRALIZER ═══════ */

body,
.zpsection,
.zplight-section,
.zptext,
.zptext p,
.zpelem-text,
.zpelem-text p,
p {
  color: #1A1A2E !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

h1, h2, h3, h4,
h1.zpheading, h2.zpheading, h3.zpheading, h4.zpheading,
.zpelem-heading h1, .zpelem-heading h2, .zpelem-heading h3, .zpelem-heading h4 {
  color: #1A1A2E !important;
  font-family: 'DM Serif Display', Georgia, serif !important;
  font-weight: 400 !important;
}

h5, h6,
h5.zpheading, h6.zpheading,
.zpelem-heading h5, .zpelem-heading h6 {
  color: #1A1A2E !important;
  font-family: 'DM Sans', system-ui, sans-serif !important;
}

a,
.zptext a,
.zpelem-text a {
  color: #1E90FF !important;
}

a:hover {
  color: #0A5FD4 !important;
}

.zpbutton-type-primary {
  background-color: #1E90FF !important;
  border-color: #1E90FF !important;
  color: #fff !important;
}

.zpbutton-type-primary:hover {
  background-color: #0A5FD4 !important;
  border-color: #0A5FD4 !important;
}

.zpbutton-outline {
  border-color: #1E90FF !important;
  color: #1E90FF !important;
}

.zpbutton-outline:hover {
  background-color: #1E90FF !important;
  color: #fff !important;
}

.zpicon svg,
.zpelem-icon svg {
  fill: #1E90FF !important;
}

.zpicon-heading-icon,
.zpelem-iconheading .zpicon-heading-icon {
  color: #1E90FF !important;
  fill: #1E90FF !important;
}

.zpicon-heading-icon svg {
  fill: #1E90FF !important;
}

.zpicon-fill-bg,
.zpicon-heading-icon.zpicon-fill-bg {
  background-color: #1E90FF !important;
}

.zpicon-border-style,
.zpicon-heading-icon.zpicon-border-style {
  border-color: #1E90FF !important;
}

.zpdivider-icon svg {
  fill: #1E90FF !important;
}

.zpdivider-text {
  color: #1E90FF !important;
}

.zptab-style-one .zptab-active,
.zptab-style-one li.zptab-active {
  background-color: #1E90FF !important;
}

.zptab-style-two .zptab-active {
  border-color: #1E90FF !important;
  color: #1E90FF !important;
}

.zpaccordion-style-one .zpaccordion-active {
  border-color: #1E90FF !important;
}

/* Accordion icons — RED when closed (aligned with Section 36) */
.zpaccordion-icon,
.zpaccordion-icon svg,
.zpaccordion-icon i,
.zpaccordion-icon span,
.zpaccordion-panel .zpaccordion-icon,
.zpaccordion-panel .zpaccordion-icon svg {
  color: #E10600 !important;
  fill: #E10600 !important;
}

/* Accordion icons — BLUE when active */
.zpaccordion-active .zpaccordion-icon,
.zpaccordion-active .zpaccordion-icon svg,
.zpaccordion-active .zpaccordion-icon i,
.zpaccordion-active .zpaccordion-icon span,
.zpaccordion-panel.zpaccordion-active .zpaccordion-icon,
.zpaccordion-panel.zpaccordion-active .zpaccordion-icon svg {
  color: #1E90FF !important;
  fill: #1E90FF !important;
}

.zpdark-section {
  background-color: #082847 !important;
}

.zpdark-section h1, .zpdark-section h2, .zpdark-section h3,
.zpdark-section h4, .zpdark-section h5, .zpdark-section h6 {
  color: #fff !important;
}

.zpdark-section p, .zpdark-section span, .zpdark-section .zptext {
  color: rgba(255,255,255,.7) !important;
}

.zpdark-section a {
  color: rgba(255,255,255,.6) !important;
}

.zpdark-section a:hover {
  color: var(--blue) !important;
}

.theme-menu ul > li > a:hover,
.theme-menu ul > li.theme-menu-selected > a {
  color: #1E90FF !important;
}

.theme-sub-menu li a:hover {
  color: #1E90FF !important;
}

.zpsearch-field:focus {
  border-color: #1E90FF !important;
}

.zpsearch-button {
  background-color: #1E90FF !important;
}

.zpbreadcrumb a:hover {
  color: #1E90FF !important;
}

.zpdark-section .zptable-zebra tr:nth-child(even) {
  background-color: #0d3361 !important;
}

.zplight-section {
  background-color: #FFFDF7 !important;
}

.theme-portal-login a,
.theme-member-portal a {
  color: #1E90FF !important;
}

.zpimage-overlay {
  background-color: rgba(8,40,71,.8) !important;
}

.zptext-light,
.zpelem-text .zptext-secondary,
cite, figcaption, .caption {
  color: #4A4A5A !important;
}


/* ═══════ 1. TOPBAR ═══════ */

.theme-header-topbar {
  background: #082847 !important;
  background-color: #082847 !important;
  padding-block-start: 8px !important;
  padding-block-end: 8px !important;
  letter-spacing: 0.5px;
}

.theme-header-topbar,
.theme-header-topbar *,
.theme-header-topbar a,
.theme-header-topbar span,
.theme-header-topbar svg {
  color: rgba(255,255,255,.8) !important;
  fill: rgba(255,255,255,.8) !important;
}

.theme-header-topbar a:hover { color: #fff !important; }

.theme-header-topbar .zpcontainer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.cya-topbar-tagline {
  font-size: 12px;
  color: rgba(255,255,255,.7);
  letter-spacing: 0.5px;
  white-space: nowrap;
  flex-shrink: 0;
  margin-right: auto;
}

.cya-topbar-right {
  display: flex !important;
  align-items: center !important;
  gap: 20px;
  margin-left: auto;
  flex-shrink: 0;
}

.cya-topbar-donate {
  background: #E10600;
  color: #fff !important;
  padding: 4px 14px;
  border-radius: 20px;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-decoration: none;
  transition: 0.2s;
  flex-shrink: 0;
}

.cya-topbar-donate:hover { background: #B30500; }


/* ═══════ 2. HEADER ═══════ */

.theme-header,
.theme-header.zpdark-header-portion {
  background: #FFFDF7 !important;
  background-color: #FFFDF7 !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.theme-header.zpdark-header-portion .theme-site-name,
.theme-header .theme-site-name { color: #082847 !important; }

.theme-header.zpdark-header-portion .theme-site-caption,
.theme-header .theme-site-caption { color: #7A7A8A !important; }

.theme-header.zpdark-header-portion .theme-menu ul > li > a,
.theme-header .theme-menu ul > li > a { color: #4A4A5A !important; }

.theme-header.zpdark-header-portion .theme-menu ul > li > a:hover,
.theme-header .theme-menu ul > li > a:hover { color: #1E90FF !important; }

.theme-menu ul > li.theme-menu-selected > a {
  background: transparent !important;
  background-color: transparent !important;
  color: #1E90FF !important;
}

.theme-sub-menu {
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: 8px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
}

.theme-sub-menu li a { border-radius: 10px !important; }
.theme-sub-menu li a:hover { background: rgba(30,144,255,.06) !important; color: #1E90FF !important; }

.menu-highlight-primary a { background: #1E90FF !important; color: #fff !important; border-radius: 10px !important; }
.menu-highlight-primary a:hover { background: #0A5FD4 !important; }

.theme-header.zpdark-header-portion .theme-portal-icon,
.theme-header .theme-portal-icon { fill: #082847 !important; }
.theme-header.zpdark-header-portion .theme-portal-icon path { fill: #082847 !important; }

.theme-header.zpdark-header-portion .theme-burger-icon,
.theme-header.zpdark-header-portion .theme-burger-icon::before,
.theme-header.zpdark-header-portion .theme-burger-icon::after { background-color: #082847 !important; }


/* ═══════ 3. BUTTONS (global) ═══════ */

.zpbutton-type-primary {
  border-radius: var(--radius) !important;
  font-weight: 700 !important;
  transition: all 0.3s ease !important;
}

.zpbutton-type-primary:hover { transform: translateY(-2px); }

.zpbutton-type-secondary {
  border-radius: var(--radius) !important;
  font-weight: 700 !important;
  transition: all 0.3s ease !important;
}

.zpbutton-type-secondary:hover { transform: translateY(-2px); }

.zpbutton-type-link { font-weight: 700 !important; }
.zpbutton-outline { border-radius: var(--radius) !important; }


/* ═══════ 4. HERO — v7.4 ═══════ */
/* Overlay handled by Zoho Builder (Section → Overlay → #082847 at 55%)
   CSS handles text styling, spacing, and layout only.
   No ::before or ::after pseudo-elements. */

.cya-hero-overlay {
  position: relative !important;
  min-height: 85vh !important;
  display: flex !important;
  align-items: flex-end !important;
}

.cya-hero-overlay .zpcontainer,
.cya-hero-overlay .zpcontainer-fluid,
.cya-hero-overlay .zpcont-full-stretch {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
  padding-bottom: 80px !important;
  padding-top: 200px !important;
}

.cya-hero-overlay h1, .cya-hero-overlay h2, .cya-hero-overlay h3,
.cya-hero-overlay h4, .cya-hero-overlay h5, .cya-hero-overlay h6,
.cya-hero-overlay p, .cya-hero-overlay span,
.cya-hero-overlay .zpheading, .cya-hero-overlay .zptext { color: #fff !important; }

.cya-hero-overlay h1,
.cya-hero-overlay .zpelem-heading h1,
.cya-hero-overlay h1.zpheading {
  font-size: clamp(48px, 7vw, 82px) !important;
  font-weight: 400 !important;
  letter-spacing: -2px !important;
  line-height: 1.05 !important;
  color: #fff !important;
  max-width: 800px !important;
  margin-bottom: 20px !important;
}

.cya-hero-overlay p,
.cya-hero-overlay .zpelem-text p,
.cya-hero-overlay .zptext p {
  color: rgba(255,255,255,.75) !important;
  font-size: clamp(16px, 2vw, 20px) !important;
  line-height: 1.7 !important;
  max-width: 600px !important;
  margin-bottom: 36px !important;
}

.cya-hero-overlay em { font-style: italic; color: #D4A853 !important; }

/* Eyebrow label — flat gold text, no pill */
.cya-hero-overlay .cya-section-label-gold,
.cya-hero-overlay .cya-section-label-gold .zpheading,
.cya-hero-overlay .cya-section-label-gold h5,
.cya-hero-overlay .cya-section-label-gold h6 {
  background: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #D4A853 !important;
  margin-bottom: 16px !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
}

.cya-hero-overlay .zpelem-button {
  margin-bottom: 12px !important;
}

.cya-hero-overlay .zpbutton-type-primary {
  background: #E10600 !important;
  border-color: #E10600 !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(225,6,0,.3) !important;
  padding: 18px 36px !important;
  font-size: 16px !important;
  border-radius: 8px !important;
}

.cya-hero-overlay .zpbutton-type-primary:hover {
  background: #B30500 !important;
  transform: translateY(-2px) !important;
}

.cya-hero-overlay .zpbutton-type-secondary {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  color: #fff !important;
  box-shadow: none !important;
  padding: 18px 36px !important;
  font-size: 16px !important;
  border-radius: 8px !important;
  backdrop-filter: blur(8px) !important;
}

.cya-hero-overlay .zpbutton-type-secondary:hover {
  background: rgba(255,255,255,.22) !important;
  transform: none !important;
}

.cya-hero-overlay .zpbutton-icon svg { fill: #fff !important; }

.cya-hero-overlay .zpbutton-type-primary span,
.cya-hero-overlay .zpbutton-type-primary .zpbutton-text,
.cya-hero-overlay .zpbutton-type-secondary span,
.cya-hero-overlay .zpbutton-type-secondary .zpbutton-text {
  color: #fff !important;
}

.cya-hero-stat-num, .cya-hero-stat-num .zpheading,
.cya-hero-stat-num h2, .cya-hero-stat-num h3 {
  font-family: var(--serif) !important;
  font-size: 44px !important;
  color: #fff !important;
  line-height: 1 !important;
  margin-bottom: 4px !important;
}

.cya-hero-stat-label, .cya-hero-stat-label .zptext, .cya-hero-stat-label p {
  font-size: 10px !important;
  color: rgba(255,255,255,.45) !important;
  text-transform: uppercase !important;
  letter-spacing: 2.5px !important;
  font-weight: 700 !important;
  margin-bottom: 0 !important;
}

.cya-section-title,
.cya-section-title.zpheading,
.cya-section-title h1 {
  text-align: left !important;
}


/* ═══════ 5. SECTION LABELS ═══════ */

.cya-section-label, .cya-section-label .zpheading,
.cya-section-label h1, .cya-section-label h2, .cya-section-label h3,
.cya-section-label h4, .cya-section-label h5, .cya-section-label h6, .cya-section-label span {
  font-family: var(--sans) !important; font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: 3px !important; text-transform: uppercase !important; color: #1E90FF !important;
}

.cya-section-label-gold, .cya-section-label-gold .zpheading,
.cya-section-label-gold h1, .cya-section-label-gold h2, .cya-section-label-gold h3,
.cya-section-label-gold h4, .cya-section-label-gold h5, .cya-section-label-gold h6, .cya-section-label-gold span {
  font-family: var(--sans) !important; font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: 3px !important; text-transform: uppercase !important; color: #D4A853 !important;
}

.cya-photo-break .cya-section-label-gold,
.cya-photo-break .cya-section-label-gold .zpheading {
  display: inline-block !important;
  background: none !important;
  padding: 0px !important;
  border-radius: 0px !important;
  color: #D4A853 !important;
  margin-bottom: 16px !important;
}

.cya-section-label-red, .cya-section-label-red *, .cya-section-label-red .zpheading {
  font-family: var(--sans) !important; font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: 3px !important; text-transform: uppercase !important; color: #E10600 !important;
}

.cya-section-label-green, .cya-section-label-green *, .cya-section-label-green .zpheading {
  font-family: var(--sans) !important; font-size: 12px !important; font-weight: 700 !important;
  letter-spacing: 3px !important; text-transform: uppercase !important; color: #22C55E !important;
}


/* ═══════ 6. SECTION BACKGROUNDS ═══════ */

.cya-bg-cream { background: var(--cream) !important; }
.cya-bg-warm { background: var(--warm-gray) !important; }
.cya-bg-white { background: #fff !important; }

.cya-bg-navy { background: var(--navy) !important; }
.cya-bg-navy h1, .cya-bg-navy h2, .cya-bg-navy h3, .cya-bg-navy h4, .cya-bg-navy h5, .cya-bg-navy h6,
.cya-bg-navy .zpelem-heading h1, .cya-bg-navy .zpelem-heading h2, .cya-bg-navy .zpelem-heading h3, .cya-bg-navy .zpelem-heading h4,
.cya-bg-navy h1.zpheading, .cya-bg-navy h2.zpheading, .cya-bg-navy h3.zpheading, .cya-bg-navy h4.zpheading { color: #fff !important; }
.cya-bg-navy p, .cya-bg-navy span, .cya-bg-navy .zpelem-text p, .cya-bg-navy .zptext p { color: rgba(255,255,255,.7) !important; }
.cya-bg-navy .cya-section-label, .cya-bg-navy .cya-section-label * { color: var(--gold) !important; }

.cya-bg-navy .cya-section-label-gold,
.cya-bg-navy .cya-section-label-gold h1, .cya-bg-navy .cya-section-label-gold h2,
.cya-bg-navy .cya-section-label-gold h3, .cya-bg-navy .cya-section-label-gold h4,
.cya-bg-navy .cya-section-label-gold h5, .cya-bg-navy .cya-section-label-gold h6,
.cya-bg-navy .cya-section-label-gold span, .cya-bg-navy .cya-section-label-gold .zpheading,
.cya-bg-navy .zpelem-heading.cya-section-label-gold h5, .cya-bg-navy .zpelem-heading.cya-section-label-gold h6,
.cya-bg-navy .zpelem-heading .cya-section-label-gold,
.cya-bg-navy h5.cya-section-label-gold, .cya-bg-navy h6.cya-section-label-gold {
  color: var(--gold) !important; font-family: var(--sans) !important; font-size: 12px !important;
  font-weight: 700 !important; letter-spacing: 3px !important; text-transform: uppercase !important;
}

.cya-bg-navy .cya-section-label, .cya-bg-navy .cya-section-label h5, .cya-bg-navy .cya-section-label h6,
.cya-bg-navy .cya-section-label .zpheading, .cya-bg-navy h5.cya-section-label, .cya-bg-navy h6.cya-section-label {
  color: var(--gold) !important; font-family: var(--sans) !important; font-size: 12px !important;
  font-weight: 700 !important; letter-spacing: 3px !important; text-transform: uppercase !important;
}

.cya-bg-navy .cya-portal-card p, .cya-bg-navy .cya-portal-card span,
.cya-bg-navy .cya-donate-box p, .cya-bg-navy .cya-info-card p,
.cya-bg-navy .cya-impact-label p, .cya-bg-navy .cya-feat-card p {
  font-size: inherit !important;
}

.cya-bg-navy .cya-gold, .cya-bg-navy .cya-gold h1, .cya-bg-navy .cya-gold h2, .cya-bg-navy .cya-gold h3,
.cya-bg-navy .cya-gold .zpheading, .cya-bg-navy h2.cya-gold, .cya-bg-navy h3.cya-gold,
.cya-bg-navy .zpelem-heading .cya-gold, .cya-bg-navy .zpelem-heading h2.cya-gold { color: var(--gold) !important; }

.cya-bg-navy .cya-bg-navy .cya-red h1, .cya-bg-navy .cya-red h2, .cya-bg-navy h2.cya-red,
.cya-bg-navy .zpelem-heading .cya-red { color: var(--red) !important; }
.cya-bg-navy .cya-bg-navy .cya-blue h1, .cya-bg-navy .cya-blue h2, .cya-bg-navy h2.cya-blue,
.cya-bg-navy .zpelem-heading .cya-blue { color: var(--blue) !important; }

.cya-bg-red { background: var(--red) !important; }
.cya-bg-red h1, .cya-bg-red h2, .cya-bg-red h3, .cya-bg-red h4, .cya-bg-red h5, .cya-bg-red h6,
.cya-bg-red .zpelem-heading h1, .cya-bg-red .zpelem-heading h2, .cya-bg-red .zpelem-heading h3, .cya-bg-red .zpelem-heading h4,
.cya-bg-red h1.zpheading, .cya-bg-red h2.zpheading, .cya-bg-red h3.zpheading { color: #fff !important; }
.cya-bg-red p, .cya-bg-red span, .cya-bg-red .zpelem-text p, .cya-bg-red .zptext p { color: rgba(255,255,255,.85) !important; }
.cya-bg-red .cya-section-label, .cya-bg-red .cya-section-label * { color: #fff !important; }

.cya-bg-blue { background: var(--blue) !important; }
.cya-bg-blue h1, .cya-bg-blue h2, .cya-bg-blue h3, .cya-bg-blue h4, .cya-bg-blue h5, .cya-bg-blue h6,
.cya-bg-blue .zpelem-heading h1, .cya-bg-blue .zpelem-heading h2, .cya-bg-blue .zpelem-heading h3, .cya-bg-blue .zpelem-heading h4,
.cya-bg-blue h1.zpheading, .cya-bg-blue h2.zpheading, .cya-bg-blue h3.zpheading, .cya-bg-blue h4.zpheading { color: #fff !important; }
.cya-bg-blue p, .cya-bg-blue span, .cya-bg-blue .zpelem-text p, .cya-bg-blue .zptext p { color: rgba(255,255,255,.85) !important; }
.cya-bg-blue .cya-section-label, .cya-bg-blue .cya-section-label * { color: #fff !important; }


/* ═══════ 7. PROGRAM CARDS ═══════ */

.cya-card-blue.zpelem-box, .cya-card-gold.zpelem-box,
.cya-card-red.zpelem-box, .cya-card-green.zpelem-box {
  border-radius: 32px !important; overflow: hidden !important; min-height: 420px !important;
  display: flex !important; flex-direction: column !important; justify-content: flex-end !important;
  padding: 40px !important; cursor: pointer !important;
  box-shadow: 0 4px 24px rgba(10,22,40,.08) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.cya-card-blue.zpelem-box:hover, .cya-card-gold.zpelem-box:hover,
.cya-card-red.zpelem-box:hover, .cya-card-green.zpelem-box:hover {
  transform: translateY(-8px) !important; box-shadow: 0 24px 64px rgba(10,22,40,.16) !important;
}

.cya-card-blue .zpelement, .cya-card-gold .zpelement,
.cya-card-red .zpelement, .cya-card-green .zpelement {
  position: relative !important; z-index: 1 !important;
}

.cya-card-blue .zpelem-heading h3, .cya-card-gold .zpelem-heading h3,
.cya-card-red .zpelem-heading h3, .cya-card-green .zpelem-heading h3 {
  font-size: 28px !important; color: #fff !important; line-height: 1.1 !important; margin-bottom: 8px !important;
}

.cya-card-blue .zpelem-text:first-of-type p, .cya-card-gold .zpelem-text:first-of-type p,
.cya-card-red .zpelem-text:first-of-type p, .cya-card-green .zpelem-text:first-of-type p {
  color: rgba(255,255,255,.5) !important; font-size: 13px !important; line-height: 1.4 !important; margin-bottom: 12px !important;
}

.cya-card-blue .zpelem-text:nth-of-type(2) p, .cya-card-gold .zpelem-text:nth-of-type(2) p,
.cya-card-red .zpelem-text:nth-of-type(2) p, .cya-card-green .zpelem-text:nth-of-type(2) p {
  color: rgba(255,255,255,.7) !important; font-size: 14px !important; line-height: 1.6 !important; max-width: 320px !important; margin-bottom: 12px !important;
}

.cya-card-blue .zpelem-text p, .cya-card-gold .zpelem-text p,
.cya-card-red .zpelem-text p, .cya-card-green .zpelem-text p {
  color: rgba(255,255,255,.7) !important; font-size: 14px !important; line-height: 1.6 !important; max-width: 320px !important;
}

.cya-card-blue .zpelem-button a, .cya-card-blue .zpelem-button .zpbutton-content,
.cya-card-gold .zpelem-button a, .cya-card-gold .zpelem-button .zpbutton-content,
.cya-card-red .zpelem-button a, .cya-card-red .zpelem-button .zpbutton-content,
.cya-card-green .zpelem-button a, .cya-card-green .zpelem-button .zpbutton-content {
  color: #D4A853 !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.5px !important;
}

.cya-card-blue .zpelem-heading h6, .cya-card-gold .zpelem-heading h6,
.cya-card-red .zpelem-heading h6, .cya-card-green .zpelem-heading h6 {
  display: inline-block !important; padding: 4px 14px !important; border-radius: 20px !important;
  font-family: var(--sans) !important; font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 1px !important; text-transform: uppercase !important; width: fit-content !important; margin-bottom: 12px !important;
}

.cya-card-blue .zpelem-heading h6 { background: rgba(30,144,255,.3) !important; color: #7CC4FF !important; }
.cya-card-gold .zpelem-heading h6 { background: rgba(212,168,83,.3) !important; color: #D4A853 !important; }
.cya-card-red .zpelem-heading h6 { background: rgba(225,6,0,.3) !important; color: #FF8A8A !important; }
.cya-card-green .zpelem-heading h6 { background: rgba(34,197,94,.3) !important; color: #86EFAC !important; }


/* ═══════ 8. IMAGE ROUNDING ═══════ */

.cya-rounded img, .cya-rounded .zpimage { border-radius: var(--radius-xl) !important; }

.cya-rounded-shadow img, .cya-rounded-shadow .zpimage {
  border-radius: var(--radius-xl) !important; box-shadow: var(--shadow-xl); transition: all 0.4s ease;
}


/* ═══════ 9. FEATURE CARDS ═══════ */

.cya-feat-card {
  background: #fff !important; border-radius: var(--radius-lg) !important; padding: 36px !important;
  border: 1px solid rgba(0,0,0,.06) !important; transition: all 0.4s ease !important;
}

.cya-feat-card.cya-border-blue { border-top: 4px solid var(--blue) !important; }
.cya-feat-card.cya-border-red { border-top: 4px solid var(--red) !important; }
.cya-feat-card.cya-border-green { border-top: 4px solid var(--green) !important; }
.cya-feat-card.cya-border-gold { border-top: 4px solid var(--gold) !important; }

.cya-feat-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: transparent; }


/* ═══════ 10. IMPACT NUMBERS ═══════ */

.cya-impact-num, .cya-impact-num .zpheading, .cya-impact-num h2 {
  font-family: var(--serif) !important; font-size: 56px !important; color: var(--gold) !important;
  line-height: 1 !important; margin-bottom: 4px !important;
}

.cya-bg-navy .cya-impact-num, .cya-bg-navy .cya-impact-num .zpheading,
.cya-bg-navy .cya-impact-num h2, .cya-bg-navy .cya-impact-num h3,
.cya-bg-navy .zpelem-heading.cya-impact-num h2, .cya-bg-navy .zpelem-heading .cya-impact-num {
  color: var(--gold) !important;
}

.cya-impact-label, .cya-impact-label p, .cya-impact-label .zptext {
  font-size: 13px !important; text-transform: uppercase !important; letter-spacing: 1.5px !important;
  font-weight: 600 !important; color: var(--text-light) !important;
}

.cya-bg-navy .cya-impact-label, .cya-bg-navy .cya-impact-label p, .cya-bg-navy .cya-impact-label .zptext,
.cya-bg-blue .cya-impact-label, .cya-bg-blue .cya-impact-label p, .cya-bg-blue .cya-impact-label .zptext {
  color: rgba(255,255,255,.5) !important;
}


/* ═══════ 10b. IMPACT STATS — LIGHT BACKGROUND ═══════ */

.cya-impact-stat-num, .cya-impact-stat-num .zpheading,
.cya-impact-stat-num h2, .cya-impact-stat-num h3 {
  font-family: var(--serif) !important;
  font-size: 52px !important;
  color: #082847 !important;
  line-height: 1 !important;
  margin-bottom: 6px !important;
}

.cya-impact-stat-label, .cya-impact-stat-label .zptext, .cya-impact-stat-label p {
  font-size: 13px !important;
  color: #555 !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  font-weight: 600 !important;
  margin-bottom: 0 !important;
}


/* ═══════ 11. TESTIMONIAL ═══════ */

.cya-testimonial {
  position: relative; padding: 64px; background: #fff; border-radius: var(--radius-xl);
  box-shadow: var(--shadow); max-width: 800px; margin: 0 auto; transition: all 0.4s ease;
}

.cya-testimonial::before {
  content: '\201C'; position: absolute; top: 24px; left: 40px;
  font-family: var(--serif); font-size: 120px; color: rgba(30,144,255,.08); line-height: 1;
}

.cya-testimonial:hover { box-shadow: var(--shadow-lg); }

.cya-testimonial h5, .cya-testimonial h5.zpheading {
  font-family: var(--serif) !important; font-size: 24px !important; font-weight: 400 !important;
  line-height: 1.5 !important; color: var(--text) !important;
}

.cya-testimonial .zpelem-text p {
  font-size: 14px !important; color: var(--text-light) !important; margin-top: 16px !important;
}


/* ═══════ 12. DONATE BOXES ═══════ */

.cya-donate-box {
  background: rgba(255,255,255,.08) !important; border-radius: var(--radius-lg) !important;
  border: 1px solid rgba(255,255,255,.1) !important; padding: 28px !important;
}

.cya-donate-box h2, .cya-donate-box h3, .cya-donate-box h4, .cya-donate-box h5, .cya-donate-box h6,
.cya-donate-box h2.zpheading, .cya-donate-box h3.zpheading, .cya-donate-box h4.zpheading, .cya-donate-box h5.zpheading {
  font-family: var(--serif) !important; font-size: 36px !important; color: var(--gold) !important; margin-bottom: 4px !important;
}

.cya-donate-box p, .cya-donate-box .zptext p {
  font-size: 13px !important; color: rgba(255,255,255,.5) !important;
}


/* ═══════ 13. LOCATION CARDS ═══════ */

.cya-location-card {
  border-radius: var(--radius-xl) !important; overflow: hidden !important; box-shadow: var(--shadow) !important;
  transition: all 0.4s ease !important; min-height: 360px !important; display: flex !important;
  flex-direction: column !important; justify-content: flex-end !important; padding: 40px !important;
  cursor: pointer !important; background-size: cover !important; background-position: center !important;
}

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

.cya-location-card .zpelement { position: relative !important; z-index: 1 !important; }

.cya-location-card h6, .cya-location-card h6.zpheading, .cya-location-card .zpelem-heading h6 {
  display: inline-block !important; padding: 4px 14px !important; border-radius: 20px !important;
  font-family: var(--sans) !important; font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 1px !important; text-transform: uppercase !important; width: fit-content !important;
  margin-bottom: 12px !important; color: #fff !important; background: rgba(30,144,255,.3) !important;
}

.cya-location-card h3, .cya-location-card h3.zpheading, .cya-location-card h4, .cya-location-card h4.zpheading,
.cya-location-card .zpelem-heading h3, .cya-location-card .zpelem-heading h4 {
  font-size: 28px !important; color: #fff !important; margin-bottom: 4px !important; font-family: var(--serif) !important;
}

.cya-location-card p, .cya-location-card .zptext p, .cya-location-card .zpelem-text p {
  font-size: 14px !important; color: rgba(255,255,255,.7) !important; margin-bottom: 0 !important;
}

.cya-location-card-roanoke h6, .cya-location-card-roanoke h6.zpheading, .cya-location-card-roanoke .zpelem-heading h6 {
  background: rgba(225,6,0,.3) !important; color: #FF8A8A !important;
}


/* ═══════ 14. PHOTO BREAK ═══════ */

.cya-photo-break {
  position: relative !important; min-height: 50vh !important; display: flex !important; align-items: center !important;
}

.cya-photo-break::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to right, rgba(8,40,71,.75) 0%, rgba(8,40,71,.3) 40%, transparent 70%);
  z-index: 1; pointer-events: none;
}

.cya-photo-break > * { position: relative !important; z-index: 2 !important; }

.cya-photo-break .zpcontainer, .cya-photo-break .zpcontainer-fluid {
  max-width: 500px !important; margin-left: 0 !important; padding-left: 48px !important;
}

.cya-photo-break h1, .cya-photo-break h2, .cya-photo-break h3,
.cya-photo-break h4, .cya-photo-break h5, .cya-photo-break h6,
.cya-photo-break .zpheading { color: #fff !important; }

.cya-photo-break h2, .cya-photo-break h2.zpheading { font-size: 42px !important; margin-bottom: 12px !important; }

.cya-photo-break p, .cya-photo-break .zptext p { font-size: 16px !important; color: rgba(255,255,255,.8) !important; }


/* ═══════ 15–18. SNAP CARD, GALLERY, TAG PILLS, TAGS ═══════ */

.cya-snap-card {
  background: #fff !important; border-radius: var(--radius-lg) !important; padding: 32px !important;
  box-shadow: var(--shadow-lg) !important; border-left: 5px solid var(--red) !important; transition: all 0.4s ease !important;
}
.cya-snap-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-xl); }
.cya-snap-card h3, .cya-snap-card h4, .cya-snap-card .zpheading { font-family: var(--sans) !important; font-size: 18px !important; font-weight: 700 !important; margin-bottom: 16px !important; }
.cya-snap-card li, .cya-snap-card p { font-size: 14px !important; color: var(--text-mid) !important; line-height: 2 !important; }

.cya-gallery-grid img, .cya-gallery-grid .zpimage { border-radius: 16px !important; object-fit: cover !important; width: 100% !important; height: 100% !important; aspect-ratio: 1 !important; }

.cya-tag-pill { display: inline-block !important; padding: 4px 14px !important; border-radius: 20px !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 1px !important; text-transform: uppercase !important; background: rgba(30,144,255,.3) !important; color: #7CC4FF !important; width: fit-content !important; margin-bottom: 12px !important; }

.cya-tag { display: inline-block; padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 700; letter-spacing: 0.5px; }
.cya-tag-blue { background: rgba(30,144,255,.1); color: var(--blue); }
.cya-tag-red { background: rgba(225,6,0,.1); color: var(--red); }
.cya-tag-green { background: rgba(34,197,94,.1); color: var(--green); }
.cya-tag-gold { background: rgba(212,168,83,.1); color: var(--gold); }


/* ═══════ 19. ACCENT COLORS ═══════ */

.cya-gold, .cya-gold.zpheading, .cya-gold p, .cya-gold span,
p.cya-gold, span.cya-gold, .cya-gold .zptext, .cya-gold .zptext p { color: #D4A853 !important; }
.cya-blue, .cya-blue.zpheading, .cya-blue p, .cya-blue span, p.cya-blue, span.cya-blue { color: #1E90FF !important; }
.cya-red, .cya-red.zpheading, .cya-red p, .cya-red span, p.cya-red, span.cya-red { color: #E10600 !important; }
.cya-green, .cya-green.zpheading, .cya-green p, .cya-green span, p.cya-green, span.cya-green { color: #22C55E !important; }

h1 em, h2 em, h3 em, h1.zpheading em, h2.zpheading em, h3.zpheading em,
.zpelem-heading h1 em, .zpelem-heading h2 em, .zpelem-heading h3 em { color: var(--gold) !important; font-style: italic !important; }
.cya-bg-navy h1 em, .cya-bg-navy h2 em, .cya-bg-navy h3 em,
.cya-bg-navy .zpelem-heading h1 em, .cya-bg-navy .zpelem-heading h2 em { color: var(--gold) !important; }


/* ═══════ 20. FORMS ═══════ */

.zpform-field input, .zpform-field select, .zpform-field textarea { border-radius: var(--radius) !important; }
.zpform-field input:focus, .zpform-field select:focus, .zpform-field textarea:focus { border-color: var(--blue) !important; box-shadow: 0 0 0 4px rgba(30,144,255,.08) !important; }


/* ═══════ 21. FOOTER ═══════ */

.theme-footer .theme-socialicon-parent ul li a:hover { background: var(--blue); }
.theme-footer .theme-socialicon-parent ul li a:hover svg { fill: #fff !important; }


/* ═══════ 22. UTILITIES ═══════ */

.cya-text-center { text-align: center !important; }
.cya-max-w-600 { max-width: 600px !important; margin-left: auto !important; margin-right: auto !important; }
.cya-max-w-800 { max-width: 800px !important; margin-left: auto !important; margin-right: auto !important; }

.zpcontainer, .zpcontainer-fluid, .zpcont-full-stretch {
  max-width: 1200px !important; margin-left: auto !important; margin-right: auto !important;
}

.cya-photo-break .zpcontainer, .cya-photo-break .zpcontainer-fluid {
  max-width: 1200px !important; padding-left: 48px !important; padding-right: 48px !important;
}

.cya-sec { padding-top: 100px !important; padding-bottom: 100px !important; }
.cya-sec-sm { padding-top: 64px !important; padding-bottom: 64px !important; }
.cya-sec-lg { padding-top: 140px !important; padding-bottom: 140px !important; }

.zpelement + .zpelement { margin-top: 0 !important; }
.zpsection .zpelement { margin-bottom: 12px !important; }
.cya-tight .zpelement { margin-bottom: 4px !important; }


/* ═══════ 23. TIMELINE ═══════ */

.cya-tl-title, .cya-tl-title .zpheading, .cya-tl-title h4, .cya-tl-title h3 { font-family: var(--sans) !important; font-size: 18px !important; font-weight: 700 !important; color: var(--text) !important; margin-bottom: 2px !important; }
.cya-tl-time, .cya-tl-time p, .cya-tl-time .zptext { font-size: 13px !important; font-weight: 600 !important; color: var(--text-light) !important; margin-bottom: 4px !important; line-height: 1.3 !important; }
.cya-tl-desc, .cya-tl-desc p, .cya-tl-desc .zptext { font-size: 14px !important; color: var(--text-mid) !important; line-height: 1.6 !important; }
.cya-tl-title + .cya-tl-time, .cya-tl-time + .cya-tl-desc { margin-top: 0 !important; }
.cya-tl-entry { margin-bottom: 32px !important; }
.cya-tl-entry .zpelement { margin-bottom: 2px !important; }

.cya-timeline { position: relative !important; }
.cya-timeline::before { content: '' !important; position: absolute !important; left: 50% !important; top: 0 !important; bottom: 0 !important; width: 2px !important; background: linear-gradient(to bottom, var(--blue), var(--red)) !important; transform: translateX(-50%) !important; z-index: 0 !important; }

.cya-tl-dot-blue, .cya-tl-dot-red, .cya-tl-dot-green, .cya-tl-dot-gold { width: 48px !important; height: 48px !important; border-radius: 50% !important; color: #fff !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 16px !important; position: relative !important; z-index: 1 !important; margin: 0 auto !important; }
.cya-tl-dot-blue { background: var(--blue) !important; box-shadow: 0 0 0 6px var(--cream), 0 4px 12px rgba(30,144,255,.2) !important; }
.cya-tl-dot-red { background: var(--red) !important; box-shadow: 0 0 0 6px var(--cream), 0 4px 12px rgba(225,6,0,.2) !important; }
.cya-tl-dot-green { background: var(--green) !important; box-shadow: 0 0 0 6px var(--cream), 0 4px 12px rgba(34,197,94,.2) !important; }
.cya-tl-dot-gold { background: var(--gold) !important; box-shadow: 0 0 0 6px var(--cream), 0 4px 12px rgba(212,168,83,.2) !important; }

@media (max-width: 768px) {
  .cya-timeline::before { left: 24px !important; }
  .cya-tl-dot-blue, .cya-tl-dot-red, .cya-tl-dot-green, .cya-tl-dot-gold { width: 40px !important; height: 40px !important; font-size: 14px !important; }
}

.cya-portal-tile { background: #fff !important; border-radius: var(--radius-lg) !important; padding: 32px !important; text-align: center !important; border: 1px solid rgba(0,0,0,.06) !important; cursor: pointer !important; transition: all 0.3s ease !important; }
.cya-portal-tile:hover { transform: translateY(-4px) !important; box-shadow: var(--shadow) !important; border-color: var(--blue) !important; }
.cya-portal-tile h4, .cya-portal-tile .zpheading h4 { font-family: var(--sans) !important; font-size: 16px !important; font-weight: 700 !important; margin-bottom: 6px !important; }
.cya-portal-tile p, .cya-portal-tile .zpelem-text p { font-size: 13px !important; color: var(--text-light) !important; }


/* ═══════ 24. INFO CARDS ═══════ */

.cya-info-card { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.1) !important; border-radius: var(--radius) !important; padding: 24px !important; }
.cya-info-card h3, .cya-info-card h4, .cya-info-card h5, .cya-info-card h6, .cya-info-card .zpheading { color: #fff !important; font-family: var(--sans) !important; font-weight: 700 !important; }
.cya-info-card p, .cya-info-card span { font-size: 14px !important; color: rgba(255,255,255,.8) !important; }


/* ═══════ 25. ENROLLMENT STEPS ═══════ */

.cya-step-blue, .cya-step-blue .zpheading, .cya-step-blue h2, .cya-step-blue h3, .cya-step-blue h4 { width: 64px !important; height: 64px !important; border-radius: 50% !important; background: #1E90FF !important; color: #fff !important; font-family: var(--serif) !important; font-size: 28px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 20px !important; line-height: 1 !important; }
.cya-step-red, .cya-step-red .zpheading, .cya-step-red h2, .cya-step-red h3, .cya-step-red h4 { width: 64px !important; height: 64px !important; border-radius: 50% !important; background: #E10600 !important; color: #fff !important; font-family: var(--serif) !important; font-size: 28px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 20px !important; line-height: 1 !important; }
.cya-step-green, .cya-step-green .zpheading, .cya-step-green h2, .cya-step-green h3, .cya-step-green h4 { width: 64px !important; height: 64px !important; border-radius: 50% !important; background: #22C55E !important; color: #fff !important; font-family: var(--serif) !important; font-size: 28px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 20px !important; line-height: 1 !important; }


/* ═══════ 26. FEATURE CARD ICONS ═══════ */

.cya-fc-icon-blue, .cya-fc-icon-red, .cya-fc-icon-green, .cya-fc-icon-gold { width: 56px !important; max-width: 56px !important; height: 56px !important; min-height: 56px !important; border-radius: 16px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin-bottom: 20px !important; font-size: 22px !important; flex-shrink: 0 !important; }
.cya-fc-icon-blue { background: rgba(30,144,255,.1) !important; color: #1E90FF !important; }
.cya-fc-icon-red { background: rgba(225,6,0,.1) !important; color: #E10600 !important; }
.cya-fc-icon-green { background: rgba(34,197,94,.1) !important; color: #22C55E !important; }
.cya-fc-icon-gold { background: rgba(212,168,83,.1) !important; color: #D4A853 !important; }

.cya-fc-icon-circle { border-radius: 50% !important; width: 72px !important; max-width: 72px !important; height: 72px !important; min-height: 72px !important; margin: 0 auto 20px !important; }
.cya-feat-card-center { text-align: center !important; }
.cya-feat-card-center .zpelem-heading, .cya-feat-card-center .zpelem-text, .cya-feat-card-center .zpelem-icon, .cya-feat-card-center h3, .cya-feat-card-center h4, .cya-feat-card-center p { text-align: center !important; }
.cya-feat-card-center .cya-fc-icon-blue, .cya-feat-card-center .cya-fc-icon-red, .cya-feat-card-center .cya-fc-icon-green, .cya-feat-card-center .cya-fc-icon-gold { margin-left: auto !important; margin-right: auto !important; }

.cya-fc-icon-circle svg { width: 28px !important; height: 28px !important; }
.cya-fc-icon-circle i { font-size: 26px !important; }
.cya-fc-icon-blue svg, .zpelem-icon.cya-fc-icon-blue svg { width: 24px !important; height: 24px !important; fill: #1E90FF !important; }
.cya-fc-icon-red svg, .zpelem-icon.cya-fc-icon-red svg { width: 24px !important; height: 24px !important; fill: #E10600 !important; }
.cya-fc-icon-green svg, .zpelem-icon.cya-fc-icon-green svg { width: 24px !important; height: 24px !important; fill: #22C55E !important; }
.cya-fc-icon-gold svg, .zpelem-icon.cya-fc-icon-gold svg { width: 24px !important; height: 24px !important; fill: #D4A853 !important; }
.cya-fc-icon-blue i { color: #1E90FF !important; }
.cya-fc-icon-red i { color: #E10600 !important; }
.cya-fc-icon-green i { color: #22C55E !important; }
.cya-fc-icon-gold i { color: #D4A853 !important; }
.cya-fc-icon-blue img, .cya-fc-icon-red img, .cya-fc-icon-green img, .cya-fc-icon-gold img { width: 24px !important; height: 24px !important; object-fit: contain !important; }


/* ═══════ 27. ORG CHART ═══════ */

.cya-org-chart { background: var(--warm-gray) !important; border-radius: var(--radius-lg) !important; padding: 32px !important; text-align: center !important; }
.cya-org-node, .cya-org-node .zpheading, .cya-org-node h5, .cya-org-node h6 { display: inline-block !important; padding: 8px 20px !important; border-radius: 24px !important; font-family: var(--sans) !important; font-size: 13px !important; font-weight: 700 !important; background: rgba(30,144,255,.08) !important; color: var(--blue) !important; margin: 0 auto !important; text-align: center !important; }
.cya-org-connector { position: relative !important; margin-bottom: 28px !important; }
.cya-org-connector::after { content: '' !important; display: block !important; width: 2px !important; height: 20px !important; background: rgba(0,0,0,.1) !important; margin: 8px auto 0 !important; }
.cya-org-campus { background: #fff !important; border-radius: 12px !important; padding: 16px !important; text-align: center !important; border: 1px solid rgba(0,0,0,.06) !important; }
.cya-org-campus h4, .cya-org-campus h5, .cya-org-campus .zpheading { font-family: var(--sans) !important; font-size: 14px !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.cya-org-campus-lagrange h4, .cya-org-campus-lagrange h5, .cya-org-campus-lagrange .zpheading { color: var(--blue) !important; }
.cya-org-campus-roanoke h4, .cya-org-campus-roanoke h5, .cya-org-campus-roanoke .zpheading { color: var(--red) !important; }
.cya-org-campus p, .cya-org-campus .zptext p { font-size: 12px !important; color: var(--text-light) !important; }


/* ═══════ 28. LEADERSHIP PROFILE CARD ═══════ */

.cya-leader-card { background: #fff !important; border-radius: var(--radius-lg) !important; padding: 36px !important; box-shadow: var(--shadow) !important; border: 1px solid rgba(0,0,0,.04) !important; }
.cya-leader-avatar { width: 120px !important; height: 120px !important; border-radius: 50% !important; overflow: hidden !important; margin-bottom: 16px !important; object-fit: cover !important; }
.cya-leader-avatar-placeholder { width: 120px !important; height: 120px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 40px !important; margin-bottom: 16px !important; }
.cya-leader-avatar-blue { background: rgba(30,144,255,.08) !important; color: var(--blue) !important; }
.cya-leader-avatar-red { background: rgba(225,6,0,.08) !important; color: var(--red) !important; }
.cya-leader-tag { display: inline-block !important; padding: 4px 12px !important; border-radius: 20px !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0.5px !important; text-transform: uppercase !important; margin-bottom: 8px !important; }
.cya-leader-tag-blue { background: rgba(30,144,255,.08) !important; color: var(--blue) !important; }
.cya-leader-tag-red { background: rgba(225,6,0,.08) !important; color: var(--red) !important; }
.cya-leader-tag-green { background: rgba(34,197,94,.08) !important; color: var(--green) !important; }
.cya-leader-details { display: flex !important; gap: 20px !important; flex-wrap: wrap !important; margin-top: 16px !important; }
.cya-leader-details span { font-size: 13px !important; color: var(--text-mid) !important; display: flex !important; align-items: center !important; gap: 6px !important; }
.cya-leader-details i, .cya-leader-details svg { color: var(--blue) !important; fill: var(--blue) !important; font-size: 13px !important; }


/* ═══════ 29. PORTAL SIGN IN / SIGN UP ═══════ */

.zpportal-container, .zpportal-signin-container, .zpportal-signup-container, .zpportal-form-container { font-family: var(--sans) !important; }

.cya-portal-form-card { background: #fff !important; border-radius: 24px !important; box-shadow: 0 16px 48px rgba(10,22,40,.12) !important; padding: 48px !important; max-width: 480px !important; margin: -48px auto 64px !important; position: relative !important; z-index: 2 !important; }
.cya-portal-form-card h2, .cya-portal-form-card h2.zpheading { font-family: var(--serif) !important; color: var(--text) !important; font-size: 28px !important; margin-bottom: 8px !important; font-weight: 400 !important; }
.cya-portal-form-card p, .cya-portal-form-card .zpelem-text p { color: var(--text-mid) !important; font-size: 14px !important; }
.cya-portal-form-card a { color: var(--blue) !important; font-weight: 600 !important; }
.cya-portal-form-card a:hover { color: #0A5FD4 !important; }
.cya-portal-form-card input, .cya-portal-form-card select, .cya-portal-form-card textarea { border: 2px solid rgba(0,0,0,.08) !important; border-radius: 16px !important; font-family: var(--sans) !important; font-size: 14px !important; padding: 14px 16px !important; color: var(--text) !important; transition: border-color .2s, box-shadow .2s !important; width: 100% !important; }
.cya-portal-form-card input:focus, .cya-portal-form-card select:focus, .cya-portal-form-card textarea:focus { border-color: var(--blue) !important; box-shadow: 0 0 0 4px rgba(30,144,255,.08) !important; outline: none !important; }
.cya-portal-form-card label { font-family: var(--sans) !important; font-size: 12px !important; font-weight: 600 !important; color: var(--text-mid) !important; letter-spacing: 0.3px !important; text-transform: uppercase !important; margin-bottom: 8px !important; display: block !important; }
.cya-portal-form-card button, .cya-portal-form-card input[type="submit"], .cya-portal-form-card .zpbutton-type-primary { background: var(--blue) !important; color: #fff !important; border: none !important; border-radius: 16px !important; font-family: var(--sans) !important; font-weight: 700 !important; font-size: 16px !important; padding: 16px 24px !important; width: 100% !important; cursor: pointer !important; transition: background .2s, transform .2s !important; }
.cya-portal-form-card button:hover, .cya-portal-form-card input[type="submit"]:hover { background: #0A5FD4 !important; transform: translateY(-2px) !important; }
.cya-portal-form-card button span, .cya-portal-form-card .zpbutton-text { color: #fff !important; }

.zpportal-form-container label, .zpportal-signin-container label, .zpportal-signup-container label { font-family: var(--sans) !important; font-size: 12px !important; font-weight: 600 !important; color: var(--text-mid) !important; letter-spacing: 0.3px !important; }
.zpportal-form-container input[type="text"], .zpportal-form-container input[type="email"], .zpportal-form-container input[type="password"], .zpportal-form-container input[type="date"], .zpportal-form-container input[type="number"], .zpportal-form-container select, .zpportal-form-container textarea, .zpportal-signin-container input, .zpportal-signup-container input, .zpportal-signup-container select { border: 2px solid rgba(0,0,0,.08) !important; border-radius: var(--radius) !important; font-family: var(--sans) !important; font-size: 14px !important; padding: 12px 16px !important; transition: border-color .2s, box-shadow .2s !important; }
.zpportal-form-container input:focus, .zpportal-signin-container input:focus, .zpportal-signup-container input:focus, .zpportal-signup-container select:focus { border-color: var(--blue) !important; box-shadow: 0 0 0 4px rgba(30,144,255,.08) !important; outline: none !important; }
.zpportal-form-container button, .zpportal-form-container input[type="submit"], .zpportal-signin-container button, .zpportal-signin-container input[type="submit"], .zpportal-signup-container button, .zpportal-signup-container input[type="submit"], .zpportal-btn, .zpportal-submit-btn { background: var(--blue) !important; border: none !important; border-radius: var(--radius) !important; color: #fff !important; font-family: var(--sans) !important; font-weight: 700 !important; font-size: 14px !important; padding: 12px 24px !important; cursor: pointer !important; transition: background .2s !important; }
.zpportal-form-container button:hover, .zpportal-signin-container button:hover, .zpportal-signup-container button:hover, .zpportal-btn:hover, .zpportal-submit-btn:hover { background: #0A5FD4 !important; }
.zpportal-signin-container a, .zpportal-signup-container a, .zpportal-form-container a { color: var(--blue) !important; font-weight: 600 !important; }
.zpportal-signin-container a:hover, .zpportal-signup-container a:hover, .zpportal-form-container a:hover { color: #0A5FD4 !important; }
.zpportal-social-login, .zpportal-social-btn { border-radius: var(--radius) !important; font-family: var(--sans) !important; }
.zpportal-signup-container input[type="radio"] { accent-color: var(--blue) !important; }
.zpportal-signup-container input[type="checkbox"] { accent-color: var(--blue) !important; }


/* ═══════ 30. SECTION BUTTON OVERRIDES ═══════ */

.cya-bg-red .zpbutton-type-primary { background: #fff !important; color: var(--red) !important; border-color: #fff !important; box-shadow: var(--shadow) !important; }
.cya-bg-red .zpbutton-type-primary:hover { background: #f0f0f0 !important; box-shadow: var(--shadow-lg) !important; }
.cya-bg-red .zpbutton-type-primary .zpbutton-icon svg { fill: var(--red) !important; }
.cya-bg-red .zpbutton-type-primary span, .cya-bg-red .zpbutton-type-primary .zpbutton-text, .cya-bg-red .zpbutton-type-primary .zpbutton-label, .cya-bg-red .zpbutton-type-primary a, .cya-bg-red .zpbutton-type-primary i { color: var(--red) !important; }
.cya-bg-red .zpbutton-type-primary .zpbutton-icon, .cya-bg-red .zpbutton-type-primary .zpbutton-icon i, .cya-bg-red .zpbutton-type-primary .zpbutton-icon span { color: var(--red) !important; fill: var(--red) !important; }
.cya-bg-red .zpbutton-type-secondary, .cya-bg-red .zpbutton-outline { background: transparent !important; border: 2px solid rgba(255,255,255,.4) !important; color: #fff !important; box-shadow: none !important; }
.cya-bg-red .zpbutton-type-secondary:hover, .cya-bg-red .zpbutton-outline:hover { background: rgba(255,255,255,.15) !important; }
.cya-bg-red .zpbutton-type-secondary span, .cya-bg-red .zpbutton-type-secondary .zpbutton-text, .cya-bg-red .zpbutton-outline span, .cya-bg-red .zpbutton-outline .zpbutton-text { color: #fff !important; }
.cya-bg-red .zpbutton-icon svg { fill: #fff !important; }

.cya-bg-navy .zpbutton-type-primary { background: var(--red) !important; border-color: var(--red) !important; color: #fff !important; box-shadow: 0 4px 16px rgba(225,6,0,.3) !important; }
.cya-bg-navy .zpbutton-type-primary:hover { background: #B30500 !important; }
.cya-bg-navy .zpbutton-type-primary .zpbutton-icon svg { fill: #fff !important; }
.cya-bg-navy .zpbutton-type-secondary, .cya-bg-navy .zpbutton-outline { background: transparent !important; border: 2px solid rgba(255,255,255,.2) !important; color: #fff !important; box-shadow: none !important; }
.cya-bg-navy .zpbutton-type-secondary:hover, .cya-bg-navy .zpbutton-outline:hover { background: rgba(255,255,255,.1) !important; }
.cya-bg-navy .zpbutton-icon svg { fill: #fff !important; }

.cya-bg-blue .zpbutton-type-primary { background: var(--red) !important; border-color: var(--red) !important; color: #fff !important; box-shadow: 0 4px 16px rgba(225,6,0,.3) !important; }
.cya-bg-blue .zpbutton-type-primary:hover { background: #B30500 !important; }
.cya-bg-blue .zpbutton-type-secondary, .cya-bg-blue .zpbutton-outline { background: transparent !important; border: 2px solid rgba(255,255,255,.3) !important; color: #fff !important; box-shadow: none !important; }
.cya-bg-blue .zpbutton-type-secondary:hover, .cya-bg-blue .zpbutton-outline:hover { background: rgba(255,255,255,.1) !important; }
.cya-bg-blue .zpbutton-icon svg { fill: #fff !important; }
.cya-bg-blue .zpbutton-type-link, .cya-bg-blue .zpbutton-type-link span, .cya-bg-blue .zpbutton-type-link .zpbutton-text, .cya-bg-blue .zpbutton-type-link a, .cya-bg-blue .zpbutton-type-link i { color: #fff !important; }
.cya-bg-blue .zpelement.zpelem-button a, .cya-bg-blue .zpelem-button .zpbutton-content, .cya-bg-blue .zpelem-button span { color: #fff !important; }

.cya-bg-navy .zpbutton-type-link, .cya-bg-navy .zpbutton-type-link span, .cya-bg-navy .zpbutton-type-link .zpbutton-text, .cya-bg-navy .zpbutton-type-link a, .cya-bg-navy .zpbutton-type-link i { color: #fff !important; }
.cya-bg-navy .zpelement.zpelem-button a, .cya-bg-navy .zpelem-button .zpbutton-content, .cya-bg-navy .zpelem-button span { color: #fff !important; }


/* ═══════ PORTAL NAV BUTTON + PORTAL CARDS + TAB NAV ═══════ */
/* Moved before responsive overrides to maintain correct cascade order */


/* ═══════ PORTAL CARDS + ICON TILES + TAB NAV + LINKS ═══════ */

/* Portal access section */
.cya-portal-card { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.1) !important; border-radius: var(--radius-lg) !important; padding: 32px !important; text-align: center !important; cursor: pointer !important; transition: all 0.3s ease !important; }
.cya-portal-card:hover { background: rgba(255,255,255,.12) !important; transform: translateY(-4px) !important; }
.cya-portal-icon-blue, .cya-portal-icon-green, .cya-portal-icon-red, .cya-portal-icon-gold { width: 64px !important; height: 64px !important; border-radius: 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 16px !important; }
.cya-portal-icon-blue { background: rgba(30,144,255,.15) !important; }
.cya-portal-icon-blue svg { fill: #1E90FF !important; } .cya-portal-icon-blue i { color: #1E90FF !important; }
.cya-portal-icon-green { background: rgba(34,197,94,.15) !important; }
.cya-portal-icon-green svg { fill: #22C55E !important; } .cya-portal-icon-green i { color: #22C55E !important; }
.cya-portal-icon-red { background: rgba(225,6,0,.15) !important; }
.cya-portal-icon-red svg { fill: #E10600 !important; } .cya-portal-icon-red i { color: #E10600 !important; }
/* .cya-portal-icon-gold — defined in ADD 9 section below */
.cya-portal-card h4.zpheading, .cya-portal-card .zpelem-heading h4 { color: #fff !important; font-family: var(--sans) !important; font-size: 18px !important; font-weight: 700 !important; margin-bottom: 8px !important; text-align: center !important; }
.cya-portal-card .zpelem-text p { color: rgba(255,255,255,.5) !important; font-size: 13px !important; margin-bottom: 16px !important; text-align: center !important; }
.cya-portal-card .cya-portal-link-blue, .cya-portal-card .cya-portal-link-blue p, .cya-portal-card .cya-portal-link-blue .zptext p { color: var(--blue) !important; font-weight: 700 !important; font-size: 13px !important; text-align: center !important; margin-bottom: 0 !important; }
.cya-portal-card .cya-portal-link-green, .cya-portal-card .cya-portal-link-green p, .cya-portal-card .cya-portal-link-green .zptext p { color: var(--green) !important; font-weight: 700 !important; font-size: 13px !important; text-align: center !important; margin-bottom: 0 !important; }
.cya-portal-card .cya-portal-link-red, .cya-portal-card .cya-portal-link-red p, .cya-portal-card .cya-portal-link-red .zptext p { color: var(--red) !important; font-weight: 700 !important; font-size: 13px !important; text-align: center !important; margin-bottom: 0 !important; }

/* Header scroll */
.theme-header { transition: box-shadow .3s, background .3s !important; }
.theme-header.cya-header-scrolled { box-shadow: var(--shadow) !important; background: rgba(255,253,247,.98) !important; }

/* Vacant board card */
.cya-vacant-card { opacity: 0.7 !important; border-top: 4px solid rgba(0,0,0,.1) !important; }
.cya-vacant-card .zpelem-heading h4, .cya-vacant-card h4.zpheading { color: var(--text-light) !important; }
.cya-vacant-card .zpelem-text p { color: var(--text-light) !important; }
.cya-vacant-card .cya-fc-icon-blue, .cya-vacant-card .cya-fc-icon-red, .cya-vacant-card .cya-fc-icon-green, .cya-vacant-card .cya-fc-icon-gold { background: rgba(0,0,0,.04) !important; color: var(--text-light) !important; }

/* Portal nav button */
.cya-nav-portal-btn { background: var(--blue) !important; color: #fff !important; border: none !important; border-radius: 12px !important; font-family: var(--sans) !important; font-weight: 600 !important; font-size: 14px !important; padding: 10px 20px !important; cursor: pointer !important; transition: all 0.3s ease !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.cya-nav-portal-btn:hover { background: #0A5FD4 !important; transform: translateY(-2px) !important; box-shadow: 0 4px 12px rgba(30,144,255,.2) !important; }
.cya-nav-portal-btn span { color: #fff !important; }
.zpdark-header-portion .cya-nav-portal-btn, .cya-bg-navy .cya-nav-portal-btn { background: #fff !important; color: var(--navy) !important; }
.zpdark-header-portion .cya-nav-portal-btn:hover, .cya-bg-navy .cya-nav-portal-btn:hover { background: var(--cream) !important; color: var(--navy) !important; }
.zpdark-header-portion .cya-nav-portal-btn span, .cya-bg-navy .cya-nav-portal-btn span { color: var(--navy) !important; }
@media (max-width: 991px) { .cya-nav-portal-btn { width: 100% !important; justify-content: center !important; padding: 14px 20px !important; font-size: 15px !important; } }

/* Portal tab nav */
.cya-portal-tab-nav { display: flex !important; gap: 8px !important; background: rgba(0,0,0,.03) !important; padding: 6px !important; border-radius: 16px !important; margin-bottom: 32px !important; }
.cya-portal-tab { flex: 1 !important; background: transparent !important; color: var(--text-mid) !important; border: none !important; border-radius: 12px !important; font-family: var(--sans) !important; font-weight: 600 !important; font-size: 14px !important; padding: 12px 20px !important; cursor: pointer !important; transition: all 0.2s ease !important; text-align: center !important; }
.cya-portal-tab:hover { background: rgba(0,0,0,.04) !important; color: var(--text) !important; }
.cya-portal-tab-active, .cya-portal-tab.active { background: #fff !important; color: var(--text) !important; box-shadow: 0 2px 8px rgba(0,0,0,.06) !important; }

/* Portal link styles */
.cya-portal-link-blue, .cya-portal-link-green, .cya-portal-link-red { font-family: var(--sans) !important; font-size: 14px !important; font-weight: 700 !important; margin-top: 16px !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.cya-portal-link-blue p, .cya-portal-link-blue .zpelem-text p { color: #fff !important; opacity: 0.9 !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; }
.cya-portal-link-blue:hover p { opacity: 1 !important; transform: translateX(4px) !important; }
.cya-portal-link-green p, .cya-portal-link-green .zpelem-text p { color: #fff !important; opacity: 0.9 !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; }
.cya-portal-link-green:hover p { opacity: 1 !important; transform: translateX(4px) !important; }
.cya-portal-link-red p, .cya-portal-link-red .zpelem-text p { color: #fff !important; opacity: 0.9 !important; display: inline-flex !important; align-items: center !important; gap: 4px !important; }
.cya-portal-link-red:hover p { opacity: 1 !important; transform: translateX(4px) !important; }


/* ═══════ HEADER SCROLL EFFECT ═══════ */

/* Header scroll */
.theme-header { transition: box-shadow .3s, background .3s !important; }
.theme-header.cya-header-scrolled { box-shadow: var(--shadow) !important; background: rgba(255,253,247,.98) !important; }

/* ═══════ 31. RESPONSIVE ═══════ */

@media (max-width: 768px) {
  .cya-topbar-tagline { display: none; }
  .cya-hero-overlay { min-height: 80vh !important; }
  .cya-hero-overlay .zpcontainer, .cya-hero-overlay .zpcontainer-fluid, .cya-hero-overlay .zpcont-full-stretch { padding-left: 24px !important; padding-right: 24px !important; padding-bottom: 60px !important; padding-top: 120px !important; }
  .cya-hero-overlay h1, .cya-hero-overlay .zpelem-heading h1 { font-size: 36px !important; letter-spacing: -1px !important; max-width: 100% !important; }
  .cya-hero-overlay p, .cya-hero-overlay .zpelem-text p { max-width: 100% !important; font-size: 16px !important; }
  .cya-hero-stat-num, .cya-hero-stat-num .zpheading { font-size: 32px !important; }
  .cya-impact-num, .cya-impact-num .zpheading, .cya-impact-num h2 { font-size: 36px !important; }
  .cya-impact-stat-num, .cya-impact-stat-num .zpheading { font-size: 36px !important; }
  .cya-testimonial { padding: 40px 32px; }
  .cya-card-blue.zpelem-box, .cya-card-gold.zpelem-box, .cya-card-red.zpelem-box, .cya-card-green.zpelem-box { min-height: 360px !important; padding: 32px !important; }
  .cya-card-blue .zpelem-heading h3, .cya-card-gold .zpelem-heading h3, .cya-card-red .zpelem-heading h3, .cya-card-green .zpelem-heading h3 { font-size: 24px !important; }
  .cya-photo-break { min-height: 40vh !important; }
  .cya-photo-break h2, .cya-photo-break h2.zpheading { font-size: 28px !important; }
  .cya-photo-break .zpcontainer, .cya-photo-break .zpcontainer-fluid, .cya-photo-break .zpcont-full-stretch { padding-left: 24px !important; }
  .cya-location-card { min-height: 280px !important; padding: 32px !important; }
  .cya-location-card h3, .cya-location-card h3.zpheading, .cya-location-card h4, .cya-location-card h4.zpheading { font-size: 24px !important; }
  .cya-org-chart .zprow { flex-direction: column !important; }
  .cya-org-campus { margin-bottom: 8px !important; }
  .cya-leader-avatar, .cya-leader-avatar-placeholder { width: 90px !important; height: 90px !important; font-size: 32px !important; }
  .cya-leader-details { flex-direction: column !important; gap: 8px !important; }
  .cya-feature-list .zpelem-icon { width: 18px !important; min-width: 18px !important; }
  .zpaccordion-header { font-size: 14px !important; padding: 14px 18px !important; }
  .zpaccordion-content { padding: 0 18px 16px !important; font-size: 14px !important; }
  .cya-portal-tab-nav { gap: 4px !important; padding: 4px !important; }
  .cya-portal-tab { font-size: 13px !important; padding: 10px 16px !important; }
  .cya-campus-card-blue, .cya-campus-card-red { padding: 24px !important; }
}

@media (max-width: 480px) {
  .cya-testimonial { padding: 32px 24px; }
  .cya-testimonial::before { font-size: 80px; top: 12px; left: 20px; }
  .cya-card-blue.zpelem-box, .cya-card-gold.zpelem-box, .cya-card-red.zpelem-box, .cya-card-green.zpelem-box { min-height: 320px !important; padding: 24px !important; border-radius: 24px !important; }
  .cya-portal-card { padding: 24px !important; }
  .cya-portal-icon-blue, .cya-portal-icon-green, .cya-portal-icon-red, .cya-portal-icon-gold { width: 48px !important; height: 48px !important; font-size: 20px !important; }
  .cya-feat-card { padding: 24px !important; }
  .cya-photo-break { min-height: 200px !important; }
  .cya-photo-break .zpcontainer h2.zpheading, .cya-photo-break .zpcontainer .zpelem-heading h2 { font-size: 22px !important; }
  .zpform-field input, .zpform-field select, .zpform-field textarea { padding: 10px 14px !important; font-size: 14px !important; }
  .zpaccordion-header { font-size: 14px !important; padding: 12px 16px !important; }
  .zpaccordion-content { padding: 0 16px 14px !important; font-size: 13px !important; }
}


/* ═══════ 32. ICON FEATURE LIST ═══════ */

.cya-feature-list .zpelem-icon, .cya-feature-list .zpelement.zpelem-icon { font-size: 16px !important; width: 20px !important; min-width: 20px !important; flex-shrink: 0 !important; }
.cya-feature-list .zpelem-icon svg { width: 16px !important; height: 16px !important; }
.cya-feature-list .zpelem-text p, .cya-feature-list .zptext p { font-size: 15px !important; line-height: 1.6 !important; }


/* ═══════ 33. SCROLL ANIMATIONS ═══════ */

@keyframes cyaFadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes cyaFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes cyaScaleIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
@keyframes cyaSlideRight { from { opacity: 0; transform: translateX(-32px); } to { opacity: 1; transform: translateX(0); } }
@keyframes cyaSlideLeft { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: translateX(0); } }
@keyframes cyaPulse { 0% { transform: scale(0.8); opacity: 0; } 60% { transform: scale(1.05); opacity: 1; } 100% { transform: scale(1); opacity: 1; } }
@keyframes cyaHeroZoom { from { transform: scale(1.08); } to { transform: scale(1); } }

.cya-anim-up { animation: cyaFadeUp 0.6s cubic-bezier(.22,1,.36,1) both !important; }
.cya-anim-d1 { animation-delay: 0.1s !important; }
.cya-anim-d2 { animation-delay: 0.2s !important; }
.cya-anim-d3 { animation-delay: 0.3s !important; }
.cya-anim-d4 { animation-delay: 0.4s !important; }
.cya-anim-d5 { animation-delay: 0.5s !important; }
.cya-anim-fade { animation: cyaFadeIn 0.8s ease-out both !important; }
.cya-anim-scale { animation: cyaScaleIn 0.5s cubic-bezier(.22,1,.36,1) both !important; }
.cya-anim-left { animation: cyaSlideLeft 0.7s cubic-bezier(.22,1,.36,1) both !important; }
.cya-anim-right { animation: cyaSlideRight 0.7s cubic-bezier(.22,1,.36,1) both !important; }
.cya-anim-section .zpcontainer, .cya-anim-section .zpcontainer-fluid { animation: cyaFadeUp 0.7s cubic-bezier(.22,1,.36,1) both !important; }

.cya-rounded-shadow img { transition: transform 0.4s ease !important; }
.cya-rounded-shadow:hover img { transform: scale(1.03) !important; }

.zpbutton-type-primary, .zpbutton-type-secondary, .zpbutton-outline { transition: all 0.3s ease !important; }

.cya-impact-num { animation: cyaPulse 0.6s ease-out both !important; }
.cya-bg-navy .zprow > .zpcolumn:nth-child(1) .cya-impact-num { animation-delay: 0s !important; }
.cya-bg-navy .zprow > .zpcolumn:nth-child(2) .cya-impact-num { animation-delay: 0.1s !important; }
.cya-bg-navy .zprow > .zpcolumn:nth-child(3) .cya-impact-num { animation-delay: 0.2s !important; }
.cya-bg-navy .zprow > .zpcolumn:nth-child(4) .cya-impact-num { animation-delay: 0.3s !important; }

.cya-testimonial { animation: cyaScaleIn 0.6s ease-out both !important; }
.cya-photo-break .zpcontainer h2.zpheading, .cya-photo-break .zpcontainer h3.zpheading, .cya-photo-break .zpcontainer .zpelem-heading { animation: cyaSlideRight 0.7s ease-out both !important; }

.cya-feat-card:nth-child(1) { animation: cyaFadeUp 0.5s ease-out 0.0s both !important; }
.cya-feat-card:nth-child(2) { animation: cyaFadeUp 0.5s ease-out 0.1s both !important; }
.cya-feat-card:nth-child(3) { animation: cyaFadeUp 0.5s ease-out 0.2s both !important; }
.cya-feat-card:nth-child(4) { animation: cyaFadeUp 0.5s ease-out 0.3s both !important; }

.cya-card-blue { animation: cyaFadeUp 0.6s ease-out 0.0s both !important; }
.cya-card-gold { animation: cyaFadeUp 0.6s ease-out 0.1s both !important; }
.cya-card-red  { animation: cyaFadeUp 0.6s ease-out 0.2s both !important; }
.cya-card-green { animation: cyaFadeUp 0.6s ease-out 0.3s both !important; }

.cya-hero-zoom, .cya-hero-overlay .zpelem-image img, .cya-hero-overlay .zpelem-bgimage { animation: cyaHeroZoom 14s ease forwards !important; }
.cya-photo-break .zpelem-image img, .cya-photo-break .zpelem-bgimage { transition: transform 8s ease !important; }
.cya-photo-break:hover .zpelem-image img, .cya-photo-break:hover .zpelem-bgimage { transform: scale(1.04) !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}


/* ═══════ 34. EXPANDED FOOTER ═══════ */

.theme-footer { background: var(--navy) !important; background-color: var(--navy) !important; font-family: var(--sans) !important; padding-top: 64px !important; padding-bottom: 0 !important; }
.theme-footer h1, .theme-footer h2, .theme-footer h3, .theme-footer h4, .theme-footer h5, .theme-footer h6, .theme-footer .zpelem-heading h1, .theme-footer .zpelem-heading h2, .theme-footer .zpelem-heading h3, .theme-footer .zpelem-heading h4, .theme-footer .zpelem-heading h5 { color: #fff !important; font-family: var(--sans) !important; font-weight: 700 !important; }
.theme-footer h5, .theme-footer h6, .theme-footer .zpelem-heading h5, .theme-footer .zpelem-heading h6 { font-size: 12px !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: rgba(255,255,255,.3) !important; margin-bottom: 20px !important; }
.theme-footer p, .theme-footer span, .theme-footer li { color: rgba(255,255,255,.6) !important; font-size: 14px !important; line-height: 1.7 !important; }
.theme-footer .zprow > .zpcolumn:first-child .zpelement { margin-bottom: 12px !important; }
.theme-footer .zprow > .zpcolumn:first-child .zpelem-image { margin-bottom: 16px !important; }
.theme-footer .zprow > .zpcolumn:first-child .zpelem-text:first-of-type { margin-bottom: 12px !important; }
.theme-footer .zprow > .zpcolumn:first-child .zpelem-text p { color: rgba(255,255,255,.5) !important; font-size: 14px !important; line-height: 1.7 !important; margin-bottom: 16px !important; }
.theme-footer .zprow > .zpcolumn:not(:first-child) a, .theme-footer nav a, .theme-footer ul a, .theme-footer li a { display: block !important; padding: 6px 0 !important; font-size: 14px !important; color: rgba(255,255,255,.6) !important; transition: color .2s !important; }
.theme-footer a, .theme-footer .zptext a, .theme-footer .zpelem-text a, .theme-footer ul a, .theme-footer li a, .theme-footer nav a, .theme-footer .zpdark-section a, .zpdark-section.theme-footer a, footer a, footer .zptext a { color: rgba(255,255,255,.6) !important; transition: color .2s !important; }
.theme-footer a:hover, .theme-footer .zptext a:hover, .theme-footer .zpelem-text a:hover, .theme-footer ul a:hover, .theme-footer li a:hover, footer a:hover { color: var(--blue) !important; }
.theme-footer .theme-socialicon-parent ul li a { background: rgba(255,255,255,.08) !important; border-radius: 50% !important; transition: background .2s !important; }
.theme-footer .theme-socialicon-parent ul li a:hover { background: var(--blue) !important; }
.theme-footer .theme-socialicon-parent ul li a svg, .theme-footer .theme-socialicon-parent ul li a:hover svg { fill: #fff !important; }


/* ═══════ 35. EXPANDED FORMS ═══════ */

.zpform-field label { font-family: var(--sans) !important; font-size: 12px !important; font-weight: 600 !important; color: var(--text-mid) !important; letter-spacing: 0.3px !important; }
.zpform-field input, .zpform-field select, .zpform-field textarea { font-family: var(--sans) !important; font-size: 14px !important; padding: 12px 16px !important; border: 2px solid rgba(0,0,0,.08) !important; border-radius: var(--radius) !important; transition: border-color .2s, box-shadow .2s !important; }
.zpform-field input:focus, .zpform-field select:focus, .zpform-field textarea:focus { border-color: var(--blue) !important; box-shadow: 0 0 0 4px rgba(30,144,255,.08) !important; outline: none !important; }
.zpform-field.zperror input, .zpform-field.zperror select, .zpform-field.zperror textarea { border-color: var(--red) !important; box-shadow: 0 0 0 4px rgba(225,6,0,.06) !important; }
.zpform-field .zperror-msg { color: var(--red) !important; font-size: 12px !important; font-family: var(--sans) !important; }
.zpform-submit, .zpform-field button[type="submit"], .zpform-field input[type="submit"] { background: var(--blue) !important; color: #fff !important; border: none !important; border-radius: var(--radius) !important; font-family: var(--sans) !important; font-weight: 700 !important; padding: 14px 28px !important; cursor: pointer !important; transition: background .2s !important; }
.zpform-submit:hover, .zpform-field button[type="submit"]:hover { background: #0A5FD4 !important; }


/* ═══════ 36. ACCORDION STYLING ═══════ */

.zpaccordion-panel { border-radius: var(--radius) !important; border: 1px solid rgba(0,0,0,.06) !important; margin-bottom: 8px !important; overflow: hidden !important; }

.zpaccordion-header, .zpaccordion-panel .zpaccordion-header, .zpaccordion-style-one .zpaccordion-header, .zpaccordion-style-two .zpaccordion-header {
  font-family: var(--sans) !important; font-size: 16px !important; font-weight: 600 !important; color: #1A1A2E !important; padding: 18px 24px !important; cursor: pointer !important; transition: background .2s, color .2s !important;
}

.zpaccordion-header:hover { background: rgba(30,144,255,.03) !important; color: #1E90FF !important; }
.zpaccordion-header:hover svg, .zpaccordion-header:hover .zpaccordion-icon, .zpaccordion-header:hover .zpaccordion-icon svg,
.zpaccordion-header:hover .zpaccordion-icon i, .zpaccordion-header:hover .zpaccordion-icon span { color: #1E90FF !important; fill: #1E90FF !important; }

.zpaccordion-active .zpaccordion-header, .zpaccordion-style-one .zpaccordion-active .zpaccordion-header, .zpaccordion-style-two .zpaccordion-active .zpaccordion-header {
  color: #1E90FF !important; border-left: 3px solid #1E90FF !important;
}

.zpaccordion-content { padding: 0 24px 20px !important; font-family: var(--sans) !important; font-size: 15px !important; color: var(--text-mid) !important; line-height: 1.7 !important; }

/* Accordion icons: RED closed, BLUE hover, BLUE active */
.zpaccordion-icon svg { fill: #E10600 !important; transition: transform .3s, fill .3s !important; }
.zpaccordion-icon, .zpaccordion-icon i, .zpaccordion-icon span, .zpaccordion-icon::before, .zpaccordion-icon::after,
.zpaccordion-header svg, .zpaccordion-header i, .zpaccordion-header .zpaccordion-icon { color: #E10600 !important; fill: #E10600 !important; }

.zpaccordion-active .zpaccordion-icon svg { fill: var(--blue) !important; }
.zpaccordion-active .zpaccordion-icon, .zpaccordion-active .zpaccordion-icon i, .zpaccordion-active .zpaccordion-icon span,
.zpaccordion-active .zpaccordion-header svg, .zpaccordion-active .zpaccordion-header i { color: var(--blue) !important; fill: var(--blue) !important; }

.zpaccordion-content a { color: var(--blue) !important; font-weight: 600 !important; transition: color .2s !important; }
.zpaccordion-content a:hover { color: #0A5FD4 !important; text-decoration: underline !important; }


/* ═══════ 37. MOBILE MENU ═══════ */

.theme-mobile-menu { background: #fff !important; font-family: var(--sans) !important; }
.theme-mobile-menu ul li a { color: var(--text) !important; font-size: 16px !important; font-weight: 600 !important; padding: 14px 24px !important; }
.theme-mobile-menu ul li a:hover, .theme-mobile-menu ul li.theme-menu-selected a { color: var(--blue) !important; background: rgba(30,144,255,.04) !important; }
.theme-mobile-menu .theme-burger-close { color: var(--text) !important; }


/* ═══════ 38. BUTTON INTERNAL SPANS ═══════ */

.cya-bg-navy .zpbutton-type-primary span, .cya-bg-navy .zpbutton-type-primary .zpbutton-text, .cya-bg-navy .zpbutton-type-primary .zpbutton-label, .cya-bg-navy .zpbutton-type-primary i { color: #fff !important; }
.cya-bg-navy .zpbutton-type-secondary span, .cya-bg-navy .zpbutton-type-secondary .zpbutton-text, .cya-bg-navy .zpbutton-outline span, .cya-bg-navy .zpbutton-outline .zpbutton-text { color: #fff !important; }
.cya-bg-blue .zpbutton-type-primary span, .cya-bg-blue .zpbutton-type-primary .zpbutton-text, .cya-bg-blue .zpbutton-type-primary .zpbutton-label, .cya-bg-blue .zpbutton-type-primary i { color: #fff !important; }
.cya-bg-blue .zpbutton-type-secondary span, .cya-bg-blue .zpbutton-type-secondary .zpbutton-text, .cya-bg-blue .zpbutton-outline span, .cya-bg-blue .zpbutton-outline .zpbutton-text { color: #fff !important; }
.cya-hero-overlay .zpbutton-type-primary span, .cya-hero-overlay .zpbutton-type-primary .zpbutton-text, .cya-hero-overlay .zpbutton-type-secondary span, .cya-hero-overlay .zpbutton-type-secondary .zpbutton-text { color: #fff !important; }


/* ═══════ 39–55. REMAINING SECTIONS (buttons, portal, events, etc.) ═══════ */

.cya-btn-green .zpbutton-type-primary, .cya-btn-green .zpbutton-type-secondary, .cya-btn-green button, .cya-btn-green a { background: var(--green) !important; color: #fff !important; box-shadow: 0 4px 16px rgba(34,197,94,.3) !important; transition: all 0.3s ease !important; }
.cya-btn-green .zpbutton-type-primary:hover, .cya-btn-green .zpbutton-type-secondary:hover { background: #16a34a !important; transform: translateY(-2px) !important; }
.cya-btn-green .zpbutton-type-primary span, .cya-btn-green .zpbutton-text, .cya-btn-green i { color: #fff !important; }

.cya-btn-red .zpbutton-type-primary, .cya-btn-red .zpbutton-type-secondary, .cya-btn-red button, .cya-btn-red a { background: var(--red) !important; color: #fff !important; box-shadow: 0 4px 16px rgba(225,6,0,.3) !important; transition: all 0.3s ease !important; }
.cya-btn-red .zpbutton-type-primary:hover, .cya-btn-red .zpbutton-type-secondary:hover { background: #b30500 !important; transform: translateY(-2px) !important; }
.cya-btn-red .zpbutton-type-primary span, .cya-btn-red .zpbutton-text, .cya-btn-red i { color: #fff !important; }

.cya-btn-white .zpbutton-type-primary, .cya-btn-white .zpbutton-type-secondary { background: #fff !important; color: var(--navy) !important; box-shadow: var(--shadow) !important; border-color: #fff !important; }
.cya-btn-white .zpbutton-type-primary:hover, .cya-btn-white .zpbutton-type-secondary:hover { transform: translateY(-2px) !important; box-shadow: var(--shadow-lg) !important; }
.cya-btn-white .zpbutton-type-primary span, .cya-btn-white .zpbutton-text, .cya-btn-white .zpbutton-label, .cya-btn-white .zpbutton-content, .cya-btn-white a, .cya-btn-white i,
.cya-bg-navy .cya-btn-white .zpbutton-type-primary span, .cya-bg-navy .cya-btn-white .zpbutton-text, .cya-bg-navy .cya-btn-white .zpbutton-content, .cya-bg-navy .cya-btn-white .zpelem-button span, .cya-bg-navy .cya-btn-white a, .cya-bg-navy .cya-btn-white i,
.cya-bg-blue .cya-btn-white .zpbutton-type-primary span, .cya-bg-blue .cya-btn-white .zpbutton-text, .cya-bg-blue .cya-btn-white .zpelem-button span, .cya-bg-blue .cya-btn-white a { color: var(--navy) !important; }
.cya-btn-white .zpbutton-icon svg, .cya-bg-navy .cya-btn-white .zpbutton-icon svg, .cya-bg-blue .cya-btn-white .zpbutton-icon svg { fill: var(--navy) !important; }

.cya-btn-ghost .zpbutton-type-primary, .cya-btn-ghost .zpbutton-type-secondary { background: rgba(255,255,255,.15) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.2) !important; backdrop-filter: blur(8px) !important; }
.cya-btn-ghost .zpbutton-type-primary:hover, .cya-btn-ghost .zpbutton-type-secondary:hover { background: rgba(255,255,255,.28) !important; }
.cya-btn-ghost span, .cya-btn-ghost .zpbutton-text { color: #fff !important; }

.cya-btn-outline-red .zpbutton-type-primary, .cya-btn-outline-red .zpbutton-type-secondary, .cya-btn-outline-red .zpbutton-outline { background: transparent !important; color: var(--red) !important; border: 2px solid var(--red) !important; transition: all 0.3s ease !important; }
.cya-btn-outline-red .zpbutton-type-primary:hover, .cya-btn-outline-red .zpbutton-type-secondary:hover { background: var(--red) !important; color: #fff !important; transform: translateY(-2px) !important; }
.cya-btn-outline-red span, .cya-btn-outline-red .zpbutton-text { color: var(--red) !important; }
.cya-btn-outline-red:hover span, .cya-btn-outline-red:hover .zpbutton-text { color: #fff !important; }

.cya-btn-solid-blue .zpbutton-type-primary, .cya-btn-solid-blue .zpbutton-type-secondary, .cya-btn-solid-blue .zpbutton-outline, .cya-btn-solid-blue button, .cya-btn-solid-blue a.zpbutton-wrapper { background: var(--blue) !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 10px 22px !important; font-weight: 600 !important; font-size: 14px !important; transition: all 0.3s ease !important; box-shadow: 0 4px 14px rgba(30,144,255,.25) !important; }
.cya-btn-solid-blue .zpbutton-type-primary:hover, .cya-btn-solid-blue .zpbutton-type-secondary:hover { background: #0A5FD4 !important; transform: translateY(-2px) !important; }
.cya-btn-solid-blue .zpbutton-type-primary span, .cya-btn-solid-blue .zpbutton-type-secondary span, .cya-btn-solid-blue .zpbutton-text, .cya-btn-solid-blue .zpbutton-content, .cya-btn-solid-blue .zpbutton-label, .cya-btn-solid-blue i { color: #fff !important; }
.cya-btn-solid-blue .zpbutton-icon svg { fill: #fff !important; }

.cya-btn-solid-red .zpbutton-type-primary, .cya-btn-solid-red .zpbutton-type-secondary, .cya-btn-solid-red .zpbutton-outline, .cya-btn-solid-red button, .cya-btn-solid-red a.zpbutton-wrapper { background: var(--red) !important; color: #fff !important; border: none !important; border-radius: 8px !important; padding: 10px 22px !important; font-weight: 600 !important; font-size: 14px !important; transition: all 0.3s ease !important; box-shadow: 0 4px 14px rgba(225,6,0,.25) !important; }
.cya-btn-solid-red .zpbutton-type-primary:hover, .cya-btn-solid-red .zpbutton-type-secondary:hover { background: #B30500 !important; transform: translateY(-2px) !important; }
.cya-btn-solid-red .zpbutton-type-primary span, .cya-btn-solid-red .zpbutton-type-secondary span, .cya-btn-solid-red .zpbutton-text, .cya-btn-solid-red .zpbutton-content, .cya-btn-solid-red .zpbutton-label, .cya-btn-solid-red i { color: #fff !important; }
.cya-btn-solid-red .zpbutton-icon svg { fill: #fff !important; }

.cya-btn-outline-navy .zpbutton-type-primary, .cya-btn-outline-navy .zpbutton-type-secondary, .cya-btn-outline-navy .zpbutton-outline { background: #fff !important; color: var(--navy) !important; border: 2px solid var(--navy) !important; border-radius: 8px !important; padding: 9px 22px !important; font-weight: 600 !important; font-size: 14px !important; transition: all 0.3s ease !important; }
.cya-btn-outline-navy .zpbutton-type-primary:hover, .cya-btn-outline-navy .zpbutton-type-secondary:hover { background: var(--navy) !important; color: #fff !important; transform: translateY(-2px) !important; }
.cya-btn-outline-navy .zpbutton-type-primary span, .cya-btn-outline-navy .zpbutton-type-secondary span, .cya-btn-outline-navy .zpbutton-text, .cya-btn-outline-navy .zpbutton-content, .cya-btn-outline-navy i { color: var(--navy) !important; }
.cya-btn-outline-navy:hover .zpbutton-text, .cya-btn-outline-navy:hover span, .cya-btn-outline-navy:hover i { color: #fff !important; }
.cya-btn-outline-navy .zpbutton-icon svg { fill: var(--navy) !important; }

.cya-btn-outline-blue .zpbutton-type-primary, .cya-btn-outline-blue .zpbutton-type-secondary, .cya-btn-outline-blue .zpbutton-outline { background: #fff !important; color: var(--blue) !important; border: 2px solid var(--blue) !important; border-radius: 8px !important; padding: 9px 22px !important; font-weight: 600 !important; font-size: 14px !important; transition: all 0.3s ease !important; }
.cya-btn-outline-blue .zpbutton-type-primary:hover, .cya-btn-outline-blue .zpbutton-type-secondary:hover { background: var(--blue) !important; color: #fff !important; transform: translateY(-2px) !important; }
.cya-btn-outline-blue .zpbutton-type-primary span, .cya-btn-outline-blue .zpbutton-type-secondary span, .cya-btn-outline-blue .zpbutton-text, .cya-btn-outline-blue .zpbutton-content, .cya-btn-outline-blue i { color: var(--blue) !important; }
.cya-btn-outline-blue:hover .zpbutton-text, .cya-btn-outline-blue:hover span, .cya-btn-outline-blue:hover i { color: #fff !important; }
.cya-btn-outline-blue .zpbutton-icon svg { fill: var(--blue) !important; }

/* Force red section label */
.cya-section-label-red h5, .cya-section-label-red h6, h5.cya-section-label-red, h6.cya-section-label-red,
.cya-section-label-red h5.zpheading, .cya-section-label-red h6.zpheading,
.zpelem-heading.cya-section-label-red h5, .zpelem-heading.cya-section-label-red h6 {
  color: #E10600 !important; font-family: var(--sans) !important; font-size: 12px !important;
  font-weight: 700 !important; letter-spacing: 3px !important; text-transform: uppercase !important;
}


/* Event badge tags */
.cya-event-tag, .cya-event-tag p, .cya-event-tag span, .cya-event-tag .zptext, .cya-event-tag .zptext p, .cya-event-tag .zpelem-text p { display: inline-flex !important; align-items: center !important; gap: 6px !important; font-family: var(--sans) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 1px !important; text-transform: uppercase !important; background: none !important; border: none !important; padding: 0 !important; margin-bottom: 10px !important; border-radius: 0 !important; }
.cya-event-tag-blue, .cya-event-tag-blue p, .cya-event-tag-blue span, .cya-event-tag-blue .zptext p, .cya-event-tag-blue .zpelem-text p { color: var(--blue) !important; }
.cya-event-tag-red, .cya-event-tag-red p, .cya-event-tag-red span, .cya-event-tag-red .zptext p, .cya-event-tag-red .zpelem-text p { color: var(--red) !important; }
.cya-event-tag-green, .cya-event-tag-green p, .cya-event-tag-green span, .cya-event-tag-green .zptext p, .cya-event-tag-green .zpelem-text p { color: var(--green) !important; }
.cya-event-tag-gold, .cya-event-tag-gold p, .cya-event-tag-gold span, .cya-event-tag-gold .zptext p, .cya-event-tag-gold .zpelem-text p { color: var(--gold) !important; }


/* ═══════ NAV DROPDOWN Z-INDEX FIX ═══════ */

div[class^="zpheader-style-"] { z-index: 9000 !important; position: relative !important; }
.theme-navigation-and-icons .theme-menu-area .theme-menu ul li ul { z-index: 9100 !important; }
.zpmm { z-index: 9100 !important; }
.theme-header, .theme-header-topbar { z-index: 9000 !important; position: relative !important; }


/* ═══════ CAMPUS INFO CARDS ═══════ */

.cya-campus-info { background: #fff !important; border: 1px solid #E8E6E1 !important; border-radius: 16px !important; padding: 28px !important; box-shadow: 0 4px 16px rgba(10,22,40,.06) !important; }
.cya-campus-info h3, .cya-campus-info h4, .cya-campus-info h5, .cya-campus-info h6, .cya-campus-info .zpheading { color: #082847 !important; font-family: var(--sans) !important; font-weight: 700 !important; }
.cya-campus-info p, .cya-campus-info span, .cya-campus-info .zptext p, .cya-campus-info .zpelem-text p { color: #4A4A5A !important; font-size: 14px !important; }


/* ═══════ CONTACT PAGE — CAMPUS CARDS + FORM ═══════ */

.cya-campus-card-blue {
  background: #fff !important; border-left: 4px solid #1E90FF !important; border-radius: 12px !important;
  padding: 32px !important; margin-bottom: 24px !important; box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}

.cya-campus-card-red {
  background: #fff !important; border-left: 4px solid #E10600 !important; border-radius: 12px !important;
  padding: 32px !important; margin-bottom: 24px !important; box-shadow: 0 2px 12px rgba(0,0,0,.06) !important;
}

.cya-campus-card-blue h4, .cya-campus-card-blue h5,
.cya-campus-card-red h4, .cya-campus-card-red h5 {
  font-size: 22px !important; font-weight: 700 !important; color: #082847 !important; margin-bottom: 12px !important;
}

.cya-campus-card-blue p, .cya-campus-card-red p {
  font-size: 15px !important; line-height: 1.8 !important; color: #444 !important; margin-bottom: 4px !important;
}

.cya-campus-director, .cya-campus-director p {
  color: #E10600 !important; font-weight: 600 !important; font-size: 14px !important; margin-bottom: 12px !important;
}

.cya-social-box {
  background: #F6F4F0 !important; border-radius: 12px !important; padding: 28px !important; text-align: center !important;
}

.cya-social-box h5, .cya-social-box h6 {
  font-size: 18px !important; font-weight: 700 !important; color: #082847 !important; margin-bottom: 16px !important;
}

.cya-form-title, .cya-form-title h2, .cya-form-title h3 {
  font-size: 28px !important; font-weight: 700 !important; color: #082847 !important; margin-bottom: 24px !important;
}



/* ═══════ MISSING CLASS ADDITIONS ═══════ */

/* .cya-btn-outline — outline button style (used as variant modifier) */
.cya-btn-outline .zpbutton-type-primary,
.cya-btn-outline .zpbutton-type-secondary,
.cya-btn-outline .zpbutton-outline {
  background: transparent !important;
  color: var(--blue) !important;
  border: 2px solid var(--blue) !important;
  border-radius: var(--radius) !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}
.cya-btn-outline .zpbutton-type-primary:hover,
.cya-btn-outline .zpbutton-type-secondary:hover {
  background: var(--blue) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
}
.cya-btn-outline .zpbutton-type-primary span,
.cya-btn-outline .zpbutton-text { color: var(--blue) !important; }
.cya-btn-outline:hover .zpbutton-text,
.cya-btn-outline:hover span { color: #fff !important; }

/* .cya-hero-stat — wrapper column for hero statistic blocks */
.cya-hero-stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

@media (max-width: 768px) {
  .cya-hero-stat { align-items: center !important; text-align: center !important; }
}

/* ═══════════════════════════════════════════════════════════════
   v8.0 ADDITIONS — New and fixed classes for v4 build
   ═══════════════════════════════════════════════════════════════ */


/* ═══════ FIX 1: HERO BTNS (was used on all hero pages, never defined) ═══════ */

.cya-hero-btns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  margin-top: 8px !important;
}


/* ═══════ FIX 2: FEAT CARD BLUE (used on Board page, was undefined) ═══════ */

.cya-feat-card-blue.zpelem-box {
  background: #EFF6FF !important;
  border-top: 4px solid var(--blue) !important;
  border-radius: var(--radius-lg) !important;
  padding: 32px !important;
  border-left: 1px solid rgba(30,144,255,.12) !important;
  border-right: 1px solid rgba(30,144,255,.12) !important;
  border-bottom: 1px solid rgba(30,144,255,.12) !important;
  transition: all 0.3s ease !important;
}

.cya-feat-card-blue.zpelem-box:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-lg) !important;
}

.cya-feat-card-blue h3, .cya-feat-card-blue h4, .cya-feat-card-blue .zpheading {
  color: var(--navy) !important;
}

.cya-feat-card-blue p, .cya-feat-card-blue .zpelem-text p {
  color: var(--text-mid) !important;
}


/* ═══════ FIX 3: BTN-MD (size modifier, was used but undefined) ═══════ */

.cya-btn-md .zpbutton-type-primary,
.cya-btn-md .zpbutton-type-secondary {
  padding: 12px 24px !important;
  font-size: 14px !important;
}


/* ═══════ FIX 4: TEXT-LIGHT (text color helper, was used but undefined) ═══════ */

.cya-text-light,
.cya-text-light p,
.cya-text-light .zpelem-text p,
.cya-text-light .zptext p,
.cya-text-light span {
  color: var(--text-light) !important;
  font-size: 13px !important;
}


/* ═══════ FIX 5: RESPONSIVE HELPER ═══════ */

.cya-responsive {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 768px) {
  .cya-responsive img,
  .cya-responsive .zpimage { max-width: 100% !important; height: auto !important; }
}


/* ═══════ ADD 1: PURPLE ICON — Mental Health HEMS pillar ═══════ */

.cya-fc-icon-purple {
  width: 56px !important;
  max-width: 56px !important;
  height: 56px !important;
  min-height: 56px !important;
  border-radius: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 20px !important;
  font-size: 22px !important;
  flex-shrink: 0 !important;
  background: rgba(124,58,237,.1) !important;
  color: #7C3AED !important;
}

.cya-fc-icon-purple.cya-fc-icon-circle {
  border-radius: 50% !important;
  width: 72px !important;
  max-width: 72px !important;
  height: 72px !important;
  min-height: 72px !important;
  margin: 0 auto 20px !important;
}

.cya-feat-card-center .cya-fc-icon-purple {
  margin-left: auto !important;
  margin-right: auto !important;
}

.cya-fc-icon-purple svg,
.zpelem-icon.cya-fc-icon-purple svg {
  width: 24px !important;
  height: 24px !important;
  fill: #7C3AED !important;
}

.cya-fc-icon-purple i { color: #7C3AED !important; }

@media (max-width: 768px) {
  .cya-feat-card { padding: 24px !important; }
}


/* ═══════ ADD 2: HEMS SECTION + PILLAR CARDS ═══════ */
/* Applied to the full-width HEMS callout section on program pages  */
/* Section class: cya-hems-section (on the zpsection)               */
/* Each pillar box: cya-hems-pillar (on zpelem-box)                  */

.cya-hems-section,
.cya-hems-section.zpsection {
  background: #FFFDF7 !important;
  border-top: 1px solid rgba(0,0,0,.04) !important;
  border-bottom: 1px solid rgba(0,0,0,.04) !important;
}

.cya-hems-pillar.zpelem-box {
  background: #fff !important;
  border-radius: var(--radius-lg) !important;
  padding: 28px 24px !important;
  border: 1px solid rgba(0,0,0,.05) !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 2px 12px rgba(10,22,40,.04) !important;
}

.cya-hems-pillar.zpelem-box:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow) !important;
}

/* Pillar heading */
.cya-hems-pillar h3,
.cya-hems-pillar h4,
.cya-hems-pillar h5,
.cya-hems-pillar .zpheading,
.cya-hems-pillar .zpelem-heading h3,
.cya-hems-pillar .zpelem-heading h4 {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin-bottom: 6px !important;
}

/* Pillar description */
.cya-hems-pillar p,
.cya-hems-pillar .zpelem-text p,
.cya-hems-pillar .zptext p {
  font-size: 13px !important;
  color: var(--text-mid) !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}

/* Section label above HEMS grid */
.cya-hems-section .cya-section-label,
.cya-hems-section .cya-section-label .zpheading {
  color: var(--blue) !important;
}


/* ═══════ ADD 3: PRICING BAR ═══════ */
/* Applied to a Box element on Afterschool, Summer, MHS pages */
/* Shows fee information before the eligibility section       */

.cya-pricing-bar.zpelem-box {
  background: rgba(30,144,255,.04) !important;
  border: 1px solid rgba(30,144,255,.1) !important;
  border-radius: var(--radius) !important;
  padding: 18px 22px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

.cya-pricing-bar h5,
.cya-pricing-bar h6,
.cya-pricing-bar .zpheading,
.cya-pricing-bar .zpelem-heading h5,
.cya-pricing-bar .zpelem-heading h6 {
  font-family: var(--sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--navy) !important;
  margin-bottom: 3px !important;
}

.cya-pricing-bar p,
.cya-pricing-bar .zpelem-text p,
.cya-pricing-bar .zptext p {
  font-size: 13px !important;
  color: var(--text-mid) !important;
  margin-bottom: 0 !important;
  line-height: 1.6 !important;
}

.cya-pricing-bar a,
.cya-pricing-bar .zpelem-text a {
  color: var(--blue) !important;
  font-weight: 600 !important;
}

/* Fee icon */
.cya-pricing-bar .cya-fc-icon-blue {
  flex-shrink: 0 !important;
  margin-bottom: 0 !important;
  width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  border-radius: 50% !important;
}


/* ═══════ ADD 4: FOOTER NEWSLETTER SIGNUP ROW ═══════ */
/* Applied to a row/section just above the footer-bottom bar */

.cya-footer-newsletter,
.cya-footer-newsletter.zpsection {
  border-top: 1px solid rgba(255,255,255,.06) !important;
  background: transparent !important;
  padding-top: 28px !important;
  padding-bottom: 28px !important;
}

.cya-footer-newsletter h4,
.cya-footer-newsletter h5,
.cya-footer-newsletter h6,
.cya-footer-newsletter .zpheading,
.cya-footer-newsletter .zpelem-heading h4,
.cya-footer-newsletter .zpelem-heading h5 {
  color: #fff !important;
  font-family: var(--sans) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  margin-bottom: 4px !important;
}

.cya-footer-newsletter p,
.cya-footer-newsletter .zpelem-text p {
  color: rgba(255,255,255,.45) !important;
  font-size: 13px !important;
  margin-bottom: 0 !important;
}

/* Input field inside the newsletter row */
.cya-footer-newsletter input[type="email"],
.cya-footer-newsletter .zpform-field input {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 100px !important;
  color: #fff !important;
  font-size: 13px !important;
  padding: 10px 18px !important;
  max-width: 260px !important;
}

.cya-footer-newsletter input::placeholder {
  color: rgba(255,255,255,.3) !important;
}

.cya-footer-newsletter .zpbutton-type-primary,
.cya-footer-newsletter button {
  background: var(--red) !important;
  border-color: var(--red) !important;
  border-radius: 100px !important;
  font-size: 13px !important;
  padding: 10px 20px !important;
  font-weight: 600 !important;
}

.cya-footer-newsletter .zpbutton-type-primary:hover { background: #B30500 !important; }
.cya-footer-newsletter .zpbutton-type-primary span,
.cya-footer-newsletter .zpbutton-text { color: #fff !important; }


/* ═══════ ADD 5: PATHWAYS PARTNER CARDS ═══════ */
/* Courts / Schools / Social Services cards on Pathways page */

.cya-pathways-partner.zpelem-box {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: var(--radius-lg) !important;
  padding: 32px !important;
  text-align: center !important;
  cursor: default !important;
  transition: all 0.3s ease !important;
}

.cya-pathways-partner.zpelem-box:hover {
  background: rgba(255,255,255,.1) !important;
  transform: translateY(-4px) !important;
  border-color: rgba(255,255,255,.2) !important;
}

.cya-pathways-partner h4,
.cya-pathways-partner h5,
.cya-pathways-partner .zpheading,
.cya-pathways-partner .zpelem-heading h4 {
  color: #fff !important;
  font-family: var(--sans) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
}

.cya-pathways-partner p,
.cya-pathways-partner .zpelem-text p {
  color: rgba(255,255,255,.55) !important;
  font-size: 13px !important;
  margin-bottom: 0 !important;
  line-height: 1.6 !important;
}

.cya-pathways-partner .cya-fc-icon-green { margin-bottom: 16px !important; }
.cya-pathways-partner .cya-fc-icon-blue  { margin-bottom: 16px !important; }
.cya-pathways-partner .cya-fc-icon-gold  { margin-bottom: 16px !important; }


/* ═══════ ADD 6: GREEN SECTION BACKGROUND (Pathways pages) ═══════ */

.cya-bg-green {
  background: #16A34A !important;
}

.cya-bg-green h1, .cya-bg-green h2, .cya-bg-green h3,
.cya-bg-green h4, .cya-bg-green h5, .cya-bg-green h6,
.cya-bg-green .zpelem-heading h1, .cya-bg-green .zpelem-heading h2,
.cya-bg-green .zpelem-heading h3, .cya-bg-green h1.zpheading,
.cya-bg-green h2.zpheading, .cya-bg-green h3.zpheading {
  color: #fff !important;
}

.cya-bg-green p, .cya-bg-green span,
.cya-bg-green .zpelem-text p, .cya-bg-green .zptext p {
  color: rgba(255,255,255,.8) !important;
}

.cya-bg-green .cya-section-label,
.cya-bg-green .cya-section-label * {
  color: rgba(255,255,255,.6) !important;
}

.cya-bg-green .zpbutton-type-primary {
  background: #fff !important;
  color: #16A34A !important;
  border-color: #fff !important;
}

.cya-bg-green .zpbutton-type-primary:hover {
  background: #f0fdf4 !important;
}

.cya-bg-green .zpbutton-type-secondary,
.cya-bg-green .zpbutton-outline {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,.3) !important;
  color: #fff !important;
}

.cya-bg-green .zpbutton-type-primary span,
.cya-bg-green .zpbutton-type-primary .zpbutton-text { color: #16A34A !important; }


/* ═══════ ADD 7: HERO OVERLAY GREEN (Pathways hero variant) ═══════ */
/* Use on the hero section of the Pathways page                      */
/* Builder overlay: #16A34A at 60% (set in Zoho Sites section panel) */

.cya-hero-overlay-green {
  position: relative !important;
  min-height: 60vh !important;
  display: flex !important;
  align-items: flex-end !important;
}

.cya-hero-overlay-green .zpcontainer,
.cya-hero-overlay-green .zpcontainer-fluid {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
  padding-bottom: 80px !important;
  padding-top: 180px !important;
}

.cya-hero-overlay-green h1,
.cya-hero-overlay-green h2,
.cya-hero-overlay-green h3,
.cya-hero-overlay-green p,
.cya-hero-overlay-green span,
.cya-hero-overlay-green .zpheading {
  color: #fff !important;
}

.cya-hero-overlay-green h1,
.cya-hero-overlay-green h1.zpheading {
  font-size: clamp(40px, 6vw, 72px) !important;
  font-weight: 400 !important;
  letter-spacing: -1.5px !important;
  line-height: 1.08 !important;
  max-width: 700px !important;
}

.cya-hero-overlay-green .cya-section-label-green,
.cya-hero-overlay-green .cya-section-label-green .zpheading,
.cya-hero-overlay-green .cya-section-label-green h5,
.cya-hero-overlay-green .cya-section-label-green h6 {
  color: rgba(255,255,255,.7) !important;
  background: rgba(255,255,255,.15) !important;
  padding: 4px 14px !important;
  border-radius: 20px !important;
  display: inline-block !important;
}

.cya-hero-overlay-green .zpbutton-type-primary {
  background: #fff !important;
  color: #16A34A !important;
  border-color: #fff !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.2) !important;
  padding: 16px 32px !important;
  font-size: 16px !important;
}

.cya-hero-overlay-green .zpbutton-type-primary:hover {
  background: #f0fdf4 !important;
}

.cya-hero-overlay-green .zpbutton-type-primary span,
.cya-hero-overlay-green .zpbutton-text { color: #16A34A !important; }

.cya-hero-overlay-green .zpbutton-type-secondary {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  color: #fff !important;
  padding: 16px 32px !important;
}

@media (max-width: 768px) {
  .cya-hero-overlay-green { min-height: 50vh !important; }
  .cya-hero-overlay-green .zpcontainer { padding: 100px 24px 60px !important; }
  .cya-hero-overlay-green h1,
  .cya-hero-overlay-green h1.zpheading { font-size: 34px !important; }
}


/* ═══════ ADD 8: REFERRAL BADGE ═══════ */
/* Applied to a heading/text element to show the "Referral-Based" badge */

.cya-referral-badge,
.cya-referral-badge .zpheading,
.cya-referral-badge h5,
.cya-referral-badge h6,
.cya-referral-badge span {
  display: inline-block !important;
  background: rgba(34,197,94,.2) !important;
  color: #86EFAC !important;
  padding: 4px 14px !important;
  border-radius: 20px !important;
  font-family: var(--sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  width: fit-content !important;
  margin-bottom: 12px !important;
}

/* Light background version */
.cya-bg-cream .cya-referral-badge,
.cya-bg-white .cya-referral-badge,
.cya-bg-warm .cya-referral-badge {
  background: rgba(34,197,94,.12) !important;
  color: #16A34A !important;
}


/* ═══════ ADD 9: PORTAL ICON GOLD (was missing from portal icon set) ═══════ */

.cya-portal-icon-gold {
  width: 64px !important;
  height: 64px !important;
  border-radius: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 16px !important;
  background: rgba(212,168,83,.15) !important;
}

.cya-portal-icon-gold svg { fill: #D4A853 !important; }
.cya-portal-icon-gold i { color: #D4A853 !important; }


/* ═══════ ADD 10: IMPACT STAT NUM (light bg variant — already in v7.4 section 10b  */
/* Re-declared here with minor fix for About page stats row                          */

.cya-impact-stat-num + .cya-impact-stat-label {
  margin-top: 0 !important;
}

.cya-bg-warm .cya-impact-stat-num,
.cya-bg-warm .cya-impact-stat-num h2,
.cya-bg-warm .cya-impact-stat-num .zpheading {
  color: var(--navy) !important;
}

.cya-bg-cream .cya-impact-stat-num,
.cya-bg-cream .cya-impact-stat-num h2,
.cya-bg-cream .cya-impact-stat-num .zpheading {
  color: var(--navy) !important;
}
/* ═══════ GET INVOLVED — CARD COLOR TINTS ═══════ */

.cya-involved-cards .cya-border-blue {
  background: linear-gradient(180deg, rgba(30,144,255,.06) 0%, #fff 40%) !important;
  border-top: 4px solid var(--blue) !important;
}

.cya-involved-cards .cya-border-red {
  background: linear-gradient(180deg, rgba(225,6,0,.05) 0%, #fff 40%) !important;
  border-top: 4px solid var(--red) !important;
}

.cya-involved-cards .cya-border-green {
  background: linear-gradient(180deg, rgba(34,197,94,.06) 0%, #fff 40%) !important;
  border-top: 4px solid var(--green) !important;
}

.cya-involved-cards .cya-border-gold {
  background: linear-gradient(180deg, rgba(212,168,83,.06) 0%, #fff 40%) !important;
  border-top: 4px solid var(--gold) !important;
}

.cya-involved-cards .cya-feat-card:hover {
  box-shadow: var(--shadow-xl) !important;
}

/* ═══════ GET INVOLVED — DONATE BOXES ═══════ */

.cya-involved-cards .cya-donate-box,
.cya-gift-section .zpelem-box {
  background: #fff !important;
  border: 2px solid rgba(0,0,0,.06) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
}

.cya-gift-section .zpelem-box:hover {
  border-color: var(--blue) !important;
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow) !important;
}

.cya-gift-section .zpelem-box h3,
.cya-gift-section .zpelem-box h4,
.cya-gift-section .zpelem-box .zpheading {
  font-family: var(--serif) !important;
  font-size: 32px !important;
  color: var(--navy) !important;
  margin-bottom: 4px !important;
}

.cya-gift-section .zpelem-box p,
.cya-gift-section .zpelem-box .zpelem-text p {
  font-size: 13px !important;
  color: var(--text-light) !important;
}
/* ═══════ DONATE AMOUNT CARDS ═══════ */

.cya-donate-grid .zpcolumn {
  background: #fff !important;
  border-radius: 16px !important;
  padding: 32px 24px !important;
  text-align: center !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  transition: all 0.3s ease !important;
  margin: 8px !important;
}

.cya-donate-grid .zpcolumn:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--shadow-lg) !important;
  border-color: var(--blue) !important;
}

.cya-donate-grid .zpcolumn:nth-child(1) { border-top: 4px solid var(--blue) !important; }
.cya-donate-grid .zpcolumn:nth-child(2) { border-top: 4px solid var(--red) !important; }
.cya-donate-grid .zpcolumn:nth-child(3) { border-top: 4px solid var(--green) !important; }
.cya-donate-grid .zpcolumn:nth-child(4) { border-top: 4px solid var(--gold) !important; }

.cya-donate-grid .zpcolumn:nth-child(1):hover { border-color: var(--blue) !important; }
.cya-donate-grid .zpcolumn:nth-child(2):hover { border-color: var(--red) !important; }
.cya-donate-grid .zpcolumn:nth-child(3):hover { border-color: var(--green) !important; }
.cya-donate-grid .zpcolumn:nth-child(4):hover { border-color: var(--gold) !important; }

.cya-donate-grid h2, .cya-donate-grid h3,
.cya-donate-grid .zpheading,
.cya-donate-grid .zpelem-heading h2,
.cya-donate-grid .zpelem-heading h3 {
  font-family: var(--serif) !important;
  font-size: 42px !important;
  color: var(--navy) !important;
  margin-bottom: 8px !important;
}

.cya-donate-grid .zpcolumn:nth-child(1) h2,
.cya-donate-grid .zpcolumn:nth-child(1) h3,
.cya-donate-grid .zpcolumn:nth-child(1) .zpheading { color: var(--blue) !important; }

.cya-donate-grid .zpcolumn:nth-child(2) h2,
.cya-donate-grid .zpcolumn:nth-child(2) h3,
.cya-donate-grid .zpcolumn:nth-child(2) .zpheading { color: var(--red) !important; }

.cya-donate-grid .zpcolumn:nth-child(3) h2,
.cya-donate-grid .zpcolumn:nth-child(3) h3,
.cya-donate-grid .zpcolumn:nth-child(3) .zpheading { color: var(--green) !important; }

.cya-donate-grid .zpcolumn:nth-child(4) h2,
.cya-donate-grid .zpcolumn:nth-child(4) h3,
.cya-donate-grid .zpcolumn:nth-child(4) .zpheading { color: var(--gold) !important; }

.cya-donate-grid p,
.cya-donate-grid .zpelem-text p {
  font-size: 14px !important;
  color: var(--text-mid) !important;
  line-height: 1.5 !important;
}
/* =========================================================
   CYA RESPONSIVE TEXT ADDON
   Covers headings, body text, and text-bearing components
   ========================================================= */

body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Tablet */
@media (max-width: 991px) {
  .cya-sec h1,
  .cya-sec h2,
  .cya-sec h3,
  .cya-sec h4,
  .cya-sec h5,
  .cya-sec h6,
  .cya-sec .zpheading,
  .cya-sec .zpelem-heading h1,
  .cya-sec .zpelem-heading h2,
  .cya-sec .zpelem-heading h3,
  .cya-sec .zpelem-heading h4,
  .cya-sec .zpelem-heading h5,
  .cya-sec .zpelem-heading h6 {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .cya-sec .zpelem-text p,
  .cya-sec .zptext p {
    line-height: 1.7 !important;
  }

  .cya-portal-card h4,
  .cya-portal-card .zpelem-heading h4 {
    font-size: 16px !important;
  }

  .cya-portal-card .zpelem-text p {
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .cya-feat-card h3,
  .cya-feat-card h4,
  .cya-feat-card .zpheading {
    font-size: 20px !important;
    line-height: 1.15 !important;
  }

  .cya-feat-card p,
  .cya-feat-card .zpelem-text p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .cya-snap-card h3,
  .cya-snap-card h4,
  .cya-snap-card .zpheading {
    font-size: 16px !important;
  }

  .cya-snap-card p,
  .cya-snap-card li {
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  .cya-donate-grid h2,
  .cya-donate-grid h3,
  .cya-donate-grid .zpheading {
    font-size: 34px !important;
  }

  .cya-donate-grid p,
  .cya-donate-grid .zpelem-text p {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  .cya-campus-card-blue h4,
  .cya-campus-card-blue h5,
  .cya-campus-card-red h4,
  .cya-campus-card-red h5,
  .cya-campus-info h3,
  .cya-campus-info h4,
  .cya-campus-info h5,
  .cya-campus-info h6 {
    font-size: 18px !important;
  }

  .cya-campus-card-blue p,
  .cya-campus-card-red p,
  .cya-campus-info p {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .cya-social-box h5,
  .cya-social-box h6,
  .cya-form-title h2,
  .cya-form-title h3 {
    font-size: 22px !important;
  }

  .cya-footer-newsletter h4,
  .cya-footer-newsletter h5,
  .cya-footer-newsletter h6 {
    font-size: 14px !important;
  }

  .cya-footer-newsletter p {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  .zpaccordion-header,
  .zpaccordion-panel .zpaccordion-header {
    font-size: 14px !important;
    padding: 14px 18px !important;
  }

  .zpaccordion-content {
    font-size: 14px !important;
    line-height: 1.65 !important;
    padding: 0 18px 16px !important;
  }

  .cya-pricing-bar h5,
  .cya-pricing-bar h6,
  .cya-pricing-bar .zpheading {
    font-size: 12px !important;
  }

  .cya-pricing-bar p,
  .cya-pricing-bar .zpelem-text p {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  .cya-hero-stat .zpheading,
  .cya-hero-stat h2,
  .cya-hero-stat h3,
  .cya-impact-num .zpheading,
  .cya-impact-num h2,
  .cya-impact-stat-num .zpheading,
  .cya-impact-stat-num h2,
  .cya-impact-stat-num h3 {
    font-size: 36px !important;
  }

  .cya-hero-stat-label p,
  .cya-impact-label p,
  .cya-impact-stat-label p {
    font-size: 12px !important;
  }

  .cya-pathways-partner h4,
  .cya-pathways-partner h5,
  .cya-pathways-partner .zpheading,
  .cya-hems-pillar h3,
  .cya-hems-pillar h4,
  .cya-hems-pillar h5 {
    font-size: 16px !important;
  }

  .cya-pathways-partner p,
  .cya-hems-pillar p {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .cya-hero-overlay h1,
  .cya-hero-overlay .zpelem-heading h1,
  .cya-hero-overlay h1.zpheading {
    font-size: 36px !important;
    line-height: 1.08 !important;
  }

  .cya-hero-overlay p,
  .cya-hero-overlay .zpelem-text p,
  .cya-hero-overlay .zptext p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }

  .cya-card-blue .zpelem-heading h3,
  .cya-card-gold .zpelem-heading h3,
  .cya-card-red .zpelem-heading h3,
  .cya-card-green .zpelem-heading h3 {
    font-size: 24px !important;
  }

  .cya-card-blue .zpelem-text p,
  .cya-card-gold .zpelem-text p,
  .cya-card-red .zpelem-text p,
  .cya-card-green .zpelem-text p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .cya-location-card h3,
  .cya-location-card h4,
  .cya-location-card .zpheading {
    font-size: 24px !important;
  }

  .cya-location-card p,
  .cya-location-card .zpelem-text p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .cya-photo-break h2,
  .cya-photo-break h2.zpheading {
    font-size: 28px !important;
  }

  .cya-feat-card h3,
  .cya-feat-card h4,
  .cya-feat-card .zpheading {
    font-size: 18px !important;
  }

  .cya-feat-card p,
  .cya-feat-card .zpelem-text p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .cya-donate-grid h2,
  .cya-donate-grid h3,
  .cya-donate-grid .zpheading {
    font-size: 36px !important;
  }

  .cya-donate-grid p,
  .cya-donate-grid .zpelem-text p {
    font-size: 13px !important;
  }

  .cya-campus-card-blue h4,
  .cya-campus-card-blue h5,
  .cya-campus-card-red h4,
  .cya-campus-card-red h5 {
    font-size: 18px !important;
  }

  .cya-campus-card-blue p,
  .cya-campus-card-red p {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .zpaccordion-header,
  .zpaccordion-panel .zpaccordion-header {
    font-size: 14px !important;
  }

  .zpaccordion-content {
    font-size: 13px !important;
  }

  .cya-footer-newsletter h4,
  .cya-footer-newsletter h5,
  .cya-footer-newsletter h6 {
    font-size: 13px !important;
  }

  .cya-footer-newsletter p {
    font-size: 12px !important;
  }

  .cya-portal-card h4,
  .cya-portal-card .zpelem-heading h4 {
    font-size: 16px !important;
  }

  .cya-portal-card .zpelem-text p {
    font-size: 12px !important;
  }
}

/* Extra small mobile */
@media (max-width: 480px) {
  .cya-hero-overlay h1,
  .cya-hero-overlay .zpelem-heading h1,
  .cya-hero-overlay h1.zpheading {
    font-size: 28px !important;
  }

  .cya-photo-break h2,
  .cya-photo-break h2.zpheading {
    font-size: 22px !important;
  }

  .cya-card-blue .zpelem-heading h3,
  .cya-card-gold .zpelem-heading h3,
  .cya-card-red .zpelem-heading h3,
  .cya-card-green .zpelem-heading h3 {
    font-size: 21px !important;
  }

  .cya-feat-card h3,
  .cya-feat-card h4,
  .cya-feat-card .zpheading {
    font-size: 17px !important;
  }

  .cya-feat-card p,
  .cya-feat-card .zpelem-text p,
  .cya-snap-card p,
  .cya-snap-card li {
    font-size: 13px !important;
  }

  .cya-campus-card-blue p,
  .cya-campus-card-red p,
  .cya-campus-info p {
    font-size: 13px !important;
  }

  .zpaccordion-header,
  .zpaccordion-panel .zpaccordion-header {
    font-size: 13px !important;
    padding: 12px 16px !important;
  }

  .zpaccordion-content {
    font-size: 13px !important;
    padding: 0 16px 14px !important;
  }

  .cya-footer-newsletter input[type="email"] {
    max-width: 100% !important;
  }
}
/* ── Interest List button — mobile ── */
@media (max-width: 767px) {
  #zf_button_773831 {
    display: block !important;
    width: auto !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* ── Hero stats — prevent word breaking on mobile ── */
@media (max-width: 767px) {
  .cya-hero-stat-label,
  .cya-hero-stat-label p,
  .cya-hero-stat-label .zptext,
  .cya-hero-stat-label .zptext p {
    white-space: nowrap !important;
    font-size: 8px !important;
    letter-spacing: 1.5px !important;
  }

  .cya-hero-stat-num,
  .cya-hero-stat-num .zpheading,
  .cya-hero-stat-num h2,
  .cya-hero-stat-num h3 {
    font-size: 28px !important;
  }
}

@media (max-width: 480px) {
  .cya-hero-stat-label,
  .cya-hero-stat-label p,
  .cya-hero-stat-label .zptext p {
    font-size: 7px !important;
    letter-spacing: 1px !important;
  }

  .cya-hero-stat-num,
  .cya-hero-stat-num .zpheading,
  .cya-hero-stat-num h2,
  .cya-hero-stat-num h3 {
    font-size: 24px !important;
  }
}
/* =========================================================
   CYA TYPOGRAPHY ADDON v6
   Clean, narrow, low-conflict
   Paste after v8.1
   ========================================================= */

body {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media (min-width: 992px) {
  .zptext p,
  .zpelem-text p {
    font-size: 16px;
    line-height: 1.75;
  }
}

@media (max-width: 991px) {
  .zptext p,
  .zpelem-text p {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .cya-sec .zpelem-heading h1,
  .cya-sec .zpelem-heading h2,
  .cya-sec .zpelem-heading h3,
  .cya-sec .zpelem-heading h4,
  .cya-sec .zpelem-heading h5,
  .cya-sec .zpelem-heading h6,
  .cya-sec .zpheading {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .cya-sec .cya-section-title h1,
  .cya-sec .cya-section-title h2,
  .cya-sec .cya-section-title h3,
  .cya-sec .cya-section-title h4 {
    max-width: 100%;
  }

  .cya-sec .zpelem-text p,
  .cya-sec .zptext p {
    line-height: 1.7 !important;
  }

  .cya-sec .zpelem-iconheading .zpicon-heading,
  .cya-sec .zpelem-iconheadingtext .zpicon-heading,
  .cya-sec .zpelem-imageheadingtext .zpicon-heading {
    font-size: 16px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
  }

  .cya-sec .zpelem-imagetext .zptext p,
  .cya-sec .zpelem-imageheadingtext .zptext p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .cya-sec .zpbutton-text {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .cya-sec .zpaccordion-header {
    font-size: 14px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
  }

  .cya-sec .zpaccordion-content {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .cya-sec .zptab-title {
    font-size: 13px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere;
  }

  .cya-sec .zptable th,
  .cya-sec .zptable td {
    font-size: 13px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
  }

  .cya-sec .zpdivider-text {
    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  .cya-photo-break h2,
  .cya-photo-break h2.zpheading {
    font-size: 42px !important;
    line-height: 1.1 !important;
    color: #fff !important;
  }

  .cya-photo-break h3,
  .cya-photo-break h3.zpheading {
    font-size: 42px !important;
    line-height: 1.1 !important;
    color: #fff !important;
  }

  .cya-testimonial h6,
  .cya-testimonial h6.zpheading,
  .cya-testimonial .zpelem-heading h6 {
    font-size: 14px !important;
    font-family: var(--sans) !important;
    font-weight: 600 !important;
    color: var(--text-light) !important;
    margin-top: 16px !important;
  }

  .cya-sec h4.zpheading,
  .cya-sec .zpelem-heading h4,
  .cya-bg-cream h4.zpheading,
  .cya-bg-cream .zpelem-heading h4,
  .cya-bg-white h4.zpheading,
  .cya-bg-white .zpelem-heading h4,
  .cya-bg-warm h4.zpheading,
  .cya-bg-warm .zpelem-heading h4 {
    font-family: var(--sans) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--navy) !important;
  }

  .cya-sec h5.zpheading,
  .cya-sec .zpelem-heading h5,
  .cya-bg-cream h5.zpheading:not(.cya-section-label):not(.cya-section-label-gold),
  .cya-bg-cream .zpelem-heading h5:not(.cya-section-label):not(.cya-section-label-gold),
  .cya-bg-white h5.zpheading:not(.cya-section-label):not(.cya-section-label-gold),
  .cya-bg-white .zpelem-heading h5:not(.cya-section-label):not(.cya-section-label-gold) {
    font-family: var(--sans) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  .cya-sec .zpelem-heading h6:not([class*="cya-"]),
  .cya-bg-cream .zpelem-heading h6:not([class*="cya-"]),
  .cya-bg-white .zpelem-heading h6:not([class*="cya-"]),
  .cya-bg-warm .zpelem-heading h6:not([class*="cya-"]) {
    font-size: 14px !important;
    font-family: var(--sans) !important;
    font-weight: 600 !important;
    color: var(--text-mid) !important;
  }
}

@media (max-width: 767px) {
  .cya-hero-overlay h1,
  .cya-hero-overlay .zpelem-heading h1,
  .cya-hero-overlay h1.zpheading {
    font-size: 36px !important;
    line-height: 1.08 !important;
  }

  .cya-card-blue .zpelem-heading h3,
  .cya-card-gold .zpelem-heading h3,
  .cya-card-red .zpelem-heading h3,
  .cya-card-green .zpelem-heading h3 {
    font-size: 24px !important;
    line-height: 1.15 !important;
  }

  .cya-location-card h3,
  .cya-location-card h3.zpheading,
  .cya-location-card h4,
  .cya-location-card h4.zpheading {
    font-size: 24px !important;
    line-height: 1.15 !important;
  }

  .cya-photo-break h2,
  .cya-photo-break h2.zpheading,
  .cya-photo-break h3,
  .cya-photo-break h3.zpheading {
    font-size: 28px !important;
    line-height: 1.1 !important;
  }

  .cya-impact-num h2,
  .cya-impact-num .zpheading,
  .cya-impact-stat-num h2,
  .cya-impact-stat-num .zpheading {
    font-size: 36px !important;
    line-height: 1 !important;
  }

  .cya-hero-stat-label,
  .cya-hero-stat-label p,
  .cya-hero-stat-label .zptext p {
    white-space: nowrap !important;
    font-size: 8px !important;
    letter-spacing: 1.5px !important;
  }

  .cya-hero-stat-num,
  .cya-hero-stat-num .zpheading,
  .cya-hero-stat-num h2,
  .cya-hero-stat-num h3 {
    font-size: 28px !important;
  }

  .zpbutton-content,
  .zpbutton-text {
    font-size: 14px !important;
  }

  .cya-feat-card h3,
  .cya-feat-card h4,
  .cya-feat-card .zpheading {
    font-size: 18px !important;
  }

  .cya-snap-card h3,
  .cya-snap-card h4,
  .cya-snap-card .zpheading {
    font-size: 16px !important;
  }

  .cya-portal-card h4,
  .cya-portal-card .zpelem-heading h4 {
    font-size: 16px !important;
  }

  .cya-campus-card-blue h4,
  .cya-campus-card-blue h5,
  .cya-campus-card-red h4,
  .cya-campus-card-red h5,
  .cya-campus-info h3,
  .cya-campus-info h4,
  .cya-campus-info h5,
  .cya-campus-info h6 {
    font-size: 18px !important;
  }

  .cya-donate-box h2,
  .cya-donate-box h3,
  .cya-donate-box h4,
  .cya-donate-box h5,
  .cya-donate-box h6,
  .cya-donate-box .zpheading {
    font-size: 36px !important;
    line-height: 1.05 !important;
  }
}

@media (max-width: 480px) {
  .cya-hero-overlay h1,
  .cya-hero-overlay .zpelem-heading h1,
  .cya-hero-overlay h1.zpheading {
    font-size: 28px !important;
  }

  .cya-card-blue .zpelem-heading h3,
  .cya-card-gold .zpelem-heading h3,
  .cya-card-red .zpelem-heading h3,
  .cya-card-green .zpelem-heading h3 {
    font-size: 21px !important;
  }

  .cya-location-card h3,
  .cya-location-card h3.zpheading,
  .cya-location-card h4,
  .cya-location-card h4.zpheading {
    font-size: 21px !important;
  }

  .cya-photo-break h2,
  .cya-photo-break h2.zpheading,
  .cya-photo-break h3,
  .cya-photo-break h3.zpheading {
    font-size: 22px !important;
  }

  .cya-impact-num h2,
  .cya-impact-num .zpheading,
  .cya-impact-stat-num h2,
  .cya-impact-stat-num .zpheading {
    font-size: 24px !important;
  }

  .cya-hero-stat-label,
  .cya-hero-stat-label p,
  .cya-hero-stat-label .zptext p {
    font-size: 7px !important;
    letter-spacing: 1px !important;
  }

  .cya-hero-stat-num,
  .cya-hero-stat-num .zpheading,
  .cya-hero-stat-num h2,
  .cya-hero-stat-num h3 {
    font-size: 24px !important;
  }

  .zpaccordion-header,
  .zpaccordion-panel .zpaccordion-header {
    font-size: 13px !important;
    padding: 12px 16px !important;
  }

  .zpaccordion-content {
    font-size: 13px !important;
    padding: 0 16px 14px !important;
  }

  .cya-feat-card p,
  .cya-snap-card p,
  .cya-campus-card-blue p,
  .cya-campus-card-red p,
  .cya-campus-info p,
  .cya-portal-card .zpelem-text p {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }

  .cya-donate-box h2,
  .cya-donate-box h3,
  .cya-donate-box h4,
  .cya-donate-box h5,
  .cya-donate-box h6,
  .cya-donate-box .zpheading {
    font-size: 28px !important;
    line-height: 1.08 !important;
  }

  .cya-footer-newsletter p {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  .cya-sec h4.zpheading,
  .cya-sec .zpelem-heading h4,
  .cya-sec h5.zpheading,
  .cya-sec .zpelem-heading h5,
  .cya-sec .zpelem-heading h6:not([class*="cya-"]) {
    font-size: 13px !important;
  }
}
/* ── Impact stats — 2-per-row on mobile ── */
@media (max-width: 767px) {
  .cya-bg-navy .zprow .zpelem-col.zpcol-sm-3 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    margin-bottom: 20px !important;
  }

  .cya-impact-num,
  .cya-impact-num .zpheading,
  .cya-impact-num h3 {
    text-align: center !important;
  }

  .cya-impact-label,
  .cya-impact-label p {
    text-align: center !important;
  }
}
