/* Salian Visual System v3. Opt in with .sd-v3 on html.
   Loaded after the existing presentation layers. Scene variables, geometry,
   layout gates and behavioral state remain owned by their existing modules. */
@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 300 700;
  font-display: optional;
  src: url("/assets/fonts/space-grotesk-latin.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 100 700;
  font-display: optional;
  src: url("/assets/fonts/ibm-plex-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Cinzel";
  font-style: normal;
  font-weight: 500 800;
  font-display: optional;
  src: url("/assets/fonts/cinzel-latin.woff2") format("woff2");
}
:root {
  --sd-bg-0: #050b14;
  --sd-bg-1: #08111c;
  --sd-surface-1: #0e1624;
  --sd-surface-2: #111c2a;
  --sd-panel-alt: #172232;
  --sd-border: #243243;
  --sd-text-1: #f8fafc;
  --sd-text-2: #a3b1c1;
  --sd-text-muted: #64748b;
  --sd-cyan: #00d1ff;
  --sd-cyan-soft: #63e6ff;
  --sd-gold: #f4c268;
  --sd-gold-muted: #b99757;
  --sd-red: #ff5a68;
  --sd-success: #22c55e;
  --sd-font-brand: "Cinzel", Georgia, serif;
  --sd-font-display: "Space Grotesk", "Inter", system-ui, sans-serif;
  --sd-font-body: "IBM Plex Sans", "Inter", system-ui, sans-serif;
  --sd-font-tech: "JetBrains Mono", ui-monospace, monospace;
  --sd-space-1: .5rem;
  --sd-space-2: 1rem;
  --sd-space-3: 1.5rem;
  --sd-space-4: 2rem;
  --sd-radius: 3px;
  --sd-duration: 200ms;
  --sd-ease: cubic-bezier(.22, 1, .36, 1);
}
html.sd-v3 {
  --void: var(--sd-bg-1);
  --void-deep: var(--sd-bg-0);
  --bone: var(--sd-text-1);
  --cyan: var(--sd-cyan);
  --gold: var(--sd-gold);
  --crimson: var(--sd-red);
  --hp-ice: var(--sd-text-1);
  --hp-steel: var(--sd-text-2);
  --hp-steel-dim: var(--sd-text-2);
  --hp-edge: var(--sd-border);
}
.sd-v3 body { font-family: var(--sd-font-body); }
.sd-v3 .so-title, .sd-v3 .so-detail-title, .sd-v3 .hp-faq-title {
  font-family: var(--sd-font-display);
}
.sd-v3 #overlay-0 .so-title,
.sd-v3 .hud-tl .hud-label,
.sd-v3 .mob-hd-brand span { font-family: var(--sd-font-brand); }
html.sd-v3 .section-overlay .so-body,
.sd-v3 .mc-brief-need,
.sd-v3 .hp-faq-body,
.sd-v3 .wl-text,
.sd-v3 .so-detail-sub,
.sd-v3 .entry-paths .ep-need { font-family: var(--sd-font-body); }
/* Existing mobile rules use !important for the body family. */
html.sd-v3.mode-static.mob .so-body { font-family: var(--sd-font-body) !important; }
.sd-v3 .entry-paths b { font-family: var(--sd-font-display); }
.sd-v3 .so-eyebrow, .sd-v3 .so-creds, .sd-v3 .mc-k {
  font-family: var(--sd-font-tech);
}
