    /* Custom Styles & Overrides */
    
    html {
        scroll-behavior: smooth;
    }

    body {
        /* Fallbacks for fonts */
        font-family: 'Montserrat', sans-serif;
    }

    .font-serif {
        font-family: 'Cormorant Garamond', serif;
    }

    /* Custom Scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }
    ::-webkit-scrollbar-track {
        background: #FDF8F6;
    }
    ::-webkit-scrollbar-thumb {
        background: #a52d4e;
        border-radius: 4px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: #8a2440;
    }

    /* Animations */
    .hero-anim {
        opacity: 0;
        transform: translateY(20px);
        animation: fadeInUp 0.8s ease forwards;
    }
    
    .hero-anim:nth-child(1) { animation-delay: 0.1s; }
    .hero-anim:nth-child(2) { animation-delay: 0.3s; }
    .hero-anim:nth-child(3) { animation-delay: 0.5s; }
    .hero-anim:nth-child(4) { animation-delay: 0.7s; }

    @keyframes fadeInUp {
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .hero-card {
        animation: float 6s ease-in-out infinite;
    }

    @keyframes float {
        0% { transform: translateY(0px); }
        50% { transform: translateY(-15px); }
        100% { transform: translateY(0px); }
    }

    /* Scroll Reveal Utility */
    .scroll-reveal {
        opacity: 1; /* Default visible for accessibility */
        transform: translateY(30px);
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }
    
    .scroll-reveal.revealed {
        opacity: 1;
        transform: translateY(0);
    }

    /* Mobile Menu Transitions */
    .mobile-link {
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.4s ease, transform 0.4s ease;
    }
    
    #mobile-menu.open .mobile-link {
        opacity: 1;
        transform: translateY(0);
    }
    
    #mobile-menu.open .mobile-link:nth-child(1) { transition-delay: 0.1s; }
    #mobile-menu.open .mobile-link:nth-child(2) { transition-delay: 0.2s; }
    #mobile-menu.open .mobile-link:nth-child(3) { transition-delay: 0.3s; }
    #mobile-menu.open .mobile-link:nth-child(4) { transition-delay: 0.4s; }
    #mobile-menu.open .mobile-link:nth-child(5) { transition-delay: 0.5s; }
