/* ============================================================================
   fwre-fonts.css - the front-office web font, served from OUR package.

   Poppins used to arrive through `@import url('https://fonts.googleapis.com/…')` in the Official
   design's design-tokens.css. That handed every visitor's IP to a third party, made the whole design
   depend on that host being reachable, and is not something wordpress.org hosts a plugin for: a plugin
   may not serve its assets from a remote server. The four faces were ALREADY in the package for the
   admin theme (public/css/fwa-admin-theme.css declares exactly these), so nothing had to be added but
   this file.

   It lives in the shared FRAMEWORK manifest rather than in a design, for one blunt reason: `../fonts/`
   has to resolve, and only the shared css directory sits beside the shared fonts directory on all three
   platforms - public/css → public/fonts, assets/css → assets/fonts in the WordPress plugin, and the
   shared media directory's css → its fonts elsewhere. A design bundle has no fonts dir, and
   giving it one would mean shipping the same 430 KB of TTF once per design.

   Weight 600 is deliberately absent: there is no Poppins-SemiBold.ttf to point at, and a declared face
   with no file is how a browser is told to synthesise a fake bold instead of picking the real 700.
   Any design that wants Poppins just names it - the faces are here.
   ============================================================================ */

/* ── The typefaces this product ships, and the boundary it draws ────────────────────────────────
 *
 * TWO faces, on purpose, and the CASCADE between them is the feature. `Poppins` is the product's
 * face and carries no Cyrillic and one Greek glyph - measured, 471 code points. CSS matches a font
 * per GLYPH rather than per element, so a `unicode-range` on each block sends the letters Poppins
 * cannot draw to `Inter`, which carries both scripts, while every Latin letter stays Poppins. Four
 * of the fifteen locales this product ships were rendering the admin in whatever the browser
 * happened to default to; two of them stop.
 *
 * Arabic and CJK are left to the system DELIBERATELY. A face covering either is measured in
 * megabytes and every operating system already has a good one; the tail of the stack at each usage
 * site is where that decision is written down, not an accident.
 *
 * THE FAMILY NAMES ARE NAMESPACED, for the same reason every global function here is `fwre_`-
 * prefixed. `font-family` is a global name: a host theme declaring its own `@font-face` for
 * `Poppins` would merge with ours into one family, and the browser would then choose between the
 * two files by weight and range. `FWRE Poppins` cannot collide with anybody.
 *
 * WOFF2, subset by the publisher. The four static TTFs this replaced were 614 KB and carried a
 * Devanagari subset no locale here uses; these ten files are 91 KB including the two Inter faces,
 * and a `unicode-range` block is not even fetched until a page needs a glyph from it.
 *
 * Inter is ONE file per script for every weight - it is a variable font, and the four weight URLs
 * Google serves are byte-identical (verified by checksum).
 *
 * Both faces are SIL OFL. Files taken from the publisher rather than converted here, so what ships
 * is what they released.
 * ─────────────────────────────────────────────────────────────────────────────────────────────── */

@font-face {
    font-family: 'FWRE Poppins';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/fwre-poppins-300-latin.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: 'FWRE Poppins';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/fwre-poppins-300-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'FWRE Poppins';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/fwre-poppins-400-latin.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: 'FWRE Poppins';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/fwre-poppins-400-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'FWRE Poppins';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/fwre-poppins-500-latin.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: 'FWRE Poppins';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/fwre-poppins-500-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'FWRE Poppins';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/fwre-poppins-700-latin.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: 'FWRE Poppins';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/fwre-poppins-700-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Weight 600 (SemiBold) is deliberately absent, as it was before: live declares it and ships no
   file, and a declaration pointing at nothing is worse than the browser synthesising the weight. */

@font-face {
    font-family: 'FWRE Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/fwre-inter-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: 'FWRE Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/fwre-inter-greek.woff2') format('woff2');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
