/* Custom styles beyond Tailwind */

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Mobile menu animation */
#mobileMenu {
    animation: slideDown 0.2s ease-out;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Scroll reveal base state — content always visible */
.reveal {
    opacity: 1;
    transform: none;
}

/* Progressive enhancement: only animate when JS is active and user prefers motion */
@media (prefers-reduced-motion: no-preference) {
    .js-enabled .reveal {
        opacity: 0;
        transform: translateY(24px);
        transition: opacity 0.6s ease, transform 0.6s ease;
    }
    .js-enabled .reveal.visible {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Subtle hover lift for cards */
.group:hover .group-hover\:bg-coral-500 {
    transition: background-color 0.2s ease;
}

/* Form focus states */
input:focus,
select:focus,
textarea:focus {
    outline: none;
}

/* Smooth scroll offset for fixed nav */
section[id] {
    scroll-margin-top: 80px;
}

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