/* ════════════════════════════════════════════════════════════════════
   fonts.css — the three families, served from this domain.

   They used to load from fonts.googleapis.com, which sent every visitor's
   IP to Google before they had agreed to anything — the point a German
   court ruled on in 2022. Self-hosting removes the third party and drops
   two DNS lookups plus two TLS handshakes from first paint.

   One variable file per family per subset: the five weights of Inter are
   a single download and the browser interpolates between them.

   unicode-range is what makes the Cyrillic free. A browser fetches a
   subset only if the page actually contains characters from it, so the
   English pages never touch them — they are here ready for the Russian
   version instead of being bolted on later. English page: 111 KB.
   Russian adds 82 KB on top.

   The serif is Spectral, not Newsreader. Newsreader has no Cyrillic at
   all, so Russian headings would have fallen back to a system serif and
   the two language versions would not have looked like the same brand.
   Spectral is by the same foundry — Production Type — which is why the
   Latin barely moved. Only italic 400 is loaded: that is the only cut the
   site uses, for the accent inside a heading.

   Regenerate: request the same css2 URL with a desktop browser UA, keep
   the latin / latin-ext / cyrillic / cyrillic-ext blocks, and collapse a
   variable file's repeated weights into one range.
   ════════════════════════════════════════════════════════════════════ */

/* Inter · cyrillic-ext */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url('assets/fonts/inter-normal-cyrillic-ext.woff2') format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Inter · cyrillic */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url('assets/fonts/inter-normal-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Inter · latin-ext */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url('assets/fonts/inter-normal-latin-ext.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;
}
/* Inter · latin */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:300 700;
  font-display:swap;
  src:url('assets/fonts/inter-normal-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 · cyrillic-ext */
@font-face{
  font-family:'JetBrains Mono';
  font-style:normal;
  font-weight:300 500;
  font-display:swap;
  src:url('assets/fonts/jetbrains-mono-normal-cyrillic-ext.woff2') format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* JetBrains Mono · cyrillic */
@font-face{
  font-family:'JetBrains Mono';
  font-style:normal;
  font-weight:300 500;
  font-display:swap;
  src:url('assets/fonts/jetbrains-mono-normal-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* JetBrains Mono · latin-ext */
@font-face{
  font-family:'JetBrains Mono';
  font-style:normal;
  font-weight:300 500;
  font-display:swap;
  src:url('assets/fonts/jetbrains-mono-normal-latin-ext.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;
}
/* JetBrains Mono · latin */
@font-face{
  font-family:'JetBrains Mono';
  font-style:normal;
  font-weight:300 500;
  font-display:swap;
  src:url('assets/fonts/jetbrains-mono-normal-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;
}
/* Spectral · cyrillic-ext */
@font-face{
  font-family:'Spectral';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url('assets/fonts/spectral-italic-cyrillic-ext.woff2') format('woff2');
  unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* Spectral · cyrillic */
@font-face{
  font-family:'Spectral';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url('assets/fonts/spectral-italic-cyrillic.woff2') format('woff2');
  unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Spectral · latin-ext */
@font-face{
  font-family:'Spectral';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url('assets/fonts/spectral-italic-latin-ext.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;
}
/* Spectral · latin */
@font-face{
  font-family:'Spectral';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url('assets/fonts/spectral-italic-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;
}
