/* ==========================================================================
   Tipografía: menos peso, más aire. Solo CSS, sin tocar estructura ni módulos.
   Se carga DESPUÉS de refinar.css y ANTES de red-app.css y tarifas.css (shell.js).
   Esencia que NO cambia: rojo #DB0632, tinta #1D1D1B, una palabra en rojo, Anton en
   mayúsculas para titulares grandes, Barlow Condensed (encabezados/etiquetas), Barlow (interfaz),
   Source Serif 4 (texto corrido). Los tarifarios siguen en Plus Jakarta Sans (tarifas.css).

   Qué hace:
     1. Escala fluida un paso más chica arriba y un paso más grande abajo (etiquetas y metadatos).
     2. Titulares: interlineado 1.06-1.12 (antes .90-1.02) y un poco de tracking positivo.
     3. Etiquetas: 13 px, peso 600 y tracking .08-.10em (antes 11.5 px, 700, .08-.34em).
     4. Anton solo en titulares de portada/sección y cifras; títulos de tarjeta en Barlow Condensed.
     5. Bajada y texto corrido con renglones más largos y más interlineado.
   ========================================================================== */

/* -------- 1. Tokens ---------------------------------------------------- */
:root {
  --fs-xs: 0.8125rem;                                   /* 13  (antes 12) */
  --fs-sm: 0.9375rem;                                   /* 15  (antes 14) */
  --fs-base: 1rem;                                      /* 16 */
  --fs-md: 1.125rem;                                    /* 18 */
  --fs-lg: 1.3125rem;                                   /* 21  (antes 22) */
  --fs-xl: clamp(1.5rem, 1.25rem + 1vw, 2rem);          /* 24 → 32 (antes 26 → 36) */
  --fs-2xl: clamp(1.875rem, 1.45rem + 1.9vw, 2.875rem); /* 30 → 46 (antes 32 → 53) */
  --fs-3xl: clamp(2.375rem, 1.4rem + 3.6vw, 4rem);      /* 38 → 64 (antes 40 → 74) */
  --fs-4xl: clamp(2.75rem, 1.2rem + 6.4vw, 5.75rem);    /* 44 → 92 (antes 44 → 112) */

  --lh-display: 1.08;      /* Anton, 2+ renglones */
  --lh-head: 1.16;         /* Barlow Condensed en tarjetas y h3 */
  --lh-text: 1.6;          /* Source Serif 4 corrido */
  --ls-label: 0.09em;      /* etiquetas en mayúsculas */
  --measure: 68ch;
}

/* -------- 2. Titulares (Anton, mayúsculas) ------------------------------ */
.display, h1, .h1, h2, .h2 { line-height: var(--lh-display); letter-spacing: 0.012em; }
.display { line-height: 1.04; letter-spacing: 0.008em; }
h1, .h1 { line-height: 1.06; letter-spacing: 0.01em; }

/* h3-h5: Barlow Condensed, no apretados */
h3, .h3, h4, .h4, h5, .h5 { line-height: var(--lh-head); letter-spacing: 0.01em; }

/* Titulares de página con interlineado propio (<1) en las hojas de cada página */
.hb-muro__label h1 { font-size: clamp(48px, 5.4vw, 80px); line-height: 1; letter-spacing: 0.006em; }
.hb-muro__label h1 .hb-pre { line-height: 1.1; margin-bottom: .16em; }
.hb-ultimas__t { font-size: clamp(2.375rem, 1.4rem + 3.6vw, 4.25rem); line-height: 1.05; letter-spacing: 0.01em; }
.hb-page .rev-red-band h2, .hb-page .rev-ads__col h2 { line-height: 1.06; }
.hb-page .rev-news-grid .card-article--lead .card-article__title { font-size: clamp(2rem, 1.3rem + 2.2vw, 3.125rem); line-height: 1.06; }
.rev-read h1 { font-size: clamp(2.125rem, 1rem + 4.4vw, 4rem); line-height: 1.06; }
.rev-lin__title { font-size: clamp(3.25rem, 1rem + 11vw, 8rem); line-height: 0.98; }
.rev-pillar__word, .rev-free__cta strong, .vid-evtype__big, .com-edition .com-edition__name,
.red-how__list dt, .red-move__lead h3, .card-article--lead .card-article__title { line-height: 1.06; letter-spacing: 0.01em; }
.rev-free__cta strong { font-size: clamp(1.875rem, 1.2rem + 2.4vw, 3rem); }
.rev-pull { font-size: clamp(1.75rem, 1rem + 3.4vw, 3.5rem); line-height: 1.1; }
.com-big__n { font-size: clamp(4rem, 2.4rem + 7vw, 7.5rem); line-height: 1; }
.pb-ubi__h { font-size: clamp(2.375rem, 1rem + 5.2vw, 4.5rem); line-height: 1.02; letter-spacing: 0; }
.red-landing__copy h1 { font-size: clamp(2.375rem, 1rem + 4.4vw, 4.5rem); line-height: 1.04; }
.red-alta h2 { font-size: clamp(2.125rem, 1.2rem + 3vw, 3.75rem); line-height: 1.04; }
.cm-nombre { font-size: clamp(2rem, 1.5rem + 1.4vw, 2.75rem); line-height: 1.04; }

