/* ==========================================================================
   THEME V2 — loaded last on every page.
   Aligns the whole site with the AI-training page design language:
   one accent, hairlines instead of glass, type does the work, no orbs.
   Overrides only; the original component files stay untouched.
   ========================================================================== */

:root {
  --v2-bg: #0a0a0a;
  --v2-bg-2: #0e0e0f;
  --v2-panel: #101012;
  --v2-line: rgba(255, 255, 255, 0.07);
  --v2-line-strong: rgba(255, 255, 255, 0.14);
  --v2-ink: #f4f4f5;
  --v2-ink-2: #b4b4bb;
  --v2-ink-3: #7c7c85;

  /* glass tokens used by older components (investors market cards etc.) */
  --glass-advanced: var(--v2-panel);
  --glass-border-premium: 1px solid var(--v2-line);
  --glass-shadow-premium: none;
  --glass-backdrop: none;
  --glass-border: 1px solid var(--v2-line);
  --glass-shadow: none;

  --text-base: 1.0625rem;
}

body {
  background: var(--v2-bg);
  color: var(--v2-ink-2);
}

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */
h1, .h1, h2, .h2, h3, .h3 {
  color: var(--v2-ink);
  letter-spacing: -0.025em;
}
h4, .h4, h5, .h5 { color: var(--v2-ink); letter-spacing: -0.01em; }

.h2, .section-header__title, .section__header .h2 {
  font-size: clamp(2rem, 3.6vw, 3rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.028em;
}

.lead, .section-header__subtitle, .text-muted, .card-platform__description, .card-value__description {
  color: var(--v2-ink-2);
}
.section-header__subtitle, .lead { font-size: 1.0625rem; line-height: 1.65; }
.section-header { max-width: 760px; margin-bottom: clamp(2.5rem, 5vw, 3.5rem); }
.section__header { margin-bottom: clamp(2.5rem, 5vw, 3.5rem) !important; }

/* --------------------------------------------------------------------------
   Eyebrow labels (replace pill badges everywhere)
   -------------------------------------------------------------------------- */
.badge,
.section-header__badge,
.hero__badge,
.badge-stats,
.badge-premium {
  display: inline-block;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  padding: 0;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.hero__badge { margin-bottom: 1.25rem; }
.section-header__badge { margin-bottom: 1rem; }
.hero__badges { justify-content: center; margin-bottom: 1.25rem; }

/* --------------------------------------------------------------------------
   Sections
   -------------------------------------------------------------------------- */
.section {
  padding: clamp(4.5rem, 8vw, 7.5rem) 0;
  border-top: 1px solid var(--v2-line);
}
.section-dark { background: var(--v2-bg); }
.section-darker, .section-gradient { background: var(--v2-bg-2); }
.section + .section { border-top: 1px solid var(--v2-line); }

/* --------------------------------------------------------------------------
   Hero (all pages that use .hero / .hero-premium)
   -------------------------------------------------------------------------- */
.hero, .hero-premium, .hero.bg-gradient-animated, .platform-hero {
  min-height: 0;
  padding: calc(var(--header-height) + clamp(3rem, 8vw, 6rem)) 0 clamp(3rem, 6vw, 5rem);
  background: var(--v2-bg) !important;
  animation: none !important;
  position: relative;
  overflow: hidden;
}
.hero::before, .hero-premium::before, .platform-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(60% 50% at 80% 15%, rgba(var(--platform-color-rgb, 247, 156, 31), 0.13) 0%, transparent 60%),
    radial-gradient(40% 40% at 10% 95%, rgba(255, 77, 77, 0.06) 0%, transparent 60%);
}
.hero::after, .hero-premium::after, .platform-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.55;
  background-image: radial-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(70% 70% at 50% 40%, black 20%, transparent 80%);
  mask-image: radial-gradient(70% 70% at 50% 40%, black 20%, transparent 80%);
}
.hero__content { position: relative; z-index: 1; max-width: 960px; }
.hero__background, .hero__glow, .hero__mesh-gradient, .hero__floating-elements, .floating-orb, .hero__scroll { display: none !important; }

