/* ===== BASE & RESET ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body { overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23365124' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.649l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 36px; }

/* ===== NAVBAR ===== */
#navbar { transition: background 0.3s ease, box-shadow 0.3s ease, padding 0.3s ease; }
#navbar.scrolled {
    background: rgba(44, 64, 30, 0.97);
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 30px rgba(0,0,0,0.15);
}

/* ===== MARQUEE ===== */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.animate-marquee {
    animation: marquee 30s linear infinite;
}

/* ===== SERVICE CARDS ===== */
.service-card { position: relative; overflow: hidden; }
.service-card::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #e8a838, #f5c96a);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}
.service-card:hover::after { transform: scaleX(1); }

/* ===== SCROLL REVEAL ===== */
.reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal[data-state="hidden"] {
    opacity: 0;
    transform: translateY(30px);
}
@media (prefers-reduced-motion: no-preference) {
    .reveal { opacity: 0; transform: translateY(30px); }
    .reveal.visible { opacity: 1; transform: translateY(0); }
}

/* ===== MOBILE MENU ANIMATION ===== */
#mobileMenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}
#mobileMenu.open {
    max-height: 500px;
}

/* ===== FORM FOCUS ===== */
input:focus, select:focus, textarea:focus {
    outline: none;
}

/* ===== CUSTOM SCROLLBAR ===== */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f2f7f0; }
::-webkit-scrollbar-thumb { background: #5a833a; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #365124; }

/* ===== HERO TEXT ANIMATION ===== */
@keyframes float {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(2deg); }
}
.geometric-float { animation: float 4s ease-in-out infinite; }
.geometric-float-delay { animation: float 4s ease-in-out 1s infinite; }

/* ===== BUTTON RIPPLE ===== */
@keyframes ripple {
    to { transform: scale(4); opacity: 0; }
}
