/* ==========================================================================
   FAITH CONSCIOUSNESS  —  Self-hosted fonts (latin subset)
   Served same-origin (no render-blocking third-party request, paint-stable).
   Cormorant Garamond (display, 400/500/600 + italics) + Hanken Grotesk (body, 400/500/600).
   Paths are relative to this file (css/), so woff2 live in ../assets/fonts/.
   ========================================================================== */

/* ---- Cormorant Garamond (display serif) ---- */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("../assets/fonts/cormorant-400.woff2") format("woff2");
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url("../assets/fonts/cormorant-500.woff2") format("woff2");
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal; font-weight: 600; font-display: swap;
  src: url("../assets/fonts/cormorant-600.woff2") format("woff2");
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic; font-weight: 400; font-display: swap;
  src: url("../assets/fonts/cormorant-italic-400.woff2") format("woff2");
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic; font-weight: 500; font-display: swap;
  src: url("../assets/fonts/cormorant-italic-500.woff2") format("woff2");
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic; font-weight: 600; font-display: swap;
  src: url("../assets/fonts/cormorant-italic-600.woff2") format("woff2");
}

/* Metric-matched local fallbacks. Each shipped face is matched separately so
   weight and style changes retain the real face's line and width metrics. */
@font-face {
  font-family: 'Cormorant Garamond Fallback';
  font-style: normal; font-weight: 400; font-display: swap;
  src: local("Times New Roman"), local("TimesNewRomanPSMT");
  size-adjust: 95.9898%;
  ascent-override: 96.2602%;
  descent-override: 29.8990%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Cormorant Garamond Fallback';
  font-style: normal; font-weight: 500; font-display: swap;
  src: local("Times New Roman"), local("TimesNewRomanPSMT");
  size-adjust: 96.3582%;
  ascent-override: 95.8922%;
  descent-override: 29.7847%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Cormorant Garamond Fallback';
  font-style: normal; font-weight: 600; font-display: swap;
  src: local("Times New Roman Bold"), local("TimesNewRomanPS-BoldMT");
  size-adjust: 90.7995%;
  ascent-override: 101.7626%;
  descent-override: 31.6081%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Cormorant Garamond Fallback';
  font-style: italic; font-weight: 400; font-display: swap;
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT");
  size-adjust: 88.2686%;
  ascent-override: 104.6805%;
  descent-override: 32.5144%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Cormorant Garamond Fallback';
  font-style: italic; font-weight: 500; font-display: swap;
  src: local("Times New Roman Italic"), local("TimesNewRomanPS-ItalicMT");
  size-adjust: 88.8285%;
  ascent-override: 104.0207%;
  descent-override: 32.3095%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Cormorant Garamond Fallback';
  font-style: italic; font-weight: 600; font-display: swap;
  src: local("Times New Roman Bold Italic"), local("TimesNewRomanPS-BoldItalicMT");
  size-adjust: 86.5715%;
  ascent-override: 106.7326%;
  descent-override: 33.1518%;
  line-gap-override: 0%;
}

/* ---- Hanken Grotesk (body / UI) ---- */
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("../assets/fonts/hanken-400.woff2") format("woff2");
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url("../assets/fonts/hanken-500.woff2") format("woff2");
}
@font-face {
  font-family: 'Hanken Grotesk';
  font-style: normal; font-weight: 600; font-display: swap;
  src: url("../assets/fonts/hanken-600.woff2") format("woff2");
}

/* Metric-matched local fallbacks for the three shipped body weights. */
@font-face {
  font-family: 'Hanken Grotesk Fallback';
  font-style: normal; font-weight: 400; font-display: swap;
  src: local("Arial"), local("ArialMT");
  size-adjust: 100.6987%;
  ascent-override: 99.3062%;
  descent-override: 30.0898%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Hanken Grotesk Fallback';
  font-style: normal; font-weight: 500; font-display: swap;
  src: local("Arial"), local("ArialMT");
  size-adjust: 103.4567%;
  ascent-override: 96.6588%;
  descent-override: 29.2876%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'Hanken Grotesk Fallback';
  font-style: normal; font-weight: 600; font-display: swap;
  src: local("Arial Bold"), local("Arial-BoldMT");
  size-adjust: 94.5835%;
  ascent-override: 105.7267%;
  descent-override: 32.0352%;
  line-gap-override: 0%;
}

/* ---- Cormorant SC (real small caps for the metadata role) ----
   Added 2026-08-26. The nine faces above carry NO `smcp` table, so the
   tracked-uppercase metadata treatment was the honest fallback rather than
   real small caps, which capped criterion 02 at A permanently.

   This is the genuine Cormorant SC, subset to latin with `smcp`, `tnum`,
   `lnum` and `case` retained (verified present in the shipped WOFF2 with
   fontTools, not assumed). SIL Open Font License; the license text travels
   with the files in assets/fonts/licenses/. */
@font-face {
  font-family: 'Cormorant SC';
  font-style: normal; font-weight: 400; font-display: swap;
  src: url("../assets/fonts/cormorant-sc-400.woff2") format("woff2");
}
@font-face {
  font-family: 'Cormorant SC';
  font-style: normal; font-weight: 500; font-display: swap;
  src: url("../assets/fonts/cormorant-sc-500.woff2") format("woff2");
}
@font-face {
  font-family: 'Cormorant SC';
  font-style: normal; font-weight: 600; font-display: swap;
  src: url("../assets/fonts/cormorant-sc-600.woff2") format("woff2");
}
