/* ============================================================
   LOUDmusic Impact Foundation — Light Mode Theme
   Loaded AFTER inline <style> blocks so cascade wins.
   Applied when <html data-theme="light">.
   ============================================================
   ALWAYS-DARK elements (never overridden):
     #sidebar, footer, .hero, .upstream-case, .pillar-quote,
     .stats-bar, .closing, .gl-letter-nav
   ============================================================ */

/* ── CSS CUSTOM PROPERTY OVERRIDES ── */
html[data-theme="light"] {
  --color-bg: #f8f9fb !important;
  --color-bg-light: #eef1f6 !important;
  --color-bg-offset: #e2e8f0 !important;
  --color-text: #0f172a !important;
  --color-text-muted: rgba(15,23,42,0.62) !important;
  --color-text-light: rgba(15,23,42,0.38) !important;
  --color-border: rgba(0,0,0,0.1) !important;
  --color-link: #1E73BE !important;
  --color-link-hover: #1558a0 !important;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06) !important;
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08) !important;
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.12) !important;
}
/* Sidebar/footer CSS variable overrides */
html[data-theme="light"] {
  --color-sidebar-bg: #f0f4f8 !important;
  --color-sidebar-link: rgba(15,23,42,0.7) !important;
  --color-sidebar-link-hover: #0f172a !important;
}

/* ── BODY ── */
html[data-theme="light"] body {
  background: #f8f9fb;
  color: #0f172a;
}

/* ════════════════════════════════════════
   SIDEBAR — full light mode
   ════════════════════════════════════════ */
html[data-theme="light"] #sidebar {
  background: #f0f4f8 !important;
  border-right: 1px solid rgba(0,0,0,0.09) !important;
}

