/* app/styles/safari-fixes.css */
@media not all and (min-resolution:.001dpcm) {
  @supports (-webkit-appearance:none) {
    .animate-pulse-slow {
      animation-duration: 8s !important;
      -webkit-animation-duration: 8s !important;
    }
    .animate-progress-slow {
      animation-duration: 2s !important;
      -webkit-animation-duration: 2s !important;
    }
    .animate-bounce-x {
      animation-duration: 1.5s !important;
      -webkit-animation-duration: 1.5s !important;
    }
    .animate-pulse-slow,
    .animate-progress-slow,
    .animate-bounce-x {
      transform: translateZ(0);
      backface-visibility: hidden;
      perspective: 1000;
    }
    .safari-blur {
      filter: blur(40px);
      opacity: .6;
      transform: translateZ(0);
    }
    svg {
      transform: translateZ(0);
      backface-visibility: hidden;
    }
    button svg {
      transform: translateZ(0);
      backface-visibility: hidden;
      perspective: 1000;
    }
  }
}
@keyframes pulse-slow {
  0%, to {
    opacity: .5;
    transform: scale(1);
  }
  50% {
    opacity: .7;
    transform: scale(1.05);
  }
}
@keyframes progress-slow {
  0% {
    width: 0%;
  }
  to {
    width: 68%;
  }
}
@keyframes bounce-x {
  0%, to {
    transform: translate(0);
    animation-timing-function: cubic-bezier(.8, 0, 1, 1);
  }
  50% {
    transform: translate(25%);
    animation-timing-function: cubic-bezier(0, 0, .2, 1);
  }
}
.safari-fixes * {
  transform: translateZ(0);
}
.safari-fixes .hero-section,
.safari-fixes .features-section,
.safari-fixes .testimonials-section {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000;
}
.safari-fixes .transition-all {
  transition-property: all;
}
.safari-fixes .shadow-lg {
  box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;
}
.safari-fixes .bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.safari-fixes .text-transparent.bg-clip-text {
  -webkit-background-clip: text;
  background-clip: text;
}
.safari-fixes svg {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000;
  visibility: visible !important;
}
