/*
 * Harrison Accountants — design tokens.
 * Source of truth: "Brand Guide.pdf" (Brand Identity Design). Rules: /DESIGN-SYSTEM.md.
 * Loaded first; brand.css applies them. Every colour in the site CSS must be one of the six
 * brand colours, white, or a 5%-step tint of a brand colour (checked by tools/brand-colours.py
 * and tests/skeleton.test.mjs).
 */

/* Primary typeface: Trajan Pro (licence pending). Cinzel (SIL OFL, self-hosted) stands in. */
@font-face{font-family:Cinzel;src:url('../fonts/cinzel-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Cinzel;src:url('../fonts/cinzel-700.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}

:root{
  /* ---- Brand palette (Guide p.08) — exact values ---- */
  --brand-navy:#222d65;
  --brand-gold:#a08359;
  --brand-gold-light:#d7bb72;
  --brand-grey:#e5e5e5;
  --brand-ink:#242e3d;
  --brand-indigo:#070049;
  --white:#ffffff;

  /* ---- Tints used by the site (white mixed with a brand colour) ---- */
  --grey-25:#f8f8f8;           /* grey 25%  — raised section */
  --grey-35:#f6f6f6;           /* grey 35%  — page surface */
  --grey-60:#efefef;           /* grey 60%  — alternate section */
  --ink-70:#666d77;            /* ink 70%   — secondary text (5.3:1 on white) */
  --ink-55:#878c94;            /* ink 55%   — disabled / placeholder only */

  /* ---- Semantic roles ---- */
  --surface:var(--grey-35);
  --surface-raised:var(--white);
  --surface-alt:var(--grey-60);
  --color-heading:var(--brand-navy);
  --color-text:var(--brand-ink);
  --color-text-muted:var(--ink-70);
  --color-label:var(--brand-navy);        /* small labels: navy (gold fails AA at 12pt) */
  --color-accent:var(--brand-gold);       /* large text, rules, icons */
  --color-accent-on-dark:var(--brand-gold-light);
  --color-border:var(--brand-grey);
  --color-focus:var(--brand-gold);
  /* Status colours — a deliberate exception to the six-colour palette (see DESIGN-SYSTEM.md): form
     success and errors need the conventional green and red to be understood. Always paired with
     text or an icon, never colour alone. Contrast on white: error 6.5:1, success 5.5:1. */
  --color-error:#b3261e;
  --color-error-tint:#fdecea;
  --color-success:#1b7a3d;
  --color-success-tint:#e7f4ec;

  /* ---- Typography (Guide p.06–07) — exact sizes ---- */
  --font-heading:"Trajan Pro 3","Trajan Pro",Cinzel,"Times New Roman",serif;
  --font-body:Roboto,Arial,sans-serif;
  --fs-h1:34pt;                /* Trajan Pro Bold */
  --fs-h2:22pt;                /* Trajan Pro Bold */
  --fs-h3:18pt;                /* Trajan Pro Bold */
  --fs-body:14pt;              /* Roboto Medium */
  --fs-desc:12pt;              /* Roboto Regular */
  --fw-heading:700;
  --fw-body:500;
  --fw-desc:400;

  /* ---- Logo (Guide p.05) ---- */
  --logo-clear:50px;           /* minimum clear space on every side of the complete logo */
  --logo-header-h:76px;

  /* ---- Shape & elevation ---- */
  --radius-card:20px;
  --radius-pill:999px;
  --shadow-card:0 22px 54px rgba(34,45,101,.1);
}
@media(max-width:680px){:root{--logo-header-h:58px}}
