@font-face {
  font-family: 'Lemma Sans';
  src: url('/fonts/sans.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Lemma Sans';
  src: url('/fonts/sans-italic.woff2') format('woff2');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Lemma Serif';
  src: url('/fonts/serif.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Lemma Serif';
  src: url('/fonts/serif-italic.woff2') format('woff2');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Lemma Mono';
  src: url('/fonts/mono.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Lemma Mono Alt';
  src: url('/fonts/mono2.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Perfectly Nineties Font Family */
@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-Thin.woff') format('woff');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-ThinItalic.woff') format('woff');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-Extralight.woff') format('woff');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-ExtralightItalic.woff') format('woff');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-LightItalic.woff') format('woff');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-Regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-Italic.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-Semibold.woff') format('woff');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-SemiboldItalic.woff') format('woff');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-BoldItalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-Extrabold.woff') format('woff');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-ExtraboldItalic.woff') format('woff');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-Black.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Perfectly Nineties';
  src: url('/fonts/PerfectlyNineties-BlackItalic.woff') format('woff');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* Iowan Old Style Font Family */
@font-face {
  font-family: 'Iowan Old Style';
  src: url('/fonts/bitstream-iowan-old-style-bt-586c36a8d7712.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Iowan Old Style';
  src: url('/fonts/bitstream-iowan-old-style-italic-bt-586c3740dc396.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Iowan Old Style';
  src: url('/fonts/bitstream-iowan-old-style-bold-bt-586c371d8d669.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Iowan Old Style';
  src: url('/fonts/bitstream-iowan-old-style-bold-italic-bt-586c37701cb62.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Iowan Old Style';
  src: url('/fonts/bitstream-iowan-old-style-black-bt-586c36e930225.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Iowan Old Style';
  src: url('/fonts/bitstream-iowan-old-style-black-italic-bt-586c378f12ca1.woff2') format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

/* CSS Custom Properties for Font Switching */
:root {
  --font-body: 'Lemma Sans', 'Inter', system-ui, sans-serif;
  --font-serif: 'Lemma Serif', 'Merriweather', Georgia, serif;
  --font-mono: 'Lemma Mono', 'Fira Code', monospace;
}

/* Body font: Iowan Old Style */
:root[data-body-font="iowan"] {
  --font-body: 'Iowan Old Style', Georgia, serif;
}

/* Heading font: Perfectly Nineties */
:root[data-heading-font="nineties"] {
  --font-serif: 'Perfectly Nineties', 'Merriweather', Georgia, serif;
}

:root[data-mono-font="alt"] {
  --font-mono: 'Lemma Mono Alt', 'Fira Code', monospace;
}
