/* =========================================================================
   8-BIT SPARK — fonts.css
   Self-hosted Montserrat. No Google Fonts request, no third-party DNS
   lookup, nothing for a visitor's browser to leak to another origin.

   All nine weights, roman and italic, using google-webfonts-helper naming.
   Note that 400 normal is "regular" and 400 italic is plain "italic"; every
   other face is numeric.

   DECLARING ALL EIGHTEEN COSTS NOTHING AT RUNTIME. An @font-face rule is a
   declaration, not a fetch. The browser downloads a face only when a rule
   actually matches text being rendered, so a visitor loading the homepage
   still pulls the same three or four files they pull today. The stylesheet
   itself grows by about 2 KB before compression. What this buys is that a
   weight can be used in main.css without anyone remembering to come back
   here and add it — which is what went wrong with the 900 on .btn.

   woff2 only. Every browser that matters has supported it since 2016, and
   the .ttf files are roughly 3x larger for no benefit.

   ALTERNATIVE: Montserrat also ships as a variable font (wght 100-900, plus
   a separate italic file). Two files instead of eighteen, and intermediate
   weights become available. It is the better answer if this site ever uses
   more than four or five weights at once; at today's usage the static faces
   win on bytes-per-page, since a variable file carries all nine axes' worth
   of outlines whether or not you use them.
   ========================================================================= */

/* --- 100 Thin ----------------------------------------------------------- */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-100.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 100;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-100italic.woff2") format("woff2");
}

/* --- 200 ExtraLight ----------------------------------------------------- */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-200.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 200;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-200italic.woff2") format("woff2");
}

/* --- 300 Light ---------------------------------------------------------- */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-300.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-300italic.woff2") format("woff2");
}

/* --- 400 Regular — body copy -------------------------------------------- */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-regular.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-italic.woff2") format("woff2");
}

/* --- 500 Medium — H3, H4 ------------------------------------------------ */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-500.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-500italic.woff2") format("woff2");
}

/* --- 600 SemiBold — H2, nav, eyebrows ----------------------------------- */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-600.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-600italic.woff2") format("woff2");
}

/* --- 700 Bold — H1 ------------------------------------------------------ */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-700.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-700italic.woff2") format("woff2");
}

/* --- 800 ExtraBold ------------------------------------------------------ */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-800.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-800italic.woff2") format("woff2");
}

/* --- 900 Black — .btn labels -------------------------------------------- */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-900.woff2") format("woff2");
}
@font-face {
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url("/assets/fonts/montserrat-v31-latin-900italic.woff2") format("woff2");
}
