/* Hallmark · tokens · VSC — Virtual Solution Cloud S.A.C.
 * route: custom (tuned) · anchored on the brand teal #03607E
 * axes: paper-band=light · display-style=grotesk-sans · accent-hue=cool
 */
:root{
  /* ── Colour · OKLCH ────────────────────────────────────────── */
  --color-paper:        oklch(99.0% 0.003 230);   /* cool near-white, tinted — never #fff */
  --color-paper-2:      oklch(96.8% 0.006 230);   /* banded sections */
  --color-paper-3:      oklch(93.6% 0.010 230);   /* hover surfaces */
  --color-ink:          oklch(30.1% 0.066 263);   /* brand navy #1C2D4F */
  --color-ink-2:        oklch(48.0% 0.032 258);   /* secondary prose */
  --color-ink-3:        oklch(54.0% 0.022 255);   /* captions, meta — AA 4.91:1 */
  --color-accent:       oklch(45.7% 0.089 228);   /* brand teal #03607E */
  --color-accent-deep:  oklch(36.0% 0.078 230);   /* pressed / hover */
  --color-signal:       oklch(89.4% 0.189 106);   /* brand yellow — rules & marks only */
  --color-deep:         oklch(26.5% 0.058 263);   /* dark band ground */
  --color-deep-2:       oklch(33.0% 0.062 258);   /* dark band raise */
  --color-on-deep:      oklch(96.0% 0.006 240);
  --color-on-deep-2:    oklch(78.0% 0.020 245);
  --color-rule:         oklch(89.0% 0.010 235);
  --color-rule-strong:  oklch(80.0% 0.016 235);
  --color-focus:        oklch(45.7% 0.089 228);

  /* ── Type ──────────────────────────────────────────────────── */
  --font-display: 'IBM Plex Sans', ui-sans-serif, system-ui, sans-serif;
  --font-body:    'IBM Plex Sans', ui-sans-serif, system-ui, sans-serif;
  --font-mono:    'IBM Plex Mono', ui-monospace, monospace;

  --text-figure:   clamp(4.25rem, 11vw, 9.5rem);
  --text-display:  clamp(2.1rem, 4.4vw, 3.5rem);
  --text-display-s:clamp(1.75rem, 3.2vw, 2.5rem);
  --text-2xl:      clamp(1.35rem, 2vw, 1.75rem);
  --text-xl:       clamp(1.15rem, 1.5vw, 1.3rem);
  --text-lg:       1.0625rem;
  --text-base:     1rem;
  --text-sm:       0.875rem;
  --text-xs:       0.78125rem;

  --leading-tight: 1.08;
  --leading-snug:  1.28;
  --leading-body:  1.62;
  --tracking-tight:-0.022em;
  --tracking-flat: 0;
  --tracking-wide: 0.09em;

  /* ── Space · 4 pt ──────────────────────────────────────────── */
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-band: clamp(3.5rem, 7vw, 6.5rem);

  /* ── Line · rules ──────────────────────────────────────────── */
  --rule-hair:   1px;
  --rule-strong: 2px;
  --rule-mark:   3px;

  /* ── Radius — tight, engineered ────────────────────────────── */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 6px;

  /* ── Motion ────────────────────────────────────────────────── */
  --dur-fast:  120ms;
  --dur-base:  200ms;
  --dur-slow:  320ms;
  --ease-out:     cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in:      cubic-bezier(0.55, 0, 1, 0.45);
  --ease-in-out:  cubic-bezier(0.65, 0, 0.35, 1);

  /* ── Measure ───────────────────────────────────────────────── */
  --measure:      68ch;
  --measure-tight:54ch;
  --container:    76rem;
  --container-narrow: 58rem;
}
