/* Main consolidated stylesheet for NVI professional homepage */
/* ========== DESIGN TOKENS ========== */
:root {
  --brand-primary: #3245d1;
  --brand-primary-accent: #5563f4;
  --brand-secondary: #0ea5e9;
  --brand-accent: #ec4899;
  --brand-bg-gradient: linear-gradient(140deg,#1d2540 0%,#283562 55%,#3245d1 100%);
  --surface-0: #0e1624;
  --surface-1: #172133;
  --surface-2: #1f2b40;
  --surface-3: #2a3954;
  --surface-glass: rgba(255,255,255,0.05);
  --border-color: rgba(255,255,255,0.12);
  --text-strong: #f8fafc;
  --text-primary: #e2e8f0;
  --text-muted: #94a3b8;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 18px;
  --radius-pill: 999px;
  --shadow-sm: 0 2px 6px -1px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.05) inset;
  --shadow-md: 0 8px 24px -4px rgba(0,0,0,.45);
  --shadow-lg: 0 18px 44px -6px rgba(0,0,0,.55);
  --transition: .35s cubic-bezier(.4,0,.2,1);
  --focus-ring: 0 0 0 3px rgba(14,165,233,.45);
  --container-max: 1280px;
}

/* Light mode override */
body.light {
  --brand-bg-gradient: linear-gradient(140deg,#e8ecf7 0%,#ffffff 55%,#eef2ff 100%);
  --surface-0: #ffffff;
  --surface-1: #f1f5f9;
  --surface-2: #eef2f7;
  --surface-3: #e2e8f0;
  --surface-glass: rgba(0,0,0,0.05);
  --border-color: rgba(0,0,0,0.12);
  --text-strong: #0f172a;
  --text-primary: #1e293b;
  --text-muted: #64748b;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.12),0 1px 1px rgba(0,0,0,.08);
  --shadow-md: 0 4px 18px -2px rgba(0,0,0,.15);
  --shadow-lg: 0 18px 44px -10px rgba(0,0,0,.2);
}

/* ========== BASE ========== */
* { box-sizing: border-box; margin:0; padding:0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Arial, sans-serif;
  background: var(--brand-bg-gradient) fixed;
  color: var(--text-primary);
  line-height: 1.55;
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
:focus-visible { outline:none; box-shadow: var(--focus-ring); border-radius: var(--radius-xs); }

.skip-link { position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus { left:50%; top:10px; width:auto; height:auto; padding:.6rem 1rem; background:var(--surface-3); color:var(--text-strong); border-radius:var(--radius-sm); transform:translateX(-50%); z-index:3000; }

.container { max-width:var(--container-max); margin:0 auto; padding:0 2rem; }

/* ========== HEADER ========== */
.site-header { position:fixed; inset:0 0 auto 0; background:rgba(15,23,42,.82); backdrop-filter:saturate(1.4) blur(18px); border-bottom:1px solid var(--border-color); z-index:1200; transition:var(--transition); }
.site-header.scrolled { background:rgba(15,23,42,.92); box-shadow:var(--shadow-md); }
body.light .site-header { background:rgba(255,255,255,.82); }
.nav-inner { display:flex; align-items:center; max-width:var(--container-max); margin:0 auto; padding:.85rem 2rem; gap:2rem; }
.brand { font-weight:700; font-size:1.45rem; letter-spacing:.5px; display:flex; align-items:center; gap:.65rem; color:var(--text-strong); }
.brand i { background:linear-gradient(135deg,var(--brand-primary-accent),var(--brand-secondary)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.primary-nav { margin-left:auto; }
.nav-list { list-style:none; display:flex; gap:2rem; }
.nav-list a { position:relative; padding:.45rem .25rem; font-weight:500; font-size:.92rem; letter-spacing:.35px; opacity:.85; transition:var(--transition); }
.nav-list a:after { content:''; position:absolute; left:0; bottom:-6px; height:2px; width:0; background:linear-gradient(90deg,var(--brand-primary-accent),var(--brand-secondary)); border-radius:2px; transition:var(--transition); }
.nav-list a:hover, .nav-list a:focus { opacity:1; }
.nav-list a.active:after, .nav-list a:hover:after { width:100%; }

.theme-toggle, .mode-toggle { background:var(--surface-glass); border:1px solid var(--border-color); width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:var(--radius-lg); cursor:pointer; color:var(--text-primary); transition:var(--transition); position:relative; }
.theme-toggle:hover { background:var(--surface-2); }

.burger { display:none; flex-direction:column; gap:6px; cursor:pointer; margin-left:1rem; }
.burger span { width:28px; height:3px; background:var(--text-primary); border-radius:2px; transition:var(--transition); }
.burger.active span:nth-child(1){ transform:translateY(9px) rotate(45deg);} .burger.active span:nth-child(2){ opacity:0;} .burger.active span:nth-child(3){ transform:translateY(-9px) rotate(-45deg);} 
.mobile-panel { position:fixed; top:0; right:-100%; width:78%; max-width:360px; height:100vh; background:var(--surface-1); box-shadow:-8px 0 24px -4px rgba(0,0,0,.45); padding:6.5rem 2rem 2.5rem; display:flex; flex-direction:column; gap:1.8rem; transition:var(--transition); z-index:1190; overflow-y:auto; }
.mobile-panel.open { right:0; }
.mobile-panel a { font-size:1rem; font-weight:500; display:flex; align-items:center; gap:.85rem; padding:.85rem 0; border-bottom:1px solid var(--border-color); color:var(--text-primary); }
#mobileOverlay { position:fixed; inset:0; background:rgba(15,23,42,.55); backdrop-filter:blur(3px); z-index:1185; opacity:0; pointer-events:none; transition:var(--transition); }
body.nav-open #mobileOverlay { opacity:1; pointer-events:auto; }
body.nav-open { overflow:hidden; }
.progress-bar { position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,var(--brand-primary-accent),var(--brand-secondary),var(--brand-accent)); width:0; z-index:1400; transition:width .18s linear; }

/* ========== HERO ========== */
.hero { position:relative; min-height:92vh; display:flex; align-items:center; justify-content:center; padding:8.8rem 1.5rem 5rem; text-align:center; overflow:hidden; }
.hero:before { content:''; position:absolute; inset:0; background:url('https://images.unsplash.com/photo-1600195077075-7c815f540a3c?auto=format&fit=crop&w=1350&q=60') center/cover no-repeat; opacity:.22; mix-blend-mode:overlay; }
.hero:after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.15),transparent 60%),linear-gradient(to bottom right,rgba(99,102,241,.25),rgba(236,72,153,.12)); pointer-events:none; }
.hero-content { position:relative; max-width:980px; animation:fadeIn .9s ease; }
.badge { display:inline-flex; gap:.55rem; align-items:center; padding:.5rem 1.05rem; background:var(--surface-glass); border:1px solid var(--border-color); border-radius:var(--radius-pill); font-size:.72rem; font-weight:600; letter-spacing:.6px; text-transform:uppercase; backdrop-filter:blur(10px); margin-bottom:1.1rem; color:var(--text-muted); }
.hero h1 { font-size:clamp(2.3rem,5vw,3.6rem); line-height:1.08; font-weight:800; letter-spacing:.5px; background:linear-gradient(120deg,var(--text-strong),#cbd5e1,#f0abfc); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:1rem; }
.hero h2 { font-size:clamp(1.05rem,2.1vw,1.5rem); font-weight:400; color:var(--text-muted); margin-bottom:1.55rem; }
.hero p.lead { font-size:clamp(.95rem,1.35vw,1.12rem); max-width:760px; margin:0 auto 2.2rem; opacity:.9; line-height:1.55; }

.cta-row { display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; }
.btn { --btn-bg:var(--surface-glass); --btn-border:var(--border-color); position:relative; padding:.95rem 1.8rem; border:1px solid var(--btn-border); border-radius:var(--radius-pill); background:var(--btn-bg); color:var(--text-primary); font-weight:600; font-size:.86rem; display:inline-flex; gap:.65rem; align-items:center; letter-spacing:.5px; cursor:pointer; overflow:hidden; transition:var(--transition); box-shadow:var(--shadow-sm); }
.btn:before { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,255,255,.15),transparent 60%); transform:translateX(-60%); transition:var(--transition); }
.btn:hover:before { transform:translateX(0); }
.btn:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.btn-primary { --btn-bg:linear-gradient(135deg,var(--brand-primary-accent),var(--brand-primary)); --btn-border:var(--brand-primary-accent); color:#fff; }
.btn-accent { --btn-bg:linear-gradient(135deg,var(--brand-accent),#db2777); --btn-border:var(--brand-accent); color:#fff; }
.btn-outline { --btn-bg:var(--surface-0); }

/* ========== STATS ========== */
.stats { position:relative; margin-top:-4rem; z-index:10; }
.stats-grid { max-width:var(--container-max); margin:0 auto; padding:0 2rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.2rem; }
.stat-card { background:var(--surface-1); border:1px solid var(--border-color); padding:1.55rem 1.25rem; border-radius:var(--radius-lg); position:relative; overflow:hidden; backdrop-filter:blur(14px); display:flex; flex-direction:column; gap:.45rem; box-shadow:var(--shadow-sm); }
.stat-card:after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.16),transparent 60%); opacity:.5; pointer-events:none; }
.stat-label { font-size:.62rem; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; opacity:.6; color:var(--text-muted); }
.stat-value { font-size:clamp(1.6rem,2.4vw,2.2rem); font-weight:700; letter-spacing:1px; background:linear-gradient(90deg,var(--text-strong),#dbeafe); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stat-desc { font-size:.65rem; opacity:.58; }

/* ========== SECTIONS ========== */
.section { padding:5.2rem 0; position:relative; }
.section.alt { background:linear-gradient(to bottom,rgba(255,255,255,0.02),rgba(255,255,255,0.05)); backdrop-filter:blur(2px); }
.section-header { text-align:center; margin:0 auto 3.1rem; max-width:760px; }
.section-header h2 { font-size:clamp(1.85rem,3vw,2.55rem); letter-spacing:.5px; font-weight:700; margin-bottom:.75rem; color:var(--text-strong); }
.section-header p { font-size:.9rem; opacity:.75; }
.divider { height:1px; width:100%; background:linear-gradient(90deg,transparent,var(--border-color),transparent); margin:3.5rem 0; }

/* Program Cards */
.programs-grid { display:grid; gap:1.4rem; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.program-card { background:var(--surface-1); border:1px solid var(--border-color); padding:1.4rem 1.25rem 1.6rem; border-radius:var(--radius-md); position:relative; display:flex; flex-direction:column; gap:.55rem; overflow:hidden; transition:var(--transition); }
.program-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-md); background:var(--surface-2); }
.program-badge { font-size:.58rem; letter-spacing:1px; font-weight:600; padding:.35rem .6rem; background:linear-gradient(135deg,var(--brand-primary-accent),var(--brand-secondary)); border-radius:var(--radius-pill); width:max-content; color:#fff; }
.program-card h3 { font-size:.95rem; font-weight:600; }
.program-card p { font-size:.72rem; opacity:.75; line-height:1.45; }


/* Timeline & Announcements */
.ann-grid { display:grid; gap:1.5rem; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.ann-card { background:var(--surface-1); border:1px solid var(--border-color); padding:1.35rem 1.2rem 1.5rem; border-radius:var(--radius-md); position:relative; display:flex; flex-direction:column; gap:.6rem; transition:var(--transition); }
.ann-card:hover { transform:translateY(-5px); box-shadow:var(--shadow-md); background:var(--surface-2); }
.ann-badge { font-size:.6rem; letter-spacing:1px; font-weight:600; padding:.32rem .55rem; background:linear-gradient(135deg,var(--brand-primary-accent),var(--brand-secondary)); border-radius:var(--radius-pill); width:max-content; color:#fff; }
.ann-card h3 { font-size:.9rem; font-weight:600; line-height:1.35; }
.ann-meta { font-size:.58rem; opacity:.55; letter-spacing:1px; text-transform:uppercase; }
.ann-desc { font-size:.68rem; opacity:.7; line-height:1.45; }
.ann-link { margin-top:auto; font-size:.65rem; font-weight:600; display:inline-flex; align-items:center; gap:.4rem; opacity:.85; }
.timeline { display:grid; gap:1.4rem; position:relative; }
.timeline:before { content:""; position:absolute; left:10px; top:0; bottom:0; width:2px; background:linear-gradient(var(--brand-primary-accent),var(--brand-secondary)); opacity:.35; }
.event { position:relative; padding:1rem 1.25rem 1.1rem 2.4rem; background:var(--surface-1); border:1px solid var(--border-color); border-radius:var(--radius-md); overflow:hidden; }
.event:before { content:""; position:absolute; left:4px; top:18px; width:12px; height:12px; background:linear-gradient(135deg,var(--brand-primary-accent),var(--brand-secondary)); border-radius:50%; box-shadow:0 0 0 4px var(--surface-0); }
.event h4 { font-size:.85rem; margin-bottom:.2rem; font-weight:600; }
.event time { font-size:.55rem; letter-spacing:1px; opacity:.55; font-weight:600; text-transform:uppercase; }
.event p { font-size:.65rem; opacity:.65; margin-top:.45rem; line-height:1.45; }

/* Testimonials */
.testimonial-track { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.4rem; overflow:visible; padding-bottom:0; }
.testimonial { scroll-snap-align:start; background:var(--surface-1); border:1px solid var(--border-color); padding:1.4rem 1.25rem 1.6rem; border-radius:var(--radius-md); display:flex; flex-direction:column; gap:.9rem; min-height:230px; position:relative; }
.testimonial:before { content:'\"'; font-size:5rem; position:absolute; top:-25px; left:10px; opacity:.05; }
.testimonial footer { margin-top:auto; display:flex; align-items:center; gap:.7rem; }
.avatar { width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--brand-primary-accent),var(--brand-secondary)); display:flex; align-items:center; justify-content:center; font-weight:600; color:#fff; }
.testimonial h5 { font-size:.75rem; letter-spacing:.5px; }
.testimonial small { font-size:.55rem; opacity:.55; letter-spacing:1px; }
.testimonial p { font-size:.68rem; line-height:1.55; opacity:.78; }

/* CTA Band */
.cta-band { background:linear-gradient(135deg,var(--brand-primary-accent),var(--brand-secondary),var(--brand-accent)); padding:3.2rem 1.5rem; margin:5rem 0 0; position:relative; overflow:hidden; border-top:1px solid var(--border-color); }
.cta-band:after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 20% 40%,rgba(255,255,255,.25),transparent 65%); opacity:.35; }
.cta-inner { max-width:var(--container-max); margin:0 auto; position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:1.6rem; }
.cta-inner h2 { font-size:clamp(1.6rem,2.7vw,2.1rem); font-weight:700; letter-spacing:.5px; color:#fff; }
.cta-inner p { max-width:700px; font-size:.85rem; color:#fff; opacity:.9; }

/* Contact */
.contact-grid { display:grid; gap:2.4rem; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); }
.contact-panel { background:var(--surface-1); border:1px solid var(--border-color); padding:1.65rem 1.4rem; border-radius:var(--radius-md); display:flex; flex-direction:column; gap:1.1rem; }
.contact-item { background:var(--surface-2); border:1px solid var(--border-color); padding:1rem 1.1rem .95rem; border-radius:var(--radius-sm); }
.contact-item h4 { font-size:.8rem; font-weight:600; margin-bottom:.25rem; }
.contact-item p { font-size:.65rem; opacity:.7; line-height:1.4; }
.contact-form { display:flex; flex-direction:column; gap:.85rem; }
.contact-form input, .contact-form textarea { width:100%; padding:.85rem .9rem; background:var(--surface-2); border:1px solid var(--border-color); border-radius:var(--radius-sm); font:inherit; color:var(--text-primary); }
.contact-form input::placeholder, .contact-form textarea::placeholder { color:var(--text-muted); }
.contact-form input:focus, .contact-form textarea:focus { outline:none; box-shadow:var(--focus-ring); border-color:var(--brand-secondary); }
.contact-form button { align-self:flex-start; font-size:.7rem; }

/* Enhanced Contact Panel */
.contact-form-panel { background:var(--surface-1); border:1px solid var(--border-color); padding:1.65rem 1.4rem 1.9rem; border-radius:var(--radius-md); display:flex; flex-direction:column; gap:1.1rem; box-shadow:var(--shadow-sm); position:relative; overflow:hidden; }
.contact-form-panel:before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 85% 15%,rgba(255,255,255,.08),transparent 70%); pointer-events:none; }
.form-row.two { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.field { display:flex; flex-direction:column; gap:.45rem; }
.field label { font-size:.58rem; letter-spacing:1.3px; text-transform:uppercase; font-weight:600; opacity:.7; }
.field input, .field textarea { background:var(--surface-2); border:1px solid var(--border-color); padding:.8rem .85rem; border-radius:var(--radius-sm); font:inherit; color:var(--text-primary); font-size:.72rem; }
.field textarea { resize:vertical; min-height:140px; }
.field input:focus, .field textarea:focus { outline:none; box-shadow:var(--focus-ring); border-color:var(--brand-secondary); }
.field input.error-state, .field textarea.error-state { border-color:#dc2626; }
.error { min-height:12px; font-size:.55rem; color:#dc2626; letter-spacing:.5px; font-weight:500; }
.form-actions { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; margin-top:.4rem; }
.form-actions .status { font-size:.6rem; letter-spacing:.5px; opacity:.75; min-height:14px; }
.form-actions .status.success { color:#16a34a; opacity:1; }
.form-actions .status.error { color:#dc2626; opacity:1; }
.contact-form-panel.sending { opacity:.7; pointer-events:none; }
.contact-form-panel.sending button { cursor:progress; }



/* Footer */
.site-footer { background:var(--surface-0); margin-top:0; padding:4.2rem 1.5rem 2.5rem; position:relative; border-top:1px solid var(--border-color); }
.footer-grid { max-width:var(--container-max); margin:0 auto; display:grid; gap:2.5rem; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); }
.footer-brand h3 { font-size:1.25rem; font-weight:700; margin-bottom:.85rem; color:var(--text-strong); }
.footer-brand p { font-size:.68rem; opacity:.6; line-height:1.55; max-width:340px; }
.footer-col h4 { font-size:.68rem; text-transform:uppercase; letter-spacing:1.5px; margin-bottom:1.1rem; opacity:.78; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.5rem; }
.footer-col a { font-size:.65rem; opacity:.65; transition:var(--transition); }
.footer-col a:hover { opacity:1; }
.social-row { display:flex; gap:.55rem; margin-top:.85rem; }
.social-row a { width:34px; height:34px; background:var(--surface-2); display:flex; align-items:center; justify-content:center; border-radius:var(--radius-md); font-size:.75rem; transition:var(--transition); }
.social-row a:hover { background:linear-gradient(135deg,var(--brand-primary-accent),var(--brand-secondary)); color:#fff; }
.legal { margin-top:3rem; text-align:center; font-size:.58rem; opacity:.45; letter-spacing:.8px; }

/* Section content width unifier */
.section-content { max-width:var(--container-max); margin:0 auto; padding:0 2rem; }

/* Utilities */
.fade-in { opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* Chips (values list) */
.chips { display:flex; gap:.5rem; flex-wrap:wrap; }
.chip { background:var(--surface-2); border:1px solid var(--border-color); padding:.4rem .7rem; border-radius:var(--radius-pill); font-size:.58rem; letter-spacing:.8px; font-weight:600; color:var(--text-muted); }
.chip:hover { background:var(--surface-3); color:var(--text-primary); }

/* Color Palette Switcher */
.color-switcher { position:fixed; bottom:1.1rem; right:1.1rem; background:var(--surface-1); border:1px solid var(--border-color); backdrop-filter:blur(14px); padding:.85rem .9rem 1rem; border-radius:18px; display:flex; flex-direction:column; gap:.55rem; z-index:1500; width:170px; box-shadow:var(--shadow-md); }
.color-switcher h4 { font-size:.55rem; letter-spacing:1.3px; font-weight:700; text-transform:uppercase; opacity:.6; }
.swatches { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; }
.swatch { width:28px; height:28px; border-radius:8px; cursor:pointer; position:relative; overflow:hidden; outline:none; border:1px solid var(--border-color); display:flex; align-items:center; justify-content:center; transition:var(--transition); }
.swatch:focus-visible { box-shadow:var(--focus-ring); }
.swatch.active { box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(255,255,255,.25); }
.toggle-switcher { position:absolute; top:-12px; right:-12px; background:linear-gradient(135deg,var(--brand-primary-accent),var(--brand-secondary)); color:#fff; width:36px; height:36px; border-radius:50%; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:.85rem; box-shadow:var(--shadow-md); transition:var(--transition); }
.toggle-switcher:hover { transform:rotate(18deg) scale(1.05); }
.color-switcher.collapsed { height:46px; width:46px; padding:0; overflow:hidden; }
.color-switcher.collapsed h4, .color-switcher.collapsed .swatches { display:none; }
.color-switcher.collapsed .toggle-switcher { top:5px; right:5px; }

/* Palette Gradients */
.swatch[data-theme="default"] { background:linear-gradient(135deg,#3245d1,#5563f4); }
.swatch[data-theme="emerald"] { background:linear-gradient(135deg,#047857,#10b981); }
.swatch[data-theme="crimson"] { background:linear-gradient(135deg,#991b1b,#dc2626); }
.swatch[data-theme="sunrise"] { background:linear-gradient(135deg,#b45309,#f59e0b); }
.swatch[data-theme="ocean"] { background:linear-gradient(135deg,#0c4a6e,#0284c7); }

/* Theme (palette) variable overrides */
:root[data-theme="emerald"] {
  --brand-primary:#065f46; --brand-primary-accent:#059669; --brand-secondary:#10b981; --brand-accent:#34d399;
  --brand-bg-gradient:linear-gradient(135deg,#065f46 0%,#059669 40%,#10b981 70%,#34d399 100%);
}
:root[data-theme="crimson"] {
  --brand-primary:#7f1d1d; --brand-primary-accent:#dc2626; --brand-secondary:#ef4444; --brand-accent:#f87171;
  --brand-bg-gradient:linear-gradient(135deg,#7f1d1d 0%,#991b1b 35%,#dc2626 65%,#f87171 100%);
}
:root[data-theme="sunrise"] {
  --brand-primary:#b45309; --brand-primary-accent:#f59e0b; --brand-secondary:#f97316; --brand-accent:#fde047;
  --brand-bg-gradient:linear-gradient(135deg,#b45309 0%,#f59e0b 40%,#f97316 70%,#fde047 100%);
}
:root[data-theme="ocean"] {
  --brand-primary:#0c4a6e; --brand-primary-accent:#0284c7; --brand-secondary:#0ea5e9; --brand-accent:#38bdf8;
  --brand-bg-gradient:linear-gradient(135deg,#0c4a6e 0%,#0369a1 40%,#0284c7 70%,#0ea5e9 100%);
}
:root[data-theme="default"] {
  --brand-primary:#3245d1; --brand-primary-accent:#5563f4; --brand-secondary:#0ea5e9; --brand-accent:#ec4899;
  --brand-bg-gradient:linear-gradient(140deg,#1d2540 0%,#283562 55%,#3245d1 100%);
}

/* Media Queries */
@media (max-width: 880px) {
  .nav-list { display:none; }
  .burger { display:flex; }
  .hero { padding-top:7.8rem; }
}
@media (max-width: 560px) {
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .hero h1 { font-size:clamp(2.05rem,8.5vw,3rem); }
  .timeline:before { left:6px; }
  .event { padding-left:2rem; }
  .event:before { left:0; }
}

/* Animations */
@keyframes fadeIn { from{opacity:0; transform:translateY(25px);} to{opacity:1; transform:translateY(0);} }
@keyframes floatY { 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(9px);} }

/* ========== OVERRIDES ========== */
/* Force white background site-wide regardless of previous gradient */
body, body.light { background:#ffffff !important; }
