:root {
    --forest-green: #1B4332;
    --off-white: #FAF8F5;
    --accent-gold: #D4A373;
    --dark-green: #0D1F17;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--off-white);
    color: var(--dark-green);
}

.font-playfair {
    font-family: 'Playfair Display', serif;
}

.font-montserrat {
    font-family: 'Montserrat', sans-serif;
}

/* Mobile menu */
#mobileMenu.open {
    opacity: 1;
    pointer-events: all;
}

#mobileMenu.closed {
    opacity: 0;
    pointer-events: none;
}

body.menu-open {
    overflow: hidden;
}

/* Service card hover */
.service-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card:hover {
    transform: translateY(-4px);
}

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

::-webkit-scrollbar-track {
    background: var(--off-white);
}

::-webkit-scrollbar-thumb {
    background: var(--forest-green);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--dark-green);
}

/* Selection color */
::selection {
    background: var(--accent-gold);
    color: var(--dark-green);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1;
        transform: none;
    }
    .service-card:hover {
        transform: none;
    }
    html {
        scroll-behavior: auto;
    }
    img {
        transition: none;
    }
}
