:root {
  --font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, sans-serif;

  --fw-light:    300;
  --fw-regular:  400;
  --fw-medium:   500;
  --fw-semibold: 600;
  --fw-bold:     700;

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

body {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-weight: var(--fw-regular);
  color: var(--color-dark);
  line-height: 1.65;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--color-dark);
}

h1 {
  font-size: clamp(var(--fs-5xl), 7.5vw, var(--fs-7xl));
  font-weight: var(--fw-bold);
}

h2 {
  font-size: clamp(var(--fs-3xl), 4.5vw, var(--fs-5xl));
  font-weight: var(--fw-bold);
}

h3 {
  font-size: clamp(var(--fs-xl), 2.5vw, var(--fs-2xl));
  font-weight: var(--fw-semibold);
}

h4 {
  font-size: var(--fs-lg);
  font-weight: var(--fw-semibold);
}

p {
  line-height: 1.75;
}

em {
  font-style: italic;
}

strong {
  font-weight: var(--fw-semibold);
}

small {
  font-size: var(--fs-sm);
}
