/* wp-content/plugins/notts-osteo-elements/assets/css/fonts.css
 *
 * Rajdhani, self-hosted.
 *
 * It used to come from fonts.gstatic.com, by way of Elementor asking Google for the family and
 * LiteSpeed folding the answer into the combined stylesheet. That route cost three things on
 * mobile, all of them measured on live:
 *
 *   - TTF, not WOFF2. LiteSpeed fetched Google's sheet server-side without a browser User-Agent,
 *     so Google served the legacy format to a site whose visitors all support the modern one.
 *   - No font-display, so it behaved as `block`: every word set in Rajdhani stayed INVISIBLE
 *     until the file arrived. The largest text block on the page is the LCP element, so this put
 *     the score directly behind a font download.
 *   - A second origin, which on a 150ms mobile link is a DNS lookup, a TCP handshake and a TLS
 *     negotiation before the first byte of a font.
 *
 * Self-hosting settles all three. `swap` is the deliberate part: text paints immediately in the
 * fallback and re-renders when Rajdhani lands. The fallback stack in tokens.css is metric-close
 * enough that the swap does not move the layout — measured CLS is 0.001.
 *
 * The devanagari subset Google also offers is not here. This site will never render a glyph of it.
 *
 * Rajdhani is SIL Open Font License 1.1; self-hosting is exactly what that licence is for.
 *
 * @author Sean Burn
 */

@font-face {
	font-family: 'Rajdhani';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-ext-300.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: 'Rajdhani';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-300.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: 'Rajdhani';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-ext-400.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: 'Rajdhani';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-400.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: 'Rajdhani';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-ext-500.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: 'Rajdhani';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-500.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: 'Rajdhani';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-ext-600.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: 'Rajdhani';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-600.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: 'Rajdhani';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-ext-700.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: 'Rajdhani';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/rajdhani-latin-700.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;
}

/* ---------------------------------------------------------------- metric-matched fallback
 *
 * What the browser paints in the moment BEFORE Rajdhani arrives. `swap` means that moment
 * always exists, and Rajdhani is a condensed face — roughly 93% the width of Arial and with a
 * much deeper descender — so without these overrides the fallback sets wider lines, wraps in
 * different places, and the whole block moves when the real font lands.
 *
 * The percentages are computed from the two fonts' own metrics, not guessed: size-adjust is
 * the ratio of their mean advance widths over English letter frequencies, and the ascent and
 * descent overrides are Rajdhani's own, divided by that ratio so they survive the scaling.
 *
 * No file is downloaded for any of this — local() only, so it costs nothing on the wire.
 */

@font-face {
	font-family: 'Rajdhani Fallback';
	font-style: normal;
	font-weight: 300;
	src: local('Arial'), local('Helvetica Neue'), local('Roboto');
	size-adjust: 92.17%;
	ascent-override: 100.90%;
	descent-override: 37.54%;
	line-gap-override: 0.00%;
}

@font-face {
	font-family: 'Rajdhani Fallback';
	font-style: normal;
	font-weight: 400;
	src: local('Arial'), local('Helvetica Neue'), local('Roboto');
	size-adjust: 92.55%;
	ascent-override: 100.48%;
	descent-override: 37.38%;
	line-gap-override: 0.00%;
}

@font-face {
	font-family: 'Rajdhani Fallback';
	font-style: normal;
	font-weight: 500;
	src: local('Arial'), local('Helvetica Neue'), local('Roboto');
	size-adjust: 93.03%;
	ascent-override: 99.96%;
	descent-override: 37.19%;
	line-gap-override: 0.00%;
}

@font-face {
	font-family: 'Rajdhani Fallback';
	font-style: normal;
	font-weight: 600;
	src: local('Arial'), local('Helvetica Neue'), local('Roboto');
	size-adjust: 93.53%;
	ascent-override: 99.43%;
	descent-override: 36.99%;
	line-gap-override: 0.00%;
}

@font-face {
	font-family: 'Rajdhani Fallback';
	font-style: normal;
	font-weight: 700;
	src: local('Arial'), local('Helvetica Neue'), local('Roboto');
	size-adjust: 94.11%;
	ascent-override: 98.82%;
	descent-override: 36.77%;
	line-gap-override: 0.00%;
}
