/* Original Wixys styles are kept intact in style.css and custom.css. */
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
img { max-width: 100%; }
a:focus-visible, button:focus-visible, [tabindex]:focus-visible { outline: 3px solid #058a7c; outline-offset: 4px; }
#header { position: sticky; top: 0; }
#header #logo { float: left; }
#header #logo img { width: auto; height: auto; object-fit: contain; }
#intro .intro-content h1 { color: #00110f; margin-bottom: 30px; font-size: 64px; font-weight: 700; }
#intro .intro-content h1 span { color: #19e5d0; text-decoration: underline; }
#intro-carousel { position: absolute; inset: 0; overflow: hidden; }
#intro #intro-carousel .item { position: absolute; inset: 0; opacity: 0; transition: opacity 1s ease; }
#intro #intro-carousel .item.is-active { opacity: 1; }
.carousel-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-slide { min-width: 0; flex: 0 0 33.333333%; scroll-snap-align: start; }
.clients-carousel .carousel-slide { flex-basis: 16.666667%; }
.clients-carousel img { width: 100%; height: auto; object-fit: contain; }
.owl-dots button { border: 0; padding: 0; cursor: pointer; }
.back-to-top { display: block; z-index: 50; }
.skip-link { position: fixed; left: 1rem; top: -100px; background: #00110f; color: #fff; z-index: 2000; padding: 1rem; }
.skip-link:focus { top: 1rem; }
#mobile-nav-toggle { position: fixed; top: 20px; right: 15px; margin: 0; }
.mobile-navigation { position: fixed; inset: 0; z-index: 998; }
.mobile-overlay { position: absolute; inset: 0; width: 100%; background: rgba(0,0,0,.7); border: 0; }
.mobile-navigation #mobile-nav { left: 0; }
body.mobile-nav-active { overflow: hidden; }
#footer .brand img { height: auto; }
@media (max-width: 899px) {
  .carousel-slide { flex-basis: 50%; }
  .clients-carousel .carousel-slide { flex-basis: 25%; }
}
@media (max-width: 767px) {
  #intro .intro-content h1 { font-size: 34px; }
  .carousel-slide { flex-basis: 100%; }
  .clients-carousel .carousel-slide { flex-basis: 50%; }
  #intro-cloud-backup { min-height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
