/**
 * EAVEX homepage — Typography tokens
 * Based on modular scale (ratio 1.25) + Utopia fluid clamp for display only.
 * Fixed steps: body 18px · small 16px · micro 14px
 */
:root {
  --type-body: 1.125rem;   /* 18px @ 16px root */
  --type-small: 1rem;      /* 16px */
  --type-micro: 0.875rem;  /* 14px */
  --type-lead: 1.125rem;   /* 18px — hero sub, intros */
  --type-h4: 1.25rem;      /* 20px */
  --type-h3: 1.375rem;     /* 22px */
  --type-h2: 1.75rem;      /* 28px */
  --type-h1: 2.25rem;      /* 36px */
  --type-stat: 2.25rem;    /* 36px */
  --type-display-sm: clamp(2.5rem, 2rem + 2vw, 4rem);
  --type-display-md: clamp(3rem, 2rem + 4vw, 5.375rem);
  --type-display-lg: clamp(3.5rem, 1.5rem + 8vw, 6.25rem);
  --type-line-body: 1.6;
  --type-line-small: 1.55;
  --type-line-micro: 1.45;
  --type-line-tight: 1.25;
}

html {
  font-size: 100%;
}

body {
  font-size: var(--type-body);
  line-height: var(--type-line-body);
}

/* Tailwind utility remap */
.text-base { font-size: var(--type-body) !important; line-height: var(--type-line-body) !important; }
.text-sm { font-size: var(--type-body) !important; line-height: var(--type-line-body) !important; }
.text-xs { font-size: var(--type-small) !important; line-height: var(--type-line-small) !important; }
.text-lg { font-size: var(--type-h4) !important; line-height: var(--type-line-tight) !important; }
.text-xl { font-size: var(--type-h3) !important; line-height: var(--type-line-tight) !important; }
.text-2xl { font-size: var(--type-h2) !important; line-height: var(--type-line-tight) !important; }
.text-3xl { font-size: var(--type-h1) !important; line-height: var(--type-line-tight) !important; }
.text-4xl { font-size: var(--type-stat) !important; line-height: var(--type-line-tight) !important; }
.text-5xl { font-size: var(--type-display-sm) !important; line-height: 1.1 !important; }
.text-6xl { font-size: var(--type-display-md) !important; line-height: 1.05 !important; }
.text-7xl { font-size: var(--type-display-lg) !important; line-height: 1 !important; }

.text-\[10px\],
.text-\[11px\],
.text-\[12px\],
.text-\[13px\] {
  font-size: var(--type-micro) !important;
  line-height: var(--type-line-micro) !important;
}

/* Semantic roles */
.label,
.mono-label {
  font-size: var(--type-micro) !important;
  line-height: var(--type-line-micro) !important;
}

.hero-kicker {
  font-size: var(--type-micro) !important;
}

.hero-top-copy p {
  font-size: var(--type-micro) !important;
  line-height: var(--type-line-micro) !important;
}

.gs-hero-subheading {
  max-width: min(92vw, 560px);
  font-size: clamp(1.875rem, 1.15rem + 4vw, 3rem) !important;
  line-height: 1.12 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.hero-bottom-rail > span {
  font-size: var(--type-micro) !important;
}

.nav-link {
  font-size: var(--type-micro) !important;
}

.site-header a[href^="tel:"] {
  font-size: var(--type-micro) !important;
}

.type-micro {
  font-size: var(--type-micro) !important;
  line-height: var(--type-line-micro) !important;
}

.gs-hero-cta-secondary {
  font-size: var(--type-micro) !important;
  line-height: var(--type-line-micro) !important;
}
