/* Custom animations */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

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

/* Testimonial slider styles */
.testimonial-slider {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

@media (min-width: 768px) {
    .testimonial-slider {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 2rem;
    }
}

/* Custom hover effects */
.service-card:hover {
    transform: translateY(-5px);
}

.tech-icon:hover {
    transform: scale(1.1);
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #3B82F6;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #1E40AF;
}

/* Additional responsive adjustments */
@media (max-width: 640px) {
    .section-title {
        font-size: 1.75rem;
    }
    
    .hero-title {
        font-size: 2.25rem;
    }
}

/* Focus styles for accessibility */
a:focus, button:focus, input:focus, textarea:focus {
    outline: 2px solid #3B82F6;
    outline-offset: 2px;
}

/* Print styles */
@media print {
    nav, footer, .cta-section, form {
        display: none;
    }
    
    body, html {
        background: white;
        color: black;
    }
    
    .container {
        width: 100%;
        max-width: 100%;
    }
    
    section {
        page-break-inside: avoid;
    }
}