/* css/typography.css */

/* Fluid Typography */
:root {
  --fs-hero: clamp(4rem, 8vw, 8rem); /* 64px - 128px */
  --fs-major: clamp(3rem, 6vw, 6rem); /* 48px - 96px */
  --fs-h1: clamp(2.5rem, 5vw, 4.5rem); /* 40px - 72px */
  --fs-h2: clamp(2rem, 4vw, 3.5rem); /* 32px - 56px */
  --fs-h3: clamp(1.5rem, 3vw, 2.25rem); /* 24px - 36px */
  --fs-body-lg: clamp(1.125rem, 1.5vw, 1.375rem); /* 18px - 22px */
  --fs-body: clamp(1rem, 1.25vw, 1.125rem); /* 16px - 18px */
  --fs-body-sm: clamp(0.8125rem, 1vw, 0.875rem); /* 13px - 14px */
}

h1, h2, h3, .hero-title, .major-title {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

.hero-title {
  font-size: var(--fs-hero);
  text-transform: uppercase;
}

.major-title {
  font-size: var(--fs-major);
  text-transform: uppercase;
}

h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }

p {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.6;
}

.text-large {
  font-size: var(--fs-body-lg);
}

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

.text-medium-weight {
  font-weight: 500;
}

.text-bold {
  font-weight: 700;
}

/* Colors */
.text-blue { color: var(--nv-blue); }
.text-ink { color: var(--nv-ink); }
.text-white { color: var(--nv-white); }
