/* Custom styles beyond Tailwind */
:root {
    --forest-50: #f2f7f4;
    --forest-600: #2d5c37;
    --forest-800: #1d3823;
}

body {
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

/* Smooth focus styles */
:focus-visible {
    outline: 2px solid #2d5c37;
    outline-offset: 2px;
}

/* Selection color */
::selection {
    background-color: #c5dfcb;
    color: #1d3823;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #f2f7f4;
}
::-webkit-scrollbar-thumb {
    background: #96c49e;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #64a06e;
}

/* Navbar scroll shadow */
.nav-scrolled {
    box-shadow: 0 1px 20px rgba(29, 56, 35, 0.08);
}

/* Button hover lift */
.btn-lift {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btn-lift:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(29, 56, 35, 0.15);
}

/* Service card image hover */
.service-card-img {
    transition: transform 0.5s ease;
}
.service-card:hover .service-card-img {
    transform: scale(1.05);
}

/* Print styles */
@media print {
    nav, #contact, #testimonials, #process {
        display: none;
    }
    body {
        color: #000;
        background: #fff;
    }
}
