/* Self-hosted Inter + DM Sans, for pages that use `site.css` instead of
   `lps.min.css`. `site.css` sets `font-family: 'Inter'` but declares no
   @font-face, so every `basic_template.html` page (/pricing, /api, /tos, /faq,
   ...) renders in the system sans while the shared navbar and footer are
   designed for Inter.

   VERBATIM copy of the @font-face block at the top of `app/static/lps/style.css`
   (which compiles into `lps.min.css`). Keep the two in sync: if you change a
   face or a fallback metric there, change it here. The metric-matched fallback
   comments in that file explain why the size-adjust values are what they are.
*/
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/inter-Regular-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/static/fonts/inter-Medium-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/static/fonts/inter-SemiBold-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/inter-Bold-latin.woff2') format('woff2');
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/static/fonts/dm-sans-500-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700 900;
  font-display: swap;
  src: url('/static/fonts/dm-sans-700-latin.woff2') format('woff2');
}

/* Metric-matched fallbacks (Arial-based) so swapping to the real fonts causes
   no layout shift. Vertical overrides come from the fonts' hhea metrics; the
   size-adjust is tuned so the fallback's WIDTH matches the real font's so line
   counts (and therefore the hero panel position) never change on swap.
   DM Sans size-adjust is empirically 100% (not the 109% average-advance value):
   the display heading renders at weight 800 via synthetic bold, which lands at
   ~the same width as DM Sans 800 only at 100%. Verified at 430px (the flip zone
   where DM Sans is 1 line but a 109% fallback wrapped to 2 and shoved the
   #order_panel down 41.6px = the 0.203 CLS). Don't bump these without
   re-measuring h1 line counts across 360-768px. */
@font-face {
  font-family: 'Inter Fallback';
  src: local('Arial');
  size-adjust: 107.69%;
  ascent-override: 89.96%;
  descent-override: 22.40%;
  line-gap-override: 0%;
}
@font-face {
  font-family: 'DM Sans Fallback';
  src: local('Arial');
  size-adjust: 100%;
  ascent-override: 99.20%;
  descent-override: 31.00%;
  line-gap-override: 0%;
}
