/* ============================================================
   AI Solutions — theme fix overlay
   Makes the page match the rest of the dark Block Gemini site.
   - Cream/white sections → site dark bg
   - White cards → dark panels with site border
   - Dark blue eyebrows → site cyan (visible on dark)
   - Body inherits site font, not Brockmann fallback
   ============================================================ */

:root {
  /* Re-map aisol tokens to site tokens so all internal refs follow */
  --aisol-text: var(--site-text, #E6ECFA);
  --aisol-mute: var(--site-text-2, #8B96B5);
  --aisol-dim:  var(--site-text-3, #5A6688);
  --aisol-line: var(--site-line, rgba(255,255,255,0.08));
  --aisol-line-strong: var(--site-line-2, rgba(255,255,255,0.16));
  --aisol-blue: var(--site-cyan, #4FC8FF);
  --aisol-mint: var(--site-mint, #5EFFA4);
  --aisol-amber: var(--site-amber, #FFB020);
  --aisol-ink:  var(--site-bg-2, #0A0E1F);
  --aisol-ink-2: var(--site-panel, #0F1530);
}

/* ---------- Font alignment ---------- */
.aisol-hero h1,
.aisol-section-head h2,
.aisol-prod-name,
.aisol-stack-card h3,
.aisol-time-card h3,
.aisol-ind .name,
.aisol-final h2,
.aisol-final-strip .item .val,
.aisol-cinema h2 {
  font-family: var(--font-display, 'Instrument Sans', system-ui, sans-serif) !important;
  font-weight: 500;
  letter-spacing: -0.022em;
  color: #fff;
}
.aismck, .aisol-stack-chip {
  font-family: var(--font-mono, 'JetBrains Mono', 'SF Mono', monospace) !important;
}

/* ---------- HERO: keep dark, fix gradient text contrast ---------- */
.aisol-hero {
  background:
    radial-gradient(1200px 700px at 18% 28%, rgba(0,85,255,.28), transparent 60%),
    radial-gradient(900px 600px at 82% 62%, rgba(79,200,255,.10), transparent 65%),
    linear-gradient(180deg, var(--site-bg, #05070F) 0%, var(--site-bg-2, #0A0E1F) 100%) !important;
  color: var(--site-text) !important;
}
.aisol-hero h1 em {
  background: linear-gradient(120deg, #fff 0%, #B8C8FF 38%, var(--site-cyan, #4FC8FF) 70%, #fff 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
.aisol-hero-sub { color: var(--site-text-2) !important; }
.aisol-hero-stats .lab { color: var(--site-text-2) !important; }
.aisol-hero-tag { color: var(--site-text) !important; background: rgba(255,255,255,0.04) !important; border-color: var(--site-line-2) !important; }

/* ---------- BUTTONS ---------- */
.aisol-btn-primary {
  background: var(--site-blue, #0055FF) !important;
  color: #fff !important;
}
.aisol-btn-primary:hover { background: var(--site-blue-bright, #2D7BFF) !important; }
.aisol-btn-ghost {
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  border-color: var(--site-line-2) !important;
}
.aisol-btn-ghost:hover { background: rgba(79,200,255,0.08) !important; border-color: rgba(79,200,255,0.4) !important; }

/* ---------- PRODUCTS GRID — was cream/light, now dark ---------- */
.aisol-products {
  background: var(--site-bg-2, #0A0E1F) !important;
  color: var(--site-text) !important;
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
}
.aisol-products .aisol-section-head .eyebrow { color: var(--site-cyan) !important; }
.aisol-products .aisol-section-head h2 { color: #fff !important; }
.aisol-products .aisol-section-head .blurb {
  color: var(--site-text-2) !important;
}
.aisol-products .aisol-section-head .blurb b { color: #fff !important; }

.aisol-prod-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012)) !important;
  border: 1px solid var(--site-line) !important;
  color: var(--site-text) !important;
}
.aisol-prod-card:hover {
  border-color: rgba(79,200,255,0.35) !important;
  box-shadow: 0 24px 60px -24px rgba(0,85,255,0.45), 0 0 0 1px rgba(79,200,255,0.10) !important;
  background: linear-gradient(180deg, rgba(0,85,255,0.06), rgba(255,255,255,0.012)) !important;
}
.aisol-prod-mock {
  background: #04060B !important;
  border-bottom: 1px solid var(--site-line) !important;
}
.aisol-prod-tag { color: var(--site-cyan) !important; }
.aisol-prod-name { color: #fff !important; }
.aisol-prod-card p { color: var(--site-text-2) !important; }
.aisol-prod-link { color: #fff !important; }
.aisol-prod-link:hover { color: var(--site-cyan) !important; }

/* ---------- OUTCOMES (30/60/90) — was cream, now dark ---------- */
.aisol-outcomes {
  background: var(--site-bg, #05070F) !important;
  color: var(--site-text) !important;
  border-top: 1px solid var(--site-line);
  border-bottom: 1px solid var(--site-line);
}
.aisol-outcomes .aisol-section-head .eyebrow { color: var(--site-cyan) !important; }
.aisol-outcomes .aisol-section-head h2 { color: #fff !important; }
.aisol-outcomes .aisol-section-head .blurb { color: var(--site-text-2) !important; }
.aisol-outcomes .aisol-section-head .blurb b { color: #fff !important; }

.aisol-time-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012)) !important;
  border: 1px solid var(--site-line) !important;
  color: var(--site-text) !important;
}
.aisol-time-card h3 { color: #fff !important; }
.aisol-time-card li { color: var(--site-text-2) !important; }
.aisol-time-card li::before { background: var(--site-cyan) !important; opacity: 0.7; }
.aisol-time-card.t-30 .badge { color: var(--site-cyan) !important; }
.aisol-time-card.t-30 .badge::before { background: var(--site-cyan) !important; }
.aisol-time-card.t-60 .badge { color: var(--site-cyan) !important; }
.aisol-time-card.t-60 .badge::before { background: var(--site-cyan) !important; }
.aisol-time-card.t-90 .badge { color: var(--site-mint) !important; }
.aisol-time-card.t-90 .badge::before { background: var(--site-mint) !important; }

/* ---------- INDUSTRIES STRIP — was white, now dark ---------- */
.aisol-industries {
  background: var(--site-bg-2, #0A0E1F) !important;
  border-top: 1px solid var(--site-line) !important;
  border-bottom: 1px solid var(--site-line) !important;
}
.aisol-ind-grid {
  background: var(--site-line) !important;
  border: 1px solid var(--site-line) !important;
}
.aisol-ind {
  background: var(--site-bg, #05070F) !important;
}
.aisol-ind:hover { background: rgba(79,200,255,0.04) !important; }
.aisol-ind .name { color: #fff !important; }
.aisol-ind .desc { color: var(--site-text-2) !important; }

/* ---------- STACK section ---------- */
.aisol-stack {
  background: var(--site-bg-2, #0A0E1F) !important;
}
.aisol-stack-diagram {
  background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.005)) !important;
  border: 1px solid var(--site-line) !important;
}
.aisol-stack-layer {
  background: rgba(255,255,255,0.025) !important;
  border: 1px solid var(--site-line) !important;
}
.aisol-stack-layer:hover {
  border-color: rgba(79,200,255,0.35) !important;
  background: rgba(79,200,255,0.06) !important;
}
.aisol-stack-chip {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid var(--site-line) !important;
  color: var(--site-text) !important;
}
.aisol-stack-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.012)) !important;
  border: 1px solid var(--site-line) !important;
}
.aisol-stack-card .stat-num { color: var(--site-cyan) !important; }

/* ---------- CINEMA dividers ---------- */
.aisol-cinema {
  background: var(--site-bg, #05070F) !important;
}

/* ---------- MARQUEE row ---------- */
.aisol-marquee {
  background: var(--site-bg, #05070F) !important;
  border-top: 1px solid var(--site-line) !important;
  border-bottom: 1px solid var(--site-line) !important;
}
.aisol-marquee::before { background: linear-gradient(90deg, var(--site-bg, #05070F), transparent) !important; }
.aisol-marquee::after  { background: linear-gradient(-90deg, var(--site-bg, #05070F), transparent) !important; }
.aisol-marquee-item .dot { background: var(--site-cyan) !important; }

/* ---------- FINAL CTA — already dark, just align tokens ---------- */
.aisol-final {
  background: var(--site-bg-2, #0A0E1F) !important;
}
