/* Served as a plain stylesheet, deliberately: the build's CSS pipeline strips
   the size-adjust descriptor, and size-adjust is the whole point here. PP Neue
   World sets smaller than the face it replaces — cap-height 70% of the em
   against Editorial New's 80%, x-height 50% against 53% — and almost every
   editorial usage in this app is an uppercase micro-label, so matching
   cap-height is what preserves the original proportions. 80/70 ≈ 1.14, trimmed
   to 1.12 so mixed-case quotes do not overshoot. */
@font-face {
  font-family: "PP Neue World";
  src:
    url("/fonts/PPNeueWorld-Light.woff2") format("woff2"),
    url("/fonts/PPNeueWorld-Light.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 300;
  size-adjust: 112%;
}

@font-face {
  font-family: "PP Neue World";
  src: url("/fonts/PPNeueWorld-Regular.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  size-adjust: 112%;
}

/* The same face, re-declared with metrics that centre its capitals.
 *
 * Measured at 100px: Montreal's ascent/descent (0.96 / 0.24) sit either side
 * of its caps such that a run of capitals lands 0.003em off the box centre —
 * invisible. Neue World ships 0.85 / 0.34 against caps that run 0.7997 above
 * the baseline and 0.0157 below, which puts the optical centre of a caps run
 * 0.137em ABOVE centre. Flex centring is doing its job; the font's own
 * metrics are what is off, so every serif label in a pill rides high.
 *
 * Optical centring of caps requires ascent - descent = cap height (0.784).
 * Holding ascent + descent at the original 1.19 so the line box is unchanged
 * gives 0.987 / 0.203 — but these descriptors resolve BEFORE size-adjust and
 * are then scaled by it, so the values written here are those divided by
 * 1.12. Declaring 98.7/20.3 directly overshoots to 1.11/0.23 and drops the
 * caps 0.048em BELOW centre; measured, not assumed. Correcting it here rather than nudging the elements
 * is what makes it work everywhere: the baseline moves inside the line box,
 * so it applies to inline spans, flex items and absolutely positioned badges
 * alike, and changes no layout.
 *
 * Lives in this file for the same reason size-adjust does — the build's CSS
 * pipeline strips these descriptors.
 */
@font-face {
  font-family: "PP Neue World Caps";
  src:
    url("/fonts/PPNeueWorld-Light.woff2") format("woff2"),
    url("/fonts/PPNeueWorld-Light.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 300;
  size-adjust: 112%;
  ascent-override: 88.1%;
  descent-override: 18.1%;
}

@font-face {
  font-family: "PP Neue World Caps";
  src: url("/fonts/PPNeueWorld-Regular.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
  size-adjust: 112%;
  ascent-override: 88.1%;
  descent-override: 18.1%;
}
