/* Impress Designs brand tokens.
 *
 * This file is the machine-readable distribution of the organization's brand
 * standard. The standard itself — which colour means what, which pairings are
 * approved, why the primary blue is what it is — is prose, and lives in the spec:
 * https://github.com/impressdesigns/spec/blob/main/brand/colors.md
 *
 * Consume these custom properties. A hard-coded copy of a brand colour does not
 * follow when the token changes.
 *
 * Published to https://cdn.impressdesigns.com/stylesheets/brand.css. The font URLs
 * below are relative to this stylesheet, so the same file works whether it is
 * loaded from the CDN or from a local build of this repository.
 */

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter/InterVariable-Latin.woff2") format("woff2");
}

@font-face {
  font-family: Inter;
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter/InterVariable-Italic-Latin.woff2") format("woff2");
}

:root {
  /* The approved palette. One token per approved colour, one value per token.
   * RGB and CMYK renderings are omitted deliberately: RGB restates the hex, and a
   * CMYK build is negotiated with the printer per press and substrate. Neither is
   * an invariant worth freezing here. */
  --blue: #194289; /* Impress Primary Blue, Pantone 7687 C */
  --blue-dark: #002f6d; /* Impress Deep Blue, Pantone 294 C */
  --blue-pale: #dce3ec; /* Impress Pale Blue, Pantone 656 C */
  --ink: #021e42; /* Impress Midnight Blue, Pantone 282 C */
  --ink-soft: #53555a; /* Impress Secondary Gray, Pantone Cool Gray 11 C */
  --line: #d9d8d6; /* Impress Light Gray, Pantone Cool Gray 1 C */
  --charcoal: #25282a; /* Impress Neutral Charcoal, Pantone 426 C */
  --yellow: #ffd100; /* Impress Bright Yellow, Pantone 109 C */
  --yellow-pale: #f6e0a4; /* Impress Pale Yellow, Pantone 7401 C */
  --error: #c0042f; /* Impress Error Red, Pantone 200 C */
  --error-pale: #f5d9df; /* Impress Pale Red, Pantone 705 C */
  --success: #007934; /* Impress Success Green, Pantone 356 C */
  --success-pale: #cfdfd6; /* Impress Pale Green, Pantone 621 C */
  --white: #ffffff; /* Paper White — the substrate or digital white, not a spot ink */

  /* Channel triplets for the four colours that get composited with alpha. CSS
   * cannot decompose a hex custom property, so `rgb(var(--blue-rgb) / 12%)` has no
   * formulation that reads `--blue` directly. These are derived from the values
   * above and must be changed with them. */
  --blue-rgb: 25 66 137;
  --blue-pale-rgb: 220 227 236;
  --ink-rgb: 2 30 66;
  --yellow-rgb: 255 209 0;

  /* Aliases that carry a rule rather than a second name for a colour. */

  /* A required control's boundary is Secondary Gray, never Light Gray: --line is
   * 1.42:1 on white and cannot be the only thing marking an input's edge. */
  --control-border: var(--ink-soft);

  /* There is deliberately no single focus colour. Each component picks the token
   * for the surface it actually sits on. */
  --focus-on-light: var(--blue);
  --focus-on-dark: var(--yellow);

  /* Inter is packaged above. Segoe UI is the first Windows fallback, system-ui the
   * platform default, sans-serif the final generic. */
  --font-sans: Inter, "Segoe UI", system-ui, sans-serif;
}
