:root {
  /* Palette: Oxford Blue, Paper White, Brass, Slate */
  --c-oxford: #0B192C; /* Deep navy */
  --c-oxford-light: #162843;
  --c-paper: #F6F4F0;  /* Off-white */
  --c-brass: #DCA93F;  /* Metallic gold/brass */
  --c-slate: #4A5B69;  /* Grayish blue */
  --c-text: #2D3748;   /* Dark gray for readability */
  --c-danger: #E53E3E;
  --c-success: #38A169;

  /* Typography */
  --f-display: 'Playfair Display', serif;
  --f-sans: 'IBM Plex Sans', sans-serif;

  /* Scale */
  --s-xs: 0.75rem;
  --s-sm: 0.875rem;
  --s-base: 1rem;
  --s-lg: 1.125rem;
  --s-xl: 1.25rem;
  --s-2xl: 1.5rem;
  --s-3xl: 1.875rem;
  --s-4xl: 2.25rem;
  --s-5xl: 3rem;
  --s-6xl: 3.75rem;
  --s-7xl: 4.5rem;

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

  /* Layout */
  --l-max: 1200px;
  --l-max-narrow: 800px;

  /* Transition */
  --t-fast: 0.15s ease-in-out;
  --t-base: 0.3s ease-in-out;
}

@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair_display_reg.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair_display_bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('/assets/fonts/playfair_display_italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/assets/fonts/ibm_plex_sans_reg.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/assets/fonts/ibm_plex_sans_bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'IBM Plex Sans';
  src: url('/assets/fonts/ibm_plex_sans_italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