/* Anton solo en titulares de portada/sección y cifras. En títulos de lista y de bloque pasa
   a Barlow Condensed 800 (mismo carácter, menos mancha de tinta) */
.com-brand h3, .com-done h3 { font-family: var(--font-head); font-weight: 800; text-transform: none; font-size: var(--fs-xl); line-height: var(--lh-head); letter-spacing: 0.005em; }
.pb-cerca__h { font-family: var(--font-head); font-weight: 800; font-size: var(--fs-xl); line-height: var(--lh-head); letter-spacing: 0.005em; }
.vid-thumbtype b { line-height: 1.12; }
.vid-next__copy h3 { font-size: clamp(1.75rem, 1.25rem + 1.8vw, 2.5rem); line-height: 1.08; letter-spacing: 0.012em; }
.vid-ev__title { font-weight: 700; font-size: clamp(1.375rem, 1.2rem + 0.5vw, 1.75rem); line-height: var(--lh-head); }
.vid-series__head h3 { font-size: clamp(1.375rem, 1.2rem + 0.5vw, 1.75rem); }

/* -------- 3. Títulos de tarjeta y de lista (Barlow Condensed 700) ------- */
.card-article__title, .card-video__title, .card-edition__body h3, .card-product__title, .card-event__body h3 {
  font-weight: 700; line-height: var(--lh-head); letter-spacing: 0.008em; text-wrap: balance;
}
.card-article__title { font-size: clamp(1.375rem, 1.2rem + 0.55vw, 1.75rem); }
.card-article--row .card-article__title { font-size: clamp(1.1875rem, 1.1rem + 0.35vw, 1.4375rem); }
.card-video__title, .card-edition__body h3, .card-product__title { font-size: clamp(1.1875rem, 1.1rem + 0.35vw, 1.4375rem); }
.card-event__body h3 { font-size: clamp(1.375rem, 1.2rem + 0.5vw, 1.75rem); }
.card-article__body { gap: 0.625rem; }
.card-video { gap: 0.625rem; }
.card-article__dek, .card-product__desc { line-height: 1.5; }
.card-article--lead .card-article__dek { line-height: 1.55; }

/* -------- 4. Bajada, texto corrido y metadatos ------------------------- */
.dek { font-size: clamp(1.125rem, 1.07rem + 0.3vw, 1.3125rem); line-height: 1.55; max-width: 58ch; }
.dek--lg { font-size: clamp(1.1875rem, 1.1rem + 0.55vw, 1.4375rem); }
.hero-article__title .dek { max-width: 60ch; }
.section-head .dek, :is(h1, h2, .display) + .dek { margin-top: var(--sp-4); }
.prose { line-height: 1.7; }
.prose h2, .prose h3 { margin-top: 2em; }
.prose > * + * { margin-top: 1.2em; }
.byline, .meta { line-height: 1.45; }
.caption { line-height: 1.45; }
.footer__brand p { max-width: 44ch; line-height: 1.55; }
.footer__list a, .footer__list span { line-height: 1.5; }

/* -------- 5. Etiquetas (kicker, folio, rúbrica, dt, badge) ------------- */
/* tarifas.css fuerza .72rem / 700 / .08em en .kicker y .cintillo para todo el sitio: se sube
   la especificidad con "body" para devolverles 13 px; los de dentro de planes siguen en PJS */
