/* ==========================================================================
  FTS: fonts.css
  Purpose: Self-hosted WOFF2 fonts.
  Notes:
  - Keep font-display: swap.
  - This file should be stable and rarely touched.
  ========================================================================== */


  :root {
    --font-sans: "Noto Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
    --font-serif: "Noto Serif", Georgia, "Times New Roman", serif;
    --font-mono: "Noto Sans Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  }

  /* --- Noto Sans --- */
  @font-face {
    font-family: "Noto Sans";
    src: url("../fonts/noto-sans/NotoSans-Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Sans";
    src: url("../fonts/noto-sans/NotoSans-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Sans";
    src: url("../fonts/noto-sans/NotoSans-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Sans";
    src: url("../fonts/noto-sans/NotoSans-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Sans";
    src: url("../fonts/noto-sans/NotoSans-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  /* --- Noto Sans Italic (separate family by policy) --- */
  @font-face {
    font-family: "Noto Sans Italic";
    src: url("../fonts/noto-sans/NotoSans-LightItalic.woff2") format("woff2");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Sans Italic";
    src: url("../fonts/noto-sans/NotoSans-Italic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Sans Italic";
    src: url("../fonts/noto-sans/NotoSans-MediumItalic.woff2") format("woff2");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Sans Italic";
    src: url("../fonts/noto-sans/NotoSans-SemiBoldItalic.woff2") format("woff2");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Sans Italic";
    src: url("../fonts/noto-sans/NotoSans-BoldItalic.woff2") format("woff2");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
  }

  /* --- Noto Serif --- */
  @font-face {
    font-family: "Noto Serif";
    src: url("../fonts/noto-serif/NotoSerif-Light.woff2") format("woff2");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Serif";
    src: url("../fonts/noto-serif/NotoSerif-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Serif";
    src: url("../fonts/noto-serif/NotoSerif-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Serif";
    src: url("../fonts/noto-serif/NotoSerif-SemiBold.woff2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Serif";
    src: url("../fonts/noto-serif/NotoSerif-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  /* --- Noto Serif Italic (separate family by policy) --- */
  @font-face {
    font-family: "Noto Serif Italic";
    src: url("../fonts/noto-serif/NotoSerif-LightItalic.woff2") format("woff2");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Serif Italic";
    src: url("../fonts/noto-serif/NotoSerif-Italic.woff2") format("woff2");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Serif Italic";
    src: url("../fonts/noto-serif/NotoSerif-MediumItalic.woff2") format("woff2");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Serif Italic";
    src: url("../fonts/noto-serif/NotoSerif-SemiBoldItalic.woff2") format("woff2");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Serif Italic";
    src: url("../fonts/noto-serif/NotoSerif-BoldItalic.woff2") format("woff2");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
  }

  /* --- Noto Sans Mono --- */
  @font-face {
    font-family: "Noto Sans Mono";
    src: url("../fonts/noto-mono/NotoSansMono-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: "Noto Sans Mono";
    src: url("../fonts/noto-mono/NotoSansMono-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }