/* ShipLedger landing · tokens
 * A printed sheet: one substrate, two ink plates (mono-color "chromatic + black").
 *   substrate  Cool Gray    #E9E9E5  (substrate_cool_gray — restrained branding)
 *   black      Carbon       #242321  (ink_carbon)       — all type, rules, the CTA, the "Your data" plate
 *   chromatic  Ultramarine  #263E99  (ink_ultramarine)  — the product images (duotone plates, tools/make-plates.py)
 *                                                          and the one hand-drawn ring; never a link colour
 * Tints are screened ink (color-mix with the paper), never a third ink.
 * One typeface: Archivo (variable, wght 400–700, self-hosted in fonts/) — weight and size carry the hierarchy.
 */

:root {
  /* Substrate */
  --paper: #E9E9E5;

  /* Black plate */
  --ink: #242321;
  --ink-80: color-mix(in oklch, var(--ink) 80%, var(--paper));   /* secondary prose — 8.2:1 */
  --ink-72: color-mix(in oklch, var(--ink) 72%, var(--paper));   /* captions, microcopy — 5.7:1 */
  --rule: color-mix(in oklch, var(--ink) 24%, var(--paper));     /* hairline */

  /* Chromatic plate */
  --accent: #263E99;
  --accent-screen: color-mix(in oklch, var(--accent) 9%, var(--paper));   /* the quoted clause's ground */

  /* Knockout on the solid black plate */
  --paper-on-ink: var(--paper);
  --paper-on-ink-85: color-mix(in oklch, var(--paper) 85%, var(--ink));

  /* Type */
  --font: "Archivo", "Helvetica Neue", Arial, sans-serif;

  --text-body: 1.0625rem;      /* 17px — HIG default */
  --text-sm: 0.9375rem;
  --text-xs: 0.8125rem;
  --text-micro: 0.75rem;       /* 12px — floor */
  --text-lede: 1.3125rem;                                /* 21px */
  --text-row: clamp(1.5rem, 2.1vw, 1.875rem);            /* 24–30px — the three finding types */
  --text-figure: 2.75rem;                                 /* 44px — the ringed $96.00 */
  --text-statement: clamp(1.75rem, 3vw, 2.5rem);         /* 28–40px — the data promise, knocked out */
  --text-h2: clamp(2rem, 4vw, 3.5rem);                   /* 32–56px */
  --text-display: clamp(2.5rem, 6.6vw, 6rem);            /* 40–96px — the ceiling */

  /* Space */
  --space-section: clamp(5rem, 11vw, 9.5rem);
  --gutter: clamp(1.25rem, 4vw, 2.5rem);
  --measure: 1160px;

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --dur-fast: 160ms;

  /* Stack */
  --z-plate: 1;
  --z-headline: 2;
  --z-nav: 10;
  --z-grain: 30;
}
