/*
 * Poster: self-hosted fonts (SIL OFL 1.1, license texts in assets/links/fonts/), shared with
 * the other skins. Latin subset only, woff2 only, font-display: swap.
 *
 *   Montserrat Variable  wght 100-900, normal + italic   body, buttons, labels, "signature" (Stacked) titles
 *   Archivo Expanded     wght 700-900, wdth fixed at 125   "extended" (Wide) titles
 *   Anton                400 only                          "condensed" (Tall) titles
 *
 * The "... Fallback" faces are local system fonts scaled to the web font's widths and vertical
 * metrics, so text barely moves when the web font swaps in. Where the local font is missing (most
 * Android phones), the stack falls through to system-ui.
 */

/* ---------- Montserrat ---------- */

@font-face {
  font-family: "Montserrat Variable";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../../fonts/montserrat-latin-wght-normal.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: "Montserrat Variable";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("../../fonts/montserrat-latin-wght-italic.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;
}

/* Regular weights: tuned to lowercase body text at 500. */
@font-face {
  font-family: "Montserrat Fallback";
  font-style: normal;
  font-weight: 100 599;
  src: local("Arial"), local("ArialMT");
  size-adjust: 116.31%;
  ascent-override: 83.23%;
  descent-override: 21.58%;
  line-gap-override: 0%;
}

/* Bold weights: tuned to uppercase labels and titles at 700-800. */
@font-face {
  font-family: "Montserrat Fallback";
  font-style: normal;
  font-weight: 600 900;
  src: local("Arial Bold"), local("Arial-BoldMT");
  size-adjust: 104%;
  ascent-override: 93.08%;
  descent-override: 24.13%;
  line-gap-override: 0%;
}

/* ---------- Archivo Expanded (display, "extended" pairing) ---------- */

/* A width instance: the file only has a wght axis. font-stretch is declared as 125% so a rule
   asking for font-stretch: 125% (var(--ag-display-stretch)) matches it exactly. */
@font-face {
  font-family: "Archivo Expanded";
  font-style: normal;
  font-weight: 700 900;
  font-stretch: 125%;
  font-display: swap;
  src: url("../../fonts/archivo-expanded-latin-wght-normal.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;
}

/* Tuned to uppercase titles at 800-900. */
@font-face {
  font-family: "Archivo Expanded Fallback";
  font-style: normal;
  font-weight: 700 900;
  font-stretch: 125%;
  src: local("Arial Black"), local("Arial-Black");
  size-adjust: 117.07%;
  ascent-override: 75%;
  descent-override: 17.94%;
  line-gap-override: 0%;
}

/* ---------- Anton (display, "condensed" pairing) ---------- */

@font-face {
  font-family: "Anton";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../../fonts/anton-latin-400-normal.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;
}

/* Tuned to uppercase titles. */
@font-face {
  font-family: "Anton Fallback";
  font-style: normal;
  font-weight: 400;
  src: local("Impact");
  size-adjust: 93.86%;
  ascent-override: 125.33%;
  descent-override: 35.06%;
  line-gap-override: 0%;
}
