/* Shared public heading treatment, based on the pricing section. */
.page-home {
  --heading-color: #271d3b;
  --heading-gradient: linear-gradient(110deg, #6610f2 15%, #007eb7 85%);
}

.page-home :is(h1, h2, h3, h4) {
  text-align: center;
  text-wrap: balance;
}

.page-home .section-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0;
  max-width: 780px;
  margin: 0 auto 2.7rem;
}

.page-home .section-title,
.page-home .section-head .section-title {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--heading-color);
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -.045em;
}

.page-home .section-title > span {
  background: var(--heading-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.page-home .section-head .lead {
  max-width: 68ch;
  margin: 1.1rem auto 0;
  color: #655b78;
  font-size: .95rem;
  line-height: 1.8;
  text-align: center;
}

.page-home :is(.process-shell, .cta) {
  --heading-color: #fff;
  --heading-gradient: linear-gradient(110deg, #e4d4ff 15%, #92e4ff 85%);
}

.page-home .process-shell .section-head .lead {
  color: #e9eeff;
}

.page-home .cta > .section-title {
  grid-column: 1 / -1;
  max-width: 900px;
  margin: 0 auto .6rem;
}

.page-home .benefit-card h3,
.page-home .func-slide h3 {
  width: 100%;
  max-width: none;
  letter-spacing: -.035em;
  color: var(--heading-color);
}

.page-home #precios .plan-title-row {
  flex-direction: column-reverse;
  justify-content: center;
}

.page-home #precios .plan-heading > p {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

@media (max-width: 560px) {
  .page-home .section-head {
    margin-bottom: 1.8rem;
  }

  .page-home .section-head .lead {
    margin-top: .9rem;
    font-size: .84rem;
  }

  .page-home .cta > .section-title br {
    display: none;
  }
}
