/* Self-hosted fonts — removes the Google Fonts CDN from the critical path (it was the only
   render-blocking request on the page). Latin subset only. Ported from the proven ThinkNirvana /
   Nirvana Velocity kit (identical families: Playfair Display, Lato, Courier Prime).

   font-display:swap on every face (a deliberate divergence from the source kit's `optional` for
   Playfair): aipep401k.com is a marketing front door where Playfair Display is the brand identity,
   so a cold visitor on Slow 4G must still get the real face once it arrives. CLS here is already
   0.001 and the size-adjusted fallbacks below are metric-matched, so swap costs no measurable shift.

   NOTE: this kit ships Courier Prime 400 only; the page uses Courier Prime 700 in a few small mono
   spots (fund tickers, fee values, step-number circles). Those render as synthetic (faux) bold from
   the 400 face — acceptable for those small labels. Swap in a real courierprime-700.woff2 to remove it. */

/* ---- real web fonts ---- */
@font-face { font-family:'Playfair Display'; font-style:normal; font-weight:400 800; font-display:swap;
  src:url(/assets/fonts/playfairdisplay-roman.woff2) format('woff2'); }
@font-face { font-family:'Playfair Display'; font-style:italic; font-weight:400 700; font-display:swap;
  src:url(/assets/fonts/playfairdisplay-italic.woff2) format('woff2'); }
@font-face { font-family:'Lato'; font-style:normal; font-weight:400; font-display:swap;
  src:url(/assets/fonts/lato-400.woff2) format('woff2'); }
@font-face { font-family:'Lato'; font-style:normal; font-weight:700; font-display:swap;
  src:url(/assets/fonts/lato-700.woff2) format('woff2'); }
@font-face { font-family:'Lato'; font-style:normal; font-weight:900; font-display:swap;
  src:url(/assets/fonts/lato-900.woff2) format('woff2'); }
@font-face { font-family:'Courier Prime'; font-style:normal; font-weight:400; font-display:swap;
  src:url(/assets/fonts/courierprime-400.woff2) format('woff2'); }

/* ---- size-adjusted fallbacks (system fonts remapped to the web font's metrics, so no reflow under swap) ---- */
@font-face { font-family:'Playfair Fallback'; src:local('Georgia'), local('Times New Roman');
  ascent-override:93%; descent-override:24%; line-gap-override:0%; size-adjust:106%; }
@font-face { font-family:'Lato Fallback'; src:local('Arial'), local('Helvetica Neue');
  ascent-override:101%; descent-override:21.8%; line-gap-override:0%; size-adjust:97.7%; }
@font-face { font-family:'Courier Fallback'; src:local('Courier New');
  ascent-override:100%; descent-override:25%; line-gap-override:0%; size-adjust:100%; }
