:root {
  /* Colors - Editorial Brutalist / High Contrast */
  --color-bg: #F5F4F0; /* Newsprint Off-White */
  --color-bg-alt: #EBEAE5;
  --color-text: #111111; /* Rich Black */
  --color-text-muted: #555555;
  --color-accent: #C62828; /* Crimson Red */
  --color-accent-hover: #9E2020;
  --color-border: #D1D0CB;
  --color-white: #FFFFFF;
  --color-black: #000000;

  /* Layout & Spacing */
  --max-width: 1200px;
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 2rem;
  --spacing-lg: 4rem;
  --spacing-xl: 8rem;

  /* Typography */
  --font-display: 'Zilla Slab', Georgia, serif;
  --font-body: 'Public Sans', Arial, sans-serif;

  /* Font Sizes */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: 3rem;
  --text-4xl: 4.5rem;

  /* Shadows & Borders */
  --border-radius: 0; /* Brutalist sharp edges */
  --shadow-sm: 2px 2px 0 var(--color-black);
  --shadow-md: 4px 4px 0 var(--color-black);
  --shadow-lg: 8px 8px 0 var(--color-black);

  /* Grid */
  --grid-gap: 2rem;
}

@media (max-width: 768px) {
    :root {
        --spacing-lg: 2.5rem;
        --spacing-xl: 4rem;
        --text-3xl: 2.25rem;
        --text-4xl: 3rem;
    }
}
@font-face {
    font-family: 'Zilla Slab';
    src: url('/assets/fonts/ZillaSlab-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Public Sans';
    src: url('/assets/fonts/PublicSans-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Public Sans';
    src: url('/assets/fonts/PublicSans-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
