/**
 * tokens.css — "The Instrument" (Corrum Capital Management, bold-typographic concept)
 * Copied from design-physics-kit/dist/vercel/tokens.css and overridden in place with this
 * concept's brand values. Structurally a pure token file (every declaration is --x: value;)
 * so the physics gate's raw_hex_literals scan treats this file as the law, not a violation.
 *
 * Palette: ONE chromatic hue (Corrum plum #593160) + its own tints/shades + true neutrals
 * (ink #000000, paper #FFFFFF). No second hue anywhere. Type ratio: 1.25, base 16px
 * (Layer-0 law 6) — display steps 4xl/5xl/6xl and --size-hero are the declared architectural
 * exception for the viewport-scale wordmark, not a second ratio.
 */

:root {
  /* ── neutrals ─────────────────────────────────────────────────────────── */
  --color-neutral-0: #ffffff;
  --color-neutral-50: #faf8fa;
  --color-neutral-200: #e6e0e5;
  --color-neutral-500: #6b6b67;
  --color-neutral-800: #201a20;
  --color-neutral-950: #000000;

  /* ── brand: Corrum plum — the one chromatic hue + its own ramp ──────────── */
  --color-brand-primary: #593160;   /* the client's stated colour group */
  --color-brand-primary-dark: #3f2145; /* hover / dark surfaces / inverse band */
  --color-brand-primary-mid: #7c577c;  /* pptx accent2 — decorative use only, never small text */
  --color-brand-accent: #3f2145;    /* kept in-hue on purpose: no second accent colour */
  --color-brand-tint: #ded2dc;      /* plum tint — rules, borders, sunken fills; never text */
  --color-brand-sunken: #f6f3f6;    /* lighter wash derivative — alternating band fill */

  /* ── type families ────────────────────────────────────────────────────── */
  --font-display: 'Instrument Serif', 'Times New Roman', Georgia, serif;
  --font-body: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* ── type scale — ratio 1.25, base 16px ──────────────────────────────── */
  --size-scale-xs: 0.8125rem;   /* 13px */
  --size-scale-sm: 1rem;        /* 16px base */
  --size-scale-md: 1.25rem;     /* 20px */
  --size-scale-lg: 1.5625rem;   /* 25px */
  --size-scale-xl: 1.9375rem;   /* 31px */
  --size-scale-2xl: 2.4375rem;  /* 39px */
  --size-scale-3xl: 3.0625rem;  /* 49px */
  --size-scale-4xl: 3.8125rem;  /* 61px */
  --size-scale-5xl: 4.75rem;    /* 76px */
  --size-scale-6xl: 6rem;       /* 96px — slab labels (AVIATION / ENTERTAINMENT) */
  --size-hero: clamp(4.5rem, 17vw, 13.5rem); /* viewport-scale wordmark — architectural exception */
  --size-hero-mobile: clamp(4rem, 22vw, 7.5rem); /* 64–120px — mobile is its own composition, not desktop scaled down */

  /* ── spacing — 8pt grid ───────────────────────────────────────────────── */
  --size-space-1: 0.25rem;  /* 4  */
  --size-space-2: 0.5rem;   /* 8  */
  --size-space-3: 1rem;     /* 16 */
  --size-space-4: 1.5rem;   /* 24 */
  --size-space-5: 2.5rem;   /* 40 */
  --size-space-6: 4rem;     /* 64 */
  --size-space-7: 6.5rem;   /* 104 */
  --size-space-8: 8rem;     /* 128 — architectural section gaps */

  --size-radius-sm: 0px;
  --size-radius-md: 0px;

  /* ── motion ───────────────────────────────────────────────────────────── */
  --motion-duration-fast: 150ms;
  --motion-duration-base: 240ms;
  --motion-duration-slow: 600ms;
  --motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --motion-easing-entrance: cubic-bezier(0, 0, 0.2, 1);

  /* ── semantic ─────────────────────────────────────────────────────────── */
  --semantic-bg: #ffffff;
  --semantic-surface: #ffffff;
  --semantic-sunken: #f6f3f6;
  --semantic-ink: #000000;
  --semantic-ink-muted: #593160;      /* 10.33:1 on white — safe at any size, see design notes */
  --semantic-rule: #ded2dc;
  --semantic-action: #593160;
  --semantic-signal: #3f2145;
  --semantic-inverse-bg: #3f2145;
  --semantic-inverse-ink: #ffffff;
  --semantic-inverse-ink-muted: #ded2dc; /* 9.48:1 on inverse-bg */
}

