/* ============================================================
   FONTS, SELF-HOSTED

   These files are the exact woff2 Google served for the two
   requests this site used to make, with the same family names,
   weights, styles and unicode-ranges. Nothing about the type is
   different once a face has loaded - the only thing that changed
   is where the bytes come from.

   WHY. Measured: every layout shift on this site happened within
   90ms of document.fonts.ready, and with a warm cache, where the
   fonts resolved in under 80ms, CLS was exactly 0 with no entries
   at all. The shift was the swap from the fallback to the real
   face, and it moved the header nav by 18px.

   Self-hosting removes a DNS lookup, a TLS handshake and a second
   round trip to a different origin, so the critical faces are
   already there at first paint. The fallback faces at the bottom
   are the safety net for the case where they are not.
   ============================================================ */

/* Frank Ruhl Libre 400 normal - hebrew */
@font-face{
  font-family:'Frank Ruhl Libre';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/FrankRuhlLibre-400-n-hebrew.woff2) format('woff2');
  unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* Frank Ruhl Libre 400 normal - latin */
@font-face{
  font-family:'Frank Ruhl Libre';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/FrankRuhlLibre-400-n-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;
}
/* Frank Ruhl Libre 400 normal - latin-ext */
@font-face{
  font-family:'Frank Ruhl Libre';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/FrankRuhlLibre-400-n-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;
}
/* Fraunces 400 italic - latin */
@font-face{
  font-family:'Fraunces';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url(fonts/Fraunces-400-i-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;
}
/* Fraunces 400 italic - latin-ext */
@font-face{
  font-family:'Fraunces';
  font-style:italic;
  font-weight:400;
  font-display:swap;
  src:url(fonts/Fraunces-400-i-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;
}
/* IBM Plex Mono 400 normal - latin */
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/IBMPlexMono-400-n-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 Mono 400 normal - latin-ext */
@font-face{
  font-family:'IBM Plex Mono';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/IBMPlexMono-400-n-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;
}
/* IBM Plex Sans Hebrew 400 normal - hebrew */
@font-face{
  font-family:'IBM Plex Sans Hebrew';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/IBMPlexSansHebrew-400-n-hebrew.woff2) format('woff2');
  unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* IBM Plex Sans Hebrew 400 normal - latin */
@font-face{
  font-family:'IBM Plex Sans Hebrew';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/IBMPlexSansHebrew-400-n-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 Hebrew 400 normal - latin-ext */
@font-face{
  font-family:'IBM Plex Sans Hebrew';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/IBMPlexSansHebrew-400-n-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;
}
/* Rubik 300 normal - hebrew */
@font-face{
  font-family:'Rubik';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url(fonts/Rubik-300-n-hebrew.woff2) format('woff2');
  unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* Rubik 300 normal - latin */
@font-face{
  font-family:'Rubik';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url(fonts/Rubik-300-n-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;
}
/* Rubik 300 normal - latin-ext */
@font-face{
  font-family:'Rubik';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url(fonts/Rubik-300-n-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;
}
/* Rubik 400 normal - hebrew */
@font-face{
  font-family:'Rubik';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/Rubik-400-n-hebrew.woff2) format('woff2');
  unicode-range:U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* Rubik 400 normal - latin */
@font-face{
  font-family:'Rubik';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/Rubik-400-n-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;
}
/* Rubik 400 normal - latin-ext */
@font-face{
  font-family:'Rubik';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/Rubik-400-n-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;
}
/* Space Grotesk 300 normal - latin */
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url(fonts/SpaceGrotesk-300-n-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;
}
/* Space Grotesk 300 normal - latin-ext */
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:300;
  font-display:swap;
  src:url(fonts/SpaceGrotesk-300-n-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;
}
/* Space Grotesk 400 normal - latin */
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/SpaceGrotesk-400-n-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;
}
/* Space Grotesk 400 normal - latin-ext */
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url(fonts/SpaceGrotesk-400-n-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;
}
/* Space Grotesk 600 normal - latin */
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(fonts/SpaceGrotesk-600-n-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;
}
/* Space Grotesk 600 normal - latin-ext */
@font-face{
  font-family:'Space Grotesk';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url(fonts/SpaceGrotesk-600-n-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;
}

/* ------------------------------------------------------------
   METRIC-MATCHED FALLBACKS

   Each of these describes a font already on the machine, told to
   report the real face's metrics. size-adjust scales the glyphs so
   a line of text measures the same width; the ascent and descent
   overrides make the line box the same height. They sit between
   the real family and the generic fallback in every stack, so if
   a face has not arrived the text still occupies the same space
   and the swap moves nothing.

   size-adjust is a single scalar per family and Space Grotesk's
   ratio varies by string - 101.55% across the alphabet, 109.7% on
   the nav row - so this narrows the shift rather than erasing it.
   Preloading the critical faces is what erases it; this is the
   net underneath.
   ------------------------------------------------------------ */
@font-face{
  font-family:'Space Grotesk fallback';
  src:local('Arial'), local('Helvetica Neue'), local('Liberation Sans');
  size-adjust:101.55%;
  ascent-override:96.5%;
  descent-override:28.56%;
  line-gap-override:0%;
}
@font-face{
  font-family:'Fraunces fallback';
  font-style:italic;
  src:local('Georgia'), local('Times New Roman'), local('Liberation Serif');
  size-adjust:85.22%;
  ascent-override:115%;
  descent-override:30.51%;
  line-gap-override:0%;
}
@font-face{
  font-family:'IBM Plex Mono fallback';
  src:local('Consolas'), local('Menlo'), local('DejaVu Sans Mono');
  size-adjust:109.13%;
  ascent-override:94.38%;
  descent-override:25.66%;
  line-gap-override:0%;
}
@font-face{
  font-family:'Rubik fallback';
  src:local('Segoe UI'), local('Arial Hebrew'), local('Noto Sans Hebrew'), local('Arial');
  size-adjust:95.9%;
  ascent-override:98.02%;
  descent-override:26.07%;
  line-gap-override:0%;
}
@font-face{
  font-family:'IBM Plex Sans Hebrew fallback';
  src:local('Segoe UI'), local('Arial Hebrew'), local('Noto Sans Hebrew'), local('Arial');
  size-adjust:96.3%;
  ascent-override:106.95%;
  descent-override:29.07%;
  line-gap-override:0%;
}
@font-face{
  font-family:'Frank Ruhl Libre fallback';
  src:local('Georgia'), local('Times New Roman'), local('Liberation Serif');
  size-adjust:99.62%;
  ascent-override:96.37%;
  descent-override:33.13%;
  line-gap-override:0%;
}
