.hero-bg { background: radial-gradient(ellipse at center, rgba(157,78,221,0.15) 0%, transparent 70%), linear-gradient(rgba(15, 15, 35, 0.7), rgba(15, 15, 35, 0.8)), url('../images/8kyq1j6ht6.webp'); background-size: cover; background-position: center; background-attachment: fixed; }

.fade-in { opacity: 0; transform: translateY(30px); transition: all 0.6s ease-out; }
.fade-in.visible { opacity: 1; transform: translateY(0); }

.demo-container { position: relative; filter: drop-shadow(0 20px 40px rgba(157,78,221,0.3)); margin-top: 2rem; margin-bottom: 1rem; }

@media (min-width: 768px) {
  .demo-container { margin-top: 3rem; margin-bottom: 1.5rem; }
}

@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideIn { from { opacity: 0; transform: translateY(-50px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 768px) {
  .pricing-card.popular { transform: none; }
  h1 { line-height: 1.3; }
  .hero-bg { padding-top: 10rem !important; padding-bottom: 3rem !important; min-height: auto !important; }
  section { padding-top: 4rem !important; padding-bottom: 4rem !important; }
  section + section { padding-top: 4rem !important; }
  .text-center.mb-16 { margin-bottom: 2.5rem !important; }
  .max-w-6xl { width: 100% !important; }
  .grid { gap: 1.5rem !important; }
  .pricing-card.popular .gradient-bg {
    padding: 6px 12px;
    font-size: 0.75rem;
    white-space: nowrap;
  }
  
  /* Correção para responsividade das imagens */
  .card-tech img.h-80 {
    height: auto !important;
    min-height: 200px;
    max-height: 300px;
    object-fit: cover;
    aspect-ratio: 16/9;
  }
}