body .kicker { font-size: clamp(0.8125rem, 0.79rem + 0.1vw, 0.875rem); line-height: 1.3; font-weight: 600 !important; letter-spacing: 0.1em !important; }
body .cintillo { font-size: var(--fs-xs); font-weight: 600 !important; letter-spacing: 0.16em !important; }
.rev-ed .cintillo, .com-ed .cintillo { letter-spacing: 0.18em !important; }
.rev-hero > .cintillo { letter-spacing: 0.16em !important; font-size: var(--fs-xs); }
.rubric { padding-top: var(--sp-3); }
.folio { font-size: var(--fs-xs); letter-spacing: var(--ls-label); font-weight: 600; }
.folio::before { width: 16px; height: 1.5px; }
.hb-page .rev-red-band .folio { color: #fff; }               /* #FFD2DA sobre rojo daba 3.8:1 */

.facts dt, .profile-head__stats dt, .hero-article__meta dt, .searchbar__field label, .rev-head__stats dt,
.rev-tools__label, .rev-facts dt, .rev-share__label, .vid-sort label, .vid-radio__stats dt, .vid-meta dt,
.vid-thumbtype span, .vid-evtype__kicker, .com-filters__label, .com-sales__list dt, .com-data__label,
.com-toc__title, .red-dl dt, .red-stats dt, .rv-dl dt, .red-post__type, .rvd-ad__kind, .rvd-item__kind,
.footer__title, .footer__social a, .card-event__month, .badge, .cm-kicker, .caption .credit, .pull cite {
  font-weight: 600; letter-spacing: var(--ls-label);
}
.facts dt, .profile-head__stats dt, .hero-article__meta dt, .rev-head__stats dt, .vid-radio__stats dt, .red-stats dt,
.rev-tools__label, .vid-sort label, .searchbar__field label, .com-filters__label { font-size: var(--fs-xs); line-height: 1.35; }
.footer__title { font-size: var(--fs-sm); letter-spacing: 0.12em; }
.card-event__month { letter-spacing: 0.12em; }
.badge { font-size: var(--fs-xs); padding: 4px 9px 3px; }

/* Cabecera: tira superior, navegación */
.site-header__top p, .site-header__top a { font-size: var(--fs-xs); letter-spacing: 0.1em; }
.nav__link { font-weight: 600; font-size: 1.5rem; letter-spacing: 0.05em; }
@media (min-width: 1080px) { .nav__link { font-size: 1.125rem; letter-spacing: 0.06em; } }
.nav__sub a { font-size: 1.0625rem; font-weight: 500; }
.preview-banner { font-size: var(--fs-sm); }
.preview-banner__tag { font-size: var(--fs-xs); letter-spacing: 0.1em; }

/* Etiquetas en mono de la portada (hb-): 13 px, tracking contenido */
.hb-kick { font-size: 0.8125rem; letter-spacing: 0.04em; }
.hb-muro__hint { font-size: 0.75rem; }
.hb-ultimas__row span { font-size: 0.8125rem; }
.hb-cv__n { font-size: 0.75rem; }
.hb-lomo__nav a { letter-spacing: 0.14em; font-weight: 600; }
.hb-muro__txt { font-size: 1.125rem; line-height: 1.55; }
.hb-ultimas__s { line-height: 1.5; }

/* -------- 6. Botones --------------------------------------------------- */
.btn { font-size: 1rem; font-weight: 600; letter-spacing: 0.05em; }
.btn--sm { font-size: 0.9375rem; letter-spacing: 0.045em; }
.btn--lg { font-size: 1.125rem; }
.btn--text { font-weight: 600; }
.hb-btn { font-size: 1rem; font-weight: 600; letter-spacing: 0.05em; }
.chip { font-size: var(--fs-sm); }

/* -------- 7. Red de Emprendedores (red-app.css carga después: más especificidad) */
html body[data-page^="red"] .red-subnav__list a { font-size: 0.8125rem; letter-spacing: 0.08em; font-weight: 600; }
html body[data-page^="red"] .red-hero h1 { line-height: 1.08; letter-spacing: 0.01em; }
html body[data-page^="red"] .red-post p, html body[data-page^="red"] .post__text { font-size: 1.0625rem; line-height: 1.6; }
html body[data-page^="red"] .red-post__type { letter-spacing: var(--ls-label); font-size: var(--fs-xs); }
html body[data-page^="red"] .red-move__lead h3 { line-height: 1.06; }
html body[data-page^="red"] .red-giros a small { font-size: 0.75rem; letter-spacing: 0.04em; }
html body[data-page^="red"] .red-tabbar a, html body[data-page^="red"] .red-tabbar button { font-size: 0.75rem; letter-spacing: 0.05em; font-weight: 600; }
html body[data-page^="red"] .red-move__lead p.cintillo { font-size: 0.78rem; letter-spacing: 0.1em !important; }
html body[data-page^="red"] .red-landing__mapa .cm-nota { font-size: 0.8125rem; }

/* -------- 7b. Tarifarios: solo TAMAÑO y contraste (la fuente sigue siendo Plus Jakarta Sans) */
.mb-table thead th small.mb-lanza-t { color: var(--red-deep); opacity: 1; }   /* era #fff sobre gris claro: 1.1:1 */
.mb-table thead th .mb-lanza-t, .mb-tag, .mb-prox__k, .mb-lanza, .mb-kit__t { font-size: 0.75rem !important; }
.mb-table thead th .mb-mes { font-size: 0.8125rem; }

/* -------- 8. Celular --------------------------------------------------- */
@media (max-width: 639.98px) {
  :root { --fs-lg: 1.25rem; }
  body { line-height: 1.55; }
  .dek { max-width: none; font-size: 1.0625rem; line-height: 1.55; }
  .dek--lg { font-size: 1.125rem; }
  .card-article__body { gap: 0.5rem; }
  body .kicker { letter-spacing: 0.08em !important; }
  .nav__sub a small { font-size: var(--fs-sm); }
  .hb-muro__label h1 { font-size: clamp(40px, 11vw, 52px); }
  .btn { letter-spacing: 0.04em; }
  .rubric { gap: var(--sp-3); }
}
