/* ─── NAV ─── */
.nav-link {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: #6b7280;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.2s ease;
    position: relative;
}
.nav-link:hover {
    color: #2d7a3a;
    background: rgba(45,122,58,0.06);
}
.nav-link.active-link {
    color: #2d7a3a;
    background: rgba(45,122,58,0.08);
    font-weight: 600;
}

.mobile-nav-link {
    display: block;
    padding: 12px 16px;
    font-size: 15px;
    font-weight: 500;
    color: #374151;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.2s ease;
}
.mobile-nav-link:hover {
    color: #2d7a3a;
    background: rgba(45,122,58,0.06);
}

/* ─── MOBILE NAV OPEN ─── */
.nav.open {
    display: block !important;
}

/* ─── BASE ─── */
html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; }

/* ─── REVEAL ANIMATIONS ─── */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.visible { opacity: 1; transform: translateY(0); }

.reveal-left {
    opacity: 0;
    transform: translateX(-50px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-left.visible { opacity: 1; transform: translateX(0); }

.reveal-right {
    opacity: 0;
    transform: translateX(50px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-right.visible { opacity: 1; transform: translateX(0); }

.reveal-scale {
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-scale.visible { opacity: 1; transform: scale(1); }

/* ─── STAGGERED DELAYS ─── */
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.4s; }
.delay-5 { transition-delay: 0.5s; }

/* ─── KEYFRAMES ─── */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(30px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes slideLeft {
    from { opacity: 0; transform: translateX(-40px); }
    to   { opacity: 1; transform: translateX(0); }
}
@keyframes pulseGlow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(45,122,58,0.4); }
    50%      { box-shadow: 0 0 0 12px rgba(45,122,58,0); }
}
@keyframes floatSlow {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-8px); }
}
@keyframes shimmer {
    0%   { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.animate-float { animation: floatSlow 5s ease-in-out infinite; }
.animate-pulse-glow { animation: pulseGlow 2.5s ease-in-out infinite; }
.animate-shimmer {
    background: linear-gradient(90deg, transparent 0%, rgba(45,122,58,0.08) 50%, transparent 100%);
    background-size: 200% 100%;
    animation: shimmer 3s ease-in-out infinite;
}

/* ─── GREEN ACCENTS ─── */
.gold-gradient-text {
    background: linear-gradient(135deg, #2d7a3a 0%, #86efac 50%, #2d7a3a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.gold-divider {
    width: 64px;
    height: 3px;
    background: linear-gradient(90deg, #2d7a3a, rgba(45,122,58,0.2));
    border-radius: 4px;
}

.gold-border-accent {
    position: relative;
}
.gold-border-accent::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #2d7a3a, transparent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.gold-border-accent:hover::after {
    transform: scaleX(1);
}

/* ─── CUSTOM CARDS ─── */
.service-card {
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 60px rgba(0,0,0,0.08), 0 0 0 1px rgba(45,122,58,0.15);
}

/* ─── DESKTOP DROPDOWN ─── */
.dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.dropdown-menu {
    transform: translateY(8px);
}
.dropdown:hover .dropdown-toggle .fa-chevron-down {
    transform: rotate(180deg);
}

/* ─── MOBILE DROPDOWN ─── */
.mobile-dropdown {
    transition: all 0.2s ease;
}
.mobile-dropdown-toggle .fa-chevron-down {
    transition: transform 0.2s ease;
}
.mobile-dropdown-toggle[aria-expanded="true"] .fa-chevron-down {
    transform: rotate(180deg);
}

/* ─── NAV ACTIVE ─── */
.nav a.active-link {
    color: #2d7a3a !important;
}
.nav a.active-link::after {
    width: 100% !important;
}
