/* ============================================================
   METRIC-MATCHED FALLBACKS
   Loaded before type.css.

   The reload "jump" is FOUT: every @font-face uses font-display:swap, which
   paints a system fallback immediately and swaps when the webfont arrives.
   Swap is the right choice — the alternative is invisible text — but the swap
   is only visible because the fallback sets at a different width.

   Measured against the real faces at 100px (font_metrics.py):

     Merriweather vs Georgia          0.9802  ->  98.0%
     Inter        vs Helvetica Neue   1.0557  -> 105.6%   <- the body face
     Fraunces     vs Georgia          0.8721  ->  87.2%

   size-adjust scales the fallback to match, so the swap changes the shapes
   without moving the text. Inter is the body face, so its mismatch is the one
   that would reflow every paragraph on the site.

   Measure against the face the src list actually resolves to - Helvetica Neue -
   not against -apple-system. SF Pro is a different and wider font, and a ratio
   taken against it is out by nearly 10 points in the wrong direction.

   A second trap, unrelated to metrics: a `ch` max-width is measured from the
   active font's digit width, so a ch cap on a short title moves when the
   webfont swaps and the title rewraps. Title caps are in em for that reason;
   only long prose measures are still in ch.
   ============================================================ */

@font-face{
  font-family:'Merriweather Fallback';
  src:local('Georgia'), local('Times New Roman'), local('Times');
  size-adjust:98.0%;
  ascent-override:92%;
  descent-override:24%;
}

@font-face{
  font-family:'Inter Fallback';
  src:local('Helvetica Neue'), local('Arial'), local('Segoe UI');
  size-adjust:105.6%;
  ascent-override:90%;
  descent-override:22%;
}

@font-face{
  font-family:'Fraunces Fallback';
  src:local('Georgia'), local('Times New Roman'), local('Times');
  size-adjust:87.2%;
  ascent-override:94%;
  descent-override:24%;
}

/* Put the adjusted fallback first in each stack, ahead of the raw system face.
   These override the stacks declared in site.css. */
:root{
  --display:'Merriweather','Merriweather Fallback',Georgia,'Times New Roman',serif;
  --body:'Inter','Inter Fallback',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --mark:'Fraunces','Fraunces Fallback',Georgia,serif;
}
