/* servicios: estilos separados de la versión aprobada. */
.services {
  display: grid;
  grid-template-columns: 1.1fr repeat(4, 1fr);
  gap: 16px;
  align-items: stretch;
}

.service-intro {
  padding: 8px 12px 8px 0;
}

.service-intro h2 {
  font-size: 31px;
  line-height: 1.05;
  margin: 0 0 14px;
}

.service-intro p,
.card p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.card {
  padding: 24px 18px;
  border: 1px solid rgba(157, 122, 255, .3);
  background: linear-gradient(150deg, rgba(47, 38, 148, .75), rgba(17, 14, 74, .78));
  border-radius: 15px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 15px 35px rgba(1, 0, 24, .2);
}

.card .icon {
  font-size: 32px;
  color: var(--cyan);
  margin-bottom: 20px;
  filter: drop-shadow(0 0 10px #2a72ff);
}

.card h3 {
  font-size: 17px;
  margin: 0 0 9px;
}

@media (max-width: 980px) {
  .services {
    grid-template-columns: repeat(2, 1fr);
  }

  .service-intro {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .services {
    grid-template-columns: 1fr;
  }
}

.services {
  animation: appear .9s ease both;
}