/* Self-hosted copy: font files in fonts/font-twin/ (Google Fonts, SIL OFL / Apache 2.0).
 * Built from sawhorse tools/font-twins/larson.apple.css by ship.py. */

/* Traipse (jonathanlarsonblog.com): free twins for the Hoefler&Co fonts, Google Fonts only, Apple devices use their built-in Hoefler Text first (v2, 2026-11-03).
 * Apple variant: Hoefler Text roman and italic come from the system font where installed (Mac, iPhone, iPad); everyone else gets the EB Garamond twin below. The system font has no weight like H&Co's 700 (only Black), so bold stays EB Garamond. The local() faces carry the same weights (450, 500) as the EB Garamond faces so both sit in one family; a different weight would make Windows skip the twin.
 * Hoefler Text -> EB Garamond, the variable file, run at weight 450 (roman) and 500 (italic) so a paragraph's darkness matches Hoefler Text. Each weight is pinned by giving the @font-face a single weight above what the theme asks for: the browser clamps to it.
 * Figures: Google's EB Garamond has no old-style figures, so 0-9 come from Sorts Mill Goudy (roman), Cormorant Garamond (italic) and Gelasio (bold), each sized to Hoefler's figure widths.
 * Whitney -> Source Sans 3 at weight 345.
 * One size per style (no separate sizes for spaces or punctuation) except bold word spaces; kerning and quotes stay whole.
 * Inkwell Sans is left undefined on purpose: the H&Co kit does not serve it, so the genuine page falls back to the default serif too.
 * No theme CSS changes: only @font-face rules for the family names the theme already uses.
 */

/* Hoefler Text 400 (and the theme's 200 headings and 100 drop cap) -> EB Garamond at 450, size-adjust 107.7%; figures Sorts Mill Goudy 104% */
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 450; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-Dk_YAPIlWk.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 107.7%; ascent-override: 89.14%; descent-override: 34.35%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 450; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-R1SDk_YAPI.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;
  size-adjust: 107.7%; ascent-override: 89.14%; descent-override: 34.35%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 450; font-display: swap;
  src: url(fonts/font-twin/sortsmillgoudy-HoEj7E49PA.woff2) format('woff2');
  unicode-range: U+0030-0039;
  size-adjust: 104%; ascent-override: 92.31%; descent-override: 35.58%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 450; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-Dk_YAPIlWk.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 107.7%; ascent-override: 89.14%; descent-override: 34.35%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 450; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-R1SDk_YAPI.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;
  size-adjust: 107.7%; ascent-override: 89.14%; descent-override: 34.35%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 450; font-display: swap;
  src: url(fonts/font-twin/sortsmillgoudy-HoEj7E49PA.woff2) format('woff2');
  unicode-range: U+0030-0039;
  size-adjust: 104%; ascent-override: 92.31%; descent-override: 35.58%; line-gap-override: 0%; }

/* Hoefler Text 400 italic (and the 200 italic headings) -> EB Garamond italic at 500, size-adjust 98.5%; figures Cormorant Garamond italic 113.6% */
@font-face { font-family: "Hoefler Text A"; font-style: italic; font-weight: 500; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-ZyHKpWiGIg.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 98.5%; ascent-override: 97.46%; descent-override: 37.56%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: italic; font-weight: 500; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-Ds1ZyHKpWg.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;
  size-adjust: 98.5%; ascent-override: 97.46%; descent-override: 37.56%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: italic; font-weight: 500; font-display: swap;
  src: url(fonts/font-twin/cormorantgaramond-tImSqn7B6D.woff2) format('woff2');
  unicode-range: U+0030-0039;
  size-adjust: 113.6%; ascent-override: 84.51%; descent-override: 32.57%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: italic; font-weight: 500; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-ZyHKpWiGIg.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 98.5%; ascent-override: 97.46%; descent-override: 37.56%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: italic; font-weight: 500; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-Ds1ZyHKpWg.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;
  size-adjust: 98.5%; ascent-override: 97.46%; descent-override: 37.56%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: italic; font-weight: 500; font-display: swap;
  src: url(fonts/font-twin/cormorantgaramond-tImSqn7B6D.woff2) format('woff2');
  unicode-range: U+0030-0039;
  size-adjust: 113.6%; ascent-override: 84.51%; descent-override: 32.57%; line-gap-override: 0%; }

