/* Performance: font-display swap prevents FOIT */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Plus+Jakarta+Sans:wght@700;800;900&display=swap');

body {
  font-family: 'Inter', sans-serif;
  color: #E5E7EB;
  background-color: #050505;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Plus Jakarta Sans', sans-serif;
  letter-spacing: -0.02em;
  color: white;
}

.text-balance {
  text-wrap: balance;
}

.hero-title {
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.section-title {
  font-weight: 800;
  letter-spacing: -0.03em;
}

/* ========================================
   UNIFIED TYPOGRAPHY SCALE
   Major Third Scale (1.25) with fluid sizing
   ======================================== */

/* Design Tokens */
:root {
  /* Type Scale - Base sizes */
  --text-xs: 0.75rem;      /* 12px */
  --text-sm: 0.875rem;     /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg: 1.25rem;      /* 20px */
  --text-xl: 1.563rem;     /* 25px */
  --text-2xl: 1.953rem;    /* 31px */
  --text-3xl: 2.441rem;    /* 39px */
  --text-4xl: 3.052rem;    /* 49px */
  --text-5xl: 3.815rem;    /* 61px - MAX for headings */

  /* Line Heights */
  --leading-tight: 1.1;
  --leading-snug: 1.25;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;
}

/* Unified H1 - Fluid responsive sizing */
h1, .h1 {
  /* Fluid from 32px (2rem) to MAX 61px (3.815rem) */
  font-size: clamp(2rem, 5vw + 1rem, 3.815rem);
  line-height: var(--leading-tight);
  font-weight: 900;
  letter-spacing: -0.04em;
}

/* Unified H2 */
h2, .h2 {
  font-size: clamp(1.5rem, 3vw + 1rem, 3.052rem);
  line-height: var(--leading-snug);
  font-weight: 800;
}

/* Unified H3 */
h3, .h3 {
  font-size: clamp(1.25rem, 2vw + 0.5rem, 2.441rem);
  line-height: var(--leading-snug);
  font-weight: 700;
}

/* Body text sizes */
.text-body-lg {
  font-size: var(--text-xl);
  line-height: var(--leading-relaxed);
}

.text-body {
  font-size: var(--text-base);
  line-height: var(--leading-normal);
}

.text-body-sm {
  font-size: var(--text-sm);
  line-height: var(--leading-normal);
}
