/* Mad Cow — design tokens. Single source of truth for both sites.
   Read docs/design-brief.md before changing anything here.
   No hex value or pixel size belongs anywhere outside this file. */

:root {
  /* ---- Colour ----
     --blue is sampled from the transom decal. Fixed. Do not adjust it,
     do not shift it toward navy or teal. Everything else defers to it. */
  --hull:      #EDF0F0; /* page base — gelcoat grey, cooled and lifted */
  --chalk:     #FAFBFB; /* raised surfaces, cards */
  --blue:      #0067A1; /* sampled. fixed. */
  --blue-deep: #004E7C; /* hover / pressed */
  --deep:      #05273C; /* body text, inverted fields — night water */
  --spray:     #9BC3D6; /* dividers, muted secondary. Never text on light: 1.8:1 */

  /* One accent at two values. --ensign on light surfaces, --ensign-lt on
     --deep fields. Never cross them — each fails contrast on the other's
     background. One accent element per viewport; see the budget note in
     the brief before adding a second. */
  --ensign:    #B3123C;
  --ensign-lt: #FF7D99;

  /* ---- Type ----
     Families load per-page via <link> (Google Fonts, font-display: swap).
     The wordmark is artwork, not type — never re-set MAD COW in a font. */
  --font-display: "Bricolage Grotesque", "Avenir Next Condensed", "Arial Narrow", sans-serif;
  --font-body:    "Instrument Sans", system-ui, "Segoe UI", sans-serif;
  --font-mono:    "DM Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;

  /* Display headings sit slightly condensed and heavy: wdth 88–92, wght 620–700 */
  --display-stretch: 90%;
  --display-weight:  650;

  /* Type scale — minor-third-ish, rem-based */
  --text-xs:   0.75rem;
  --text-sm:   0.875rem;
  --text-base: 1rem;
  --text-lg:   1.1875rem;
  --text-xl:   1.4375rem;
  --text-2xl:  1.75rem;
  --text-3xl:  2.25rem;
  --text-4xl:  3rem;

  --leading-tight: 1.15;
  --leading-body:  1.55;

  /* ---- Space — 8px rhythm with a half step ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2rem;
  --space-6: 3rem;
  --space-7: 4.5rem;
  --space-8: 6rem;

  /* ---- Structure ----
     No border radius anywhere. The decal is cut vinyl with hard edges,
     so there is deliberately no --radius token to reach for. */
  --measure:      65ch;                      /* body text line length cap */
  --page-max:     72rem;
  --shadow-card:  0.5rem 0.5rem 0 var(--blue); /* hard offset, no blur */
  --ease-quick:   90ms ease;                 /* eye tracking, hovers */
  --border-hair:  1px solid var(--spray);
}
