
/* VS V28 — base v22 estable + ajustes quirúrgicos */

/* Transiciones suaves entre páginas, sin alterar la estructura original */
body {
  opacity: 1;
  transform: none;
  transition: opacity 220ms ease, transform 220ms ease;
}
body.vs-page-ready {
  opacity: 1;
}
body.vs-page-leaving {
  opacity: 0;
  transform: translateY(8px);
}

/* Servicios: una sola entrada, más compacta y sin doble encabezado */
.vs-services-editorial-v28 {
  padding-top: 7.2rem !important;
}
.vs-service-section-head-v28 {
  max-width: 960px !important;
  margin: 0 auto 2.35rem !important;
  text-align: center !important;
}
.vs-service-section-head-v28 h1 {
  color: #fff !important;
  font-size: clamp(2.05rem, 4.6vw, 4.15rem) !important;
  line-height: .98 !important;
  letter-spacing: .025em !important;
  margin: .45rem 0 .95rem !important;
  text-transform: uppercase !important;
}
.vs-service-section-head-v28 p {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: rgba(255,255,255,.68) !important;
  font-size: 1.03rem !important;
  line-height: 1.7 !important;
}

/* Nosotros: proceso integrado dentro del contenido, en un solo color */
.vs-process-inline {
  justify-content: flex-start !important;
  gap: .55rem !important;
  margin-top: 1.35rem !important;
}
.vs-process-inline span {
  color: rgba(255,255,255,.88) !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  padding: .72rem .95rem !important;
  font-size: .68rem !important;
  font-weight: 650 !important;
  letter-spacing: .09em !important;
}
.vs-process-inline span:nth-child(even) {
  color: rgba(255,255,255,.88) !important;
}

@media screen and (max-width: 980px) {
  .vs-services-editorial-v28 {
    padding-top: 6.1rem !important;
  }
  .vs-service-section-head-v28 {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .vs-service-section-head-v28 p {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
@media screen and (max-width: 736px) {
  .vs-services-editorial-v28 {
    padding-top: 5.1rem !important;
  }
  .vs-service-section-head-v28 h1 {
    font-size: clamp(1.75rem, 9vw, 2.55rem) !important;
    line-height: 1.05 !important;
  }
  .vs-service-section-head-v28 p {
    font-size: .95rem !important;
  }
  .vs-process-inline {
    gap: .45rem !important;
    margin-top: 1.05rem !important;
  }
  .vs-process-inline span {
    padding: .62rem .72rem !important;
    font-size: .62rem !important;
    letter-spacing: .07em !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body { transition: none !important; }
}


/* VS V29 — ajuste solicitado en Servicios: retirar titular grande y subir contenido */
.vs-services-editorial-v28 {
  padding-top: 5.35rem !important;
}
.vs-service-section-head-v28 {
  max-width: 820px !important;
  margin: 0 auto 1.35rem !important;
  text-align: center !important;
}
.vs-service-section-head-v28 .vs-kicker {
  margin-bottom: .65rem !important;
}
.vs-service-section-head-v28 p {
  max-width: 760px !important;
  margin: 0 auto 1.1rem !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 1.02rem !important;
  line-height: 1.65 !important;
}
.vs-service-editorial-list {
  margin-top: 1.65rem !important;
}

@media screen and (max-width: 980px) {
  .vs-services-editorial-v28 {
    padding-top: 4.8rem !important;
  }
  .vs-service-section-head-v28 {
    margin-bottom: 1.15rem !important;
    text-align: left !important;
  }
  .vs-service-section-head-v28 p {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .vs-service-editorial-list {
    margin-top: 1.35rem !important;
  }
}

@media screen and (max-width: 736px) {
  .vs-services-editorial-v28 {
    padding-top: 4.25rem !important;
  }
  .vs-service-section-head-v28 p {
    font-size: .94rem !important;
    line-height: 1.6 !important;
  }
  .vs-service-editorial-list {
    margin-top: 1.1rem !important;
  }
}
