/* Features Page - Consistent with Homepage Styling */

/* All background patterns completely removed */

/* Additional feature-specific animations */
@keyframes featureCardFloat {
    0%, 100% {
        transform: translateY(0px) rotateY(0deg);
    }
    50% {
        transform: translateY(-10px) rotateY(2deg);
    }
}

.feature-card-hover {
    animation: featureCardFloat 6s ease-in-out infinite;
    transform-style: preserve-3d;
}

/* Enhanced button hover effects */
.cta-primary:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 20px 40px rgba(105, 29, 247, 0.4);
}

.cta-secondary:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 20px 40px rgba(255, 255, 255, 0.2);
}

/* Loading state for buttons */
.loading {
    opacity: 0.7;
    pointer-events: none;
    cursor: not-allowed;
}

/* Enhanced scroll animations */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

.animate-on-scroll.animate {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered animation delays */
.animate-delay-200 {
    animation-delay: 0.2s;
}

.animate-delay-400 {
    animation-delay: 0.4s;
}

.animate-delay-600 {
    animation-delay: 0.6s;
}

.animate-delay-800 {
    animation-delay: 0.8s;
}

/* Mobile optimizations */
@media (max-width: 768px) {
    .hero-headline {
        font-size: 2.5rem !important;
    }
    
    .hero-subheadline {
        font-size: 1.2rem !important;
    }
    
    .feature-card {
        padding: 2rem 1.5rem;
    }
    
    .grid-2,
    .grid-3 {
        grid-template-columns: 1fr;
    }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
    .animate-on-scroll,
    .feature-card-hover,
    .cta-primary,
    .cta-secondary {
        animation: none !important;
        transition: none !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .feature-card {
        border-width: 2px;
    }
    
    .cta-primary,
    .cta-secondary {
        border-width: 2px;
    }
}