/*
 * Self-hosted fonts for the ISARCH V2 child theme.
 *
 * Archivo (headings) and Inter (body text), SIL Open Font License 1.1; the
 * licence text is next to the files (assets/fonts/archivo/OFL.txt and
 * assets/fonts/inter/OFL.txt). font-display: swap everywhere. The browser
 * downloads a file only when a page uses that face and a character in its
 * unicode range.
 *
 * Archivo: variable font from the npm package @fontsource-variable/archivo
 * 5.3.0 ("wdth" files), two axes: weight 100 to 900 and width 62% to 125%.
 * Headings select the width with font-stretch (for example 125% for the wide
 * display headings of the dark stage design), not font-variation-settings,
 * so that the weight and width stay independent and inherit normally.
 * Subsets latin and latin-ext.
 *
 * Inter: static weights 400, 500, 600 from the npm package @fontsource/inter
 * 5.3.0, normal style, subsets latin and latin-ext. Add a weight only together
 * with its files in assets/fonts.
 */

@font-face {
	font-family: "Archivo";
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url("../fonts/archivo/archivo-latin-ext-wdth-normal.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: "Archivo";
	font-style: normal;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	font-display: swap;
	src: url("../fonts/archivo/archivo-latin-wdth-normal.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: "Inter";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/inter/inter-latin-ext-400-normal.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: "Inter";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/inter/inter-latin-400-normal.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: "Inter";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/inter/inter-latin-ext-500-normal.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: "Inter";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("../fonts/inter/inter-latin-500-normal.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: "Inter";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/inter/inter-latin-ext-600-normal.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: "Inter";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/inter/inter-latin-600-normal.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 fallbacks (no download): while Archivo and Inter load
 * (font-display: swap), the text is set in a local Arial-compatible face
 * (Arial, Helvetica or Liberation Sans, which share their advance widths)
 * scaled to the width of the web font, with its ascent and descent, so
 * that the lines break in the same places and the swap moves nothing.
 * Archivo: one face per width (100%, 112%, 125%) and weight band; widths
 * measured against Liberation Sans on the real headings of the site (125%:
 * leaning to the capitals of the display headings); record
 * docs/audit/isarch-v2-tasks/phase7-motion-v2.md. Ascent and descent:
 * Archivo 0.878 and 0.210, Inter 0.969 and 0.242, no line gap; the override
 * percentages are divided by size-adjust, which scales them too. Devices
 * without these local fonts (for example Android with Roboto only) skip the
 * face and use the next family in the stack.
 */

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 100 599;
	font-stretch: 62% 105%;
	src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
	size-adjust: 99.19%;
	ascent-override: 88.52%;
	descent-override: 21.17%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 600 724;
	font-stretch: 62% 105%;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 99.16%;
	ascent-override: 88.54%;
	descent-override: 21.18%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 725 774;
	font-stretch: 62% 105%;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 101.45%;
	ascent-override: 86.55%;
	descent-override: 20.70%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 775 900;
	font-stretch: 62% 105%;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 103.75%;
	ascent-override: 84.63%;
	descent-override: 20.24%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 100 599;
	font-stretch: 106% 118%;
	src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
	size-adjust: 112.33%;
	ascent-override: 78.16%;
	descent-override: 18.69%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 600 724;
	font-stretch: 106% 118%;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 111.90%;
	ascent-override: 78.46%;
	descent-override: 18.77%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 725 774;
	font-stretch: 106% 118%;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 113.90%;
	ascent-override: 77.09%;
	descent-override: 18.44%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 775 900;
	font-stretch: 106% 118%;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 115.91%;
	ascent-override: 75.75%;
	descent-override: 18.12%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 100 599;
	font-stretch: 119% 125%;
	src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
	size-adjust: 127.50%;
	ascent-override: 68.86%;
	descent-override: 16.47%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 600 724;
	font-stretch: 119% 125%;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 127.00%;
	ascent-override: 69.13%;
	descent-override: 16.54%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 725 774;
	font-stretch: 119% 125%;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 128.50%;
	ascent-override: 68.33%;
	descent-override: 16.34%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Archivo Fallback";
	font-style: normal;
	font-weight: 775 900;
	font-stretch: 119% 125%;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 130.50%;
	ascent-override: 67.28%;
	descent-override: 16.09%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Inter Fallback";
	font-style: normal;
	font-weight: 100 449;
	src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
	size-adjust: 105.57%;
	ascent-override: 91.76%;
	descent-override: 22.94%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Inter Fallback";
	font-style: normal;
	font-weight: 450 549;
	src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"), local("LiberationSans");
	size-adjust: 106.64%;
	ascent-override: 90.84%;
	descent-override: 22.71%;
	line-gap-override: 0%;
}

@font-face {
	font-family: "Inter Fallback";
	font-style: normal;
	font-weight: 550 900;
	src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Helvetica-Bold"), local("Liberation Sans Bold"), local("LiberationSans-Bold");
	size-adjust: 101.06%;
	ascent-override: 95.86%;
	descent-override: 23.96%;
	line-gap-override: 0%;
}

/*
 * Post body text (News and ESG Journal, .isarch-content in site.css): the
 * same Inter files under the family "Inter Text" with font-display:
 * optional. Long paragraphs break their lines differently in Inter and in
 * the metric fallback (widths differ by about 1 to 2% from paragraph to
 * paragraph), so a swap after the first paint moved the text below by a
 * line (CLS 0.05 at 390 px, 2026-10-16). Optional never swaps: when the
 * file is not there at the first paint (a first visit on a slow
 * connection), that page view keeps "Inter Fallback"; otherwise, and on
 * every later page (the file is cached), Inter. The 400 file is preloaded
 * on posts (functions.php). Same URLs as "Inter": one download.
 */

@font-face {
	font-family: "Inter Text";
	font-style: normal;
	font-weight: 400;
	font-display: optional;
	src: url("../fonts/inter/inter-latin-ext-400-normal.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: "Inter Text";
	font-style: normal;
	font-weight: 400;
	font-display: optional;
	src: url("../fonts/inter/inter-latin-400-normal.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: "Inter Text";
	font-style: normal;
	font-weight: 600;
	font-display: optional;
	src: url("../fonts/inter/inter-latin-ext-600-normal.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: "Inter Text";
	font-style: normal;
	font-weight: 600;
	font-display: optional;
	src: url("../fonts/inter/inter-latin-600-normal.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;
}

/*
 * Elementor's Kit names the same first families followed by the generic
 * Sans-serif. The same selectors (equal specificity, this file loads after
 * the Kit stylesheet) give them the theme stacks with the fallbacks above;
 * the first family does not change. Form fields keep the Kit stack.
 */
[class*="elementor-kit-"],
[class*="elementor-kit-"] :is(h5, h6, button),
[class*="elementor-kit-"] .elementor-button {
	font-family: var(--isarch-font-body);
}

[class*="elementor-kit-"] :is(h1, h2, h3, h4) {
	font-family: var(--isarch-font-display);
}
