/* ── SunnybrookTMS.ai design tokens ─────────────────────────────
   Control Plane direction: deep teal-black ground, Sunnybrook teal
   as primary, coral as the single hot accent (~5% of surface).
   All pairs verified: ink 17.3:1, muted 7.8:1, teal 10.2:1,
   coral 7.1:1 against --bg. */

@font-face {
  font-family: 'Archivo';
  src: url('/fonts/archivo-var.woff2') format('woff2');
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-display: swap;
}
@font-face {
  font-family: 'Martian Mono';
  src: url('/fonts/martian-mono-var.woff2') format('woff2');
  font-weight: 100 800;
  font-display: swap;
}

:root {
  /* color */
  --bg:       oklch(0.165 0.02 190);
  --bg-deep:  oklch(0.13 0.018 190);
  --surface:  oklch(0.21 0.02 190);
  --surface-2:oklch(0.245 0.021 190);
  --line:     oklch(0.30 0.02 190);
  --line-soft:oklch(0.255 0.02 190);
  --ink:      oklch(0.96 0.005 190);
  --muted:    oklch(0.72 0.012 190);
  --faint:    oklch(0.62 0.012 190);   /* secondary mono labels, 5.3:1 on bg */
  --teal:     oklch(0.78 0.12 178);
  --teal-dim: oklch(0.63 0.10 178);
  --teal-ghost: oklch(0.78 0.12 178 / 0.09);
  --coral:    oklch(0.72 0.18 23);
  --coral-ghost: oklch(0.72 0.18 23 / 0.12);
  --ink-on-hot: oklch(0.13 0.02 190);  /* text on teal/coral fills */

  /* type */
  --font-display: 'Archivo', 'Helvetica Neue', sans-serif;
  --font-body: 'Archivo', 'Helvetica Neue', sans-serif;
  --font-mono: 'Martian Mono', ui-monospace, 'SF Mono', monospace;

  --text-hero: clamp(2.5rem, 1rem + 6.2vw, 5.4rem);
  --text-h2: clamp(1.7rem, 1rem + 2.6vw, 3rem);
  --text-h3: clamp(1.15rem, 1rem + 0.8vw, 1.5rem);
  --text-body: 1.0625rem;
  --text-small: 0.9375rem;
  --text-mono: 0.8125rem;
  --text-mono-sm: 0.71875rem;

  /* space */
  --space-section: clamp(5.5rem, 12vh, 9.5rem);
  --gutter: clamp(1.25rem, 4vw, 3.5rem);
  --measure: 68ch;

  /* shape & motion */
  --radius: 3px;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 160ms;
  --dur: 320ms;
  --dur-slow: 640ms;

  /* z scale */
  --z-nav: 100;
  --z-skip: 200;
}
