/* Generated layout: one @font-face per (family, subset, weight), each with a unicode-range so the browser downloads only what a page uses.
   Files come from the installed @fontsource packages (bundled by Bun, no CDN). */

@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-latin-400-normal-09aee806.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: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-latin-700-normal-e77bfe1d.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: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-latin-ext-400-normal-c8e6bf92.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: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-latin-ext-700-normal-c0cd4312.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: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-cyrillic-400-normal-05af9e70.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-cyrillic-700-normal-0980b972.woff2") format("woff2");
  unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;
}

@font-face {
  font-family: "Noto Sans Arabic";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-arabic-arabic-400-normal-4e2ca074.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}

@font-face {
  font-family: "Noto Sans Arabic";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-arabic-arabic-700-normal-d2bf5ac7.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}

@font-face {
  font-family: "Noto Naskh Arabic";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-naskh-arabic-arabic-400-normal-9cc2d2e9.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}

@font-face {
  font-family: "Noto Naskh Arabic";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-naskh-arabic-arabic-700-normal-d2d8e6b1.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}

@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/vazirmatn-arabic-400-normal-e31830d3.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}

@font-face {
  font-family: "Vazirmatn";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/vazirmatn-arabic-700-normal-aa79f941.woff2") format("woff2");
  unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC;
}

@font-face {
  font-family: "Noto Sans Ethiopic";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-ethiopic-ethiopic-400-normal-4989af5e.woff2") format("woff2");
  unicode-range: U+1200-1399,U+2D80-2DDE,U+AB01-AB2E;
}

@font-face {
  font-family: "Noto Sans Ethiopic";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-ethiopic-ethiopic-700-normal-26c6f828.woff2") format("woff2");
  unicode-range: U+1200-1399,U+2D80-2DDE,U+AB01-AB2E;
}

/* Montserrat (headings, buttons, app name), like the association's logo. One weight only to stay light (19 KB for Latin);
   other scripts fall through to their Noto font. */
@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/montserrat-latin-700-normal-f9d9e65b.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: "Montserrat";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/montserrat-latin-ext-700-normal-a59fcc94.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;
}

/* — added 2026-11: Bengali, Tamil, Georgian, Armenian (one subset each; Latin digits and punctuation come from Noto Sans) — */

@font-face {
  font-family: "Noto Sans Bengali";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-bengali-bengali-400-normal-adb805ae.woff2") format("woff2");
  unicode-range: U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1;
}

@font-face {
  font-family: "Noto Sans Bengali";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-bengali-bengali-700-normal-67ffaf54.woff2") format("woff2");
  unicode-range: U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1;
}

@font-face {
  font-family: "Noto Sans Tamil";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-tamil-tamil-400-normal-6b240e87.woff2") format("woff2");
  unicode-range: U+0964-0965,U+0B82-0BFA,U+200C-200D,U+20B9,U+25CC;
}

@font-face {
  font-family: "Noto Sans Tamil";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-tamil-tamil-700-normal-2ec87bed.woff2") format("woff2");
  unicode-range: U+0964-0965,U+0B82-0BFA,U+200C-200D,U+20B9,U+25CC;
}

@font-face {
  font-family: "Noto Sans Georgian";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-georgian-georgian-400-normal-d33ac947.woff2") format("woff2");
  unicode-range: U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31;
}

@font-face {
  font-family: "Noto Sans Georgian";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-georgian-georgian-700-normal-b21dd9ac.woff2") format("woff2");
  unicode-range: U+0589,U+10A0-10FF,U+1C90-1CBA,U+1CBD-1CBF,U+205A,U+2D00-2D2F,U+2E31;
}

@font-face {
  font-family: "Noto Sans Armenian";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/fonts/noto-sans-armenian-armenian-400-normal-f634ee19.woff2") format("woff2");
  unicode-range: U+0308,U+0530-058F,U+2010,U+2024,U+25CC,U+FB13-FB17;
}

@font-face {
  font-family: "Noto Sans Armenian";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/noto-sans-armenian-armenian-700-normal-ca4e3b75.woff2") format("woff2");
  unicode-range: U+0308,U+0530-058F,U+2010,U+2024,U+25CC,U+FB13-FB17;
}

/* Font per language for the scripts added in 2026-11. Each stack lists all bundled scripts so no character falls to tofu. */
:lang(bn) {
  --font: "Noto Sans Bengali", "Noto Sans", "Noto Sans Arabic", "Vazirmatn", "Noto Sans Ethiopic", "Noto Sans Bengali", "Noto Sans Tamil", "Noto Sans Georgian", "Noto Sans Armenian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-family: var(--font);
}
:lang(ta) {
  --font: "Noto Sans Tamil", "Noto Sans", "Noto Sans Arabic", "Vazirmatn", "Noto Sans Ethiopic", "Noto Sans Bengali", "Noto Sans Tamil", "Noto Sans Georgian", "Noto Sans Armenian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-family: var(--font);
}
:lang(ka) {
  --font: "Noto Sans Georgian", "Noto Sans", "Noto Sans Arabic", "Vazirmatn", "Noto Sans Ethiopic", "Noto Sans Bengali", "Noto Sans Tamil", "Noto Sans Georgian", "Noto Sans Armenian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-family: var(--font);
}
:lang(hy) {
  --font: "Noto Sans Armenian", "Noto Sans", "Noto Sans Arabic", "Vazirmatn", "Noto Sans Ethiopic", "Noto Sans Bengali", "Noto Sans Tamil", "Noto Sans Georgian", "Noto Sans Armenian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-family: var(--font);
}
:lang(ckb) {
  --font: "Noto Sans Arabic", "Vazirmatn", "Noto Sans", "Noto Sans Arabic", "Vazirmatn", "Noto Sans Ethiopic", "Noto Sans Bengali", "Noto Sans Tamil", "Noto Sans Georgian", "Noto Sans Armenian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-family: var(--font);
}
.long-text:lang(ckb) {
  --font: "Noto Naskh Arabic", "Noto Sans Arabic", "Vazirmatn", "Noto Sans", "Noto Sans Arabic", "Vazirmatn", "Noto Sans Ethiopic", "Noto Sans Bengali", "Noto Sans Tamil", "Noto Sans Georgian", "Noto Sans Armenian", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-family: var(--font);
  line-height: 1.9;
}
/* Armenian and Georgian have no italic or faux-bold needs; Tamil and Bengali carry tall marks, so give them room. */
.long-text:lang(bn),
.long-text:lang(ta) {
  line-height: 1.8;
}
