/* shared/brand/tokens.css
 *
 * Ener.co brand tokens — single source of truth for color, typography,
 * spacing. Every renderer should consume these instead of hardcoding values.
 *
 * Consumption patterns:
 *   1. Hosted HTML:   <link rel="stylesheet" href="/shared/brand/tokens.css">
 *   2. Self-contained HTML (proposals, case studies, email): read file at build
 *      time and inline into the output's <style> block — proposer/contracts/
 *      render_v6_pdf.py uses this pattern via load_brand_css().
 *   3. Python (python-docx renderers): import from shared/brand/tokens.py
 *      which mirrors these values.
 *
 * ──────────────────────────────────────────────────────────────────────────
 * Two palettes coexist by deliberate choice (Pat 2026-05-26). Context
 * determines which set to use; convergence is NOT planned.
 *
 *   --brand-* (Westcott canonical) — MARKETING:
 *     Website, deck, social, email signatures, business cards. Bill
 *     Westcott's 2024 brand exercise (Decision 1, PLAN.md 2026-05-19).
 *
 *   --proposal-* (premium long-form variant) — TRANSACTIONAL:
 *     Proposals, contracts, exec summaries, M&V technical reports.
 *     Softer navy + red; print-friendly at 14.5px body on letter paper
 *     where the brighter Westcott blues read hot. Currently shipping in
 *     proposer/contracts/render_v6_pdf.py premium renderer.
 *
 * Picking for a new surface: if a customer sees it in a marketing context,
 * --brand-*. If in a transactional context (reviewing at their desk,
 * signing, reading a deliverable), --proposal-*.
 * ──────────────────────────────────────────────────────────────────────────
 */

:root {
  /* ── Westcott canonical palette (Decision 1, 2026-05-19) ────────── */
  --brand-blue:        #01148A;   /* Reflex Blue — primary */
  --brand-blue-dark:   #020155;   /* Dark Blue — secondary */
  --brand-orange:      #FF2A1B;   /* RAL Orange — primary accent */
  --brand-red-brown:   #561B1B;   /* Red/Brown — secondary accent */
  --brand-green:       #06A191;   /* Supporting */
  --brand-light-blue:  #3FB6EA;   /* Supporting */
  --brand-gray:        #F2F2F2;   /* Neutral light */

  /* ── Proposal premium palette (v9 Osborn, Don variant) ──────────── */
  --proposal-navy:       #16263f;
  --proposal-navy-dark:  #0f1c30;
  --proposal-red:        #cf2e2e;
  --proposal-navy-tint:  #eef2f8;
  --proposal-red-tint:   #fbebeb;

  /* ── Neutral text scale ──────────────────────────────────────────── */
  --text-ink:        #1f2733;   /* Document body */
  --text-primary:    #333333;   /* Westcott primary text */
  --text-muted:      #5d6775;   /* Sub-labels, captions */
  --text-light:      #808080;   /* Westcott muted */
  --paper:           #ffffff;
  --line:            #d9dee6;   /* Default cell border */
  --line-soft:       #e8ecf1;   /* Subtle dividers */

  /* ── Page backdrop (gray panel behind .doc in browser view) ─────── */
  --page-bg:         #9aa3b0;

  /* ── Typography ──────────────────────────────────────────────────────
   *   --font-display: serif used on h2, hero numbers, "Prepared for" name.
   *     Newsreader is the v9 choice; Manrope is the brand-plan canonical.
   *     Fallback chain covers either being unavailable.
   *   --font-body:    primary sans for paragraphs, labels, tables.
   *     Archivo is the v9 choice; Inter is the brand-plan canonical.
   *   --font-mono:    code/data; DM Mono per brand plan.
   * ─────────────────────────────────────────────────────────────────── */
  --font-display: 'Newsreader', 'Manrope', Georgia, serif;
  --font-body:    'Archivo', 'Inter', system-ui, -apple-system, "Helvetica Neue", sans-serif;
  --font-mono:    'DM Mono', 'SF Mono', Menlo, Consolas, monospace;

  /* ── Spacing scale (powers-of-2-ish, in pixels) ──────────────────── */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-6:  24px;
  --space-8:  32px;
  --space-12: 48px;
  --space-16: 64px;

  /* ── Border radii ────────────────────────────────────────────────── */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 9px;
}
