/* ============================================================
   Tipografía de títulos: Poppins (Brand Book 2026)
   H1 en SemiBold y H2 en Medium, como marca el Brand Book.
   Sustituye a la serif anterior en todo el sitio: sin cursivas,
   el énfasis va por color y los tamaños y el tracking se ajustan
   a una sans geométrica, que es más ancha que la serif.
   Se carga al final de cada página para ganar a las reglas previas.
   ============================================================ */

:root {
  /* Algunas hojas antiguas usan estos nombres; apuntan a las mismas fuentes */
  --font-display: var(--display-font);
  --font-body: var(--body-font);
}

/* ---------- Títulos base ---------- */
h1, .h1 { font-weight: 600; font-size: clamp(42px, 7vw, 108px); line-height: 1.04; letter-spacing: -0.035em; }
h2, .h2 { font-weight: 500; font-size: clamp(32px, 4.4vw, 64px); line-height: 1.08; letter-spacing: -0.03em; }
h3, .h3 { font-weight: 500; font-size: clamp(24px, 2.8vw, 38px); line-height: 1.14; letter-spacing: -0.02em; }
h4 { font-weight: 500; letter-spacing: -0.015em; }
.display { font-weight: 600; line-height: 1.04; letter-spacing: -0.035em; }

/* ---------- Énfasis: color, sin cursiva ---------- */
h1 em, h2 em, h3 em, h4 em, .h1 em, .h2 em, .h3 em, .display em, .display-italic {
  font-style: normal;
  color: var(--purple);
}
.hero h1 em, .thanks-hero h1 em, .p-hero h1 em,
.section-header h2 em, .p-section h2 em, .p-calc h3 em, .h-product h3 em,
.manifesto-statement em, .m-partners-band h2 em { font-style: normal; }

/* ---------- Home ---------- */
.hero-layout h1 { font-size: clamp(40px, 5.6vw, 90px); line-height: 1.02; }
.hero-meta-item strong { font-weight: 600; letter-spacing: -0.02em; }
.h-product-num { font-weight: 600; font-size: 52px; letter-spacing: -0.04em; line-height: .9; }
.h-product h3 { font-weight: 600; }
.h-facts dt { font-weight: 600; letter-spacing: -0.025em; }
.h-kit-logo b { font-weight: 600; letter-spacing: -0.03em; font-size: 26px; }
.h-aa { font-weight: 400; letter-spacing: -0.03em; font-variation-settings: normal; }
.h-flow b { font-weight: 600; letter-spacing: -0.015em; }
.h-impl-big { font-weight: 600; letter-spacing: -0.045em; }
.h-impl-big small { font-style: normal; font-weight: 500; }
.ag-meta strong { font-weight: 600; }
.m-partners-stats strong { font-weight: 600; letter-spacing: -0.03em; }
.approach-num { font-weight: 500; }
.service-card .duration { font-weight: 500; }
.value-cell h4 { font-weight: 600; font-size: 22px; line-height: 1.15; letter-spacing: -0.02em; }
.value-num { font-weight: 500; }
.faq-question { font-weight: 500; }
.industries-strip .marquee span { font-style: normal; font-weight: 500; font-size: clamp(32px, 4.4vw, 60px); letter-spacing: -0.03em; }
.manifesto-quote blockquote { font-style: normal; }
.footer-brand h3 { font-style: normal; font-weight: 500; font-size: 28px; letter-spacing: -0.02em; }

/* ---------- Menú móvil ---------- */
@media (max-width: 880px) {
  .nav-links > li > a { font-weight: 500; font-size: clamp(28px, 7.6vw, 38px); letter-spacing: -0.03em; }
}

/* ---------- Partners ---------- */
.p-hero-meta strong { font-weight: 600; }
.p-card h3, .p-card h4 { font-weight: 600; font-size: clamp(20px, 1.8vw, 25px); }
.p-card .p-num { font-weight: 500; }
.p-track-node b, .p-nots strong, .p-product b, .p-ref b, .p-tier .vol,
.p-tier .per b, .p-ind b, .p-rule b { font-weight: 600; }
.p-tier .pct { font-weight: 600; letter-spacing: -0.04em; }
.p-calc h3 { font-weight: 500; }
.p-calc output.n { font-weight: 600; }
.p-total-n { font-weight: 600; letter-spacing: -0.035em; }
.p-kpis b { font-weight: 600; }
.p-sig b { font-style: normal; font-weight: 500; }
.p-verbs span { font-style: normal; font-weight: 500; }
.p-intro-quote p { font-style: normal; font-weight: 500; }
.p-big { font-weight: 600; font-size: clamp(110px, 14vw, 200px); letter-spacing: -0.05em; }
.p-big-l { font-style: normal; font-weight: 500; }
.p-grow .tn b { font-weight: 500; }

/* ---------- Blog ---------- */
.article-content blockquote p, .article-content blockquote { font-family: var(--display-font); font-style: normal; font-weight: 500; }

/* ---------- Encabezados de sección: la sans es más ancha, el título gana espacio ---------- */
.section-header { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; }
.section-header h2 { font-size: clamp(30px, 3.5vw, 52px); }
@media (max-width: 880px) { .section-header { grid-template-columns: 1fr; gap: 20px; } }

/* ---------- Tamaños grandes afinados para Poppins ---------- */
.h-product h3 { font-size: clamp(28px, 2.8vw, 42px); line-height: 1.08; }
.p-hero h1 { font-size: clamp(40px, 4.8vw, 74px); }
.p-final h2 { font-size: clamp(34px, 4.4vw, 66px); }
.p-tier .pct { font-size: clamp(54px, 5vw, 78px); }
.p-total-n { font-size: clamp(42px, 5vw, 70px); }
.p-rule b { font-size: 18px; }
@media (min-width: 881px) { .p-rule { grid-template-columns: 158px 1fr; } }

/* ---------- Móvil: nada puede ser más ancho que la pantalla ---------- */
.p-card h3, .p-card h4 { overflow-wrap: break-word; }
.p-impl > * { min-width: 0; }            /* la tabla de semanas se desplaza dentro de su caja */
@media (max-width: 560px) {
  .p-process { grid-template-columns: 1fr; }
  .p-orbit-core { font-size: 11px; }
  .h-ad-img::after { font-size: 13px; }
}
/* Etiqueta "Acelerador máximo": sobre el borde de la tarjeta para no tapar el título */
.p-tier .tag { top: -12px; right: 20px; box-shadow: 0 8px 18px -10px rgba(93,63,255,.7); }

/* ---------- Blog, artículos y agenda ---------- */
.article-title { font-weight: 600; }
.article-content h2, .article-content h3, .article-cta-box h3 { font-weight: 600; }
.agendar-option-card h3, .gcal-card-content h2, .services-bottom-cta h3, .service-tile h3 { font-weight: 600; }
.ag-meta strong { font-size: clamp(16px, 1.25vw, 19px); }
