/* Dimzang Labs design tokens (PRD §5.2). Components use these; never hard-code colours or sizes. */

@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/fraunces-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Fraunces"; font-style: italic; font-weight: 400; font-display: swap; src: url("/assets/fonts/fraunces-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/fraunces-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/inter-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/inter-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/inter-latin-600-normal.woff2") format("woff2"); }

:root {
  /* Neutrals */
  --ink-900: #061322; /* midnight blue: dark anchor sections */
  --forest-900: #0f2a22; /* deep forest green: selective emphasis */
  --forest-800: #163a2f;
  --ink-800: #0c1e31;
  --ink-700: #1e2b3c;
  --ink-500: #4a5868;
  --ink-400: #6b7785; /* muted text: 4.2:1 on paper, for large text only */
  --ink-300: #9aa5b1; /* decoration only: below 3:1, never for text */
  /* Cool clinical neutrals, like lab paper under daylight, so the navy ink and the data carry the colour. */
  --line: #e2e6e9;
  --line-strong: #cfd5db;
  --paper: #f4f6f7;
  --paper-deep: #e9edf0;
  --surface: #ffffff;
  --surface-warm: #fafbfc;

  /* Programme accents */
  --detect-600: #0e7c7b;
  --detect-700: #0a6463;
  --detect-300: #6fd0c9;
  --detect-100: #ddf1ef;
  --restore-600: #c2552d;
  --restore-700: #a3441f; /* text-safe coral on paper (≥ 4.5:1) */
  --restore-300: #f0a07e;
  --restore-100: #f8e3d9;

  /* Status / evidence */
  --status-established: #2f7d4f;
  --status-proposed: #b7791f;
  --status-unvalidated: #6b5ba8;
  --status-dev: #0e7c7b;
  --status-future: #4a5868;

  /* Type */
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Consolas, monospace;

  --step-5: clamp(2.6rem, 1.8rem + 3.6vw, 4.8rem);
  --step-4: clamp(2rem, 1.5rem + 2.2vw, 3.3rem);
  --step-3: clamp(1.5rem, 1.25rem + 1.1vw, 2.1rem);
  --step-2: 1.3rem;
  --step-1: 1.1rem;
  --step-0: 1rem;
  --step--1: 0.875rem;
  --step--2: 0.75rem;

  /* Space, radius, shadow, motion */
  --space-section: clamp(4rem, 3rem + 5vw, 8rem);
  --space-xs: 0.5rem;
  --space-s: 1rem;
  --space-m: 1.5rem;
  --space-l: 2.5rem;
  --space-xl: 4rem;
  --gutter: clamp(1rem, 0.5rem + 2.5vw, 2.5rem);
  --radius-s: 8px;
  --radius-m: 16px;
  --radius-l: 28px;
  --radius-pill: 999px;
  --shadow-card: 0 1px 2px rgb(6 19 34 / 0.06), 0 8px 24px rgb(6 19 34 / 0.08);
  --shadow-float: 0 2px 4px rgb(6 19 34 / 0.06), 0 18px 40px rgb(6 19 34 / 0.14);
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --dur: 320ms;
  --content-max: 1200px;
  --header-h: 72px;
}
