/* Custom styles — builds on Tailwind CDN */

:root {
    --forest-700: #2d572d;
    --forest-800: #244624;
}

html {
    scroll-behavior: smooth;
}

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

/* Navbar scroll state */
nav.scrolled {
    background: rgba(250, 250, 246, 0.97);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 rgba(45, 87, 45, 0.08), 0 4px 20px rgba(0, 0, 0, 0.04);
}

nav.scrolled .text-forest-900 {
    color: #1f3b1f !important;
}

nav.scrolled .text-forest-800 {
    color: #2d572d !important;
}

nav.scrolled a:not(.bg-forest-700):hover {
    color: #2d572d !important;
}

/* Service card hover */
.service-card {
    will-change: transform;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
    
    .service-card,
    .group {
        transition: none;
    }
    
    .group:hover {
        transform: none;
    }
}

/* Focus visible styles */
*:focus-visible {
    outline: 2px solid #2d572d;
    outline-offset: 2px;
    border-radius: 4px;
}

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

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

::-webkit-scrollbar-thumb {
    background: #c6dfc6;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #9cc79c;
}
