/* Additional custom styles */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }
    .reveal.active {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Ensure content is visible even without JS */
@supports not (animation: reveal 0.8s ease-out) {
    .reveal {
        opacity: 1;
        transform: none;
    }
}

/* Smooth scrolling for anchor links */
html {
    scroll-behavior: smooth;
}

/* Custom focus styles for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid #FF6347;
    outline-offset: 2px;
}

/* Image loading placeholder */
img {
    background-color: #f3f4f6;
}

/* Mobile menu transition */
#mobile-menu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

#mobile-menu.open {
    max-height: 500px;
}

/* Button hover effects */
button:hover,
a:hover {
    transition: all 0.2s ease-in-out;
}

/* Selection color */
::selection {
    background-color: #FF6347;
    color: white;
}
