:root { --violet: #660ed3; }
.horizontal-cards { display: flex !important; gap: 26px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #660ed3 transparent; padding: 12px 0 24px; cursor: grab; }
.horizontal-cards > article { flex: 0 0 70%; scroll-snap-align: start; scroll-snap-stop: always; min-width: 0; }
.horizontal-cards::after { content: ''; flex: 0 0 calc(30% - 26px); }
.testimonials .horizontal-cards > article { flex-basis: 42%; }
.testimonials .horizontal-cards::after { flex-basis: calc(58% - 26px); }
.horizontal-cards.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.horizontal-cards:focus-visible { outline: 3px solid #660ed3; outline-offset: 5px; }
.testimonials .horizontal-cards:focus-visible { outline-color: #e1ff00; }
.slider-controls { display: flex; align-items: center; justify-content: center; gap: 24px; margin-top: 18px; }
.slider-controls button { display: grid; place-items: center; width: 48px; height: 48px; background: transparent; color: inherit; border: 1px solid currentColor; border-radius: 50%; font: inherit; font-size: 24px; cursor: pointer; }
.slider-controls button:hover:not(:disabled) { background: #660ed3; border-color: #660ed3; color: #fff; }
.slider-controls button:disabled { opacity: .3; cursor: default; }
.slider-controls button:focus-visible { outline: 3px solid #660ed3; outline-offset: 4px; }
.testimonials .slider-controls button:focus-visible { outline-color: #e1ff00; }
.slider-controls span { min-width: 4em; text-align: center; font-size: .875rem; }
#servicios .service-web { background: #fff; border: 1px solid #660ed3; color: #0a0a0a; }
#servicios .service-web p { color: #0a0a0a; }
#servicios .service-web .tags li { border-color: #660ed3; }
#servicios .service-web .service-cta { border: 0; }
#servicios .service-web .service-cta:focus-visible { outline-color: #660ed3; }
#servicios h2 span { text-decoration-color: #660ed3; }
.site-footer { background: #0a0a0a; }
.site-footer .social-pending { color: #fff; }
.site-footer .footer-copyright { border-top-color: #ffffff55; }
@media (max-width: 760px) {
  .horizontal-cards { gap: 16px; }
  .horizontal-cards > article, .testimonials .horizontal-cards > article { flex-basis: 88%; }
  .horizontal-cards::after, .testimonials .horizontal-cards::after { flex-basis: calc(12% - 16px); }
}

.testimonials .steps article { background: #0a0a0a; border-color: #e1ff00; }
.testimonials .steps article:hover { background: #fff; color: #0a0a0a; }
.testimonials .steps article:hover blockquote, .testimonials .steps article:hover .testimonial-by, .testimonials .steps article:hover .testimonial-label { color: #0a0a0a; }


#servicios .service-app { background: #101010; color: #fff; border-color: #101010; }
#servicios .service-app p { color: #ddd; }
#servicios .service-app .tags li { border-color: #888; }
#servicios .service-app .service-cta { background: #fff; color: #101010; }
#servicios .service-app .service-cta:hover { background: #660ed3; color: #fff; }
#servicios .service-app .service-cta:focus-visible { outline-color: #fff; }


#servicios .service-web:hover { border-color: #660ed3; }
.quote-submit { justify-content: center; }

