/* ============================================================
   Cta component: closing call-to-action band.
   ============================================================ */

.cta {
  background: var(--blue);
  color: var(--white);
  padding: 7.5rem var(--pad-x);
  position: relative;
  overflow: hidden;
}
.cta__inner {
  position: relative;
  z-index: 1;
  max-width: var(--max-width);
  margin: 0 auto;
}
.cta__title {
  font-size: var(--fz-h1);
  line-height: 0.98;
  letter-spacing: -0.035em;
  font-weight: 800;
  color: var(--green);
  max-width: 18ch;
  margin-bottom: 3.125rem;
}
.cta__title em {
  font-style: normal;
  color: var(--white);
}

/* Dark variant (pantallas): black band, title/em colors swapped from the
   default, plus a radial glow decoration behind the content. */
.cta--dark {
  background: var(--black);
  padding: 8.75rem var(--pad-x);
}
.cta--dark::before {
  content: '';
  position: absolute;
  top: -20%;
  right: -10%;
  width: 37.5rem;
  height: 37.5rem;
  background: radial-gradient(circle, rgba(6, 96, 223, 0.4), transparent 65%);
  pointer-events: none;
}
.cta--dark .cta__title {
  color: var(--white);
  max-width: 17ch;
}
.cta--dark .cta__title em {
  color: var(--green);
}

/* Wide-title modifier (publicitario): its headline is slightly longer,
   needs a wider max-width than the default 18ch. */
.cta--wide-title .cta__title {
  max-width: 20ch;
}

.cta__actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.cta__mail {
  margin-top: 1.625rem;
  font-size: 1rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
}
.cta__mail a {
  color: var(--green);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1.5px;
  transition: color 0.2s var(--ease);
}
.cta__mail a:hover {
  color: var(--white);
}

@media (max-width: 640px) {
  .cta {
    padding: 5rem var(--pad-x);
  }
  .cta__title {
    margin-bottom: 2.25rem;
  }
  .cta__actions .btn {
    width: 100%;
    justify-content: center;
    white-space: normal;
    text-align: center;
  }
}
