/* ============================================================
   SIL — NEXDASH-INSPIRED LIGHT THEME (override layer)
   Loads AFTER index.css on every page EXCEPT course.html.
   No images copied. Only layout, type, color, spacing language
   inspired by nexdash.com: warm paper, huge grotesk type,
   floating pill nav, soft cards, one dark band, black footer.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
  --nd-paper: #F4F2EB;
  --nd-paper-2: #EDEAE0;
  --nd-card: #FFFFFF;
  --nd-ink: #111412;
  --nd-ink-2: #1A1E1B;
  --nd-muted: #626862;
  --nd-faint: #8A8F88;
  --nd-line: #E4E0D2;
  --nd-line-soft: #ECE8DB;
  --nd-dark: #0E1310;
  --nd-dark-2: #151B17;
  --nd-lime: #D7FF3E;
  --nd-forest: #17402F;
  --nd-shadow-sm: 0 1px 2px rgba(17,20,18,.05), 0 4px 16px rgba(17,20,18,.05);
  --nd-shadow-md: 0 2px 6px rgba(17,20,18,.05), 0 16px 40px rgba(17,20,18,.07);
  --nd-r-lg: 22px;
  --nd-r-md: 16px;
  --nd-r-pill: 100px;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body {
  background: var(--nd-paper) !important;
  color: var(--nd-ink) !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif !important;
  letter-spacing: -0.035em !important;
  line-height: 0.98 !important;
  color: var(--nd-ink) !important;
  font-weight: 700 !important;
}
p { color: var(--nd-muted); }
::selection { background: var(--nd-lime) !important; color: #111 !important; }
::-webkit-scrollbar-track { background: var(--nd-paper) !important; }
::-webkit-scrollbar-thumb { background: #111 !important; border-radius: 99px; }

/* Kill circuit / neon decoration — NexDash is clean, no tech glow */
.bg-breadboard { background-image: none !important; opacity: 0 !important; }
.glow-orb { display: none !important; }
.hero-corner { display: none !important; }
.nav-led, .led-sm { display: none !important; }
.container { max-width: 1180px !important; }

/* ---------- Eyebrow / section headers (NexDash small mono label) ---------- */
.eyebrow {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--nd-muted) !important;
  background: #fff !important;
  border: 1px solid var(--nd-line) !important;
  padding: 7px 14px !important;
  border-radius: var(--nd-r-pill) !important;
  display: inline-flex !important;
  margin-bottom: 18px !important;
}
.eyebrow::before { display: none !important; }
.section-headline {
  font-size: clamp(34px, 4.6vw, 58px) !important;
  letter-spacing: -0.04em !important;
  line-height: 0.98 !important;
  color: var(--nd-ink) !important;
  margin: 0 0 14px !important;
  max-width: 16ch;
}
.section-body {
  font-size: 17px !important;
  line-height: 1.6 !important;
  color: var(--nd-muted) !important;
  max-width: 62ch !important;
  margin-bottom: 40px !important;
}

/* ---------- Floating pill nav (NexDash signature) ---------- */
.nav {
  position: sticky !important;
  top: 14px !important;
  z-index: 200 !important;
  background: rgba(255,255,255,.86) !important;
  backdrop-filter: blur(18px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.2) !important;
  color: var(--nd-ink) !important;
  border: 1px solid rgba(17,20,18,.08) !important;
  border-radius: var(--nd-r-pill) !important;
  box-shadow: 0 8px 32px rgba(17,20,18,.08) !important;
  max-width: 1180px !important;
  margin: 14px auto 0 !important;
  width: calc(100% - 28px) !important;
}
.nav::after { display: none !important; }
.nav-inner { height: 62px !important; gap: 12px !important; }
.nav-brand-text { color: var(--nd-ink) !important; font-family: 'Space Grotesk', sans-serif !important; letter-spacing: -0.03em !important; }
.nav-brand-text span { color: var(--nd-ink) !important; }
.nav-link, .nav-dropdown-link {
  color: #2A2E2A !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 8px 12px !important;
  border-radius: 100px !important;
}
.nav-link:hover, .nav-dropdown-link:hover,
.nav-dropdown.open .nav-dropdown-link { color: #000 !important; background: #F0EEE4 !important; }
.nav-link::after { display: none !important; }
.nav-dropdown-menu {
  background: #fff !important;
  border: 1px solid var(--nd-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--nd-shadow-md) !important;
  padding: 8px !important;
  min-width: 280px !important;
}
.nav-dropdown-item:hover { background: #F4F2EB !important; transform: none !important; }
.nav-dropdown-icon { background: #F1EFE6 !important; color: #111 !important; }
.nav-dropdown-title { color: #111 !important; }
.nav-dropdown-desc { color: #777D76 !important; }
.nav-dropdown-btn {
  background: #fff !important;
  border: 1px solid var(--nd-line) !important;
  color: #111 !important;
  border-radius: 100px !important;
  box-shadow: none !important;
}
.nav-dropdown-btn:hover { border-color: #111 !important; color: #000 !important; background: #fff !important; box-shadow: none !important; }
.nav-cta {
  background: #111412 !important;
  color: #fff !important;
  border-radius: 100px !important;
  box-shadow: none !important;
  padding: 10px 22px !important;
  font-weight: 600 !important;
}
.nav-cta:hover { background: #000 !important; transform: translateY(-1px) !important; box-shadow: 0 8px 20px rgba(0,0,0,.15) !important; }
.nav-cta-secondary {
  display: inline-flex;
  align-items: center;
  background: #fff !important;
  color: #111412 !important;
  border: 1.5px solid var(--nd-line) !important;
  border-radius: 100px !important;
  box-shadow: none !important;
  padding: 9px 20px !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.2s var(--ease-out) !important;
}
.nav-cta-secondary:hover {
  background: #F4F2EB !important;
  border-color: #111412 !important;
  color: #111412 !important;
  transform: translateY(-1px) !important;
}
.mobile-menu {
  background: #fff !important;
  border-radius: 0 0 24px 24px !important;
  border-bottom: 1px solid var(--nd-line) !important;
  box-shadow: var(--nd-shadow-md) !important;
}
.mobile-menu > a.mobile-link { color: #222 !important; border-bottom: 1px solid #EEEADD !important; }
.mobile-menu-divider { color: #9AA09A !important; }
.mobile-portal-card { background: #F6F4EE !important; border: 1px solid var(--nd-line) !important; }
.mobile-menu-ctas { border-top: 1px solid var(--nd-line) !important; }
.mobile-cta-join {
  background: #111412 !important;
  color: #fff !important;
  border: 1px solid #111412 !important;
  font-weight: 600 !important;
  border-radius: 100px !important;
}
.mobile-cta-join:hover {
  background: #000 !important;
  color: #fff !important;
}
.mobile-cta-shop {
  background: #fff !important;
  color: #111412 !important;
  border: 1.5px solid var(--nd-line) !important;
  font-weight: 600 !important;
  border-radius: 100px !important;
}
.mobile-cta-shop:hover {
  background: #F4F2EB !important;
  border-color: #111412 !important;
  color: #111412 !important;
}
.nav-hamburger span:nth-child(1), .nav-hamburger span:nth-child(2), .nav-hamburger span:nth-child(3) { background: #111 !important; }

/* ---------- Hero (NexDash: huge statement + dashboard card) ---------- */
.hero, .join-hero, .about-hero, .changemakers-hero, .legal-hero {
  background: var(--nd-paper) !important;
  color: var(--nd-ink) !important;
  padding: 84px 0 64px !important;
  overflow: hidden;
}
.hero::before { display: none !important; }
.hero-headline, .join-headline, .about-hero h1, .changemakers-hero h1, .legal-hero h1 {
  font-size: clamp(46px, 7vw, 88px) !important;
  letter-spacing: -0.05em !important;
  line-height: 0.94 !important;
  color: #111412 !important;
  margin-bottom: 20px !important;
  max-width: 14ch;
}
.hero-subheadline, .join-subheadline, .about-hero-sub, .legal-hero-desc {
  font-size: clamp(16px, 2vw, 19px) !important;
  color: var(--nd-muted) !important;
  max-width: 56ch !important;
  line-height: 1.6 !important;
}
.hero-ctas { gap: 12px !important; }
.btn-primary, .btn-navy, .join-submit-btn, .join-role-apply-btn {
  background: #111412 !important;
  color: #fff !important;
  border-radius: 100px !important;
  box-shadow: none !important;
  border: 1px solid #111412 !important;
  font-weight: 600 !important;
  padding: 15px 30px !important;
  font-size: 15px !important;
}
.btn-primary::after { display: none !important; }
.btn-primary:hover, .btn-navy:hover { background: #000 !important; transform: translateY(-2px) !important; box-shadow: 0 12px 28px rgba(0,0,0,.16) !important; }
.btn-outline {
  border: 1.5px solid #111412 !important;
  color: #111412 !important;
  background: #fff !important;
  border-radius: 100px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
.btn-outline:hover { background: #111412 !important; color: #fff !important; transform: translateY(-2px) !important; }

/* ---------- Hero 2-Column Grid & Video Showcase ---------- */
.hero-grid {
  display: grid !important;
  grid-template-columns: 1.12fr 0.98fr !important;
  gap: 48px !important;
  align-items: stretch !important;
}
.hero-left {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}
.hero-left .hero-headline {
  margin-top: 0 !important;
}
.hero-right {
  display: flex !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  height: 100% !important;
}
.hero-video-container {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 480px !important;
  margin: 0 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: #0E1310 !important;
  border: 1.5px solid rgba(17, 20, 18, 0.12) !important;
  box-shadow: 0 24px 60px rgba(17, 20, 18, 0.14), 0 4px 16px rgba(17, 20, 18, 0.05) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.hero-video-player {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  cursor: pointer !important;
}
.hero-video-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: transparent !important; /* NO background color */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  pointer-events: none !important;
}
.hero-video-title-wrap {
  text-align: center !important;
  padding: 16px 20px !important;
  background: transparent !important; /* Plain text, no pill background */
  border: none !important;
  box-shadow: none !important;
}
.hero-video-plain-text {
  font-family: 'Space Grotesk', system-ui, -apple-system, sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(20px, 2.5vw, 32px) !important;
  letter-spacing: -0.03em !important;
  color: #FFFFFF !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.95), 0 0 24px rgba(0, 0, 0, 0.8) !important;
  display: block !important;
}
.hero-video-plain-text span {
  color: #F2B33D !important;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.95), 0 0 24px rgba(242, 179, 61, 0.4) !important;
}
.hero-video-controls {
  position: absolute !important;
  bottom: 14px !important;
  right: 14px !important;
  display: flex !important;
  gap: 8px !important;
  z-index: 10 !important;
}
.hero-video-btn {
  background: rgba(17, 20, 18, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.hero-video-btn:hover {
  background: #111412 !important;
  border-color: #F2B33D !important;
  color: #F2B33D !important;
  transform: scale(1.08) !important;
}
@media (max-width: 960px) {
  .hero-grid {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
  }
  .hero-video-container {
    max-width: 100% !important;
    margin-top: 10px !important;
  }
}

/* Circuit panel → NexDash dashboard card (light, rounded, subtle) */
.circuit-panel, .exploded-diagram, .spec-sheet, .pipeline {
  background: #fff !important;
  border: 1px solid var(--nd-line) !important;
  border-radius: 26px !important;
  box-shadow: var(--nd-shadow-md) !important;
  color: var(--nd-ink) !important;
}
.circuit-panel:hover, .exploded-diagram:hover { border-color: #D8D3C2 !important; box-shadow: var(--nd-shadow-md) !important; }
.circuit-panel-header, .diagram-header, .pipeline-header, .spec-sheet-header {
  color: #8A8F88 !important;
  border-bottom: 1px solid var(--nd-line-soft) !important;
  font-family: 'Inter', sans-serif !important;
}
.circuit-svg-wrap svg text { fill: #111 !important; }

/* ---------- Sections: light rhythm ---------- */
.philosophy, .for-students, .for-schools, .showcase,
.join-perks-section, .join-roles-section, .join-apply-section,
.about-paths-section, .changemakers-section {
  background: var(--nd-paper) !important;
  padding: 88px 0 !important;
  border-bottom: 1px solid var(--nd-line-soft) !important;
  color: var(--nd-ink) !important;
}

/* Dark band (like NexDash "Future is Now") — keep curriculum + hardware dark */
.curriculum, .hardware-box, .join-section, .about-story-section {
  background: var(--nd-dark) !important;
  color: #EDEBE2 !important;
  padding: 88px 0 !important;
}
.curriculum .section-headline, .hardware-box .section-headline,
.join-section h2, .about-story-content h2 { color: #fff !important; }
.curriculum .section-body, .hardware-box .section-body { color: #A7AEA6 !important; }
.curriculum .eyebrow, .hardware-box .eyebrow { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.14) !important; color: #D7FF3E !important; }

/* ---------- Cards: white, soft, numbered ---------- */
.principle-card, .benefit-card, .project-card, .theme-card,
.pillar-card, .about-path-card, .about-spec-box,
.join-perk-card, .join-role-card, .join-form-wrapper,
.profile-card, .legal-card-panel, .shipping-step-card,
.equity-pillar-card, .enterprise-info-card {
  background: #fff !important;
  border: 1px solid var(--nd-line) !important;
  border-radius: var(--nd-r-lg) !important;
  box-shadow: var(--nd-shadow-sm) !important;
  color: var(--nd-ink) !important;
}
.curriculum .class-card, .curriculum .stage-card,
.hardware-box .part-card {
  background: #161D19 !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 20px !important;
  box-shadow: none !important;
  color: #EDEBE2 !important;
}
.curriculum .class-card h3, .curriculum .stage-card h3,
.hardware-box .part-card p { color: #fff !important; }
.principle-card::before, .benefit-card::before, .benefit-card::after,
.principle-card::after, .project-card::before { display: none !important; }
.principle-card:hover, .benefit-card:hover, .project-card:hover,
.theme-card:hover, .join-perk-card:hover, .join-role-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--nd-shadow-md) !important;
  border-color: #D5D0BF !important;
}
.principle-card h3, .benefit-card h3, .project-card h3, .theme-card h3,
.join-perk-title, .join-role-title, .profile-name, .pillar-card h3 { color: #111412 !important; }
.principle-card p, .benefit-card p, .project-card p, .theme-card p,
.join-perk-desc, .join-role-desc, .profile-bio, .pillar-card p { color: var(--nd-muted) !important; }
.principle-icon { background: #F1EFE6 !important; }
.class-badge, .stage-badge, .project-class-tag, .benefit-tag, .theme-tag,
.join-role-tag, .join-perk-badge, .legal-badge-pill {
  font-family: 'Inter', sans-serif !important;
  background: #F1EFE6 !important;
  border: 1px solid var(--nd-line) !important;
  color: #111 !important;
  border-radius: 100px !important;
  letter-spacing: .06em !important;
}
.capstone-tag { background: #111412 !important; color: #D7FF3E !important; border: none !important; border-radius: 100px !important; }
.phase1 .capstone-tag, .phase2 .capstone-tag { background: #111412 !important; color: #D7FF3E !important; border: none !important; }
.phase-grid::before, .pipeline-grid::before { display: none !important; }
.phase-divider::before { border-top: 1px solid var(--nd-line) !important; }
.phase-divider-badge {
  background: #fff !important;
  border: 1px solid var(--nd-line) !important;
  color: #111 !important;
  box-shadow: var(--nd-shadow-sm) !important;
  border-radius: 100px !important;
  font-family: 'Inter', sans-serif !important;
}
.phase-divider-dot { display: none !important; }
.class-node, .stage-node, .part-dot { background: #D7FF3E !important; border-color: #D7FF3E !important; }
.class-card:hover .class-node { background: #D7FF3E !important; box-shadow: none !important; }
.class-meta, .stage-target { border-color: var(--nd-line-soft) !important; }
.class-meta-label, .class-meta-value, .spec-label { color: #777D76 !important; }
.theme-accent-bar { display: none !important; }
.students-cta-bar, .school-cta-bar {
  background: #fff !important;
  border: 1px solid var(--nd-line) !important;
  border-radius: var(--nd-r-lg) !important;
  box-shadow: var(--nd-shadow-sm) !important;
}
.students-cta-bar h3, .school-cta-bar h4 { color: #111 !important; }
.students-header .eyebrow { background: #111412 !important; color: #fff !important; border-color: #111412 !important; }
.scroll-btn { background: #fff !important; border: 1px solid var(--nd-line) !important; color: #111 !important; }
.scroll-btn:hover { background: #111 !important; color: #fff !important; border-color: #111 !important; box-shadow: none !important; }
.project-thumb { border-radius: 14px !important; }
.project-thumb-icon { background: #F4F2EB !important; box-shadow: none !important; border: 1px solid var(--nd-line) !important; }
.project-explore { color: #111 !important; }
.spec-value--amber, .spec-value--teal, .spec-value--white { color: #fff !important; }
.spec-item { border-color: rgba(255,255,255,.12) !important; }

/* ---------- NexDash numbered steps (Acquire / Electrify / Run) ---------- */
.pipeline-header span:last-child { color: #D7FF3E !important; }

/* ---------- Join page specifics ---------- */
.join-page { background: var(--nd-paper) !important; }
.join-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; border: 1px solid var(--nd-line);
  border-radius: 100px; padding: 8px 16px;
  font-size: 12px; font-weight: 600; letter-spacing: .12em; color: var(--nd-muted);
}
.join-eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: #22C55E; }
.join-headline .text-amber { color: #111 !important; background: var(--nd-lime); padding: 0 12px; border-radius: 12px; }
.join-fellowship-callout {
  background: #fff !important; border: 1px solid var(--nd-line) !important;
  border-radius: 16px !important; color: var(--nd-muted) !important;
  box-shadow: var(--nd-shadow-sm) !important;
}
.join-fellowship-badge { background: #111 !important; color: #D7FF3E !important; border-radius: 100px !important; }
.join-hero-stats { gap: 10px !important; }
.join-hero-stat-pill {
  background: #fff !important; border: 1px solid var(--nd-line) !important;
  border-radius: 100px !important; color: #111 !important; box-shadow: var(--nd-shadow-sm) !important;
}
.join-hero-stat-pill strong { color: #111412 !important; }
.join-section-title { font-size: clamp(28px, 3.6vw, 44px) !important; color: #111 !important; }
.join-section-desc { color: var(--nd-muted) !important; }
.join-perk-icon-wrap { border-radius: 14px !important; }
.join-perk-icon-wrap.gold, .join-perk-icon-wrap.teal,
.join-perk-icon-wrap.purple, .join-perk-icon-wrap.green { background: #F1EFE6 !important; border: 1px solid var(--nd-line) !important; }
.join-role-card { padding: 30px !important; }
.join-role-icon-box { background: #F1EFE6 !important; border: 1px solid var(--nd-line) !important; border-radius: 14px !important; }
.join-role-status-tag { background: #E9F9E4 !important; color: #1A7A2E !important; border: 1px solid #BDE5B8 !important; border-radius: 100px !important; }
.join-skill-pill { background: #F4F2EB !important; border: 1px solid var(--nd-line) !important; color: #333 !important; border-radius: 100px !important; }
.join-role-list li { color: var(--nd-muted) !important; }
.join-terminal-header { background: #111412 !important; border-radius: 18px 18px 0 0 !important; }
.join-terminal-title { color: #D7FF3E !important; font-family: 'Inter', sans-serif !important; }
.join-form-inner { background: #fff !important; border-radius: 0 0 18px 18px !important; }
.join-form-label { color: #111 !important; }
.join-form-input, .join-form-select, .join-form-textarea {
  background: #F8F7F2 !important; border: 1px solid var(--nd-line) !important;
  border-radius: 12px !important; color: #111 !important;
}
.join-form-input:focus, .join-form-select:focus, .join-form-textarea:focus { border-color: #111 !important; box-shadow: 0 0 0 3px rgba(17,20,18,.08) !important; }
.join-trust-strip { color: var(--nd-faint) !important; }

/* ---------- About page (has inline <style> — override with specificity) ---------- */
.about-page { background: var(--nd-paper) !important; color: var(--nd-ink) !important; }
.about-hero { background: var(--nd-paper) !important; }
.about-hero::before { display: none !important; }
.about-hero-badge {
  background: #fff !important; border: 1px solid var(--nd-line) !important;
  color: var(--nd-muted) !important; border-radius: 100px !important;
}
.about-hero h1 { color: #111 !important; }
.about-hero h1 .text-gradient { background: none !important; -webkit-text-fill-color: #111 !important; color: #111 !important; }
.about-hero-sub { color: var(--nd-muted) !important; }
.about-story-section { background: var(--nd-dark) !important; border: none !important; }
.about-story-content p, .about-story-quote { color: #A7AEA6 !important; }
.about-story-quote { background: rgba(215,255,62,.08) !important; border-left: 3px solid var(--nd-lime) !important; }
.about-path-card { background: #fff !important; }
.about-path-card.highlight { border: 1.5px solid #111 !important; }
.about-path-card p { color: var(--nd-muted) !important; }
.about-path-cta { color: #111 !important; }
.about-stat-label { color: #8A8F88 !important; }
.about-stat-value { color: #111412 !important; }
.spec-badge-header { color: #17402F !important; }

/* ---------- Changemakers ---------- */
.changemakers-hero .eyebrow { background: #fff !important; }
.profile-image-wrap { border-radius: 20px !important; overflow: hidden; background: #EDEAE0 !important; }
.profile-image { border-radius: 20px !important; }
.profile-ring { display: none !important; }
.profile-title { color: #111 !important; }
.profile-subtitle { color: var(--nd-faint) !important; }
.profile-divider { background: var(--nd-line) !important; }

/* ---------- Legal ---------- */
.legal-page { background: var(--nd-paper) !important; }
.legal-hero-badge {
  background: #fff !important; border: 1px solid var(--nd-line) !important;
  border-radius: 100px !important; color: var(--nd-muted) !important;
}
.legal-hero h1 { color: #111 !important; }
.legal-hero-chips { gap: 10px !important; }
.legal-hero-chip {
  background: #fff !important; border: 1px solid var(--nd-line) !important;
  border-radius: 100px !important; color: #111 !important; box-shadow: var(--nd-shadow-sm) !important;
}
.legal-sidebar {
  background: #fff !important; border: 1px solid var(--nd-line) !important;
  border-radius: 18px !important; box-shadow: var(--nd-shadow-sm) !important;
}
.legal-nav-link { color: var(--nd-muted) !important; border-radius: 12px !important; }
.legal-nav-link.active, .legal-nav-link:hover { background: #111412 !important; color: #fff !important; }
.legal-highlight-banner {
  background: #F8F7F2 !important; border: 1px solid var(--nd-line) !important;
  border-radius: 14px !important; color: #333 !important;
}
.legal-highlight-banner.green { background: #EFF9EC !important; border-color: #CBE7C2 !important; }
.legal-highlight-text { color: #3A403B !important; }
.legal-highlight-text strong { color: #111412 !important; }
.shipping-step-num { color: var(--nd-faint) !important; }
.shipping-step-time { background: #111 !important; color: #fff !important; border-radius: 100px !important; }
.shipping-step-title { color: #111 !important; }
.shipping-step-desc { color: var(--nd-muted) !important; }
.equity-pillar-icon { background: #F1EFE6 !important; border: 1px solid var(--nd-line) !important; }
.equity-pillar-title { color: #111 !important; }
.equity-pillar-desc { color: var(--nd-muted) !important; }
.enterprise-info-label { color: var(--nd-faint) !important; }
.enterprise-info-val { color: #111 !important; }

/* ---------- Footer (NexDash: black, huge wordmark, minimal) ---------- */
.footer {
  background: #0C0F0D !important;
  color: #C9CFC8 !important;
  border-radius: 0 !important;
  border-top: none !important;
  margin-top: 0 !important;
  padding: 64px 0 28px !important;
}
.footer .bg-breadboard { display: none !important; }
.footer-col-title { color: #fff !important; font-size: 13px !important; letter-spacing: .1em !important; text-transform: uppercase !important; }
.footer-col-links a { color: #A7AEA6 !important; }
.footer-col-links a:hover { color: #D7FF3E !important; }
.footer-legal-strip { border-color: rgba(255,255,255,.1) !important; }
.footer-legal-strip a { color: #A7AEA6 !important; }
.footer-bottom { border-color: rgba(255,255,255,.1) !important; color: #8A8F88 !important; }
.badge-new { background: var(--nd-lime) !important; color: #111 !important; border-radius: 100px !important; }
.marketech-powered { color: #8A8F88 !important; }

/* ---------- Toggles / forms on home ---------- */
.toggle { background: #fff !important; border: 1px solid var(--nd-line) !important; border-radius: 100px !important; }
.toggle-slider { background: #111 !important; box-shadow: none !important; }
.join-form input, .join-form select, .join-form textarea {
  background: #fff !important; border: 1px solid var(--nd-line) !important;
  border-radius: 12px !important; color: #111 !important;
}

/* Pragati spotlight (dark band card) */
.pragati-spotlight-section { background: var(--nd-paper) !important; }
.pragati-spotlight-box {
  background: var(--nd-dark) !important; border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.08) !important; box-shadow: var(--nd-shadow-md) !important;
}
.pragati-feature-card { background: rgba(255,255,255,.05) !important; border: 1px solid rgba(255,255,255,.1) !important; border-radius: 18px !important; }
.pragati-feature-title { color: #fff !important; }
.pragati-feature-desc { color: #A7AEA6 !important; }

/* ---------- NexDash journey strip (replaces broken circuit traces) ---------- */
.nd-journey { padding: 22px 32px 30px !important; }
.nd-journey-track { position: relative; padding: 26px 8px 6px; }
.nd-journey-line {
  position: absolute; top: 64px; left: 48px; right: 48px; height: 2px;
  background: #111412; border-radius: 2px; opacity: .9;
}
.nd-journey-steps {
  position: relative; display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 12px; z-index: 1;
}
.nd-step { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; }
.nd-step-num {
  font-family: 'Inter', sans-serif !important; font-size: 11px; font-weight: 600;
  letter-spacing: .14em; color: #8A8F88 !important;
}
.nd-dot {
  width: 18px; height: 18px; border-radius: 50%;
  background: #fff !important; border: 2px solid #111412 !important;
  box-shadow: 0 0 0 6px #fff !important;
}
.nd-dot--lime { background: #111412 !important; box-shadow: 0 0 0 6px #fff, 0 0 0 8px #D7FF3E !important; }
.nd-step-label {
  font-family: 'Inter', sans-serif !important; font-size: 12px; font-weight: 700;
  letter-spacing: .14em; color: #111412 !important; margin-top: 10px;
}
.nd-step-sub { font-size: 13px; color: #626862 !important; }
@media (max-width: 700px) {
  .nd-journey { padding: 18px 18px 22px !important; }
  .nd-journey-line { display: none; }
  .nd-journey-steps { grid-template-columns: repeat(2, 1fr); gap: 22px; }
  .nd-dot { box-shadow: none !important; }
}

/* ---------- Two-font lockdown: Inter + Space Grotesk only ---------- */
body, p, li, ul, ol, a, span, div, input, select, textarea, button,
label, option, code, pre, kbd, samp, td, th {
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif !important;
}
code, pre, kbd, samp {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}
.class-meta-value, .spec-value, .about-stat-label, .spec-label,
.class-meta-label, .class-badge, .stage-badge, .shipping-step-num,
.mono, .font-mono {
  font-family: 'Inter', system-ui, sans-serif !important;
  letter-spacing: .06em !important;
}

/* ---------- Number badges (emoji replacements) ---------- */
.pillar-icon, .join-perk-icon-wrap, .join-role-icon-box,
.legal-panel-icon, .equity-pillar-icon, .pragati-feature-icon {
  background: #F1EFE6 !important;
  border: 1px solid var(--nd-line) !important;
  color: #111412 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
}
.nd-count {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: #111412 !important;
  margin-bottom: 12px !important;
}

/* ---------- Color unification leftovers ---------- */
.nav-dropdown-icon { display: none !important; }
.nav-dropdown-item { padding: 10px 14px !important; }
.mobile-menu a.mobile-link { color: #222 !important; }
.join-role-tag {
  background: #F4F2EB !important;
  color: #333 !important;
  border: 1px solid var(--nd-line) !important;
}
.join-perk-badge {
  align-self: flex-start !important;
  padding: 5px 12px !important;
}
.join-skill-pill {
  background: #F4F2EB !important;
  color: #333 !important;
  border: 1px solid var(--nd-line) !important;
}
.project-thumb { border: 1px solid var(--nd-line) !important; }

/* ---------- Index join band: form, toggle, success ---------- */
.form-card { background: #151B17 !important; border: 1.5px solid rgba(255,255,255,.1) !important; }
.success-card { background: #151B17 !important; border: 1.5px solid rgba(78,197,178,.55) !important; }
.form-label--teal { color: #4EC5B2 !important; }
.form-input::placeholder { color: rgba(243,246,245,.5) !important; }
select.form-input { background: #0E1310 !important; color: #F8FAFB !important; }
.form-submit {
  background: #D7FF3E !important; color: #111412 !important; box-shadow: none !important;
}
.form-submit:hover { background: #E4FF6A !important; box-shadow: 0 8px 24px rgba(215,255,62,.28) !important; }
.toggle-btn { color: #626862 !important; }
.toggle-btn.active { color: #fff !important; }
.toggle-btn .dot { background: rgba(17,20,18,.3) !important; }
.toggle-btn.active .dot { background: #D7FF3E !important; }
.success-status { color: #4EC5B2 !important; }
.success-check { background: rgba(78,197,178,.12) !important; border-color: #4EC5B2 !important; }

/* ---------- PRAGATI dark box: headline, body, badge, CTAs ---------- */
.pragati-spotlight-box .section-headline {
  color: #fff !important;
  text-align: center !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
}
.pragati-spotlight-box .section-body {
  color: #A7AEA6 !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.pragati-badge {
  background: rgba(215,255,62,.08) !important;
  border: 1px solid rgba(215,255,62,.35) !important;
  color: #D7FF3E !important;
  box-shadow: none !important;
}
.pragati-badge .pulse-dot { background: #D7FF3E !important; box-shadow: none !important; }
.btn-pragati-main {
  background: #D7FF3E !important; color: #111412 !important; box-shadow: none !important;
}
.btn-pragati-main:hover {
  background: #E4FF6A !important; color: #111412 !important;
  box-shadow: 0 8px 24px rgba(215,255,62,.28) !important;
}
.btn-pragati-secondary:hover {
  background: rgba(215,255,62,.12) !important;
  border-color: #D7FF3E !important; color: #D7FF3E !important;
}
.pragati-feature-card:hover {
  border-color: rgba(215,255,62,.4) !important;
  box-shadow: none !important;
  transform: translateY(-4px) !important;
}
.pragati-feature-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  border-radius: 14px !important;
  font-size: 16px !important;
}

/* ---------- Showcase pipeline: dark stage cards ---------- */
.stage-card {
  background: #151B17 !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  color: #EDEBE2 !important;
}
.stage-card h3 { color: #fff !important; }
.stage-card:hover {
  border-color: rgba(215,255,62,.4) !important;
  box-shadow: none !important;
}
.stage-card:hover .stage-node { background: #D7FF3E !important; border-color: #D7FF3E !important; }
.stage-target { color: #93A1AD !important; border-top-color: rgba(255,255,255,.14) !important; }

/* ---------- Hardware schematic: two-font lockdown inside SVG ---------- */
.diagram-svg-wrap svg text { font-family: 'Inter', system-ui, sans-serif !important; }

/* ---------- Aesthetic polish: rhythm, motion, type ---------- */
section[id] { scroll-margin-top: 96px !important; }
:focus-visible { outline: 2.5px solid #111 !important; outline-offset: 3px; border-radius: 8px; }
h1, h2, .section-headline, .hero-headline { text-wrap: balance !important; }

/* Hero: soft top light + airier CTAs */
.hero, .join-hero, .about-hero, .changemakers-hero, .legal-hero {
  background: radial-gradient(70% 55% at 50% 0%, #FFFFFF 0%, var(--nd-paper) 72%) !important;
}
.hero-ctas { margin-top: 30px !important; }
.eyebrow { box-shadow: var(--nd-shadow-sm) !important; }

/* Sections breathe */
.philosophy, .for-students, .for-schools, .showcase,
.join-perks-section, .join-roles-section, .join-apply-section,
.about-paths-section, .changemakers-section,
.curriculum, .hardware-box, .join-section, .about-story-section {
  padding: 96px 0 !important;
}

/* Unified card motion */
.class-card, .part-card, .legal-card-panel, .shipping-step-card,
.equity-pillar-card, .enterprise-info-card, .profile-card,
.principle-card, .benefit-card, .project-card, .theme-card,
.join-perk-card, .join-role-card, .stage-card, .pragati-feature-card {
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease !important;
}
.class-card:hover, .part-card:hover, .legal-card-panel:hover,
.shipping-step-card:hover, .equity-pillar-card:hover,
.enterprise-info-card:hover {
  transform: translateY(-4px) !important;
  border-color: #D5D0BF !important;
  box-shadow: var(--nd-shadow-md) !important;
}

/* Keep headings calm on hover (no neon tint) */
.project-card:hover h3, .benefit-card:hover h3, .theme-card:hover h3 { color: #111412 !important; }

/* Buttons: consistent motion + press feel */
.btn-primary, .btn-navy, .btn-outline, .nav-cta,
.btn-pragati-main, .btn-pragati-secondary, .form-submit,
.join-submit-btn, .join-role-apply-btn, .success-again,
.scroll-btn, .project-explore {
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease !important;
}
.btn-primary:active, .btn-navy:active, .btn-outline:active, .nav-cta:active,
.btn-pragati-main:active, .btn-pragati-secondary:active, .form-submit:active,
.join-submit-btn:active, .join-role-apply-btn:active {
  transform: scale(.98) !important;
}

/* Nav + footer link motion */
.nav-link, .nav-dropdown-link, .footer-col-links a {
  transition: background-color .2s ease, color .2s ease !important;
}

/* Input focus motion */
.form-input, .join-form-input, .join-form-select, .join-form-textarea,
.join-form input, .join-form select, .join-form textarea {
  transition: border-color .2s ease, box-shadow .2s ease !important;
}

/* ---------- Flat: no shadows, glows, tilts, or 3D ---------- */
body .nav, body .mobile-menu, body .nav-dropdown-menu,
body .circuit-panel, body .exploded-diagram, body .spec-sheet, body .pipeline,
body .principle-card, body .benefit-card, body .project-card, body .theme-card,
body .pillar-card, body .about-path-card, body .about-spec-box,
body .join-perk-card, body .join-role-card, body .join-form-wrapper,
body .profile-card, body .legal-card-panel, body .shipping-step-card,
body .equity-pillar-card, body .enterprise-info-card,
body .students-cta-bar, body .school-cta-bar,
body .eyebrow, body .phase-divider-badge,
body .join-fellowship-callout, body .join-hero-stat-pill,
body .legal-sidebar, body .legal-hero-chip,
body .pragati-spotlight-box, body .pragati-feature-card,
body .curriculum .class-card, body .curriculum .stage-card, body .hardware-box .part-card,
body .nd-dot, body .nd-dot--lime {
  box-shadow: none !important;
}
body .nav-cta:hover, body .btn-primary:hover, body .btn-navy:hover,
body .form-submit:hover, body .btn-pragati-main:hover,
body .principle-card:hover, body .benefit-card:hover, body .project-card:hover,
body .theme-card:hover, body .join-perk-card:hover, body .join-role-card:hover,
body .stage-card:hover, body .pragati-feature-card:hover,
body .class-card:hover, body .part-card:hover, body .legal-card-panel:hover,
body .shipping-step-card:hover, body .equity-pillar-card:hover,
body .enterprise-info-card:hover, body .profile-card:hover,
body .circuit-panel:hover, body .exploded-diagram:hover {
  box-shadow: none !important;
}
/* No tilt / zoom / 3D perspective */
body .project-card { transform-style: flat !important; perspective: none !important; }
body .scroll-btn:hover, body .btn-pragati-main:hover,
body .project-card:hover .project-thumb,
body .project-card:hover .project-thumb-icon {
  transform: none !important;
}
body .principle-card:nth-child(1):hover .principle-icon,
body .principle-card:nth-child(2):hover .principle-icon,
body .principle-card:nth-child(3):hover .principle-icon {
  transform: none !important;
  box-shadow: none !important;
  background: #F1EFE6 !important;
}
/* No text glow / drop shadows */
body .join-headline .text-amber { text-shadow: none !important; }
body .diagram-svg-wrap svg { filter: none !important; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .nav { top: 10px !important; width: calc(100% - 20px) !important; }
  .hero, .join-hero, .about-hero, .legal-hero { padding: 60px 0 48px !important; }
  .philosophy, .for-students, .for-schools, .showcase,
  .curriculum, .hardware-box { padding: 64px 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
