/* ─── typography.css ──────────────────────────────────────────────────
 * Revenue Wave — Typography and Font Imports
 * Imports Geist and Geist Mono from Google Fonts.
 * ────────────────────────────────────────────────────────────────────── */

@import url('https://fonts.googleapis.com/css2?family=Geist+Mono:wght@300;400;500;600;700&family=Geist:wght@300;400;500;600;700;800;900&display=swap');

body {
  font-family: var(--font-sans);
  color: var(--color-foreground);
  font-size: 16px;
  line-height: 1.6;
}

/* Redefine fonts with Google Fonts family names */
:root {
  --font-sans: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: 'Geist Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

/* Headings */
h1, .h1 {
  font-family: var(--font-sans);
  font-weight: var(--weight-bold);
  font-size: 2.75rem; /* ~44px */
  line-height: 1.15;
  letter-spacing: -0.03em;
}

h2, .h2 {
  font-family: var(--font-sans);
  font-weight: var(--weight-semibold);
  font-size: 2rem; /* ~32px */
  line-height: 1.25;
  letter-spacing: -0.02em;
}

h3, .h3 {
  font-family: var(--font-sans);
  font-weight: var(--weight-semibold);
  font-size: 1.5rem; /* ~24px */
  line-height: 1.3;
  letter-spacing: -0.01em;
}

/* Body Copy */
p, .body-copy {
  font-family: var(--font-sans);
  font-weight: var(--weight-regular);
  font-size: 1.05rem; /* ~17px */
  line-height: 1.7;
  color: var(--color-foreground);
}

/* Monospace / Captions */
.caption, .font-mono {
  font-family: var(--font-mono);
  font-weight: var(--weight-light);
  font-size: 0.8rem; /* ~13px */
  line-height: 1.5;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Larger screen scaling */
@media (min-width: 768px) {
  h1, .h1 {
    font-size: 4rem; /* ~64px */
  }
  h2, .h2 {
    font-size: 2.75rem; /* ~44px */
  }
  p, .body-copy {
    font-size: 1.15rem; /* ~18px */
  }
}

@media (min-width: 1024px) {
  h1, .h1 {
    font-size: 4.5rem; /* ~72px */
  }
  h2, .h2 {
    font-size: 3.5rem; /* ~56px */
  }
}
