/* ============================================================
   MCH — design tokens & fonts (ported from the approved mockup).
   Fonts are variable files served locally: Instrument Sans covers
   weights 400–700, Newsreader 300–600, one file per style/subset.
   ============================================================ */

/* — Instrument Sans (UI) — */
/* latin-ext */
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrument-sans-latin-ext.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;
}
/* latin */
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrument-sans-latin.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;
}
/* italic latin-ext */
@font-face {
  font-family: "Instrument Sans";
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrument-sans-italic-latin-ext.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;
}
/* italic latin */
@font-face {
  font-family: "Instrument Sans";
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../fonts/instrument-sans-italic-latin.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;
}

/* — Newsreader (display / body) — */
/* vietnamese */
@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("../fonts/newsreader-vietnamese.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("../fonts/newsreader-latin-ext.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;
}
/* latin */
@font-face {
  font-family: "Newsreader";
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url("../fonts/newsreader-latin.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;
}
/* italic vietnamese */
@font-face {
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 300 600;
  font-display: swap;
  src: url("../fonts/newsreader-italic-vietnamese.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* italic latin-ext */
@font-face {
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 300 600;
  font-display: swap;
  src: url("../fonts/newsreader-italic-latin-ext.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;
}
/* italic latin */
@font-face {
  font-family: "Newsreader";
  font-style: italic;
  font-weight: 300 600;
  font-display: swap;
  src: url("../fonts/newsreader-italic-latin.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;
}

:root {
  /* — Brand colour: Blue (#565EA6) — */
  --blue-50:  #eef0f8;
  --blue-100: #dde0ef;
  --blue-200: #c2c6e4;
  --blue-300: #9ea4d2;
  --blue-400: #7c83bf;
  --blue-500: #565ea6;   /* brand / action */
  --blue-600: #4a5191;
  --blue-700: #3c4275;
  --blue-800: #2f3359;
  --blue-900: #232642;

  /* — Warm / terra: Sienna (#796A5C) — */
  --sienna-50:  #f3efeb;
  --sienna-100: #e6ded6;
  --sienna-200: #d2c5b8;
  --sienna-300: #b6a596;
  --sienna-400: #978777;
  --sienna-500: #796a5c;   /* warm neutral */
  --sienna-600: #62554a;
  --sienna-700: #4c4138;
  --sienna-800: #382f29;

  /* — Paper surfaces (warm whites) — */
  --paper:       #f4eee3;  /* base surface */
  --paper-raise: #fbf8f1;  /* cards / raised */
  --paper-sunk:  #ece3d3;  /* sunken / wells */
  --paper-edge:  #e1d6c3;  /* hairline borders */

  /* — Ink — */
  --ink:      #2a2521;     /* longform body */
  --ink-soft: #6c6052;     /* secondary text (AA on paper) */
  --ink-mute: #8a7e6f;     /* tertiary / captions */

  --white: #ffffff;

  /* — Type — */
  --font-display: "Newsreader", Georgia, "Times New Roman", serif;
  --font-body:    "Newsreader", Georgia, "Times New Roman", serif;
  --font-ui:      "Instrument Sans", system-ui, -apple-system, sans-serif;

  /* modular scale · base 16 · 1.25 */
  --t-xs:   0.78rem;  /* 12.5 */
  --t-sm:   0.875rem; /* 14 */
  --t-base: 1rem;     /* 16 */
  --t-md:   1.25rem;  /* 20 */
  --t-lg:   1.563rem; /* 25 */
  --t-xl:   1.953rem; /* 31 */
  --t-2xl:  2.441rem; /* 39 */
  --t-3xl:  3.052rem; /* 49 */
  --t-4xl:  3.815rem; /* 61 */
  --t-5xl:  4.768rem; /* 76 */

  /* — Spacing — */
  --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 — */
  --r-xs: 3px;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-pill: 999px;

  /* — Shadow (light, editorial) — */
  --sh-sm: 0 1px 2px rgba(42,37,33,.05), 0 1px 1px rgba(42,37,33,.04);
  --sh-md: 0 8px 28px -12px rgba(42,37,33,.22);
  --sh-lg: 0 24px 60px -20px rgba(42,37,33,.30);
  --sh-pop: 0 18px 50px -12px rgba(35,38,66,.30);

  --ring: 0 0 0 3px rgba(86,94,166,.32);

  --maxw: 1200px;
  --ease: cubic-bezier(.4, 0, .2, 1);
}
