/* ntvrli design system — fonts
   Self-hosted, latin subset, same origin. No third-party request and nothing
   render-blocking from another host. Load this before tokens.css. */

@font-face {
  font-family: "Archivo Black";
  src: url("fonts/archivo-black-latin.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  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: "Martian Mono";
  src: url("fonts/martian-mono-latin-var.woff2") format("woff2");
  font-weight: 300 600;
  font-stretch: 75% 112.5%;
  font-style: normal;
  font-display: swap;
  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;
}

/* Fallback faces, metric-matched so the swap does not shift layout.
   size-adjust values are MEASURED, not guessed: the same string was rendered
   in each real face and its fallback at 100px and the advance widths compared.
   Re-measure if either face is ever changed.

   Measured in the DOM rather than on a canvas, because canvas does not apply
   size-adjust and the body's font-variation-settings (wdth 87.5) narrows the
   mono face by ~7% from its default width. The numbers below are the widths
   as the site actually renders them.

     Archivo Black  2601px vs Helvetica Neue 2125px  ->  122.4%
     Martian Mono   2990px vs Menlo          2769px  ->  108.0% */
@font-face {
  font-family: "Archivo Black Fallback";
  src: local("HelveticaNeue"), local("Helvetica Neue"), local("ArialMT"), local("Arial");
  font-weight: 400;
  size-adjust: 122.4%;
}

@font-face {
  font-family: "Martian Mono Fallback";
  /* local() inside @font-face matches the PostScript or full name, NOT the
     family name — local("Menlo") silently fails where local("Menlo-Regular")
     resolves. Verified per name; do not "simplify" these back to Menlo. */
  src: local("Menlo-Regular"), local("Menlo Regular"),
       local("Monaco"), local("Courier New");
  size-adjust: 108.0%;
}