/* Hoefler Text 700 (the theme asks for 800: logo, menu button, bold body text, form labels) -> EB Garamond at 620, size-adjust 112.2%, word spaces 80%; figures Gelasio 83% */
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 650; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-Dk_YAPIlWk.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 111%; ascent-override: 86.49%; descent-override: 33.33%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 650; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-R1SDk_YAPI.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;
  size-adjust: 111%; ascent-override: 86.49%; descent-override: 33.33%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 650; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-R1SDk_YAPI.woff2) format('woff2');
  unicode-range: U+0020, U+00A0;
  size-adjust: 80%; ascent-override: 120.00%; descent-override: 46.25%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 650; font-display: swap;
  src: url(fonts/font-twin/gelasio-C6hYUsEkIo.woff2) format('woff2');
  unicode-range: U+0030-0039;
  size-adjust: 83%; ascent-override: 115.66%; descent-override: 44.58%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 650; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-Dk_YAPIlWk.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 111%; ascent-override: 86.49%; descent-override: 33.33%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 650; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-R1SDk_YAPI.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;
  size-adjust: 111%; ascent-override: 86.49%; descent-override: 33.33%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 650; font-display: swap;
  src: url(fonts/font-twin/ebgaramond-R1SDk_YAPI.woff2) format('woff2');
  unicode-range: U+0020, U+00A0;
  size-adjust: 80%; ascent-override: 120.00%; descent-override: 46.25%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 650; font-display: swap;
  src: url(fonts/font-twin/gelasio-C6hYUsEkIo.woff2) format('woff2');
  unicode-range: U+0030-0039;
  size-adjust: 83%; ascent-override: 115.66%; descent-override: 44.58%; line-gap-override: 0%; }

