/* ============================================================
   TYPOGRAPHY — Escalas tipográficas completas.
   Todos los tamaños base son de PC (1440px).
   Se usa clamp() para escalar fluidamente entre breakpoints.
   
   Convención de nombres de clase:
     .geist-h0, .geist-h1, .geist-h2, .geist-h3
     .geist-p-large, .geist-p, .geist-button, .geist-caption
     (mismo patron para cada familia: .clash-h1, .jet-p, etc.)
   ============================================================ */


/* ====================== GEIST ====================== */

.geist-h0 {
  font-family: 'Geist', sans-serif;
  font-size: 128px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -1.2px;
}

.geist-h1 {
  font-family: 'Geist', sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -1.2px;
}

.geist-h2 {
  font-family: 'Geist', sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.48px;
}

.geist-h3 {
  font-family: 'Geist', sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
}

.geist-p-large {
  font-family: 'Geist', sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.geist-p {
  font-family: 'Geist', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.geist-button {
  font-family: 'Geist', sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}

.geist-caption {
  font-family: 'Geist', sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.4;
}


/* ================== ALEGREYA SANS ================== */

.alegreya-p-large {
  font-family: 'Alegreya Sans', sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.alegreya-p {
  font-family: 'Alegreya Sans', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.alegreya-button {
  font-family: 'Alegreya Sans', sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}

.alegreya-caption {
  font-family: 'Alegreya Sans', sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.4;
}


/* ================= CLASH DISPLAY ================= */

.clash-h1 {
  font-family: 'Clash Display', sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -1.2px;
}

.clash-h2 {
  font-family: 'Clash Display', sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.48px;
}

.clash-h3 {
  font-family: 'Clash Display', sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
}


/* ============= CORMORANT GARAMOND ============= */

.cormorant-h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -1.2px;
}

.cormorant-h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.48px;
}

.cormorant-h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
}


/* ================ JETBRAINS MONO ================ */

.jet-h1 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -1.2px;
}

.jet-h2 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.48px;
}

.jet-h3 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
}

.jet-p-large {
  font-family: 'JetBrains Mono', monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.jet-p {
  font-family: 'JetBrains Mono', monospace;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.jet-button {
  font-family: 'JetBrains Mono', monospace;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}

.jet-caption {
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.4;
}


/* ==================== LEXEND ==================== */

.lexend-h1 {
  font-family: 'Lexend', sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -1.2px;
}

.lexend-h2 {
  font-family: 'Lexend', sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.48px;
}

.lexend-h3 {
  font-family: 'Lexend', sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
}


/* ================ PLUS JAKARTA ================ */

.jakarta-p-large {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.6;
}

.jakarta-p {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
}

.jakarta-button {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
}

.jakarta-caption {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.4;
}