@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root {
    --brand-green: #065f46;
    --brand-green-dark: #064e3b;
    --brand-cream: #faf8f4;
    --brand-orange: #ea580c;
}

body {
    font-family: 'DM Sans', sans-serif;
    background-color: var(--brand-cream);
    color: #1a1a1a;
}

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

.carousel-item {
    transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.8s ease;
    transform: scale(1.08);
}

.carousel-item.active {
    opacity: 1 !important;
    transform: scale(1);
}

.nav-link {
    position: relative;
    color: #475569;
    transition: color 0.2s;
}

.nav-link:hover,
.nav-link.active {
    color: var(--brand-green-dark);
}

.nav-link::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 2px;
    background: var(--brand-green);
    border-radius: 2px;
    transition: width 0.3s ease;
}

.nav-link:hover::after,
.nav-link.active::after {
    width: 100%;
}

.reveal {
    opacity: 1;
    transform: none;
}

.js-animations .reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-animations .reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

#navbar.scrolled {
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

#navbar.scrolled .nav-inner {
    height: 4.5rem;
}

.hero-gradient {
    background:
        radial-gradient(ellipse 80% 60% at 20% 40%, rgba(6, 95, 70, 0.08) 0%, transparent 60%),
        radial-gradient(ellipse 60% 50% at 80% 20%, rgba(234, 88, 12, 0.05) 0%, transparent 50%);
}

.bento-card {
    transition: transform 0.4s ease, box-shadow 0.4s ease, background 0.4s ease, color 0.4s ease;
}

.bento-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(6, 78, 59, 0.12);
}

.value-pill {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.value-pill:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(6, 78, 59, 0.1);
}

#mobile-menu {
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

#mobile-menu.open {
    opacity: 1;
    visibility: visible;
}

#mobile-menu:not(.open) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
