/* Self-hosted webfonts. Replaces the Google Fonts <link> on every page: two
 * third-party preconnects, a render-blocking stylesheet from fonts.googleapis.com,
 * then the woff2 files from a second origin (fonts.gstatic.com) - four connections
 * deep before a single glyph paints. All of it now comes off our own origin, from
 * the same edge that already holds the HTML.
 *
 * Downloaded 2026-08-10 from the exact css2 URL the pages used, so the faces are
 * byte-identical to what shipped before. All three families are Open Font License
 * 1.1 - redistribution is explicitly permitted, self-hosting included.
 *
 * unicode-range is Google's own, kept verbatim. It is what makes this cheap: a
 * visitor who never types an accented character never downloads latin-ext, so the
 * real first-paint cost is the four `latin` files, not the directory total.
 *
 * font-display: swap, also as before - text paints immediately in Georgia and
 * reflows when the face lands. On a page whose argument is "read this", never
 * show blank text waiting for a font.
 *
 * Cached immutably via the /assets/fonts/* rule in _headers. Filenames encode
 * family-style-weight-subset, so a font change means a new filename, never a
 * stale-cache problem. (Per-file _headers rules do not work on Pages; the
 * directory-prefix form does - see the note in _headers.)
 */


/* ---- Cormorant Garamond · normal ---- */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/assets/fonts/cormorant-garamond-normal-300_700-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;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/assets/fonts/cormorant-garamond-normal-300_700-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;
}

/* ---- Cormorant Garamond · italic ---- */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url('/assets/fonts/cormorant-garamond-italic-300_700-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;
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300 700;
  font-display: swap;
  src: url('/assets/fonts/cormorant-garamond-italic-300_700-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;
}

/* ---- EB Garamond · normal ---- */
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/eb-garamond-normal-400_800-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;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/eb-garamond-normal-400_800-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;
}

/* ---- EB Garamond · italic ---- */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/eb-garamond-italic-400_800-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;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/eb-garamond-italic-400_800-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;
}

/* ---- IM Fell English SC · normal ---- */
@font-face {
  font-family: 'IM Fell English SC';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/im-fell-english-sc-arc-subset.woff2') format('woff2');
}

/* IM Fell English SC is subset to ONE STRING and nothing else.
 *
 * It renders exactly one thing on this site: the arched line over the masthead on
 * / and /reading - "… Traced the Old Way". Everywhere else it is only a fallback
 * behind Cormorant in --font-title, so it never paints. The full latin face is
 * 56KB for that one line; this is 6KB.
 *
 * ponytail: subset to the literal string, not to A-Z. Ceiling: change the arc copy
 * to any character outside "… Traced the Old Way" and the new character renders as
 * tofu - it is not in the file. Nothing warns you. Re-subset when you edit that
 * line (or switch --text for --unicodes='U+0020,U+0041-005A,U+0061-007A,U+2026'
 * to buy back the whole alphabet for 26KB):
 *
 *   pyftsubset im-fell-english-sc.woff2 --flavor=woff2 --layout-features='' \
 *     --output-file=im-fell-english-sc-arc-subset.woff2 --text='… Traced the Old Way'
 */
