/* Custom styles that complement Tailwind — minimal, additive */

/* Smooth focus outlines for accessibility */
a:focus-visible,
button:focus-visible {
    outline: 2px solid #9eb898;
    outline-offset: 4px;
    border-radius: 4px;
}

/* Selection color */
::selection {
    background-color: #7a9a74;
    color: #fdfcfa;
}

/* Prevent content flash on scroll-reveal — JS adds .js-enabled */
:not(.js-enabled) .reveal {
    opacity: 1;
    transform: none;
}

/* Subtle image placeholder background */
img {
    background-color: #e3eade;
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    html {
        scroll-behavior: auto;
    }

    .reveal {
        opacity: 1;
        transform: none;
    }

    .leaf-sway {
        animation: none;
    }
}
