/* authored. design tokens. Source: authored-site-v2b-netlify + authored-brand-kit. */
:root {
  --encre: #2A2620;
  --encre-bleue: #1F2747;
  --white: #FFFFFF;
  --rule: #E1E5EA;
  --muted: #646B78;

  --bg: var(--white);
  --surface: #F2F4F7;
  --surface-2: #EAEDF1;
  --ink: var(--encre);
  --ink-60: rgba(42, 38, 32, 0.68);
  --ink-40: rgba(42, 38, 32, 0.40);
  --line: var(--rule);
  --accent: var(--encre-bleue);
  --accent-ink: var(--white);
  --accent-soft: rgba(31, 39, 71, 0.07);
  --accent-line: rgba(31, 39, 71, 0.28);
  --ok: #2F5D3A;
  --ok-soft: rgba(47, 93, 58, 0.09);
  --warn: #8A4B14;
  --warn-soft: rgba(138, 75, 20, 0.09);
  --danger: #8E2A1E;
  --danger-soft: rgba(142, 42, 30, 0.08);

  --sans: 'Geist', 'Helvetica Neue', Arial, sans-serif;
  /* Mono is for accession numbers, code and keys only (Emma, 31 Oct 2026); everything once in --mono now reads in the sans. */
  --mono: var(--sans);
  --id: 'Geist Mono', ui-monospace, monospace;

  --gutter: clamp(16px, 4vw, 56px);
  /* Softer corners and a light lift (Emma, 29 Oct 2026): controls 8px, cards and panels 14px. */
  --radius: 8px;
  --radius-lg: 14px;
  --card: var(--white);
  /* Orange: a signal for "here" and "you can act", never decoration. Text on a pale orange box is navy (--accent), never orange (Emma, 31 Oct 2026). */
  --orange: #E8833A;
  --orange-soft: #FDF1E6;
  --orange-line: #F0C9A6;
  --orange-ink: #A9540F;
  /* Paper white, not cream (Emma, 31 Oct 2026): a cool page that white cards still lift off. */
  --paper: #F5F7F9;
  --shadow-sm: 0 1px 2px rgba(42, 38, 32, 0.06), 0 1px 3px rgba(42, 38, 32, 0.04);
  --shadow: 0 1px 2px rgba(42, 38, 32, 0.05), 0 4px 16px rgba(42, 38, 32, 0.06);
  --shadow-lift: 0 2px 6px rgba(42, 38, 32, 0.07), 0 12px 28px rgba(42, 38, 32, 0.10);
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --duration: 0.25s;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #14182B;
    --surface: #1A1F36;
    --surface-2: #1F2747;
    --ink: #F4F1EC;
    --ink-60: rgba(244, 241, 236, 0.70);
    --ink-40: rgba(244, 241, 236, 0.45);
    --line: rgba(255, 255, 255, 0.12);
    --muted: rgba(244, 241, 236, 0.60);
    --accent: #F4F1EC;
    --accent-ink: #1F2747;
    --accent-soft: rgba(255, 255, 255, 0.08);
    --accent-line: rgba(255, 255, 255, 0.30);
    --ok: #8FC29B;
    --ok-soft: rgba(143, 194, 155, 0.12);
    --warn: #E0A867;
    --warn-soft: rgba(224, 168, 103, 0.12);
    --danger: #E58B7D;
    --danger-soft: rgba(229, 139, 125, 0.12);
    --orange: #F0A060; --orange-soft: rgba(240, 160, 96, 0.12); --orange-line: rgba(240, 160, 96, 0.40); --orange-ink: #F0B27F; --paper: #14182B;
    --card: #1A1F36; /* in the dark, cards sit a shade lighter so the lift shows */
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.30);
    --shadow: 0 1px 2px rgba(0, 0, 0, 0.28), 0 6px 18px rgba(0, 0, 0, 0.22);
    --shadow-lift: 0 2px 6px rgba(0, 0, 0, 0.32), 0 14px 32px rgba(0, 0, 0, 0.30);
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #14182B;
  --surface: #1A1F36;
  --surface-2: #1F2747;
  --ink: #F4F1EC;
  --ink-60: rgba(244, 241, 236, 0.70);
  --ink-40: rgba(244, 241, 236, 0.45);
  --line: rgba(255, 255, 255, 0.12);
  --muted: rgba(244, 241, 236, 0.60);
  --accent: #F4F1EC;
  --accent-ink: #1F2747;
  --accent-soft: rgba(255, 255, 255, 0.08);
  --accent-line: rgba(255, 255, 255, 0.30);
  --ok: #8FC29B;
  --ok-soft: rgba(143, 194, 155, 0.12);
  --warn: #E0A867;
  --warn-soft: rgba(224, 168, 103, 0.12);
  --danger: #E58B7D;
  --danger-soft: rgba(229, 139, 125, 0.12);
  --card: #1A1F36; /* in the dark, cards sit a shade lighter so the lift shows */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.30);
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.28), 0 6px 18px rgba(0, 0, 0, 0.22);
  --shadow-lift: 0 2px 6px rgba(0, 0, 0, 0.32), 0 14px 32px rgba(0, 0, 0, 0.30);
  color-scheme: dark;
}
