/* =============================================================
   BNS · Design tokens — source of truth
   -------------------------------------------------------------
   These tokens mirror /theme.json so they are available both in
   the front-end (this file) and in the block editor.
   ============================================================= */

:root {
  /* ---- Colour: brand ---- */
  --bns-teal:        #2D8B96;
  --bns-teal-dark:   #1A5F68;
  --bns-teal-deep:   #0E3138;
  --bns-green:       #9DCB35;
  --bns-green-dark:  #6F9322;
  --bns-gray:        #8C8C8C;

  /* ---- Colour: status ---- */
  --bns-mint:        #2F7D5C;
  --bns-warn:        #B6750F;
  --bns-rust:        #B0301F;

  /* ---- Colour: neutral ---- */
  --ink:             #0F1B1E;
  --slate-900:       #1C2A2E;
  --slate-700:       #3D4A4F;
  --slate-500:       #6B7780;
  --slate-300:       #B5BDC1;
  --slate-100:       #E0E5E7;
  --slate-50:        #EEF1F2;
  --bg:              #F7F9F9;
  --surface:         #FFFFFF;
  --border:          #D9DEE0;

  /* ---- Semantic ---- */
  --color-text:           var(--ink);
  --color-text-muted:     var(--slate-500);
  --color-text-strong:    var(--bns-teal-deep);
  --color-bg:             var(--bg);
  --color-surface:        var(--surface);
  --color-border:         var(--border);
  --color-link:           var(--bns-teal-dark);
  --color-link-hover:     var(--bns-teal-deep);
  --color-focus-ring:     var(--bns-teal);
  --color-accent:         var(--bns-green);
  --color-accent-strong:  var(--bns-green-dark);
  --color-success:        var(--bns-mint);
  --color-warning:        var(--bns-warn);
  --color-danger:         var(--bns-rust);

  /* ---- Typography ---- */
  --font-serif: "Source Serif 4", Georgia, serif;
  --font-sans:  Inter, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-mono:  "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;

  --fs-display-xl: clamp(2.5rem, 5.2vw, 3.75rem);
  --fs-display-l:  clamp(2.25rem, 4.4vw, 3rem);
  --fs-h1:         clamp(1.85rem, 3vw, 2.25rem);
  --fs-h2:         1.625rem;
  --fs-h3:         1.25rem;
  --fs-h4:         1.0625rem;
  --fs-body-l:     1.125rem;
  --fs-body:       1rem;
  --fs-sm:         0.875rem;
  --fs-caption:    0.75rem;

  --lh-tight:  1.15;
  --lh-snug:   1.30;
  --lh-normal: 1.55;
  --lh-loose:  1.70;

  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-wide:  0.08em;
  --tracking-x-wide: 0.14em;

  /* ---- Spacing (4 px scale) ---- */
  --s-1:  4px;
  --s-2:  8px;
  --s-3:  12px;
  --s-4:  16px;
  --s-5:  24px;
  --s-6:  32px;
  --s-7:  48px;
  --s-8:  64px;
  --s-9:  96px;
  --s-10: 128px;

  /* ---- Radius ---- */
  --radius-sm:   4px;
  --radius-md:   6px;
  --radius-lg:   10px;
  --radius-pill: 9999px;

  /* ---- Shadow ---- */
  --shadow-1: 0 1px 2px rgba(15,27,30,.06), 0 1px 1px rgba(15,27,30,.04);
  --shadow-2: 0 4px 12px rgba(15,27,30,.08), 0 1px 2px rgba(15,27,30,.05);
  --shadow-3: 0 12px 32px rgba(15,27,30,.12), 0 2px 6px rgba(15,27,30,.06);

  /* ---- Layout ---- */
  --container: 1280px;
  --prose:     680px;
}

/* Optional: keep variable-font face declarations here so they ship with
   the tokens layer. The actual font files live in /assets/fonts/. */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 400 700;
  src: url("../fonts/Inter-Variable.woff2") format("woff2-variations");
}

@font-face {
  font-family: "Source Serif 4";
  font-style: normal;
  font-display: swap;
  font-weight: 400 600;
  src: url("../fonts/SourceSerif4-Variable.woff2") format("woff2-variations");
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-display: swap;
  font-weight: 400 600;
  src: url("../fonts/JetBrainsMono-Variable.woff2") format("woff2-variations");
}
