    /* Custom Font Imports */
    @import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Montserrat:wght@300;400;500;600&display=swap');

    :root {
        --color-primary: #1A3C34;
        --color-secondary: #C5A065;
        --color-bg: #F9F7F2;
        --color-text: #4A5A56;
    }

    body {
        font-family: 'Montserrat', sans-serif;
        background-color: var(--color-bg);
        color: var(--color-primary);
    }

    h1, h2, h3, h4, .font-serif {
        font-family: 'Lora', serif;
    }

    /* Smooth Scrolling */
    html {
        scroll-behavior: smooth;
    }

    /* Animations */
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translate3d(0, 40px, 0);
        }
        to {
            opacity: 1;
            transform: translate3d(0, 0, 0);
        }
    }

    .animate-fade-in-up {
        animation-name: fadeInUp;
        animation-duration: 0.8s;
        animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    /* Scroll Reveal Utility */
    .reveal-on-scroll {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }

    .reveal-on-scroll.is-visible {
        opacity: 1;
        transform: translateY(0);
    }

    /* Blob Animation for Hero */
    @keyframes blob {
        0% { transform: translate(0px, 0px) scale(1); }
        33% { transform: translate(30px, -50px) scale(1.1); }
        66% { transform: translate(-20px, 20px) scale(0.9); }
        100% { transform: translate(0px, 0px) scale(1); }
    }

    .animate-blob {
        animation: blob 7s infinite;
    }

    .animation-delay-2000 {
        animation-delay: 2s;
    }

    /* Mobile Menu Transitions */
    #mobile-menu {
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    
    #mobile-menu.open {
        opacity: 1;
        pointer-events: auto;
        visibility: visible;
    }

    /* Navbar Background Transition */
    #navbar.scrolled {
        background-color: rgba(249, 247, 242, 0.95);
        box-shadow: 0 4px 20px rgba(0,0,0,0.05);
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

    /* Custom Scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }
    ::-webkit-scrollbar-track {
        background: var(--color-bg);
    }
    ::-webkit-scrollbar-thumb {
        background: var(--color-primary);
        border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: var(--color-secondary);
    }
