:root {
  /* Colors - "Oxford Blue (#0A192F), Ledger White (#F3F1EC), and Alert Crimson (#D92332)" */
  --color-oxford-blue: #0A192F;
  --color-ledger-white: #F3F1EC;
  --color-alert-crimson: #D92332;
  --color-slate-gray: #4A5568;
  --color-ink-black: #111111;
  --color-paper: #FAFAF9;

  --color-text: var(--color-ink-black);
  --color-text-light: var(--color-slate-gray);
  --color-bg: var(--color-ledger-white);
  --color-primary: var(--color-oxford-blue);
  --color-accent: var(--color-alert-crimson);
  --color-border: #D1D5DB;

  /* Typography */
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: system-ui, -apple-system, sans-serif; /* fallback as public sans woff failed */

  /* Scale */
  --scale-xs: 0.75rem;
  --scale-sm: 0.875rem;
  --scale-base: 1rem;
  --scale-lg: 1.125rem;
  --scale-xl: 1.25rem;
  --scale-2xl: 1.5rem;
  --scale-3xl: 2rem;
  --scale-4xl: 2.5rem;
  --scale-5xl: 3.5rem;
  --scale-6xl: 4.5rem;

  /* Spacing */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* Grid */
  --container-width: 1280px;
  --grid-gap: var(--space-8);
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/playfair-display-v30-latin-regular.woff2') format('woff2');
  font-display: swap;
}

@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  src: url('/assets/fonts/playfair-display-v30-latin-700.woff2') format('woff2');
  font-display: swap;
}
