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

    /* Custom Animations */
    @keyframes float {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        50% { transform: translateY(-20px) rotate(5deg); }
    }

    @keyframes float-delay {
        0%, 100% { transform: translateY(0px) rotate(0deg); }
        50% { transform: translateY(25px) rotate(-5deg); }
    }

    @keyframes spin-slow {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }

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

    .animate-float-delay {
        animation: float-delay 7s ease-in-out infinite;
    }

    .animate-spin-slow {
        animation: spin-slow 12s linear infinite;
    }

    /* Geometric Blobs */
    .blob {
        position: absolute;
        border-radius: 50%;
        filter: blur(60px);
        z-index: -1;
    }

    .blob-1 {
        top: 10%;
        left: -5%;
        width: 400px;
        height: 400px;
        background: #d1fae5; /* emerald-100 */
        opacity: 0.6;
        animation: float 10s ease-in-out infinite;
    }

    .blob-2 {
        bottom: 20%;
        right: -5%;
        width: 500px;
        height: 500px;
        background: #fff3d6; /* cream-200 */
        opacity: 0.5;
        animation: float-delay 12s ease-in-out infinite;
    }

    .blob-3 {
        top: 40%;
        left: 30%;
        width: 300px;
        height: 300px;
        background: #a7f3d0; /* emerald-200 */
        opacity: 0.4;
        animation: float 15s ease-in-out infinite;
    }

    .blob-4 {
        top: 70%;
        left: 10%;
        width: 200px;
        height: 200px;
        background: #ffe4a8; /* cream-400 */
        opacity: 0.4;
        animation: float-delay 8s ease-in-out infinite;
    }

    /* Scroll Reveal Classes */
    .reveal-up, .reveal-left, .reveal-right {
        opacity: 1;
        transform: none;
        transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Default state for JS enhancement - visible by default for accessibility */
    .reveal-up, .reveal-left, .reveal-right {
        /* If JS fails, content is still visible */
    }

    /* If JS runs, we can add hidden states via JS, but default is visible */
    
    /* Mobile Menu Transitions */
    #mobile-menu.open {
        opacity: 1;
        pointer-events: all;
    }

    /* Custom Scrollbar */
    ::-webkit-scrollbar {
        width: 10px;
    }
    ::-webkit-scrollbar-track {
        background: #FFFDF7;
    }
    ::-webkit-scrollbar-thumb {
        background: #047857;
        border-radius: 5px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: #065f46;
    }
