/* =====================================================================
   Light theme — the default (<html class="theme-light">, set in index.html).
   Visit the page with ?theme=dark to see the original dark theme.
   Same brand greens; near-white page, dark text, white cards with shadows.
   The header, footer, statement strip, photos and university cards stay
   dark on purpose: they hold white/green logos and photo overlays.
   ===================================================================== */
html.theme-light {
  --bg: #f5f9f6;
  --bg-2: #eaf3ec;
  --surface: #ffffff;
  --surface-2: #f1f7f2;
  --line: rgba(16, 48, 30, 0.09);
  --line-strong: rgba(16, 48, 30, 0.18);
  --ink: #0f1d17;
  --muted: #4a5b53;
  --green-soft: #157a2a;          /* green used for small text */
  --panel: #ffffff;
  --panel-border: rgba(16, 48, 30, 0.08);
  --highlight: inset 0 1px 0 rgba(255, 255, 255, 0.9);
  --shadow-soft: 0 1px 2px rgba(16, 48, 30, 0.06), 0 18px 40px -22px rgba(16, 48, 30, 0.28);
  color-scheme: light;
}
.theme-light body { background: var(--bg); color: var(--ink); }
.theme-light .accent { color: #1a9a33; }

/* ---------- Hero: light wash with a green glow, like the reference ---------- */
.theme-light .hero::after { background: linear-gradient(180deg, #ffffff 0%, #f1f8f2 55%, var(--bg) 100%); }
.theme-light .hero-glow { background: radial-gradient(closest-side, rgba(87, 224, 74, 0.35), rgba(87, 224, 74, 0.1) 55%, transparent 75%); }
.theme-light .tile { box-shadow: 0 30px 70px -30px rgba(16, 48, 30, 0.45), 0 0 0 1px rgba(16, 48, 30, 0.06); }
.theme-light .tile-center { box-shadow: 0 34px 80px -28px rgba(31, 140, 45, 0.45), 0 0 0 1px rgba(16, 48, 30, 0.08); }
.theme-light .slide-next { color: #157a2a; box-shadow: inset 0 0 0 1px var(--line-strong); }

/* ---------- Badges & buttons ---------- */
.theme-light .eyebrow { background: rgba(87, 224, 74, 0.14); border-color: rgba(31, 140, 45, 0.25); color: #157a2a; }
.theme-light .btn-ghost { color: var(--ink); background: #fff; box-shadow: inset 0 0 0 1px var(--line-strong); }
.theme-light .btn-ghost:hover { background: var(--surface-2); }

/* ---------- Sections ---------- */
.theme-light .section, .theme-light .venues-sec { background-color: var(--bg); }
.theme-light .section-alt { background: linear-gradient(180deg, #ffffff, var(--bg)); }
.theme-light .section::before { background-image: radial-gradient(rgba(16, 80, 40, 0.10) 1px, transparent 1px); }
.theme-light .venues-sec { background-image: radial-gradient(70% 60% at 50% 0%, rgba(87, 224, 74, 0.12), transparent 70%); }
.theme-light #why { background: linear-gradient(180deg, #ffffff, var(--bg)); }

/* ---------- Cards & panels: white on light, separated by shadow ---------- */
.theme-light .card,
.theme-light #why .card {
  background: #ffffff; border: 1px solid var(--panel-border); box-shadow: var(--shadow-soft);
}
.theme-light .card::after { background: radial-gradient(120% 60% at 0% 0%, rgba(87, 224, 74, 0.10), transparent 55%); }
.theme-light .why-grid .card:first-child::after { background: radial-gradient(90% 70% at 100% 0%, rgba(87, 224, 74, 0.16), transparent 60%); }
.theme-light #why .card p, .theme-light .card p { color: var(--muted); }
.theme-light .card-icon { background: rgba(87, 224, 74, 0.14); box-shadow: inset 0 0 0 1px rgba(31, 140, 45, 0.22); }
.theme-light .card-icon svg, .theme-light .vtype-icon svg { stroke: #1f8c2d; }
.theme-light .vtype-icon { background: #ffffff; box-shadow: var(--shadow-soft), inset 0 0 0 1px rgba(31, 140, 45, 0.18); }

.theme-light .steps { background: #ffffff; border-color: var(--panel-border); box-shadow: var(--shadow-soft); }
.theme-light .step:hover, .theme-light.story-on .step.is-active { background: rgba(87, 224, 74, 0.10); }
.theme-light.story-on .step:not(.is-active) .step-num { background: var(--surface-2); color: var(--muted); }

.theme-light .market-wrap { background: #ffffff; border-color: var(--panel-border); box-shadow: var(--shadow-soft); }
.theme-light .mgrid span { border-top-color: rgba(16, 48, 30, 0.08); }
.theme-light .mgrid span:last-child { border-top-color: rgba(16, 48, 30, 0.25); }
.theme-light .mbar-fill { background: rgba(87, 224, 74, 0.55); }
.theme-light .mbar:hover .mbar-fill { background: rgba(87, 224, 74, 0.8); }
.theme-light .mbar[aria-pressed="true"] .mbar-fill { background: #3cc92f; }
.theme-light .mbar-proj .mbar-fill {
  background: repeating-linear-gradient(135deg, rgba(87, 224, 74, 0.45) 0 5px, rgba(87, 224, 74, 0.12) 5px 10px);
  box-shadow: inset 0 0 0 1.5px #3cc92f;
}
.theme-light .mbar-proj[aria-pressed="true"] .mbar-fill { background: repeating-linear-gradient(135deg, #3cc92f 0 5px, rgba(87, 224, 74, 0.4) 5px 10px); }
.theme-light .mlegend-actual { background: rgba(87, 224, 74, 0.75); }
.theme-light .mbar-col-split::before { border-left-color: rgba(16, 48, 30, 0.25); }

.theme-light .lead-form { background: #ffffff; border-color: var(--panel-border); box-shadow: 0 1px 2px rgba(16, 48, 30, 0.06), 0 30px 70px -36px rgba(16, 48, 30, 0.35); }
.theme-light input[type="text"], .theme-light input[type="email"], .theme-light input[type="tel"],
.theme-light select, .theme-light textarea { background: #ffffff; border-color: rgba(16, 48, 30, 0.2); color: var(--ink); }
.theme-light .progress-track { background: rgba(16, 48, 30, 0.08); }
.theme-light .chip span { color: var(--muted); }
.theme-light .chip:hover span { color: var(--ink); }
.theme-light .chip input:checked + span { color: #072011; }
.theme-light .form-errors { background: #fff4f2; border-color: #f2b8b0; }
.theme-light .form-errors a, .theme-light .field-error, .theme-light .form-status.is-error { color: #b42318; }
.theme-light .form-status.is-success { color: #157a2a; }
.theme-light [aria-invalid="true"] { border-color: #b42318 !important; }

.theme-light .vshow-frame { box-shadow: var(--shadow-soft), 0 0 0 1px var(--panel-border); }
.theme-light .vdot::before { background: rgba(16, 48, 30, 0.2); }
.theme-light .vdot.is-active::before { background: #3cc92f; }
.theme-light .carousel-btn { background: #ffffff; color: var(--ink); box-shadow: var(--shadow-soft), inset 0 0 0 1px var(--line-strong); }
.theme-light .slide-dot::before { background: rgba(16, 48, 30, 0.22); }
.theme-light .slide-dot[aria-current="true"]::before { background: #3cc92f; }
.theme-light .bar-more { color: #a6f59a; }

/* ---------- Deliberately dark islands ---------- */
/* Header + footer hold the white/green logo mark */
.theme-light .site-header .header-inner { background: rgba(11, 30, 31, 0.86); border-color: rgba(11, 30, 31, 0.9); box-shadow: 0 12px 30px -16px rgba(11, 30, 31, 0.6); }
.theme-light .site-header .header-inner, .theme-light .site-header .brand-word { color: #ecf8ef; }
.theme-light .site-nav a:not(.btn) { color: #a3bdb3; }
.theme-light .site-nav a:not(.btn):hover { color: #ecf8ef; background: rgba(166, 245, 154, 0.1); }
.theme-light .site-footer { background: var(--bg); }
.theme-light .footer-inner { background: #0f2725; border-color: #0f2725; color: #ecf8ef; }
.theme-light .footer-inner .fine { color: #a3bdb3; }
.theme-light .footer-inner .brand-word { color: #ecf8ef; }
/* Statement strip over the bar photo */
.theme-light .band, .theme-light .band-title { color: #ecf8ef; }
.theme-light .band .accent { color: #57e04a; }
/* University cards: white/green bar logos need a dark card */
.theme-light .uni { background: linear-gradient(180deg, #153634, #102a2a); color: #ecf8ef; border-color: transparent; box-shadow: 0 24px 50px -28px rgba(11, 30, 31, 0.7); }
.theme-light .uni .uni-label { color: #a3bdb3; }
.theme-light .uni .bar-text { color: #ecf8ef; box-shadow: inset 0 0 0 1px rgba(166, 245, 154, 0.32); }
.theme-light .uni-more { background: linear-gradient(160deg, rgba(87, 224, 74, 0.22), #153634 55%); }
.theme-light .uni-more p { color: #a3bdb3; }

/* ---------- Higher-contrast pass ---------- */
html.theme-light {
  --bg: #eaf1ec;
  --bg-2: #dfe9e2;
  --ink: #0a1611;
  --muted: #3a4a43;
  --green-soft: #126f25;
  --line: rgba(10, 40, 25, 0.12);
  --line-strong: rgba(10, 40, 25, 0.22);
  --panel-border: rgba(10, 40, 25, 0.13);
  --shadow-soft: 0 1px 2px rgba(10, 40, 25, 0.08), 0 2px 6px -2px rgba(10, 40, 25, 0.08), 0 22px 44px -24px rgba(10, 40, 25, 0.35);
}
.theme-light .accent { color: #168a2e; }
.theme-light .hero::after { background: linear-gradient(180deg, #ffffff 0%, #f2f7f3 45%, var(--bg) 100%); }
.theme-light .hero-sub, .theme-light .section-sub { color: var(--muted); }
.theme-light .section-alt, .theme-light #why { background: linear-gradient(180deg, #f4f8f5, var(--bg)); }

/* Cards: crisp edge + lift so white reads clearly against the tinted page */
.theme-light .card, .theme-light #why .card, .theme-light .steps, .theme-light .market-wrap,
.theme-light .lead-form, .theme-light .vtype-icon, .theme-light .carousel-btn {
  border: 1px solid var(--panel-border);
}
.theme-light .card:hover { border-color: rgba(18, 111, 37, 0.35); }
.theme-light .card h3, .theme-light .step h3 { color: var(--ink); }

/* Badges & buttons: defined edges on light */
.theme-light .eyebrow { background: #dcf3d8; border-color: rgba(18, 111, 37, 0.35); color: #126f25; }
.theme-light .eyebrow::before { background: #1f8c2d; box-shadow: 0 0 0 3px rgba(31, 140, 45, 0.2); }
.theme-light .btn { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), inset 0 0 0 1px rgba(18, 111, 37, 0.35), 0 8px 22px -10px rgba(31, 140, 45, 0.55); }
.theme-light .step-num { box-shadow: 0 0 0 5px rgba(31, 140, 45, 0.15), inset 0 0 0 1px rgba(18, 111, 37, 0.35); }

/* Chart: darker greens so bars stand off the white panel */
.theme-light .mbar-fill { background: #3cae34; }
.theme-light .mbar:hover .mbar-fill { background: #2f9a29; }
.theme-light .mbar[aria-pressed="true"] .mbar-fill { background: #126f25; }
.theme-light .mbar-proj .mbar-fill {
  background: repeating-linear-gradient(135deg, rgba(60, 174, 52, 0.75) 0 5px, rgba(60, 174, 52, 0.18) 5px 10px);
  box-shadow: inset 0 0 0 1.5px #2f9a29;
}
.theme-light .mbar-proj[aria-pressed="true"] .mbar-fill { background: repeating-linear-gradient(135deg, #126f25 0 5px, rgba(18, 111, 37, 0.35) 5px 10px); box-shadow: inset 0 0 0 1.5px #126f25; }
.theme-light .mlegend-actual { background: #3cae34; }
.theme-light .mlegend-proj { background: repeating-linear-gradient(135deg, rgba(60, 174, 52, 0.8) 0 3px, rgba(60, 174, 52, 0.18) 3px 6px); box-shadow: inset 0 0 0 1.5px #2f9a29; }
.theme-light .mbar-value { color: var(--muted); }
.theme-light .mbar[aria-pressed="true"] .mbar-value, .theme-light .mbar:hover .mbar-value { color: var(--ink); }
.theme-light .market-detail-growth { color: #126f25; }
.theme-light .vdot.is-active::before, .theme-light .slide-dot[aria-current="true"]::before { background: #1f8c2d; }

/* Form fields: visible borders */
.theme-light input[type="text"], .theme-light input[type="email"], .theme-light input[type="tel"],
.theme-light select, .theme-light textarea { border-color: rgba(10, 40, 25, 0.3); }
.theme-light .req { color: #126f25; }
.theme-light .progress-bar { background: #1f8c2d; }
.theme-light .chip span { border-color: rgba(10, 40, 25, 0.25); }
