/*
  Design tokens for the pitch deck.

  Mapped from brand/tokens.css (Boundform Labs brand system v0.2, 13 Oct 2026):
  ink on paper, ember orange as the brand and agent colour, harbour green as a
  sparing accent for the human broker's approval, Source Serif 4 for display (v0.3),
  Source Sans 3 for text.
  deck.css only uses the variable names below, so a brand update means
  changing the values here, not the layouts.
*/

/* Fonts are self-hosted from assets/fonts (SIL Open Font License, from Google Fonts),
   so the deck still renders if a CDN is unavailable. */
@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url("../assets/fonts/source-serif-4-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Source Serif 4";
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
  src: url("../assets/fonts/source-serif-4-italic-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../assets/fonts/source-sans-3-latin.woff2") format("woff2");
}
/* Arrows and maths symbols (→ ← ↔ ≤ ≥ ≈ × ✓) are not in the latin subset. */
@font-face {
  font-family: "Deck Symbols";
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url("../assets/fonts/source-sans-3-symbols.woff2") format("woff2");
}

:root {
  /* Surfaces */
  --color-paper: #f7f4ee;        /* brand --paper: slide background, letterbox */
  --color-paper-2: #efebe3;      /* brand --paper-sunken: panels, wells */
  --color-paper-3: #e8e3da;      /* brand --grey-100: neutral bands */
  --color-rule: #d9d3c8;         /* brand --grey-200: hairlines */
  --color-rule-strong: #bdb6aa;  /* brand --grey-300: axis baselines */

  /* Ink */
  --color-ink: #1a2226;          /* brand --ink, 14.7:1 on paper */
  --color-ink-2: #46433f;        /* brand --grey-700, secondary text, 9.0:1 */
  --color-muted: #5e5a54;        /* brand --grey-600, muted text, 6.2:1 */

  /* Primary: ember orange, THE brand colour and the agent's colour (Hollyn) */
  --color-accent: #b8431b;       /* brand --ember-700, 5.0:1 on paper, 5.5:1 with white */
  --color-accent-hover: #963511; /* brand --ember-800 */
  --color-accent-soft: #f6ddd0;  /* brand --ember-100, tint */
  --color-accent-subtle: #fbefe8;/* brand --ember-50 */
  --color-accent-mid: #f2a687;   /* brand --ember-300 */
  --color-accent-on-ink: #ec7a50;/* brand --ember-400, orange on the dark slides */

  /* Editorial details (eyebrows, labels, rules, progress bar): ember too.
     Brass is no longer a brand colour in v0.2. */
  --color-editorial: #b8431b;
  --color-editorial-text: #b8431b;
  --color-editorial-on-ink: #ec7a50;

  /* Human broker's approval: harbour green, used sparingly */
  --color-human: #1e4f5c;        /* brand --harbour-700, 8.2:1 on paper */
  --color-human-soft: #dce8eb;   /* brand --harbour-100 */
  --color-human-on-ink: #8db3bd; /* brand --harbour-300 */

  /* Chart roles, from brand --data-*: ember for us, ink for the proof point or a
     total, slate for context, harbour as a secondary series if one is needed.
     Slate is 2.8:1 on paper, so every slate mark carries a direct label and the
     appendix tables give the values. */
  --chart-focus: #b8431b;        /* brand --data-1 ember */
  --chart-focus-soft: #f2a687;   /* brand --ember-300: range extension */
  --chart-strong: #1a2226;       /* brand --ink */
  --chart-second: #1e4f5c;       /* brand --data-2 harbour */
  --chart-neutral: #8a9499;      /* brand --data-3 slate */
  --chart-neutral-soft: #d9d3c8; /* brand --grey-200: range extension, network share */
  --chart-grid: #e8e3da;         /* brand --grey-100 */
  --chart-axis: var(--color-rule-strong);

  /* Dark (ink) slides */
  --color-ink-bg: #1a2226;
  --color-on-ink: #f7f4ee;
  --color-on-ink-2: #b4b0a8;

  /* Type */
  --font-display: "Source Serif 4", "Source Serif Pro", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --font-text: "Source Sans 3", "Deck Symbols", "Source Sans Pro", -apple-system, "Segoe UI", system-ui, sans-serif;
  --font-label: var(--font-text);   /* eyebrows, labels, axis ticks: uppercase Source Sans */
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace; /* refs and URLs only */

  /* Source Serif 4: optical size follows font-size (font-optical-sizing: auto);
     no other variation axes. Headlines semibold, accent phrases regular italic. */
  --display-weight: 600;
  --display-weight-sm: 600;
  --display-italic-weight: 400;
}
