/**
 * Tipografía editorial premium — titulares sin palabras partidas, líneas equilibradas.
 * Carga al final del stack global para anular hyphens/overflow-wrap agresivos legacy.
 */

h1,
h2,
h3,
h4,
.section-title,
.section-head .section-title,
.single-header h1,
.blog-article-shell h1,
.detail-card h1,
.cg-calc-top h1,
.recursos-hero h1,
.hero-section h1 {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  overflow-wrap: normal !important;
  word-wrap: normal !important;
  word-break: normal !important;
  text-wrap: balance;
}

p.section-sub,
.hero-sub,
.lead > p,
.blog-lead,
.cg-calc-top h2,
.cg-calc-subcopy {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  text-wrap: pretty;
}

/* Home hero — fluido en todos los breakpoints (proporción titular / subtítulo) */
body.cgc-home-page .hero h1 {
  font-size: clamp(1.75rem, 5.2vw + 0.65rem, 5.5rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.05em !important;
  max-width: min(100%, 14em) !important;
  margin: 0 0 clamp(0.65rem, 2vw, 1.5rem) !important;
  text-wrap: balance;
}

body.cgc-home-page .hero h1 span {
  display: block;
  text-wrap: balance;
}

body.cgc-home-page .hero .hero-sub {
  font-size: clamp(0.85rem, 1.4vw + 0.48rem, 1.08rem) !important;
  line-height: 1.52 !important;
  max-width: min(100%, 42ch) !important;
  margin-bottom: clamp(0.75rem, 2.5vw, 1.75rem) !important;
  color: #1c2821 !important;
  font-weight: 500 !important;
  text-wrap: pretty;
}

@media (max-width: 900px) {
  body.cgc-home-page .hero .hero-sub {
    font-size: clamp(0.85rem, 2.6vw, 0.92rem) !important;
    line-height: 1.5 !important;
    color: #2c3530 !important;
  }

  body.cgc-home-page .hero-copy-inner {
    max-width: min(100%, 21.5rem) !important;
  }
}
