/*
 * Self-hosted webfonts.
 *
 * Six files. The type system defines exactly six weight roles:
 *
 *   Montserrat 300  display headings from --t-h3 up. Size carries the hierarchy.
 *   Montserrat 400  sub-headings, where 500 read heavier than the section head above.
 *   Montserrat 500  labels, buttons, eyebrows, table headers. Never prose.
 *   Montserrat 600  tile and card titles, where 300 sat back behind its own body copy.
 *   Manrope    400  body copy.
 *   Manrope    600  emphasis inside prose (strong, inline links).
 *
 * Manrope 500 was loaded and never rendered once those roles were enforced, so it
 * is gone. Any weight appearing on the page outside this set means a rule set the
 * family and forgot the weight, which is exactly what caused the "something feels
 * off" inconsistency in the first place.
 *
 * Latin subset only. Self-hosted rather than Google-hosted: no third-party
 * connection, no consent question, no extra DNS lookup, and the fonts cannot
 * disappear when someone else changes a CDN.
 *
 * font-display: swap so text paints immediately in the fallback and reflows,
 * rather than the page sitting blank while a font downloads.
 *
 * FILES REQUIRED in assets/fonts/ — the theme ships with them; if a heading
 * renders in Arial, one is missing:
 *   montserrat-latin-300.woff2  montserrat-latin-400.woff2
 *   montserrat-latin-500.woff2  montserrat-latin-600.woff2
 *   manrope-latin-400.woff2     manrope-latin-600.woff2
 */

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/montserrat-latin-300.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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 400 is here for sub-headings. h1/h2 take 500; h3 and below take this, because
   500 across a card title read heavier than the section heading above it. Added
   as a real file rather than left to the browser: asking for 400 with only 300
   and 500 present snaps to one of them, and asking for 450 synthesises nothing —
   an intermediate weight needs the variable font, which this theme does not
   ship. */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/montserrat-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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/montserrat-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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* 600 for tile and card titles, which is the one place 300 was too light to hold
   its own: at --t-h4 a light heading sits back further than the body copy under
   it, so a bento tile read as a caption with a paragraph attached rather than as
   a titled card.

   Shipped as a real file, and it had to be. --fw-semibold: 600 already existed as
   a token, but every use of it was on strong, b or an inline prose link, which are
   MANROPE, and Manrope 600 is loaded. Montserrat 600 was not. So asking a
   Montserrat title for 600 would have synthesised a fake bold off 500: heavier,
   blurrier, and not the same shape twice across platforms. */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/montserrat-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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/manrope-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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/manrope-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+2074, U+20AC, U+2122, U+2191,
    U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
