/* The three faces this site uses, served from this site.
 *
 * They used to come from fonts.googleapis.com, which worked and cost nothing
 * except that every guest's browser announced to Google that they had opened
 * this page — with the Referer header naming which wedding. That is a strange
 * thing to hand over on someone's behalf, and it is the reason public/_headers
 * can now say font-src 'self' and mean it.
 *
 * Only the LATIN subset of each face is here. Google serves the same family
 * split across latin, latin-ext and vietnamese blocks; the other two would
 * roughly triple the bytes for characters this site will never render.
 *
 * WEIGHT RANGES, NOT WEIGHTS. Fraunces, Montserrat and Playfair Display are all
 * variable fonts, and Google serves ONE file covering every weight asked for —
 * the 340 and 560 cuts of Fraunces are byte-for-byte the same download. Writing
 * them as separate @font-face rules pointing at the same file would make a
 * browser fetch it twice. A range says what is true.
 *
 * To refresh these, or to add a face: bridal-shower/scripts/fetch-fonts.mjs
 * does exactly this job — it reads the css2 endpoint, keeps the latin blocks,
 * groups faces that share a file, and writes both the files and this stylesheet.
 */

/* ---- the guest page ---- */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(./fonts/montserrat-normal-400-600.woff2) format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(./fonts/playfair-display-normal-400-600.woff2) format('woff2');
}

@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/playfair-display-italic-400.woff2) format('woff2');
}

/* ---- the gallery and the curation room ----
 *
 * Fraunces carries an optical-size axis as well as weight. Nothing here sets
 * it: browsers default to font-optical-sizing:auto, which picks the optical
 * size from the rendered font-size, and that is the behaviour these pages were
 * designed against when the face came from the CDN. */

@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 340 560;
  font-display: swap;
  src: url(./fonts/fraunces-normal-340-560.woff2) format('woff2');
}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 340;
  font-display: swap;
  src: url(./fonts/fraunces-italic-340.woff2) format('woff2');
}
