/* The brand palette. ONE definition for this site.
 *
 * These values are NOT original: they are the palette from
 * `ib-transport-logistics/lainex-site/public/brand.css`, whose own header warns that a palette
 * living in several files is "three edits and two chances to miss one". That warning applies here.
 * This file is the copy; that file is the source. When a value changes upstream, change it here in
 * the same commit, or run the drift check:
 *
 *   diff <(grep -oE '^\s*--[a-z-]+: *#[0-9a-f]{6}' <upstream>/brand.css | tr -d ' ') \
 *        <(grep -oE '^\s*--[a-z-]+: *#[0-9a-f]{6}' public/brand.css   | tr -d ' ')
 *
 * Why a copy and not a symlink: this project deploys to Cloudflare Pages from its own directory and
 * has no build step to resolve one. A copy that is checked is honest; a copy that is not is drift.
 */
:root {
  /* ---- Neutrals ------------------------------------------------------------------------ */
  --bg: #ffffff;
  --ink: #111a4a;              /* navy, body text */
  --muted: #5b6272;            /* secondary copy */
  --dim: #6b7280;              /* labels. #8b91a1 measured 3.15:1 upstream and failed AA */
  --rule: #dce9eb;             /* hairlines, tinted to the accent's hue rather than neutral grey */
  --rule-strong: #789497;      /* control boundaries: WCAG 1.4.11 wants 3:1, this is 3.24:1 */
  --surface: #f4f9fa;

  /* ---- Accent -------------------------------------------------------------------------- */
  /* Petrol, derived in OKLCH at hue 205. 7.09:1 on white. */
  --accent: #00626c;
  --accent-soft: #f0f8f8;
  --accent-rule: #bbd7da;
  --accent-ink: #004e57;       /* pressed/hover state of the accent */
  --danger: #b42318;

  /* ---- Local additions, not upstream ---------------------------------------------------
     Named here so they stop being anonymous literals. Both came out of the dark-to-light
     conversion and had no token before this file existed. */
  --accent-lift: #0b8794;      /* light stop of the timeline progress gradient */
  --on-accent: #ffffff;        /* text on an accent fill: the CTA label */

  /* ---- Channels -------------------------------------------------------------------------
     The same colours are also needed at partial alpha, mostly for SVG strokes and hairlines.
     Storing channels means an alpha variant does not require a second hard-coded literal:
     rgb(var(--ink-rgb) / 0.09) rather than rgba(17,26,74,0.09). */
  --ink-rgb: 17 26 74;
  --accent-rgb: 0 98 108;
  --accent-ink-rgb: 0 78 87;
  --accent-rule-rgb: 187 215 218;
  --bg-rgb: 255 255 255;

  /* ---- Primitives ----------------------------------------------------------------------- */
  --mono: ui-monospace, 'SF Mono', Menlo, monospace;
  --sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --focus-ring: 2px solid var(--accent);
  --radius-chip: 4px;
  --radius-input: 8px;
  --radius-control: 12px;
  --radius-pill: 999px;

  /* ---- Layout ---------------------------------------------------------------------------
     Repeated 7x and 11x respectively in the markup before they were tokens. */
  --measure: 1140px;
  --gutter: clamp(20px, 4vw, 48px);
  --section-y: clamp(70px, 9vw, 120px);
}
