/* ==========================================================================
   typography-v2.css — REEMPLAZA a typography-inter.css
   Serif de display (Playfair Display) SOLO para titulares grandes e itálicas de
   acento; Inter para subtítulos, botones, UI y cuerpo.
   <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,400;1,500&display=swap" rel="stylesheet">
   Cargar DESPUÉS de tokens.css, tokens-neutral.css, base.css y components.css.
   ========================================================================== */
:root {
  --font-ui: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-display: 'Playfair Display', 'Times New Roman', Georgia, serif;

  --fw-display: 600;   /* titulares serif */
  --fw-ui: 500;        /* subtítulos, botones, nav, chips (Inter) */
  --fw-body: 400;      /* cuerpo (Inter) */
  --fw-accent: 400;    /* itálica serif de acento */

  --text-ui: 1rem;
  --inverse-accent: #D36A76;
}

body { font-family: var(--font-ui); font-weight: var(--fw-body); line-height: 1.6; }

/* ---- Titulares grandes: SERIF ---- */
h1, h2,
.display-text, .text-display, .hero-title,
.section-title, .section-watermark,
.hs-head__title, .hs-who__title,
.nav-brand, .editorial-headline {
  font-family: var(--font-display);
  font-weight: var(--fw-display);
  line-height: 1.08;
  letter-spacing: -0.02em;
}
h1, .text-display, .hero-title { font-weight: 600; letter-spacing: -0.025em; line-height: 1.04; }

/* ---- Subtítulos y títulos chicos: SANS ---- */
h3, h3.editorial-headline, .uiverse-adventure-card h3, h4, h5, h6, .hs-card__title, .hs-panel__title, .hs-tab__title, .hs-mini__title {
  font-family: var(--font-ui);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.015em;
}

/* ---- Botones, nav, chips, etiquetas: Inter Medium ---- */
.btn-primary, .btn-secondary, .hs-btn-sm, .nav-link, .nav-status, .pc-contact-btn,
.tag-badge, .tech-tag, .hs-chip, .hs-card__foot { font-family: var(--font-ui); font-weight: var(--fw-ui); }

/* ---- Acentos: itálica SERIF dentro de titulares ---- */
h1 em, h2 em, .hs-hl, mark.hs-hl, .accent-italic {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: var(--fw-accent);
  letter-spacing: -0.01em;
  color: var(--color-accent);
}

.hs-accent {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--color-accent);
  transition: color .7s ease;
}
/* Estado inicial al envolver: idéntico al texto normal, así el color "se pinta" */
.hs-accent.is-pending {
  color: inherit;
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  letter-spacing: inherit;
}

/* Watermarks gigantes y títulos de sección */
.section-watermark { font-weight: 600; letter-spacing: 0; }
.section-title { text-transform: uppercase; letter-spacing: 0.02em; font-weight: 500; }

/* Líneas: 1px sólidas */
.glass-card, .hs-card, .hs-tab, .hs-chip, .hs-marquee__viewport { border-width: var(--line-w, 1px); border-style: solid; }

/* HS-NUMBERS start */
/* Cifras: sans, alineadas a la línea base */
.module-kpi, .module-number, .stat-number, .stat__value, .counter, [data-count],
.hero-stat__value, .hero-stats strong,
.credentials-bar .credential-number, .credential-number, .credential-infinity, [data-count-target] {
  font-family: var(--font-ui);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
  margin-bottom: var(--space-1);
}

/* Cualquier número dentro de un titular serif (años, fechas) también alineado */
h1, h2, .display-text, .hs-who__title, .section-title, .section-watermark {
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}
/* HS-NUMBERS end */
