    /* Custom Global Styles */
    :root {
        --font-serif: 'Playfair Display', serif;
        --font-sans: 'Lato', sans-serif;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

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

    .animate-fade-in-up {
        animation: fadeInUp 1s ease-out forwards;
    }

    /* Scroll Reveal Utilities */
    .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);
    }

    .delay-100 { transition-delay: 100ms; }
    .delay-200 { transition-delay: 200ms; }
    .delay-300 { transition-delay: 300ms; }

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

    /* Custom Scrollbar */
    ::-webkit-scrollbar {
        width: 10px;
    }
    ::-webkit-scrollbar-track {
        background: #f9f7f5;
    }
    ::-webkit-scrollbar-thumb {
        background: #b95237;
        border-radius: 5px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: #9e422b;
    }
