/* typography.css — Font loading and typographic scale.
 * Fonts are self-hosted as woff2 to avoid runtime CDN calls.
 * DM Sans for body text, DM Serif Display for display/hero headings. */

@font-face {
  font-family: 'DM Sans';
  src: url('/assets/fonts/DMSans-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DM Sans';
  src: url('/assets/fonts/DMSans-Medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'DM Serif Display';
  src: url('/assets/fonts/DMSerifDisplay-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  color: var(--color-text);
  line-height: 1.7;
}

h1 {
  font-family: var(--font-family);
  font-size: var(--font-size-hero);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--color-primary);
}

h2 {
  font-family: var(--font-family);
  font-size: var(--font-size-3xl);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--color-primary);
}

h3 {
  font-family: var(--font-family);
  font-size: var(--font-size-xl);
  font-weight: 500;
  line-height: 1.4;
  color: var(--color-primary);
}

h4 {
  font-family: var(--font-family);
  font-size: var(--font-size-lg);
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-primary);
}

p {
  color: var(--color-text-muted);
  line-height: 1.75;
}
