  /* LOCAL FONTS — loaded from ./fonts/ folder (if available after download-fonts.py) */
  @font-face {
    font-family: 'Playfair Display';
    src: local('Playfair Display'),
         url('./fonts/playfair-regular.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Playfair Display';
    src: local('Playfair Display Italic'),
         url('./fonts/playfair-italic.woff2') format('woff2');
    font-weight: 400; font-style: italic; font-display: swap;
  }
  @font-face {
    font-family: 'Playfair Display';
    src: local('Playfair Display SemiBold'),
         url('./fonts/playfair-600.woff2') format('woff2');
    font-weight: 600; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Playfair Display';
    src: local('Playfair Display SemiBold Italic'),
         url('./fonts/playfair-600-italic.woff2') format('woff2');
    font-weight: 600; font-style: italic; font-display: swap;
  }
  @font-face {
    font-family: 'Playfair Display';
    src: local('Playfair Display ExtraBold'),
         url('./fonts/playfair-800.woff2') format('woff2');
    font-weight: 800; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Playfair Display';
    src: local('Playfair Display Black'),
         url('./fonts/playfair-900.woff2') format('woff2');
    font-weight: 900; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Outfit';
    src: local('Outfit Light'),
         url('./fonts/outfit-300.woff2') format('woff2');
    font-weight: 300; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Outfit';
    src: local('Outfit'),
         url('./fonts/outfit-400.woff2') format('woff2');
    font-weight: 400; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Outfit';
    src: local('Outfit Medium'),
         url('./fonts/outfit-500.woff2') format('woff2');
    font-weight: 500; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Outfit';
    src: local('Outfit SemiBold'),
         url('./fonts/outfit-600.woff2') format('woff2');
    font-weight: 600; font-style: normal; font-display: swap;
  }
  @font-face {
    font-family: 'Outfit';
    src: local('Outfit Bold'),
         url('./fonts/outfit-700.woff2') format('woff2');
    font-weight: 700; font-style: normal; font-display: swap;
  }

  /* SYSTEM FONT FALLBACKS — defined upfront so design still works if no fonts load */
  :root {
    --font-display: 'Playfair Display', Georgia, 'Times New Roman', 'Book Antiqua', Palatino, serif;
    --font-body: 'Outfit', 'Trebuchet MS', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  }