.hero__title {
  font-size: clamp(2.6rem, 5.6vw, 4.6rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.038em;
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
  -webkit-text-fill-color: var(--v2-ink);
  color: var(--v2-ink);
  margin-bottom: 1.5rem;
}
.hero__subtitle {
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  line-height: 1.6;
  color: var(--v2-ink-2);
  max-width: 56ch;
  margin-bottom: 2rem;
}
.hero__actions {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

/* homepage hero metrics -> hairline band */
.hero__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  max-width: 680px;
  margin: 2.5rem auto 2rem;
  border: 1px solid var(--v2-line);
  border-radius: 16px;
  background: var(--v2-panel);
  overflow: hidden;
}
.metric { padding: 1.2rem 1rem; border-right: 1px solid var(--v2-line); min-width: 0; }
.metric:last-child { border-right: 0; }
.metric__number {
  font-size: clamp(1.7rem, 2.6vw, 2.3rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--v2-ink);
  font-variant-numeric: tabular-nums;
}
.metric__label {
  font-family: var(--font-mono);
  font-size: 0.64rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--v2-ink-3);
  margin-top: 0.35rem;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.btn {
  border-radius: 10px;
  font-weight: 500;
  font-size: 0.95rem;
  padding: 0.8rem 1.25rem;
  letter-spacing: 0;
}
.btn-lg { padding: 0.95rem 1.5rem; font-size: 1.02rem; }
.btn-primary {
  text-shadow: none;
  box-shadow: 0 10px 28px -10px rgba(247, 156, 31, 0.6);
}
.btn-primary:hover { box-shadow: 0 14px 32px -10px rgba(247, 156, 31, 0.7); transform: translateY(-1px); }
.btn-outline {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--v2-line-strong);
}
.btn-outline:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.35);
  box-shadow: none;
  transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Cards — flat panels with hairlines, no glass
   -------------------------------------------------------------------------- */
.card,
.card-platform,
.card-platform-premium,
.card-value,
.market-card,
.advantage-card,
.document-card,
.flagship__metric {
  background: var(--v2-panel);
  border: 1px solid var(--v2-line);
  border-radius: 16px;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  contain: none;
}
.card-platform-premium { padding: 1.75rem; }
.card-platform-premium::after { display: none; }
.card-platform-premium::before { height: 1px; }
.card-platform-premium:hover,
.card-platform-premium:focus-within,
.card-value:hover,
.market-card:hover,
.advantage-card:hover,
.flagship__metric:hover {
  transform: translateY(-2px);
  box-shadow: none;
  background: var(--v2-panel);
  border-color: rgba(var(--platform-color-rgb, 247, 156, 31), 0.45);
}
.card-platform-premium .card-platform__glow {
  background: radial-gradient(420px circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(var(--platform-color-rgb, 247, 156, 31), 0.09), transparent 45%);
}
.card-platform__title { font-size: 1.25rem; letter-spacing: -0.015em; }
.card-platform__subtitle, .card-platform-premium .card-platform__subtitle {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
}
.card-platform__description { font-size: 0.95rem; line-height: 1.6; }
.card-platform__chip { background: rgba(255, 255, 255, 0.03); }
.card-value { padding: 1.6rem 1.5rem; }
.card-value__icon { width: 40px; height: 40px; }
.card-value__title { font-size: 1.05rem; }
.card-value__description { font-size: 0.9rem; line-height: 1.55; }

/* platform-page feature cards: left-aligned icon blocks read cleaner */
.card-platform-premium .card-value__icon { margin-left: 0; }

/* --------------------------------------------------------------------------
   Stats / metrics / timeline
   -------------------------------------------------------------------------- */
.stat__value { color: var(--v2-ink); letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.stat__label {
  font-family: var(--font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--v2-ink-3);
}
.flagship__metric b { color: var(--v2-ink); }
.flagship__metric span { font-size: 0.85rem; }
.timeline-year { font-family: var(--font-mono); font-size: 0.85rem; letter-spacing: 0.12em; color: var(--color-primary); }
.timeline-marker__dot { background: var(--v2-bg); border: 2px solid var(--color-primary); box-shadow: 0 0 0 4px var(--v2-bg); }
.timeline-marker__line { background: var(--v2-line-strong); }

/* --------------------------------------------------------------------------
   Header / footer
   -------------------------------------------------------------------------- */
.header { background-color: rgba(10, 10, 10, 0.72); border-bottom-color: var(--v2-line); }
.header.scrolled { background-color: rgba(10, 10, 10, 0.85); }
.footer { background: var(--v2-bg); border-top: 1px solid var(--v2-line); }
.footer__column h4 {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--v2-ink-3);
  font-weight: 500;
}
.footer__links a { color: var(--v2-ink-2); }
.footer__bottom { border-top-color: var(--v2-line); }

/* --------------------------------------------------------------------------
   Misc
   -------------------------------------------------------------------------- */
.divider { background: var(--v2-line); }
.platforms-grid { gap: 1rem; }
.flagship::before { background: radial-gradient(50% 60% at 85% 30%, rgba(247, 156, 31, 0.1) 0%, transparent 60%); }
.nav-dropdown__menu { background: var(--v2-panel); border: 1px solid var(--v2-line); }

@media (prefers-reduced-motion: reduce) {
  .card-platform-premium:hover, .card-value:hover, .btn:hover { transform: none; }
}

/* check-mark list items (platform pages) */
.li-check { position: relative; padding-left: 1.5rem; }
.li-check::before {
  content: "✓";
  position: absolute; left: 0; top: 0.1em;
  width: 1.1rem; height: 1.1rem; border-radius: 50%;
  background: rgba(63, 217, 164, 0.14); color: #3fd9a4;
  font-size: 0.65rem; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
