/*
 * Font declarations
 * Self-hosted fonts from fontsource.org for privacy and performance
 * Source: https://fontsource.org/
 */

/* Fira Sans - Light (300) */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/fira-sans-latin-300-normal.woff2") format('woff2');
}

/* Fira Sans - Regular (400) */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/fira-sans-latin-400-normal.woff2") format('woff2');
}

/* Fira Sans - Medium (500) */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/fira-sans-latin-500-normal.woff2") format('woff2');
}

/* Fira Sans - SemiBold (600) */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/fira-sans-latin-600-normal.woff2") format('woff2');
}

/* Fira Sans - Bold (700) */
@font-face {
  font-family: 'Fira Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/fira-sans-latin-700-normal.woff2") format('woff2');
}

/* Roboto - Thin (100) */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100;
  font-display: swap;
  src: url("/assets/fonts/roboto-latin-100-normal.woff2") format('woff2');
}

/* Roboto - Light (300) */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/roboto-latin-300-normal.woff2") format('woff2');
}

/* Roboto - Regular (400) */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/roboto-latin-400-normal.woff2") format('woff2');
}

/* Roboto - Regular Italic (400) */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/roboto-latin-400-italic.woff2") format('woff2');
}

/* Roboto - Medium (500) */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/roboto-latin-500-normal.woff2") format('woff2');
}

/* Roboto - Bold (700) */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/roboto-latin-700-normal.woff2") format('woff2');
}

/* Roboto - Bold Italic (700) */
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/roboto-latin-700-italic.woff2") format('woff2');
}

/*
 * Font Loading Strategy
 *
 * font-display: swap - Shows fallback font immediately, swaps when custom font loads
 * This prevents FOIT (Flash of Invisible Text) and improves perceived performance
 *
 * Only woff2 format - Modern format with best compression (~30% smaller than woff)
 * Supported by all modern browsers (2015+)
 */
