/* Keepsake fonts, self-hosted (SIL OFL): Caveat (the handwriting on the gift tag) and Fraunces Accent (a static
 *  italic subset for display lines). The site's other faces still come from Google Fonts (index.html). Loaded on the
 *  letter routes (/order, /gift, the club pages) by index.html; the keepsake CSS falls back to Fraunces / cursive. */
/* Caveat (SIL OFL) — the handwriting on the gift tag only (name + "with love, from …").
   Fix round (26 Oct 2026, a11y/perf P1-8): one weight (700, the tag's), and the letters names use (Latin + a few accents), as a
   16 KB static subset (+ 2 KB extension) instead of the 74 KB + 29 KB variable files. Those stay below as the
   fallback for any other character (é, ö, ł…) — a browser downloads them only when such a letter is on the page. */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/gf/caveat-700-ro-subset.woff2) format('woff2');
  unicode-range: U+0020-0022, U+0026-0029, U+002C-003B, U+003F, U+0041-005A, U+0061-007A, U+00A0, U+00C2, U+00CE, U+00E2, U+00EE, U+2013-2014, U+2019, U+201C-201E, U+2026;
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/gf/caveat-700-ro-ext.woff2) format('woff2');
  unicode-range: U+0102-0103, U+015E-015F, U+0162-0163, U+0218-021B;
}
/* fallback: latin (everything the subset above does not carry). All four Caveat faces MUST carry the same weight
   descriptor (400 700): with "500 700" here Chrome picked this group for a 700 request and, its unicode-range having
   no a–z, the whole name fell through to Segoe Print / Bradley Hand (r2 QA P1, 26 Oct 2026). */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/gf/caveat-v23-Wnz6HAc5bAfYB2Q7ZjYY.woff2) format('woff2');
  unicode-range: U+0023-0025, U+002A-002B, U+003C-003E, U+0040, U+005B-0060, U+007B-007E, U+00A1-00C1, U+00C3-00CD, U+00CF-00E1, U+00E3-00ED, U+00EF-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-2012, U+2015-2018, U+201A-201B, U+201F-2025, U+2027-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* fallback: latin-ext */
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/gf/caveat-v23-Wnz6HAc5bAfYB2Q7aDYYmg8.woff2) format('woff2');
  unicode-range: U+0100-0101, U+0104-0130, U+0132-0151, U+0154-015D, U+0160-0161, U+0164-0217, U+021C-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* Fraunces Accent — a static italic instance of Fraunces (opsz 72, weight 500), subset to the letters of display
   lines: the delivered headline's rose word, the waiting acts' headings, "Ready. Listen.". 15 KB + 2 KB, so the
   first screen never waits for the 70–80 KB variable italic files (those still serve the lyrics further down). */
@font-face {
  font-family: 'Fraunces Accent';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/gf/fraunces-accent-italic.woff2) format('woff2');
  unicode-range: U+0020-007E, U+00C2, U+00CE, U+00E2, U+00EE, U+2013-2014, U+2019, U+201C-201E, U+2026;
}
@font-face {
  font-family: 'Fraunces Accent';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/gf/fraunces-accent-italic-ext.woff2) format('woff2');
  unicode-range: U+0102-0103, U+015E-015F, U+0162-0163, U+0218-021B;
}
