/* Self-hosted font subsets: Montserrat, Raleway, Roboto
   Provide only weights actually used to reduce payload.
   Added weight 500 for all families (medium) per request.
   NOTE: Place corresponding .woff2 files in /css/fonts/ or adjust paths below.
   Recommended structure (example):
   /css/fonts/montserrat-vX-latin-300.woff2
   /css/fonts/montserrat-vX-latin-400.woff2
   /css/fonts/montserrat-vX-latin-500.woff2
   /css/fonts/montserrat-vX-latin-600.woff2
   /css/fonts/raleway-vX-latin-300.woff2
   /css/fonts/raleway-vX-latin-400.woff2
   /css/fonts/raleway-vX-latin-500.woff2
   /css/fonts/roboto-vX-latin-300.woff2
   /css/fonts/roboto-vX-latin-400.woff2
   /css/fonts/roboto-vX-latin-500.woff2
*/

/* Common Latin subset unicode-range */
/* Adjust unicode-range if you need additional glyphs (e.g. extended Latin, Cyrillic). */
:root { --jj-font-unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Montserrat weights */
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight:300; font-display:swap; src: url('fonts/montserrat-v31-latin-300.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight:400; font-display:swap; src: url('fonts/montserrat-v31-latin-400.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight:500; font-display:swap; src: url('fonts/montserrat-v31-latin-500.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight:600; font-display:swap; src: url('fonts/montserrat-v31-latin-600.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight:700; font-display:swap; src: url('fonts/montserrat-v31-latin-700.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight:800; font-display:swap; src: url('fonts/montserrat-v31-latin-800.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }

/* Raleway weights */
@font-face { font-family: 'Raleway'; font-style: normal; font-weight:300; font-display:swap; src: url('fonts/raleway-v37-latin-300.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight:400; font-display:swap; src: url('fonts/raleway-v37-latin-400.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }
@font-face { font-family: 'Raleway'; font-style: normal; font-weight:500; font-display:swap; src: url('fonts/raleway-v37-latin-500.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }

/* Roboto weights */
@font-face { font-family: 'Roboto'; font-style: normal; font-weight:300; font-display:swap; src: url('fonts/roboto-v49-latin-300.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight:400; font-display:swap; src: url('fonts/roboto-v49-latin-400.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight:500; font-display:swap; src: url('fonts/roboto-v49-latin-500.woff2') format('woff2'); unicode-range: var(--jj-font-unicode-range); }

/* Fallback strategy: Ensure system fonts display first until swap occurs */
