/* ==========================================================================
   fonts.css — Local font loading (self-hosted, privacy-first, zero 3rd-party)
   Levii Portal · Design System / Phase 1

   Strategy
   --------
   • Fonts are self-hosted under /assets/fonts (no Google Fonts request → better
     privacy + no render-blocking third-party origin).
   • `font-display: swap` avoids invisible text (FOIT); the system-ui fallback in
     --font-sans renders instantly, then Inter swaps in.
   • Variable fonts keep weight range 100–900 in a single file each.
   • If the woff2 files are absent, the system stack (declared in variables.css)
     is a deliberate, high-quality fallback — the site never depends on a
     network font to look correct.

   Drop these files to enable Inter (download from rsms.me/inter, licensed OFL):
     assets/fonts/Inter-roman.var.woff2
     assets/fonts/Inter-italic.var.woff2
     assets/fonts/InterDisplay-roman.var.woff2
   ========================================================================== */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/Inter-roman.var.woff2') format('woff2');
  /* Latin + latin-ext covers PT/EN/ES/FR content. */
  unicode-range: U+0000-00FF, U+0100-024F, U+0259, U+1E00-1EFF, U+2000-206F, U+2074,
    U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url('/assets/fonts/Inter-italic.var.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0100-024F, U+0259, U+1E00-1EFF, U+2000-206F, U+20AC, U+2122;
}

/* Optical-size display cut for large headlines (tighter, more expressive). */
@font-face {
  font-family: 'InterDisplay';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('/assets/fonts/InterDisplay-roman.var.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0100-024F, U+2000-206F, U+20AC, U+2122;
}
