:root { font-size: 130%; }

/* IBM Plex Font Faces */

/* IBM Plex Sans - Thin (100) */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-ThinItalic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans - Extra Light (200) */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-ExtraLight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-ExtraLightItalic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans - Light (300) */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans - Regular (400) */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans - Text (450) - Alternative to Regular */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-Text.woff2') format('woff2');
  font-weight: 450;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-TextItalic.woff2') format('woff2');
  font-weight: 450;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans - Medium (500) */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans - Semi Bold (600) */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans - Bold (700) */
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/fonts/ibm-plex-sans/IBMPlexSans-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Serif - Thin (100) */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-ThinItalic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Serif - Extra Light (200) */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-ExtraLight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-ExtraLightItalic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Serif - Light (300) */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Serif - Regular (400) */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Serif - Text (450) - Alternative to Regular */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-Text.woff2') format('woff2');
  font-weight: 450;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-TextItalic.woff2') format('woff2');
  font-weight: 450;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Serif - Medium (500) */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Serif - Semi Bold (600) */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Serif - Bold (700) */
@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Serif';
  src: url('/fonts/ibm-plex-serif/IBMPlexSerif-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Mono - Thin (100) */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-ThinItalic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Mono - Extra Light (200) */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-ExtraLight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-ExtraLightItalic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Mono - Light (300) */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Mono - Regular (400) */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Mono - Text (450) - Alternative to Regular */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-Text.woff2') format('woff2');
  font-weight: 450;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-TextItalic.woff2') format('woff2');
  font-weight: 450;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Mono - Medium (500) */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Mono - Semi Bold (600) */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Mono - Bold (700) */
@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('/fonts/ibm-plex-mono/IBMPlexMono-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans Condensed - Thin (100) */
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-Thin.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-ThinItalic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans Condensed - Extra Light (200) */
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-ExtraLight.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-ExtraLightItalic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans Condensed - Light (300) */
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-LightItalic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans Condensed - Regular (400) */
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans Condensed - Text (450) - Alternative to Regular */
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-Text.woff2') format('woff2');
  font-weight: 450;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-TextItalic.woff2') format('woff2');
  font-weight: 450;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans Condensed - Medium (500) */
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans Condensed - Semi Bold (600) */
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-SemiBold.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-SemiBoldItalic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

/* IBM Plex Sans Condensed - Bold (700) */
@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Sans Condensed';
  src: url('/fonts/ibm-plex-sans-condensed/IBMPlexSansCondensed-BoldItalic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Custom Utility Classes */
.font-serif {
  font-family: var(--font-serif);
}

.font-condensed {
  font-family: var(--font-condensed);
}
