/* Headings, nav and buttons must wrap at word boundaries only — never mid-word. */
h1, h2, h3, h4, h5, h6,
.entry-title, .wp-block-heading,
.sf-home h1, .sf-home h2, .sf-home h3, .sf-home h4,
.sf-home .hero h1, .sf-home .page-hero h1, .sf-home .p-hero h2,
.sf-home .impact-title, .sf-home .tagline,
.btn, a.btn, .wp-block-button__link,
#masthead a, .primary-menu a, .menu a, .nav-menu a, .header-menu-container a {
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: manual;
  hyphens: manual;
}

/* Hero and page titles: shrink so the longest Spanish words fit at 320px. */
.sf-home .hero h1,
.sf-home .page-hero h1 {
  font-size: clamp(28px, 8.2vw, 88px);
  line-height: 1.08;
  max-width: min(20ch, 100%);
}

.sf-home .hero .tagline {
  font-size: clamp(18px, 4.6vw, 26px);
  line-height: 1.3;
  max-width: min(28ch, 100%);
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}

.sf-home h2,
.sf-home .impact-title {
  font-size: clamp(26px, 6vw, 52px);
  line-height: 1.12;
  max-width: min(22ch, 100%);
}

.sf-home .impact-title {
  font-size: clamp(30px, 6.5vw, 72px);
}

.sf-home .p-hero h2 {
  font-size: clamp(30px, 7.4vw, 108px);
  line-height: 1.08;
  max-width: min(20ch, 100%);
  padding-left: 24px;
  padding-right: 24px;
}

.entry-title, h1.entry-title {
  font-size: clamp(26px, 6.4vw, 56px);
  line-height: 1.15;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}

@media (max-width: 359px) {
  .sf-home .hero h1,
  .sf-home .page-hero h1 {
    font-size: clamp(26px, 8vw, 32px);
  }
}

h1, h2, h3, h4, h5, h6,
.entry-title, .wp-block-heading {
  max-width: 100%;
  white-space: normal;
}

/* Project/page H2s (Kadence defaults to 48px, which overflows "construyendo" at 320px). */
.entry-content h2,
.entry-content h2.wp-block-heading,
h2.wp-block-heading,
.wp-block-post-content h2 {
  font-size: clamp(28px, 10vw, 52px) !important;
  line-height: 1.15;
  max-width: 100%;
}
