/* Roobert Font Definitions */

/* Each weight is two files: ASCII, Latin-1 symbols and typographic
 * punctuation, which every page uses, and the accented letters (Latin-1 and
 * Extended-A), which the browser fetches only for text that needs them.
 * pyftsubset from the latin subset, 2026-09-26: 27 KB -> 16 KB per weight.
 * Core files: --layout-features=calt,kern,liga,tnum since ?v=sub4; without
 * tnum every tabular-nums (timers, prices, tables) set proportional digits. */
@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Light.woff2?v=sub4") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Light-ext.woff2?v=sub3") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-LightItalic.woff2?v=sub4") format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-LightItalic-ext.woff2?v=sub3") format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Regular.woff2?v=sub4") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Regular-ext.woff2?v=sub3") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-RegularItalic.woff2?v=sub4") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-RegularItalic-ext.woff2?v=sub3") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Medium.woff2?v=sub4") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Medium-ext.woff2?v=sub3") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-MediumItalic.woff2?v=sub4") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-MediumItalic-ext.woff2?v=sub3") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-SemiBold.woff2?v=sub4") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-SemiBold-ext.woff2?v=sub3") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-SemiBoldItalic.woff2?v=sub4") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-SemiBoldItalic-ext.woff2?v=sub3") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Bold.woff2?v=sub4") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Bold-ext.woff2?v=sub3") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-BoldItalic.woff2?v=sub4") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-BoldItalic-ext.woff2?v=sub3") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Heavy.woff2?v=sub4") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-Heavy-ext.woff2?v=sub3") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-HeavyItalic.woff2?v=sub4") format("woff2");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}

@font-face {
  font-family: "Roobert";
  src: url("/fonts/Roobert-HeavyItalic-ext.woff2?v=sub3") format("woff2");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
  unicode-range: U+00C0-017F;
}

/* Arial resized to Roobert's metrics (fontaine readMetrics on
 * Roobert-Regular.woff2), so text set in the fallback takes the same room and
 * the swap to Roobert moves nothing. Without it the swap was the home page's
 * only layout shift (CLS 0.022, 2026-09-26). */
@font-face {
  font-family: "Roobert Fallback";
  src: local("Arial"), local("Roboto");
  size-adjust: 102.7365%;
  ascent-override: 99.0885%;
  descent-override: 23.9448%;
  line-gap-override: 0%;
}
 /* End Roobert Font Definitions */

/* Montserrat, Tauri pages match cliqer-vite (tailwind.config.js fontFamily.body).
 * Split core/ext by unicode-range like Roobert: the home hero host window sets
 * Montserrat, and a Latin page fetches only the 26 KB core files. */
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  font-style: normal;
  src: url("/fonts/Montserrat-Medium.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}
@font-face {
  font-family: "Montserrat";
  font-weight: 500;
  font-style: normal;
  src: url("/fonts/Montserrat-Medium-ext.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+00C0-2012, U+2015-2017, U+201B, U+201E-201F, U+2023-2025, U+2027-20AB, U+20AD-2121, U+2123-FFFF;
}
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-style: normal;
  src: url("/fonts/Montserrat-SemiBold.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}
@font-face {
  font-family: "Montserrat";
  font-weight: 600;
  font-style: normal;
  src: url("/fonts/Montserrat-SemiBold-ext.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+00C0-2012, U+2015-2017, U+201B, U+201E-201F, U+2023-2025, U+2027-20AB, U+20AD-2121, U+2123-FFFF;
}
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-style: normal;
  src: url("/fonts/Montserrat-Bold.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}
@font-face {
  font-family: "Montserrat";
  font-weight: 700;
  font-style: normal;
  src: url("/fonts/Montserrat-Bold-ext.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+00C0-2012, U+2015-2017, U+201B, U+201E-201F, U+2023-2025, U+2027-20AB, U+20AD-2121, U+2123-FFFF;
}
@font-face {
  font-family: "Montserrat";
  font-weight: 800;
  font-style: normal;
  src: url("/fonts/Montserrat-ExtraBold.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}
@font-face {
  font-family: "Montserrat";
  font-weight: 800;
  font-style: normal;
  src: url("/fonts/Montserrat-ExtraBold-ext.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+00C0-2012, U+2015-2017, U+201B, U+201E-201F, U+2023-2025, U+2027-20AB, U+20AD-2121, U+2123-FFFF;
}
@font-face {
  font-family: "Montserrat";
  font-weight: 900;
  font-style: normal;
  src: url("/fonts/Montserrat-Black.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+0000-00BF, U+2013-2014, U+2018-201A, U+201C-201D, U+2020-2022, U+2026, U+20AC, U+2122;
}
@font-face {
  font-family: "Montserrat";
  font-weight: 900;
  font-style: normal;
  src: url("/fonts/Montserrat-Black-ext.woff2?v=sub1") format("woff2");
  font-display: swap;
  unicode-range: U+00C0-2012, U+2015-2017, U+201B, U+201E-201F, U+2023-2025, U+2027-20AB, U+20AD-2121, U+2123-FFFF;
}
/* Arial resized to Montserrat Medium's metrics (fontaine readMetrics, the
 * home hero host window's weight): Montserrat is not preloaded, so it lands
 * after first paint and the swap from system-ui widened the window's text
 * by about 8%. */
@font-face {
  font-family: "Montserrat Fallback";
  src: local("Arial"), local("Roboto");
  size-adjust: 114.6252%;
  ascent-override: 84.4491%;
  descent-override: 21.8975%;
  line-gap-override: 0%;
}
