/* Fleet Management System public marketing site -- vendored fonts (OFL-1.1), no CDN links anywhere, per
   CLAUDE.md's "no CDN, vendor everything locally" rule (mirrors FleetMgtSystem.Dashboard's own
   wwwroot/lib/inter/inter.css convention).

   Space Grotesk and IBM Plex Sans are now published by Google Fonts as VARIABLE fonts only -- one
   physical .woff2 file covers their whole weight axis. That is not a gap in this vendoring: a
   browser reading an @font-face rule whose declared font-weight is a single value (500, 600, 700...)
   backed by a variable-font source instantiates that exact weight from the font's own weight axis --
   the same mechanism Google Fonts' own served CSS relies on. So each weight below is a distinct
   @font-face rule, but several intentionally point at the SAME local file. IBM Plex Mono ships two
   genuinely separate static files (400/500), vendored as such. */

@font-face {
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("space-grotesk/space-grotesk-latin-variable-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "Space Grotesk";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("space-grotesk/space-grotesk-latin-variable-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "Space Grotesk";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("space-grotesk/space-grotesk-latin-variable-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "IBM Plex Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("ibm-plex-sans/ibm-plex-sans-latin-variable-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "IBM Plex Sans";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("ibm-plex-sans/ibm-plex-sans-latin-variable-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "IBM Plex Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("ibm-plex-sans/ibm-plex-sans-latin-variable-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "IBM Plex Mono";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("ibm-plex-mono/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, 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: "IBM Plex Mono";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("ibm-plex-mono/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Space Grotesk 400 -- added for the CMS admin chrome, which uses the display face at regular
   weight for nav items and table headings. Same variable source as 500/600/700 above: declaring
   the weight explicitly is what makes the browser instantiate it from the weight axis rather than
   synthesising it from the nearest declared face.

   IBM Plex Mono 600 is deliberately NOT declared. Unlike the two variable families it ships as
   discrete static files and only 400/500 are vendored, so a 600 rule would have to point at the
   500 file -- which renders 500, not 600, while telling the browser it got what it asked for.
   Leaving it undeclared lets CSS font matching pick the real 500, which is honest and identical
   in output. */
@font-face {
    font-family: "Space Grotesk";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("space-grotesk/space-grotesk-latin-variable-normal.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
