:root {
  /* Colors — palette from gio-firma */
  --color-ink: #262626;
  --color-charcoal: #333333;
  --color-forest: #454545;
  --color-stone: #555555;
  --color-warm-gray: #CAC6BE;
  --color-sand: #EEEAE1;
  --color-ivory: #F7F5F0;
  --color-white: #FFFFFF;
  --color-bronze: #B79A5B;
  --color-gold-light: #D7C18A;
  --color-gold-dark: #8E743D;
  --color-border: #E5E0D8;
  --color-overlay: rgba(38, 38, 38, 0.42);

  /* Typography */
  --font-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Font sizes — clamp(MIN, PREFERRED, MAX) */
  --text-xs: clamp(0.688rem, 0.656rem + 0.16vw, 0.75rem);
  --text-sm: clamp(0.813rem, 0.781rem + 0.16vw, 0.875rem);
  --text-base: clamp(0.938rem, 0.891rem + 0.23vw, 1.063rem);
  --text-md: clamp(1.063rem, 1.016rem + 0.23vw, 1.188rem);
  --text-lg: clamp(1.188rem, 1.125rem + 0.31vw, 1.375rem);
  --text-xl: clamp(1.375rem, 1.25rem + 0.63vw, 1.75rem);
  --text-2xl: clamp(1.625rem, 1.422rem + 1.02vw, 2.25rem);
  --text-3xl: clamp(2rem, 1.688rem + 1.56vw, 3rem);
  --text-4xl: clamp(2.5rem, 2rem + 2.5vw, 4.25rem);
  --text-5xl: clamp(3rem, 2.25rem + 3.75vw, 5.5rem);

  /* Font weights */
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* Line heights */
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;
  --leading-loose: 1.8;

  /* Letter spacing */
  --tracking-tighter: -0.02em;
  --tracking-tight: -0.01em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;
  --tracking-wider: 0.08em;
  --tracking-widest: 0.12em;

  /* Spacing scale */
  --space-1: clamp(0.25rem, 0.219rem + 0.16vw, 0.375rem);
  --space-2: clamp(0.5rem, 0.438rem + 0.31vw, 0.75rem);
  --space-3: clamp(0.75rem, 0.625rem + 0.63vw, 1.25rem);
  --space-4: clamp(1rem, 0.813rem + 0.94vw, 1.75rem);
  --space-5: clamp(1.5rem, 1.25rem + 1.25vw, 2.5rem);
  --space-6: clamp(2rem, 1.625rem + 1.88vw, 3.5rem);
  --space-7: clamp(3rem, 2.5rem + 2.5vw, 5rem);
  --space-8: clamp(4rem, 3.25rem + 3.75vw, 7rem);
  --space-9: clamp(5rem, 4rem + 5vw, 9rem);

  /* Radii */
  --radius-small: 2px;
  --radius-medium: 6px;

  /* Shadows */
  --shadow-subtle: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-medium: 0 4px 12px rgba(0, 0, 0, 0.08);

  /* Transitions */
  --transition-fast: 200ms ease;
  --transition-base: 350ms ease;
  --transition-slow: 600ms ease;

  /* Layout */
  --max-width: 82rem;
  --page-padding: var(--space-4);
  --header-height: 5rem;
  --header-height-scrolled: 4rem;
}

@media (min-width: 1024px) {
  :root {
    --page-padding: var(--space-6);
  }
}
