/* Service overview and compact homepage introduction. */
.services-page { padding-top: calc(var(--header-h) + clamp(4rem, 7vw, 7rem)); }
.services-page .section-heading h1 {
  font-size: clamp(3.8rem, 7vw, 8rem);
  font-weight: 400;
  letter-spacing: -.07em;
  line-height: 1;
  margin: 1rem 0 0;
}
.services-page .service-row__heading h2 {
  font-size: clamp(3.8rem, 5.5vw, 6rem);
  font-weight: 400;
  letter-spacing: -.07em;
  line-height: 1;
  margin: 1.1rem 0 1.25rem;
}
.services-intro {
  align-items: center;
  background: #fff;
  display: grid;
  gap: clamp(2.5rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  overflow: hidden;
  padding-block: clamp(5rem, 8vw, 9rem);
  scroll-margin-top: var(--header-h);
}
.services-intro__copy { min-width: 0; }
.services-intro h2 {
  font-size: clamp(3.75rem, 7.2vw, 8rem);
  font-weight: 400;
  letter-spacing: -.075em;
  line-height: .96;
  margin: 1.6rem 0 2rem;
}
.services-intro__copy > p:not(.section-index):not(.services-intro__caption) {
  color: var(--muted);
  font-size: clamp(1.05rem, 1.3vw, 1.25rem);
  line-height: 1.55;
  max-width: 32ch;
}
.services-intro__copy .button { margin-top: 1.5rem; }
.services-intro__caption {
  color: var(--muted);
  font-family: 'DM Mono', monospace;
  font-size: .65rem;
  line-height: 1.8;
  margin: 1.75rem 0 0;
}
.services-intro__visual { aspect-ratio: 3 / 2; overflow: visible; }
.services-intro__art { display: block; height: auto; position: relative; width: 100%; z-index: 1; }
.services-intro__visual::before { display: none; }
.services-intro .service-effects--dot-waves { overflow: visible; }
.services-intro .service-effects--dot-waves circle {
  animation: services-dot-wave 6s ease-in-out infinite;
  animation-delay: var(--wave-delay);
  fill: #00ce18;
  opacity: .55;
}
@keyframes services-dot-wave {
  0%, 100% { opacity: .3; transform: translateY(-18px); }
  50% { opacity: .7; transform: translateY(18px); }
}
@media (max-width: 900px) {
  .services-intro { gap: 2rem; grid-template-columns: minmax(0, 1fr); }
  .services-intro__visual { max-width: 680px; width: 100%; }
  .services-intro h2 { font-size: clamp(3.75rem, 10vw, 6rem); }
}
@media (max-width: 720px) {
  .services-intro { padding-block: 4rem; }
  .services-intro__copy .button { width: 100%; }
  .services-intro__caption { font-size: .6rem; }
  .services-page .section-heading h1 { font-size: clamp(3.2rem, 13vw, 5.5rem); }
  .services-page .service-row__heading h2 { font-size: clamp(3rem, 12vw, 4.2rem); margin-bottom: 0; }
}

#servicios .service-points--animated > li {
  opacity: 0;
  transform: translateY(14px);
}
#servicios .service-points--animated.is-visible > li {
  animation: service-point-in .55s cubic-bezier(.22, 1, .36, 1) both;
  animation-delay: calc(var(--point-order, 0) * 85ms);
}
@keyframes service-point-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .services-intro .service-effects--dot-waves circle {
    animation: none;
    opacity: .4;
    transform: none;
  }
  #servicios .service-points--animated > li {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
