    /* Base Styles */
    html {
        scroll-behavior: smooth;
    }
    
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

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

    .animate-fade-in-up {
        animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
        opacity: 0;
    }

    .delay-100 { animation-delay: 0.1s; }
    .delay-200 { animation-delay: 0.2s; }
    .delay-300 { animation-delay: 0.3s; }

    /* Scroll Reveal Utility Classes */
    .reveal-up, .reveal-left, .reveal-right {
        opacity: 1; /* Visible by default for progressive enhancement */
        transform: translateY(0);
        transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }

    /* JS will add these classes when out of view */
    .reveal-hidden {
        opacity: 0;
    }
    
    .reveal-left.reveal-hidden {
        transform: translateX(-40px);
    }
    
    .reveal-right.reveal-hidden {
        transform: translateX(40px);
    }

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

    /* Menu Item Hover Effect */
    .menu-item {
        border-bottom: 1px solid transparent;
        padding-bottom: 1rem;
        transition: border-color 0.3s ease;
    }
    
    .menu-item:hover {
        border-bottom: 1px solid #ff6b6b;
    }

    /* Custom Scrollbar */
    ::-webkit-scrollbar {
        width: 8px;
    }
    
    ::-webkit-scrollbar-track {
        background: #f9f9f7;
    }
    
    ::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 4px;
    }
    
    ::-webkit-scrollbar-thumb:hover {
        background: #ff6b6b;
    }
