/* Seen & Booked — design tokens. Poster and stamp: flat colour blocks, hard edges, signage type.
   One visual world, light only. Do not add gradients, soft shadows, rounded cards or glass effects. */
:root {
  color-scheme: light;

  /* colour */
  --ink: #0d0d0d;        /* text, rules, hard shadows */
  --white: #ffffff;
  --sun: #ffd60a;        /* signal yellow: "seen" */
  --blue: #1b34f2;       /* cobalt: main colour block */
  --stamp: #ff3b1f;      /* stamp red: "booked", alerts */
  --sky: #dfe6ff;        /* pale blue block */
  --fog: #f1f1ec;        /* neutral block */
  --dim: #6b6b6b;        /* secondary text on white or fog */
  --tick: #34b7f1;       /* "seen" double-check blue, logo only */

  /* type */
  --f-display: "Big Shoulders Display", "Arial Narrow", Impact, sans-serif; /* 800–900, caps */
  --f-body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
  --f-mono: "Martian Mono", ui-monospace, "SF Mono", Menlo, monospace;      /* prices, board, labels */

  --t-hero: clamp(2.4rem, 5.6vw, 5rem);      /* the one big line; nothing else on the page is larger */
  --t-h2: clamp(1.85rem, 3.8vw, 3.25rem);
  --t-h3: clamp(1.35rem, 2.1vw, 1.8rem);
  --t-lede: clamp(1.1rem, 1.6vw, 1.4rem);
  --t-body: 1.0625rem;
  --t-small: 0.875rem;
  --t-label: 0.75rem;    /* mono, uppercase, letter-spacing .08em */

  /* shape */
  --rule: 3px solid var(--ink);
  --rule-thin: 2px solid var(--ink);
  --shadow: 6px 6px 0 var(--ink);       /* hard offset, never blurred */
  --shadow-sm: 4px 4px 0 var(--ink);
  --radius: 0;

  /* space */
  --gutter: clamp(16px, 4vw, 48px);
  --section: clamp(64px, 10vw, 140px);
  --max: 1280px;

  /* motion */
  --ease: cubic-bezier(.2, .8, .2, 1);
  --snap: cubic-bezier(.3, 1.6, .5, 1);  /* stamp overshoot */
}