/* Whitney 400 (menu, post dates, comment count) -> Source Sans 3 at 345, size-adjust 104.5% */
@font-face { font-family: "Whitney A"; font-style: normal; font-weight: 345; font-display: swap;
  src: url(fonts/font-twin/sourcesans3-Zejf5HdF8Q.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 104.5%; ascent-override: 91.87%; descent-override: 19.14%; line-gap-override: 0%; }
@font-face { font-family: "Whitney A"; font-style: normal; font-weight: 345; font-display: swap;
  src: url(fonts/font-twin/sourcesans3-w8aZejf5Hc.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;
  size-adjust: 104.5%; ascent-override: 91.87%; descent-override: 19.14%; line-gap-override: 0%; }
@font-face { font-family: "Whitney B"; font-style: normal; font-weight: 345; font-display: swap;
  src: url(fonts/font-twin/sourcesans3-Zejf5HdF8Q.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 104.5%; ascent-override: 91.87%; descent-override: 19.14%; line-gap-override: 0%; }
@font-face { font-family: "Whitney B"; font-style: normal; font-weight: 345; font-display: swap;
  src: url(fonts/font-twin/sourcesans3-w8aZejf5Hc.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;
  size-adjust: 104.5%; ascent-override: 91.87%; descent-override: 19.14%; line-gap-override: 0%; }
@font-face { font-family: "Whitney A"; font-style: italic; font-weight: 345; font-display: swap;
  src: url(fonts/font-twin/sourcesans3-LYxnV18JRx.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 104.5%; ascent-override: 91.87%; descent-override: 19.14%; line-gap-override: 0%; }
@font-face { font-family: "Whitney A"; font-style: italic; font-weight: 345; font-display: swap;
  src: url(fonts/font-twin/sourcesans3-Z-LYxnV18A.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;
  size-adjust: 104.5%; ascent-override: 91.87%; descent-override: 19.14%; line-gap-override: 0%; }
@font-face { font-family: "Whitney B"; font-style: italic; font-weight: 345; font-display: swap;
  src: url(fonts/font-twin/sourcesans3-LYxnV18JRx.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
  size-adjust: 104.5%; ascent-override: 91.87%; descent-override: 19.14%; line-gap-override: 0%; }
@font-face { font-family: "Whitney B"; font-style: italic; font-weight: 345; font-display: swap;
  src: url(fonts/font-twin/sourcesans3-Z-LYxnV18A.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;
  size-adjust: 104.5%; ascent-override: 91.87%; descent-override: 19.14%; line-gap-override: 0%; }

/* Hoefler Text 400: Apple's system Hoefler Text / HoeflerText-Regular where installed (declared last, so tried first; skipped where missing). The system font spaces words 25% wider than the H&Co webfont (0.25em against 0.20em), so its space gets its own size, 80%; where the system font is missing, spaces fall back to EB Garamond like the default */
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 450; font-display: swap;
  src: local("Hoefler Text"), local("HoeflerText-Regular");
  unicode-range: U+0000-001F,U+0021-009F,U+00A1-FFFF;
  size-adjust: 100.2%; ascent-override: 95.81%; descent-override: 36.93%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 450; font-display: swap;
  src: local("Hoefler Text"), local("HoeflerText-Regular");
  unicode-range: U+0030-0039;
  size-adjust: 94%; ascent-override: 102.13%; descent-override: 39.36%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 450; font-display: swap;
  src: local("Hoefler Text"), local("HoeflerText-Regular");
  unicode-range: U+0000-001F,U+0021-009F,U+00A1-FFFF;
  size-adjust: 100.2%; ascent-override: 95.81%; descent-override: 36.93%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 450; font-display: swap;
  src: local("Hoefler Text"), local("HoeflerText-Regular");
  unicode-range: U+0030-0039;
  size-adjust: 94%; ascent-override: 102.13%; descent-override: 39.36%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: normal; font-weight: 450; font-display: swap;
  src: local("Hoefler Text"), local("HoeflerText-Regular");
  unicode-range: U+0020, U+00A0;
  size-adjust: 80%; ascent-override: 120.00%; descent-override: 46.25%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: normal; font-weight: 450; font-display: swap;
  src: local("Hoefler Text"), local("HoeflerText-Regular");
  unicode-range: U+0020, U+00A0;
  size-adjust: 80%; ascent-override: 120.00%; descent-override: 46.25%; line-gap-override: 0%; }

/* Hoefler Text 400i: Apple's system Hoefler Text Italic / HoeflerText-Italic where installed (declared last, so tried first; skipped where missing). Its word space is already the H&Co width, so spaces come from it too */
@font-face { font-family: "Hoefler Text A"; font-style: italic; font-weight: 500; font-display: swap;
  src: local("Hoefler Text Italic"), local("HoeflerText-Italic");
  unicode-range: U+0000-FFFF;
  size-adjust: 100.6%; ascent-override: 95.43%; descent-override: 36.78%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text A"; font-style: italic; font-weight: 500; font-display: swap;
  src: local("Hoefler Text Italic"), local("HoeflerText-Italic");
  unicode-range: U+0030-0039;
  size-adjust: 96%; ascent-override: 100.00%; descent-override: 38.54%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: italic; font-weight: 500; font-display: swap;
  src: local("Hoefler Text Italic"), local("HoeflerText-Italic");
  unicode-range: U+0000-FFFF;
  size-adjust: 100.6%; ascent-override: 95.43%; descent-override: 36.78%; line-gap-override: 0%; }
@font-face { font-family: "Hoefler Text B"; font-style: italic; font-weight: 500; font-display: swap;
  src: local("Hoefler Text Italic"), local("HoeflerText-Italic");
  unicode-range: U+0030-0039;
  size-adjust: 96%; ascent-override: 100.00%; descent-override: 38.54%; line-gap-override: 0%; }
