/* Και οι τρεις οικογένειες είναι VARIABLE: το Google Fonts σέρβιρε byte-identical
   woff2 για 400/500/600/700 (επιβεβαιωμένο με md5). Ένα αρχείο ανά subset με
   font-weight range — αλλιώς το κινητό κατέβαζε το ίδιο αρχείο 3-4 φορές (~270KB).

   ΤΑ LATIN ΑΡΧΕΙΑ ΕΙΝΑΙ SUBSET, ΤΑ GREEK ΟΧΙ (214KB -> 126KB).
   Ήταν το 72% του βάρους των γραμματοσειρών σε ένα ελληνικό site, για να
   ζωγραφίζουν ψηφία, στίξη, «EcoPlant.gr» και N-P-K. Περιέχουν ΑΚΡΙΒΩΣ:
   όλο το printable ASCII (U+0020-007E) + © « » ° · – — • … € − (τα 11 που
   μετρήθηκαν στο site) + περιθώριο τυπογραφικών ± × ÷ ² ³ ¼ ½ ¾ “ ” ‘ ’ ‹ › ™ ↑ ↓ § ¶ † ‡ ‰ µ.
   ΤΟΝΟΥΜΕΝΑ ΛΑΤΙΝΙΚΑ (é, ü, à…) ΔΕΝ ΥΠΑΡΧΟΥΝ — κόστιζαν 34KB και δεν χρησιμοποιείται
   κανένα. Αν μπει τέτοιος χαρακτήρας σε περιεχόμενο, θα ζωγραφιστεί σιωπηλά από
   γραμματοσειρά συστήματος. Το check-mobile.mjs το πιάνει (έλεγχος fallback).
   Τα ελληνικά μένουν πλήρη subsets του Google — μηδέν ρίσκο στο κυρίως κείμενο.
   Ξαναφτιάχνονται με: css2?family=...&text=<οι χαρακτήρες>, με Chrome UA. */

/* ---- Roboto Slab (display) ---- */
/* Δεν έχει italic face καθόλου (variable μόνο σε wght) — εξεπίτηδες: το πλάγιο
   ελληνικό είναι ακριβώς ο καλλιγραφικός τόνος που δεν θέλουμε. Όπου υπήρχε
   πλάγιο (παράθεμα οράματος, σημείωση καλλιέργειας, blockquote άρθρου) ο τόνος
   δίνεται τώρα με χρώμα/βάρος/γραμμή. Μη βάλεις font-style: italic πουθενά με
   αυτή την οικογένεια — ο browser θα ζωγραφίσει ψεύτικη κλίση. */
/* greek */
@font-face { font-family: 'Roboto Slab'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(./fonts/RobotoSlab-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
/* latin */
@font-face { font-family: 'Roboto Slab'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(./fonts/RobotoSlab-latin.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; }

/* ---- IBM Plex Sans (body) ---- */
/* greek */
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400 700; font-stretch: 100%; font-display: swap;
  src: url(./fonts/IBMPlexSans-400-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
/* latin */
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400 700; font-stretch: 100%; font-display: swap;
  src: url(./fonts/IBMPlexSans-400-latin.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; }

/* ---- JetBrains Mono (data/labels) ---- */
/* greek */
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(./fonts/JetBrainsMono-400-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
/* latin */
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(./fonts/JetBrainsMono-400-latin.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; }
