@font-face {
    font-family: 'SFProText-Bold';
    src: url('FontsFree-Net-SFProText-Bold.ttf');
}

@font-face {
    font-family: 'SFProText-Heavy';
    src: url('FontsFree-Net-SFProText-Heavy-1.ttf');
}

@font-face {
    font-family: 'SFProText-Medium';
    src: url('FontsFree-Net-SFProText-Medium-1.ttf');
}

@font-face {
    font-family: 'SFProText-Regular';
    src: url('FontsFree-Net-SFProText-Regular.ttf');
}

@font-face {
    font-family: 'SFProText-Semibold';
    src: url('FontsFree-Net-SFProText-Semibold-1.ttf');
}

/* ---- Archivo Variable (Oriva design system) ----
   Self-hosted subset of @fontsource-variable/archivo: the weight axis 100–900 and
   the width axis 62–125% in one file, which is what the `wdth` token relies on. */
@font-face {
    font-family: 'Archivo Variable';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    font-stretch: 62% 125%;
    src: url('archivo/archivo-latin-ext-standard-normal.woff2') format('woff2-variations');
    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: 'Archivo Variable';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    font-stretch: 62% 125%;
    src: url('archivo/archivo-latin-standard-normal.woff2') format('woff2-variations');
    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;
}

/* ---- Greek face (Roboto Flex, Greek subset) --------------------------------
   Archivo ships latin / latin-ext / vietnamese only — it has no Greek glyphs at
   all — so without this face /el/ renders in whatever sans the visitor's OS
   picks and sets wider than the design. Roboto Flex has Greek and the same
   `wdth` axis, so the --wdth token drives both scripts; its vertical metrics are
   overridden to Archivo's (ascent 878, descent 210, no gap, per 1000 upem) so a
   line box is the same height in English and in Greek. size-adjust matches the
   x-height and the two overrides are pre-divided by it. */
@font-face {
    font-family: 'Oriva Greek';
    font-style: normal;
    font-display: swap;
    font-weight: 100 900;
    font-stretch: 25% 151%;
    size-adjust: 102.3%;
    ascent-override: 85.83%;
    descent-override: 20.53%;
    line-gap-override: 0%;
    src: url('greek/roboto-flex-greek-variable.woff2') format('woff2-variations');
    unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