/* Logo area */
html[data-theme="light"] .sidebar-logo {
  border-bottom-color: rgba(0,0,0,0.09) !important;
}
html[data-theme="light"] .sidebar-logo-img {
  filter: invert(1) !important;
}
html[data-theme="light"] .sidebar-wordmark { color: #0f172a !important; }

/* Footer logo — white PNG → dark in light mode */
html[data-theme="light"] .footer-logo-img {
  filter: invert(1) brightness(0) !important;
  opacity: 0.85 !important;
}

/* Search bar */
html[data-theme="light"] .sidebar-toggle {
  color: #0f172a !important;
}
html[data-theme="light"] .sidebar-search {
  border-bottom-color: rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .sidebar-search-inner {
  background: rgba(0,0,0,0.07) !important;
}
html[data-theme="light"] .sidebar-search input {
  color: #0f172a !important;
}
html[data-theme="light"] .sidebar-search input::placeholder {
  color: rgba(15,23,42,0.35) !important;
}
html[data-theme="light"] .sidebar-search svg { color: rgba(15,23,42,0.4) !important; }

/* Nav links */
html[data-theme="light"] .sidebar-nav a { color: rgba(15,23,42,0.7) !important; }
html[data-theme="light"] .sidebar-nav a:hover,
html[data-theme="light"] .sidebar-nav a.active {
  color: #1E73BE !important;
  background: rgba(30,115,190,0.08) !important;
  border-left-color: #1E73BE !important;
}
html[data-theme="light"] .sidebar-nav .nav-label,
html[data-theme="light"] .nav-label {
  color: rgba(15,23,42,0.38) !important;
}

/* Utility links */
html[data-theme="light"] .sidebar-utility {
  border-top-color: rgba(0,0,0,0.09) !important;
}
html[data-theme="light"] .sidebar-utility a { color: rgba(15,23,42,0.5) !important; }
html[data-theme="light"] .sidebar-utility a:hover { color: rgba(15,23,42,0.85) !important; }

/* Social icons */
html[data-theme="light"] .sidebar-social a { color: rgba(15,23,42,0.4) !important; }
html[data-theme="light"] .sidebar-social a:hover { color: #0f172a !important; }

/* Copyright */
html[data-theme="light"] .sidebar-copyright { color: rgba(15,23,42,0.3) !important; }

/* Catch-all for any inline-styled white text inside the sidebar (e.g. section labels on homepage) */
html[data-theme="light"] #sidebar [style*="color:rgba(255,255,255"],
html[data-theme="light"] #sidebar [style*="color:#fff"],
html[data-theme="light"] #sidebar [style*="color:#ffffff"] {
  color: rgba(15,23,42,0.4) !important;
}

/* ════════════════════════════════════════
   FOOTER — full light mode
   ════════════════════════════════════════ */
html[data-theme="light"] footer {
  background: #eef1f6 !important;
  color: rgba(15,23,42,0.6) !important;
}
html[data-theme="light"] .footer-brand h3 { color: #0f172a !important; }
html[data-theme="light"] .footer-brand p { color: rgba(15,23,42,0.62) !important; }
html[data-theme="light"] footer h4 { color: rgba(15,23,42,0.7) !important; }
html[data-theme="light"] footer ul a { color: rgba(15,23,42,0.55) !important; }
html[data-theme="light"] footer ul a:hover { color: #0f172a !important; }
html[data-theme="light"] .footer-bottom {
  border-top-color: rgba(0,0,0,0.1) !important;
  color: rgba(15,23,42,0.4) !important;
}
html[data-theme="light"] .footer-bottom a { color: rgba(15,23,42,0.4) !important; }

/* ── MAIN CONTENT AREA ── */
html[data-theme="light"] #main-content {
  background: #f8f9fb;
}

/* ════════════════════════════════════════
   SECTION BACKGROUNDS
   ════════════════════════════════════════ */
html[data-theme="light"] section {
  background: #f8f9fb;
}
html[data-theme="light"] section.alt-bg {
  background: #eef1f6;
}

/* ── UPSTREAM CASE SECTION (impact page cost-comparison) ── */
html[data-theme="light"] .upstream-case {
  background: #eef1f6 !important;
  color: #0f172a !important;
}
html[data-theme="light"] .upstream-case .section-eyebrow { color: #1E73BE !important; }
html[data-theme="light"] .upstream-case .section-heading { color: #0f172a !important; }
html[data-theme="light"] .upstream-case .section-lead { color: rgba(15,23,42,0.65) !important; }
html[data-theme="light"] .cost-card {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.1) !important;
}
html[data-theme="light"] .cost-card.cost-highlight {
  border-color: rgba(30,115,190,0.3) !important;
  background: rgba(30,115,190,0.06) !important;
}
html[data-theme="light"] .cost-badge {
  background: rgba(0,0,0,0.07) !important;
  color: rgba(15,23,42,0.6) !important;
}
html[data-theme="light"] .cost-badge.green { background: rgba(34,197,94,0.12) !important; color: #16a34a !important; }
html[data-theme="light"] .cost-badge.red { background: rgba(239,68,68,0.1) !important; color: #dc2626 !important; }
html[data-theme="light"] .cost-amount { color: #0f172a !important; }
html[data-theme="light"] .cost-amount.green { color: #16a34a !important; }
html[data-theme="light"] .cost-amount.red { color: #dc2626 !important; }
html[data-theme="light"] .cost-per { color: rgba(15,23,42,0.4) !important; }
html[data-theme="light"] .cost-desc { color: rgba(15,23,42,0.65) !important; }
html[data-theme="light"] .cost-source { color: rgba(15,23,42,0.35) !important; }
html[data-theme="light"] .ubar-track { background: rgba(0,0,0,0.08) !important; }
html[data-theme="light"] .ubar-label { color: rgba(15,23,42,0.5) !important; }
html[data-theme="light"] .ubar-value { color: rgba(15,23,42,0.75) !important; }
html[data-theme="light"] .upstream-arg {
  background: rgba(30,115,190,0.06) !important;
  border-color: rgba(30,115,190,0.15) !important;
}
html[data-theme="light"] .upstream-arg p { color: rgba(15,23,42,0.72) !important; }
html[data-theme="light"] .upstream-arg strong { color: #1E73BE !important; }

/* ── TICKER BAR ── */
html[data-theme="light"] .ticker-bar {
  background: #1E73BE;
  border-color: rgba(0,0,0,0.15);
}
html[data-theme="light"] .ticker-item { color: rgba(255,255,255,0.9); }
html[data-theme="light"] .ticker-dot { background: rgba(255,255,255,0.5); }

/* ── PARTNER LOGO CAROUSEL ── */
html[data-theme="light"] .partner-strip {
  background: #eef1f6 !important;
  border-top-color: rgba(0,0,0,0.07) !important;
  border-bottom-color: rgba(0,0,0,0.07) !important;
}
html[data-theme="light"] .partner-strip-label { color: rgba(15,23,42,0.4) !important; }
html[data-theme="light"] .partner-logos-inner img {
  filter: brightness(0) !important;
  opacity: 0.35 !important;
}

/* ── EVIDENCE STAT CARDS (homepage #matters section) ── */
/* Cards use inline style="background:#0a0f1a" — targeted via attribute selector */
html[data-theme="light"] #matters [style*="background:#0a0f1a"] {
  background: #ffffff !important;
  border-color: rgba(30,115,190,0.18) !important;
}

/* ════════════════════════════════════════
   BASE TEXT CLASSES
   ════════════════════════════════════════ */
html[data-theme="light"] .section-heading { color: #0f172a; }
html[data-theme="light"] .section-lead { color: rgba(15,23,42,0.62); }
html[data-theme="light"] .section-eyebrow { color: #1E73BE; }

/* ════════════════════════════════════════
   HOMEPAGE — ABOUT SECTION
   Class-based dark background + class-based white text
   ════════════════════════════════════════ */
html[data-theme="light"] .about-section {
  background: #eef1f6 !important;
  border-top-color: rgba(0,0,0,0.07) !important;
  border-bottom-color: rgba(0,0,0,0.07) !important;
}
html[data-theme="light"] .about-headline { color: #0f172a !important; }
html[data-theme="light"] .about-body { color: rgba(15,23,42,0.72) !important; }
html[data-theme="light"] .about-stats {
  border-color: rgba(0,0,0,0.12) !important;
}
html[data-theme="light"] .about-stat {
  border-right-color: rgba(0,0,0,0.12) !important;
}
html[data-theme="light"] .about-stat-label { color: rgba(15,23,42,0.5) !important; }

/* ════════════════════════════════════════
   HOMEPAGE — SIX PILLARS SECTION (#pillars)
   Has inline style="background:#000000" — requires !important to override
   ════════════════════════════════════════ */
html[data-theme="light"] #pillars { background: #f8f9fb !important; }

/* ════════════════════════════════════════
   HOMEPAGE — STAY CONNECTED / EMAIL SECTION (#support)
   Has inline style="background:#030B13" — requires !important to override.
   Inner text uses inline white colors caught by the section rule below;
   input field needs explicit background/border/color fix.
   ════════════════════════════════════════ */
html[data-theme="light"] #support { background: #eef1f6 !important; }
html[data-theme="light"] #support input {
  background: rgba(0,0,0,0.04) !important;
  border-color: rgba(0,0,0,0.18) !important;
  color: #0f172a !important;
}
html[data-theme="light"] #support input::placeholder { color: rgba(15,23,42,0.35) !important; }

/* ════════════════════════════════════════
   CARDS & SURFACES (dark hardcoded backgrounds)
   ════════════════════════════════════════ */
html[data-theme="light"] .stat-card,
html[data-theme="light"] .impact-metric,
html[data-theme="light"] .impact-narrative,
html[data-theme="light"] .support-card,
html[data-theme="light"] .news-card,
html[data-theme="light"] .featured-announce {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.1) !important;
}
html[data-theme="light"] .email-signup {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.22) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .stat-label { color: #0f172a; }
html[data-theme="light"] .stat-desc,
html[data-theme="light"] .stat-source { color: rgba(15,23,42,0.55); }

/* ════════════════════════════════════════
   VALUE STRIP (Support page)
   ════════════════════════════════════════ */
html[data-theme="light"] .value-strip {
  background: rgba(0,0,0,0.08);
  border-color: rgba(0,0,0,0.1);
}
html[data-theme="light"] .value-item { background: #ffffff !important; }
html[data-theme="light"] .value-label { color: rgba(15,23,42,0.5) !important; }

/* ════════════════════════════════════════
   FINALE CTA SECTION
   ════════════════════════════════════════ */
html[data-theme="light"] .finale { background: #f0f4f8; }
html[data-theme="light"] .finale-card {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.22) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .finale h2,
html[data-theme="light"] .finale h2 * { color: #0f172a !important; }
html[data-theme="light"] .finale p { color: rgba(15,23,42,0.65) !important; }

/* ════════════════════════════════════════
   GOALS PAGE
   ════════════════════════════════════════ */
html[data-theme="light"] .goals-section {
  background: linear-gradient(135deg, #dce3ef 0%, #eef1f6 50%, #e2e8f0 100%);
}
html[data-theme="light"] .goals-section .section-heading { color: #0f172a !important; }
html[data-theme="light"] .goals-section .section-lead { color: rgba(15,23,42,0.7) !important; }
html[data-theme="light"] .goals-teaser-card {
  background: rgba(255,255,255,0.75) !important;
  border-color: rgba(0,0,0,0.18) !important;
}
html[data-theme="light"] .goals-teaser-card [style*="color:#fff"],
html[data-theme="light"] .goals-teaser-card [style*="color: #fff"] {
  color: #0f172a !important;
}
html[data-theme="light"] .goals-teaser-card [style*="color:rgba(255,255,255"] {
  color: rgba(15,23,42,0.6) !important;
}
html[data-theme="light"] .goal-card {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.28) !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .goal-card h3 { color: #0f172a !important; }
html[data-theme="light"] .goal-card p { color: rgba(15,23,42,0.65) !important; }
html[data-theme="light"] .goal-card:hover {
  background: #f8f9fb !important;
  border-color: rgba(0,0,0,0.38) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
}
html[data-theme="light"] .goal-icon-badge {
  background: rgba(0,0,0,0.06);
  border-color: rgba(0,0,0,0.22);
}
html[data-theme="light"] .goal-funder { background: rgba(0,0,0,0.07); color: rgba(15,23,42,0.45); }
html[data-theme="light"] .goal-progress-wrap { background: rgba(0,0,0,0.12); }
html[data-theme="light"] .goal-progress-meta { color: rgba(15,23,42,0.45); }
html[data-theme="light"] .goal-deadline { color: #1E73BE; }
html[data-theme="light"] .inaction-box { background: rgba(239,68,68,0.04); }
html[data-theme="light"] .inaction-box p { color: rgba(15,23,42,0.7) !important; }
html[data-theme="light"] .commitment-box p { color: rgba(15,23,42,0.7) !important; }

/* ════════════════════════════════════════
   IMPACT PAGE — TABS & METRICS
   ════════════════════════════════════════ */
html[data-theme="light"] .impact-section { background: #f8f9fb; }
html[data-theme="light"] .impact-tabs {
  background: #0f2744;
  border-color: rgba(255,255,255,0.12);
}
html[data-theme="light"] .impact-tab { color: rgba(255,255,255,0.6); }
html[data-theme="light"] .impact-tab:hover:not(.active) {
  color: rgba(255,255,255,0.9);
  background: rgba(255,255,255,0.08);
}
html[data-theme="light"] .stakeholder-table th {
  color: rgba(15,23,42,0.5);
  border-bottom-color: rgba(0,0,0,0.12);
}
html[data-theme="light"] .stakeholder-table td {
  border-bottom-color: rgba(0,0,0,0.07);
  color: rgba(15,23,42,0.65);
}
html[data-theme="light"] .hard-metric { border-bottom-color: rgba(0,0,0,0.06); }
html[data-theme="light"] .hard-metric-name { color: rgba(15,23,42,0.65) !important; }

/* ════════════════════════════════════════
   PILLAR PAGES — WHY IT MATTERS SECTION
   ════════════════════════════════════════ */
html[data-theme="light"] .why-section {
  background: #eef1f6 !important;
  border-top-color: rgba(0,0,0,0.08) !important;
  border-bottom-color: rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .why-heading { color: #0f172a !important; }
html[data-theme="light"] .why-subhead { color: rgba(15,23,42,0.5) !important; }
html[data-theme="light"] .why-body { color: rgba(15,23,42,0.72) !important; }
html[data-theme="light"] .why-card {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.1) !important;
}
html[data-theme="light"] .why-card p { color: rgba(15,23,42,0.72) !important; }
html[data-theme="light"] .why-card ul li { color: rgba(15,23,42,0.72) !important; }

/* ════════════════════════════════════════
   PILLAR PAGES — EVIDENCE & PROGRAMS
   ════════════════════════════════════════ */
html[data-theme="light"] .pillar-evidence {
  background: #eef1f6 !important;
  border-color: rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .pillar-evidence h3 { color: #0f172a !important; }
html[data-theme="light"] .pillar-evidence p { color: rgba(15,23,42,0.72) !important; }

html[data-theme="light"] .pillar-program-card {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.1) !important;
}
html[data-theme="light"] .pillar-program-card h4 { color: #0f172a !important; }
html[data-theme="light"] .pillar-program-card p { color: rgba(15,23,42,0.65) !important; }

/* pillar-cta keeps its dark gradient background — text stays white */
html[data-theme="light"] .pillar-cta {
  background: linear-gradient(135deg, #030B13 0%, #0a1628 100%) !important;
}
html[data-theme="light"] .pillar-cta h3 { color: #ffffff !important; }
html[data-theme="light"] .pillar-cta p { color: rgba(255,255,255,0.72) !important; }
html[data-theme="light"] .pillar-cta .btn-outline {
  color: rgba(255,255,255,0.85) !important;
  border-color: rgba(255,255,255,0.3) !important;
}
html[data-theme="light"] .pillar-cta .btn-outline:hover {
  color: #fff !important;
  border-color: rgba(255,255,255,0.6) !important;
}
html[data-theme="light"] .pillar-nav-strip a {
  color: rgba(15,23,42,0.7) !important;
  border-color: rgba(15,23,42,0.2) !important;
}
html[data-theme="light"] .pillar-nav-strip a:hover,
html[data-theme="light"] .pillar-nav-strip a.active {
  background: #1E73BE !important;
  border-color: #1E73BE !important;
  color: #ffffff !important;
}
html[data-theme="light"] .pillar-nav-strip span {
  color: rgba(15,23,42,0.45) !important;
}

/* ── PILLAR QUOTE SECTION ── */
html[data-theme="light"] .pillar-quote {
  background: #e8edf4 !important;
  border-bottom-color: rgba(0,0,0,0.08) !important;
  border-top-color: inherit !important;
}
html[data-theme="light"] .pillar-quote-card {
  border-color: rgba(0,0,0,0.1) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .pillar-quote-text-side {
  background: #f0f4f8 !important;
}
html[data-theme="light"] .pillar-quote-photo-side {
  background: #d4dbe8 !important;
}
html[data-theme="light"] .pillar-quote-photo-overlay {
  background: linear-gradient(to right, rgba(248,249,251,0) 20%, #f0f4f8 90%) !important;
}
html[data-theme="light"] .pillar-quote-text {
  color: rgba(15,23,42,0.88) !important;
}
html[data-theme="light"] .pillar-quote-attribution {
  color: rgba(15,23,42,0.5) !important;
}
html[data-theme="light"] .pillar-quote-photo-fallback {
  color: rgba(15,23,42,0.6) !important;
}

/* ════════════════════════════════════════
   PILLAR PAGES — PROGRAM CARDS (generic)
   ════════════════════════════════════════ */
html[data-theme="light"] .program-card {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.1) !important;
}
html[data-theme="light"] .program-card h3 { color: #0f172a !important; }
html[data-theme="light"] .program-card p { color: rgba(15,23,42,0.65) !important; }

/* ════════════════════════════════════════
   BUTTONS
   ════════════════════════════════════════ */
html[data-theme="light"] .btn-outline {
  color: #0f172a !important;
  border-color: rgba(15,23,42,0.25) !important;
}
html[data-theme="light"] .btn-outline:hover {
  border-color: #1E73BE !important;
  color: #1E73BE !important;
}

/* ════════════════════════════════════════
   FORMS
   ════════════════════════════════════════ */
html[data-theme="light"] .email-form input,
html[data-theme="light"] .email-signup input {
  background: rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.15);
  color: #0f172a;
}
html[data-theme="light"] .email-form input::placeholder,
html[data-theme="light"] .email-signup input::placeholder { color: rgba(15,23,42,0.3); }

/* ════════════════════════════════════════
   SPECIAL THANKS PAGE — GLOSSARY
   ════════════════════════════════════════ */

/* Hero subhead (on dark hero bg — keep white) */
/* .hero-subhead intentionally inherits white from dark hero div */

/* Stats bar: stays dark */
html[data-theme="light"] .stats-bar {
  background: #030B13 !important;
}
html[data-theme="light"] .stat-item .stat-label { color: rgba(255,255,255,0.5); }

/* Letter nav: sticky bar, stays semi-dark */
html[data-theme="light"] .gl-letter-nav {
  background: rgba(240,244,248,0.97) !important;
  border-bottom-color: rgba(0,0,0,0.1) !important;
  backdrop-filter: blur(12px);
}
html[data-theme="light"] .gl-letter-nav-label { color: rgba(15,23,42,0.4) !important; }
html[data-theme="light"] .gl-nav-letter { color: rgba(15,23,42,0.55) !important; }
html[data-theme="light"] .gl-nav-letter:hover {
  color: #1E73BE !important;
  background: rgba(30,115,190,0.1) !important;
  border-color: rgba(30,115,190,0.4) !important;
}

/* Letter sections */
html[data-theme="light"] .gl-body { background: transparent; }
html[data-theme="light"] .gl-letter-head { border-bottom-color: rgba(0,0,0,0.1) !important; }
html[data-theme="light"] .gl-letter-count { color: rgba(15,23,42,0.35) !important; }

/* Org links — the main glossary items */
html[data-theme="light"] .gl-link {
  color: #0f172a !important;
  background: transparent;
  border-color: transparent;
}
html[data-theme="light"] .gl-link:hover {
  color: #1E73BE !important;
  background: rgba(30,115,190,0.06) !important;
  border-color: rgba(30,115,190,0.2) !important;
}

/* ── CLOSING SECTION (special-thanks page footer CTA) ── */
html[data-theme="light"] .closing-card {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.22) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .closing {
  background: #eef1f6 !important;
  border-top-color: rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .closing h2 { color: #0f172a !important; }
html[data-theme="light"] .closing p { color: rgba(15,23,42,0.65) !important; }

/* ════════════════════════════════════════
   PATHWAY PAGE — PIPELINE VISUAL & ACCORDIONS
   ════════════════════════════════════════ */
html[data-theme="light"] .pipeline-dot {
  background: #e2e8f0 !important;
  border-color: rgba(30,115,190,0.5) !important;
}
html[data-theme="light"] .pipeline-stage { color: rgba(15,23,42,0.4) !important; }
html[data-theme="light"] .program-acc-item {
  background: #ffffff !important;
  border-color: rgba(0,0,0,0.1) !important;
}
html[data-theme="light"] .program-acc-item:hover,
html[data-theme="light"] .program-acc-item.acc-open {
  border-color: rgba(30,115,190,0.3) !important;
}
html[data-theme="light"] .program-acc-title { color: #0f172a !important; }
html[data-theme="light"] .program-acc-sub { color: rgba(15,23,42,0.5) !important; }
html[data-theme="light"] .program-acc-inner p { color: rgba(15,23,42,0.65) !important; }
html[data-theme="light"] .program-acc-pill { background: rgba(30,115,190,0.08) !important; }
html[data-theme="light"] .program-acc-pill-label { color: rgba(15,23,42,0.5) !important; }

/* Story box (pathway — What Change Looks Like) */
html[data-theme="light"] .story-box {
  background: rgba(30,115,190,0.06) !important;
  border-color: rgba(30,115,190,0.15) !important;
}
html[data-theme="light"] .story-box p { color: rgba(15,23,42,0.72) !important; }
html[data-theme="light"] .story-box strong { color: #1E73BE !important; }

/* ════════════════════════════════════════
   INLINE STYLE OVERRIDES
   Elements with hardcoded inline style="color:rgba(255,255,255,...)"
   Only target <section> descendants and other non-hero/sidebar contexts.
   ════════════════════════════════════════ */

html[data-theme="light"] section [style*="color:rgba(255,255,255"],
html[data-theme="light"] section [style*="color: rgba(255,255,255"],
html[data-theme="light"] section [style*="color:#ffffff"],
html[data-theme="light"] section [style*="color:#fff"],
html[data-theme="light"] section [style*="color: #fff"] {
  color: rgba(15,23,42,0.65) !important;
}
html[data-theme="light"] .finale [style*="color:rgba(255,255,255"],
html[data-theme="light"] .goals-section [style*="color:rgba(255,255,255"],
html[data-theme="light"] .why-section [style*="color:rgba(255,255,255"],
html[data-theme="light"] .closing [style*="color:rgba(255,255,255"],
html[data-theme="light"] .upstream-case [style*="color:rgba(255,255,255"] {
  color: rgba(15,23,42,0.65) !important;
}

/* Inline-style btn-outline inside sections */
html[data-theme="light"] section [class*="btn"][style*="color:rgba(255,255,255"],
html[data-theme="light"] section [class*="btn"][style*="border-color:rgba(255,255,255"] {
  color: #0f172a !important;
  border-color: rgba(15,23,42,0.25) !important;
}

/* ════════════════════════════════════════
   THEME TOGGLE BUTTON
   Lives in the always-dark sidebar.
   ════════════════════════════════════════ */
.theme-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px 10px;
  cursor: pointer;
  background: none;
  border: none;
  font-family: inherit;
  width: 100%;
  text-align: left;
}
.theme-toggle-track {
  width: 32px;
  height: 18px;
  background: rgba(255,255,255,0.15);
  border-radius: 9px;
  position: relative;
  flex-shrink: 0;
  transition: background 0.2s;
}
.theme-toggle-thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.6);
  transition: left 0.2s, background 0.2s;
}
html[data-theme="light"] .theme-toggle-track { background: rgba(30,115,190,0.25); }
html[data-theme="light"] .theme-toggle-thumb { left: 17px; background: #1E73BE; }
.theme-toggle-label {
  font-size: 11px;
  color: rgba(255,255,255,0.5);
  font-weight: 600;
  letter-spacing: 0.03em;
  user-select: none;
  transition: color 0.2s;
}
.theme-toggle:hover .theme-toggle-label { color: rgba(255,255,255,0.85); }
html[data-theme="light"] .theme-toggle-label { color: rgba(15,23,42,0.5) !important; }
html[data-theme="light"] .theme-toggle:hover .theme-toggle-label { color: rgba(15,23,42,0.85) !important; }
.theme-toggle-icon { font-size: 13px; line-height: 1; flex-shrink: 0; }

/* ════════════════════════════════════════
   WHY-SECTION INTERACTIVE COMPONENTS
   ════════════════════════════════════════ */

/* ── Stat callout strip ── */
.why-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 40px;
}
.why-stat {
  background: rgba(255,255,255,0.03);
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.why-stat-num {
  font-family: var(--font-display);
  font-size: 1.85rem;
  font-weight: 800;
  color: var(--why-accent, #7DC4FF);
  line-height: 1;
  letter-spacing: -0.01em;
}
.why-stat-label {
  font-size: 12px;
  color: rgba(255,255,255,0.6);
  line-height: 1.4;
  margin-top: 2px;
}
.why-stat-source {
  font-size: 10px;
  color: rgba(255,255,255,0.3);
  margin-top: 4px;
  font-style: italic;
}

/* ── Tabs ── */
.why-tabs {
  display: flex;
  gap: 4px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 4px;
  margin-bottom: 14px;
  margin-top: 10px;
}
.why-tab {
  flex: 1;
  padding: 8px 10px;
  border: none;
  border-radius: 5px;
  background: none;
  font-family: var(--font-body);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: rgba(255,255,255,0.45);
  cursor: pointer;
  transition: all 0.18s;
  white-space: nowrap;
}
.why-tab.active {
  background: var(--why-accent, #1E73BE);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
.why-tab:hover:not(.active) {
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.07);
}

/* ── Tab panels ── */
.why-tab-panel { display: none; }
.why-tab-panel.active {
  display: block;
  animation: whyFadeIn 0.22s ease;
}
@keyframes whyFadeIn {
  from { opacity: 0; transform: translateY(5px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Expandable bullets ── */
.why-expandable {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.why-item {
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.why-item:last-child { border-bottom: none; }
.why-item-trigger {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  padding: 10px 4px 10px 20px;
  font-family: var(--font-body);
  font-size: 13.5px;
  color: rgba(255,255,255,0.68);
  line-height: 1.65;
  cursor: pointer;
  position: relative;
  transition: color 0.15s;
}
.why-item-trigger::before {
  content: '›';
  position: absolute;
  left: 0;
  top: 10px;
  color: var(--why-accent, #7DC4FF);
  font-weight: 700;
  font-size: 15px;
  transition: transform 0.2s;
}
.why-item.open .why-item-trigger::before { transform: rotate(90deg); }
.why-item-trigger:hover { color: #fff; }
.why-item-detail {
  max-height: 0;
  overflow: hidden;
  font-size: 11.5px;
  color: rgba(255,255,255,0.42);
  line-height: 1.65;
  padding-left: 20px;
  transition: max-height 0.3s ease;
}
.why-item.open .why-item-detail { padding-bottom: 12px; }
.why-item-detail strong { color: rgba(255,255,255,0.6); }

/* ── Mobile ── */
@media (max-width: 900px) {
  .why-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .why-stats { grid-template-columns: 1fr; }
}

/* ── Light mode overrides ── */
html[data-theme="light"] .why-stats {
  background: rgba(0,0,0,0.07);
  border-color: rgba(0,0,0,0.1);
}
html[data-theme="light"] .why-stat { background: #ffffff; }
html[data-theme="light"] .why-stat-num { color: #1E73BE; }
html[data-theme="light"] .why-stat-label { color: rgba(15,23,42,0.65); }
html[data-theme="light"] .why-stat-source { color: rgba(15,23,42,0.35); }
html[data-theme="light"] .why-tabs {
  background: rgba(0,0,0,0.04);
  border-color: rgba(0,0,0,0.12);
}
html[data-theme="light"] .why-tab { color: rgba(15,23,42,0.5); }
html[data-theme="light"] .why-tab.active {
  background: #1E73BE;
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(30,115,190,0.22);
}
html[data-theme="light"] .why-tab:hover:not(.active) {
  color: rgba(15,23,42,0.9);
  background: rgba(0,0,0,0.05);
}
html[data-theme="light"] .why-card-title { color: #1E73BE !important; }
html[data-theme="light"] .why-card { border-left-color: #1E73BE !important; }
html[data-theme="light"] .why-card ul li::before { color: #1E73BE !important; }
html[data-theme="light"] .why-item { border-bottom-color: rgba(0,0,0,0.07); }
html[data-theme="light"] .why-item-trigger { color: rgba(15,23,42,0.7); }
html[data-theme="light"] .why-item-trigger:hover { color: #0f172a; }
html[data-theme="light"] .why-item-detail { color: rgba(15,23,42,0.5); }
html[data-theme="light"] .why-item-detail strong { color: rgba(15,23,42,0.7); }

/* ── WHY-CARD FEATURED / DIMMED STATE ── */
.why-card { transition: opacity 0.25s ease, background 0.25s ease, box-shadow 0.25s ease; }
.why-card.featured {
  background: rgba(255,255,255,0.09);
  box-shadow: 0 4px 24px rgba(0,0,0,0.28);
}
.why-card.dimmed { opacity: 0.38; }
html[data-theme="light"] .why-card.featured {
  background: #ffffff;
  box-shadow: 0 4px 24px rgba(0,0,0,0.09);
}
html[data-theme="light"] .why-card.dimmed { opacity: 0.42; }

/* ════════════════════════════════════════
   PILLAR PAGES — PILLAR MISSION SECTION
   ════════════════════════════════════════ */
.pillar-mission {
  background: #0a0f1a;
  padding: 64px 60px;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.07);
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.pillar-mission .section-eyebrow { margin-bottom: 16px; }
.pillar-mission-headline {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.15;
  letter-spacing: -0.02em;
  max-width: 820px;
  margin: 0 auto 24px;
}
.pillar-mission-body {
  font-size: 15.5px;
  color: rgba(255,255,255,0.72);
  line-height: 1.78;
  max-width: 68ch;
  margin: 0 auto 44px;
}
.pillar-mission-stats {
  display: flex;
  justify-content: center;
  gap: 0;
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  overflow: hidden;
  max-width: 680px;
  margin: 0 auto;
}
.pillar-mission-stat {
  flex: 1;
  padding: 26px 20px;
  border-right: 1px solid rgba(255,255,255,0.1);
}
.pillar-mission-stat:last-child { border-right: none; }
.pillar-mission-stat-num {
  font-family: var(--font-display);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-weight: 700;
  color: #7DC4FF;
  line-height: 1;
  margin-bottom: 6px;
}
.pillar-mission-stat-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.5);
  text-transform: uppercase;
  line-height: 1.4;
}
@media (max-width: 640px) {
  .pillar-mission { padding: 48px 24px; }
  .pillar-mission-stats { flex-direction: column; max-width: 100%; }
  .pillar-mission-stat { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .pillar-mission-stat:last-child { border-bottom: none; }
}
html[data-theme="light"] .pillar-mission {
  background: #eef1f6 !important;
  border-top-color: rgba(0,0,0,0.07) !important;
  border-bottom-color: rgba(0,0,0,0.07) !important;
}
html[data-theme="light"] .pillar-mission-headline { color: #0f172a !important; }
html[data-theme="light"] .pillar-mission-body { color: rgba(15,23,42,0.72) !important; }
html[data-theme="light"] .pillar-mission-stats { border-color: rgba(0,0,0,0.12) !important; }
html[data-theme="light"] .pillar-mission-stat { border-right-color: rgba(0,0,0,0.12) !important; }
html[data-theme="light"] .pillar-mission-stat-num { color: #1E73BE !important; }
html[data-theme="light"] .pillar-mission-stat-label { color: rgba(15,23,42,0.5) !important; }

/* ════════════════════════════════════════
   SIDEBAR SEARCH DROPDOWN
   Appended to <body> — z-index 9999 avoids
   sidebar z-index:200 clipping.
   ════════════════════════════════════════ */
.search-dropdown {
  position: absolute;
  z-index: 9999;
  background: #0d1a2a;
  border: 1px solid rgba(30,115,190,0.35);
  border-top: none;
  border-radius: 0 0 10px 10px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.55);
  overflow: hidden;
  max-height: 420px;
  overflow-y: auto;
}
.search-no-results {
  padding: 12px 14px;
  font-size: 12px;
  color: rgba(255,255,255,0.45);
  font-style: italic;
}
.search-result-item {
  display: flex;
  flex-direction: column;
  padding: 9px 13px 9px;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  cursor: pointer;
  transition: background 100ms ease;
  gap: 1px;
}
.search-result-item:last-child { border-bottom: none; }
.search-result-item:hover,
.search-result-item.search-result-active {
  background: rgba(30,115,190,0.18);
}
.search-result-page {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #7DC4FF;
  opacity: 0.85;
}
.search-result-heading {
  font-size: 12px;
  font-weight: 600;
  color: #f0f0f0;
  line-height: 1.35;
}
.search-result-heading mark {
  background: rgba(30,115,190,0.4);
  color: #7DC4FF;
  border-radius: 2px;
  padding: 0 1px;
}
.search-result-excerpt {
  font-size: 11px;
  color: rgba(255,255,255,0.45);
  line-height: 1.4;
  margin-top: 1px;
}

/* ── Light mode overrides ── */
html[data-theme="light"] .search-dropdown {
  background: #ffffff !important;
  border-color: rgba(30,115,190,0.25) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.15) !important;
}
html[data-theme="light"] .search-no-results {
  color: rgba(15,23,42,0.45) !important;
}
html[data-theme="light"] .search-result-item {
  border-bottom-color: rgba(0,0,0,0.06) !important;
}
html[data-theme="light"] .search-result-item:hover,
html[data-theme="light"] .search-result-item.search-result-active {
  background: rgba(30,115,190,0.08) !important;
}
html[data-theme="light"] .search-result-page {
  color: #1E73BE !important;
}
html[data-theme="light"] .search-result-heading {
  color: #0f172a !important;
}
html[data-theme="light"] .search-result-heading mark {
  background: rgba(30,115,190,0.15) !important;
  color: #1558a0 !important;
}
html[data-theme="light"] .search-result-excerpt {
  color: rgba(15,23,42,0.5) !important;
}
