:root {
  --gh-heading-display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --gh-heading-support: "Source Sans 3", "Segoe UI", Arial, sans-serif;
}

main :where(h1, h2),
body.editorial-page main :where(h1, h2),
body[data-page] main :where(h1, h2) {
  font-family: var(--gh-heading-display);
  letter-spacing: -.012em;
  line-height: 1.06;
  text-wrap: balance;
}

main h1,
body.editorial-page main h1,
body[data-page] main h1 {
  font-weight: 760;
  line-height: 1.04;
}

main h2,
body.editorial-page main h2,
body[data-page] main h2 {
  font-weight: 650;
  line-height: 1.1;
}

main :where(h3, h4),
body.editorial-page main :where(h3, h4),
body[data-page] main :where(h3, h4) {
  font-family: var(--gh-heading-support);
  font-weight: 750;
  letter-spacing: -.008em;
  line-height: 1.28;
  text-wrap: balance;
}

.gh-site-footer .gh-footer__grid h2,
.editorial-page .gh-site-footer .gh-footer__grid h2 {
  margin: 0 0 .8rem;
  max-width: none;
  width: auto;
  font-family: var(--gh-heading-support);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .035em;
  line-height: 1.3;
  text-transform: uppercase;
}

.gh-site-footer .gh-footer__links,
.gh-site-footer .gh-footer__contact,
.gh-site-footer .gh-footer__text,
.gh-site-footer .gh-footer__legal {
  font-family: var(--gh-heading-support);
  line-height: 1.5;
}

.home3-hero__actions {
  display: grid;
  justify-items: start;
  gap: .9rem;
  margin-top: 1.1rem;
}

.home3-hero__actions p {
  max-width: 34rem;
  margin: 0;
  font-size: .95rem;
  line-height: 1.5;
  opacity: .82;
}

.home3-hero__offer {
  display: grid;
  width: min(100%, 25rem);
  margin-top: 1.2rem;
  padding: 1rem 1.15rem 1.05rem;
  border: 1px solid rgb(255 255 255 / .18);
  border-left: 4px solid var(--e-red, #d93f4d);
  color: #fff;
  background: rgb(255 255 255 / .09);
  box-shadow: -5px 5px 0 rgb(217 63 77 / .28);
  gap: .16rem;
}

.home3-hero__offer-kicker {
  color: rgb(255 255 255 / .76);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.home3-hero__offer > p {
  display: flex;
  align-items: baseline;
  max-width: none;
  margin: .12rem 0 0;
  color: #fff;
  gap: .4rem;
}

.home3-hero__offer strong {
  font-family: var(--gh-heading-display);
  font-size: clamp(2.9rem, 4.4vw, 4.35rem);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: .9;
}

.home3-hero__offer > p span {
  font-size: 1rem;
  font-weight: 750;
}

.home3-hero__offer b {
  color: #fff;
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.home3-hero__offer small {
  max-width: 36rem;
  margin-top: .28rem;
  color: rgb(255 255 255 / .78);
  font-size: .72rem;
  line-height: 1.4;
}

@media (min-width: 64rem) {
  .gh-site-header .gh-submenu {
    top: calc(100% - 1px);
    max-height: calc(100vh - 9.75rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    transform: none;
  }

  .gh-site-header .gh-nav-group--business .gh-submenu {
    left: 50%;
    width: min(36rem, calc(100vw - 2rem));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    transform: translateX(-50%);
  }

  .gh-site-header .gh-nav-group--about .gh-submenu {
    right: 0;
    left: auto;
  }
}

@media (max-width: 43.99rem) {
  main :where(h1, h2),
  body.editorial-page main :where(h1, h2),
  body[data-page] main :where(h1, h2) {
    letter-spacing: -.006em;
    line-height: 1.08;
  }

  .home3-hero__actions {
    justify-items: stretch;
  }

  .home3-hero__actions .home3-button {
    width: 100%;
    text-align: center;
  }

  .home3-hero__offer {
    width: 100%;
  }
}

/* Recuperación visual: la optimización de renderizado diferido dejaba huecos
   de gran tamaño y podía retrasar la pintura de secciones completas. */
@supports (content-visibility: auto) {
  body[data-page="home"] main > section {
    content-visibility: visible !important;
    contain-intrinsic-size: none !important;
  }
}
