/*  Leaf & Bloom - Self-hosted typefaces
 *  ---------------------------------------------------------------------------
 *  Zero external requests: no Google Fonts CDN, no third-party host. The WOFF2
 *  files live in assets/fonts/ and ship inside the theme.
 *
 *  Both families are VARIABLE fonts, so all five faces the design uses come
 *  from two files (plus one italic):
 *      cormorant-garamond-latin-var.woff2         38 KB  weights 500-600
 *      cormorant-garamond-latin-italic-var.woff2  39 KB  weights 500-600 italic
 *      jost-latin-var.woff2                       26 KB  weights 300-500
 *
 *  The two critical faces (Cormorant roman, Jost roman) are <link rel=preload>ed
 *  in each document head. The italic is decorative and loads with swap.
 *
 *  The two @font-face blocks at the bottom are METRIC-COMPATIBLE FALLBACKS.
 *  Their override values were measured from the real font binaries with fontkit
 *  (avg advance width over a-z + space, ascent/descent from the hhea table), so
 *  the fallback occupies the same box as the webfont and swapping in the real
 *  face causes no layout shift. Recompute with tools/font-metrics.js.
 *  ------------------------------------------------------------------------- */

/* == Cormorant Garamond - display serif: headings, prices, pull-quotes ===== */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500 600;          /* variable range */
  font-display: swap;
  src: url('../fonts/cormorant-garamond-latin-var.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: 500 600;
  font-display: swap;
  src: url('../fonts/cormorant-garamond-latin-italic-var.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;
}

/* == Jost - sans: body, nav, buttons, forms =============================== */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 500;          /* variable range */
  font-display: swap;
  src: url('../fonts/jost-latin-var.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;
}

/* == Metric-compatible fallbacks (no FOIT, no CLS) ======================= */
/*  Measured: Cormorant upm 1000, asc 924, desc -287, avg adv 0.43193em
 *            Georgia   upm 2048, asc 1878, desc -449, avg adv 0.48958em      */
@font-face {
  font-family: 'Cormorant Fallback';
  src: local('Georgia'), local('Times New Roman'), local('Times');
  size-adjust: 88.22%;
  ascent-override: 104.73%;
  descent-override: 32.53%;
  line-gap-override: 0%;
}

/*  Measured: Jost  upm 1000, asc 1070, desc -375, avg adv 0.45989em
 *            Arial upm 2048, asc 1854, desc -434, avg adv 0.48170em          */
@font-face {
  font-family: 'Jost Fallback';
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica');
  size-adjust: 95.47%;
  ascent-override: 112.07%;
  descent-override: 39.28%;
  line-gap-override: 0%;
}
