/* Self-hosted webfonts. Generated by scripts/fetch-fonts.sh — do not hand-edit.
 * Unbounded (the racing rows, prices, titles, headings, buttons) and Figtree
 * (everything else), both SIL Open Font License 1.1, which permits
 * redistribution; attribution is recorded in ASSET_LICENSE_REGISTRY (@blwa/ui).
 * Picked by Cereal in the salon's design ledger (docs/design/salon/LEDGER.md,
 * Q12); weights per docs/SALON-DIRECTION-2026-10-06.md §2.2.
 *
 * WHAT EACH FILE COVERS, measured 2026-10-07 in Chrome against these files by
 * the shared generator's method (scripts/build-font-css.py): advance widths
 * per weight, and a character's width with two different fallbacks behind the
 * face, where a difference means the browser fell back.
 *
 *   unbounded-latin.woff2  — variable; the file carries 200 to 900 although
 *                            800 to 900 was asked for, which is most of its
 *                            bytes. Declared 800 900, the weights the design uses.
 *                            Has NO ₱.
 *   figtree-latin.woff2    — variable; the file carries 300 to 900. Declared
 *                            400 800. Has NO ₱, and Figtree has none at all
 *                            (fonts.gstatic.com answers 400 for text=₱).
 *   unbounded-peso.woff2   — exactly one glyph, Unbounded's own ₱ (U+20B1),
 *                            carrying weights 200 to 900. Declared under
 *                            Unbounded AND under Figtree, each at its family's
 *                            upright weight, so every ₱ on the site is
 *                            Unbounded's (salon ledger Q13): Chrome resolves
 *                            weight across a family before it looks at
 *                            unicode-range, so a different range drops
 *                            ₱ back to a system font.
 *
 * NOT shipped: the latin-ext subsets. If client copy ever gains a real
 * latin-ext character it will silently fall back to a system font; add
 * "latin-ext" to scripts/fonts.json if so.
 */

@font-face {
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/figtree-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: 'Figtree';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/unbounded-peso.woff2') format('woff2');
  unicode-range: U+20B1;
}

@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 800 900;
  font-display: swap;
  src: url('/fonts/unbounded-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: 'Unbounded';
  font-style: normal;
  font-weight: 800 900;
  font-display: swap;
  src: url('/fonts/unbounded-peso.woff2') format('woff2');
  unicode-range: U+20B1;
}
