/*!
 * CJIP — tokens.css — LOCKED token contract (single source of truth).
 * Loaded site-wide (handle: cjip-tokens). The cjip theme's chrome.css declares
 * this as a dependency; never redeclare these values anywhere else.
 * Fonts self-hosted (OFL 1.1) — see assets/fonts/OFL-*.txt. Google Fonts @import dropped.
 * Subsets: latin + latin-ext (Czech diacritics: č ř š ž ě ů ď ť ň á í é ú ý ó).
 * Cyrillic subset added at C6.1 with the RU locale.
 */

/* ============================ Golos Text (body) ============================ */
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/golos-text-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/golos-text-latin-ext-400.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/golos-text-latin-500.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/golos-text-latin-ext-500.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/golos-text-latin-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/golos-text-latin-ext-600.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/golos-text-latin-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Golos Text";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/golos-text-latin-ext-700.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ============================ Unbounded (display) ========================= */
@font-face{font-family:"Unbounded";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/unbounded-latin-400.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:400;font-display:swap;
  src:url("../fonts/unbounded-latin-ext-400.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/unbounded-latin-500.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:500;font-display:swap;
  src:url("../fonts/unbounded-latin-ext-500.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/unbounded-latin-600.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:600;font-display:swap;
  src:url("../fonts/unbounded-latin-ext-600.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/unbounded-latin-700.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:700;font-display:swap;
  src:url("../fonts/unbounded-latin-ext-700.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

/* ============================ Token contract ============================== */
:root{
  /* Colour — reconciled to React SoT @theme (C2.1 §1). Gold restraint held. */
  --color-azure:#1E4FA3;        /* links, icon accents, focus ring            */
  --color-azure-deep:#163C7D;   /* headings, trust bar, CTA band, text-on-gold */
  --color-gold:#EBA53C;         /* CTA fill + single active indicator ONLY     */
  --color-gold-deep:#9C6D1F;    /* course level badge / About accent (C2.1 §1) */
  --color-paper:#FAF7F1;        /* page/base background, card fill on white    */
  --color-sky:#E8EEF8;          /* tint bands, card borders, footer text       */
  --color-ink:#16202E;          /* body text, footer bg                        */
  --color-white:#FFFFFF;        /* single-source white (C2.1 §7-a)             */

  /* Type — names LOCKED by C2.2 (chrome.css references these verbatim). */
  --font-body:"Golos Text",ui-sans-serif,system-ui,sans-serif;   /* was --font-sans in SoT */
  --font-display:"Unbounded",ui-sans-serif,system-ui,sans-serif; /* was --font-unbounded    */
}
