/* ─────────────────────────────────────────────────────────────────────────────
   SELF-HOSTED FONTS
   Replaces Google Fonts CDN to eliminate third-party data transfer.
   All families licensed under the SIL Open Font Licence (OFL).
   ───────────────────────────────────────────────────────────────────────────── */

/* ─── PLUS JAKARTA SANS ─────────────────────────────────────────────────────── */

@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-300.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-300italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-500italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-600.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-600italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-700italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-800.woff2') format('woff2');
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/plus-jakarta-sans/plus-jakarta-sans-v12-latin_latin-ext-800italic.woff2') format('woff2');
}

/* ─── DM SANS ───────────────────────────────────────────────────────────────── */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-300.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-300italic.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-500.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-500italic.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-600.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-600italic.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-700.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-700italic.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-800.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/dm-sans/dm-sans-v17-latin_latin-ext-800italic.woff2') format('woff2');
}

/* ─── DM MONO ───────────────────────────────────────────────────────────────── */

@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/dm-mono/dm-mono-v16-latin_latin-ext-regular.woff2') format('woff2');
}
