/* Additional custom styles and animations */
@media (prefers-reduced-motion: no-preference) {
    .service-card {
        transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    }
    
    .service-card:hover {
        transform: translateY(-5px);
    }
    
    .gallery-item img {
        transition: transform 0.5s ease;
    }
    
    .btn-primary {
        transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    }
    
    .btn-primary:hover {
        transform: translateY(-2px);
    }
}

/* Scroll reveal animations */
.scroll-reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.scroll-reveal.revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: no-preference) {
    .scroll-reveal {
        opacity: 0;
        transform: translateY(30px);
    }
    
    .scroll-reveal.revealed {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Smooth focus styles for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--coral);
    outline-offset: 2px;
}

/* Print styles */
@media print {
    .navbar,
    .hero-scroll,
    .mobile-menu,
    .contact-form {
        display: none !important;
    }
    
    .hero {
        min-height: auto;
        padding: 2rem;
    }
    
    .hero-bg,
    .hero-overlay {
        display: none;
    }
    
    body {
        color: #000;
        background: #fff;
    }
}
