        :root {
            --celestial-bg: #f5f9ff;
            --deep-ocean: #0f172a;
            --ethereal-blue: #6495ed;
        }

        body {
            background-color: var(--celestial-bg);
            color: var(--deep-ocean);
            scroll-behavior: smooth;
            overflow-x: hidden;
        }

        .glass {
            background: rgba(255, 255, 255, 0.25);
            backdrop-filter: blur(20px) saturate(180%);
            border: 1px solid rgba(255, 255, 255, 0.4);
        }

        .fade-in-section {
            opacity: 0;
            transform: translateY(50px) scale(0.95);
            filter: blur(10px);
            transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1), 
                        transform 1.5s cubic-bezier(0.16, 1, 0.3, 1),
                        filter 1.5s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .fade-in-section.is-visible {
            opacity: 1;
            transform: translateY(0) scale(1);
            filter: blur(0);
        }

        @keyframes shimmer {
            100% { transform: translateX(100%); }
        }

        .animate-shimmer {
            animation: shimmer 2.5s infinite;
        }

        .floating-canvas {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 0;
            pointer-events: none;
        }

        .content-wrap {
            position: relative;
            z-index: 10;
        }

        .scroll-progress {
            position: fixed;
            top: 0;
            left: 0;
            height: 3px;
            background: var(--ethereal-blue);
            width: 0%;
            z-index: 100;
        }

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

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

        .reveal-delay-1 { transition-delay: 0.2s; }
        .reveal-delay-2 { transition-delay: 0.4s; }
        .reveal-delay-3 { transition-delay: 0.6s; }

        #gift-cover {
            transition: opacity 1s, transform 1s, filter 1s;
        }

        .hidden-cover {
            opacity: 0;
            pointer-events: none;
            transform: scale(1.1);
            filter: blur(20px);
        }