/* Define the custom color palette and typography */
        :root {
            --color-ivory: #FAF9F7;
            --color-coral: #F7BFA1;
            --color-sage: #A8CBB7;
            --color-charcoal: #333333;
        }
        .bg-ivory { background-color: var(--color-ivory); }
        .text-charcoal { color: var(--color-charcoal); }
        .bg-coral { background-color: var(--color-coral); }
        .text-coral { color: var(--color-coral); }
        .bg-sage { background-color: var(--color-sage); }
        .text-sage { color: var(--color-sage); }
        
        .font-heading { font-family: 'Playfair Display', serif; }
        .font-body { font-family: 'Inter', sans-serif; }

        /* Custom Gradient CTA Button */
        .btn-gradient {
            background-image: linear-gradient(to right, #F7BFA1, #F0A58A); /* Coral to Peach */
            transition: all 0.3s ease-in-out;
            box-shadow: 0 8px 20px -6px rgba(247, 191, 161, 0.6);
        }
        .btn-gradient:hover {
            opacity: 0.9;
            transform: translateY(-2px);
            box-shadow: 0 12px 25px -8px rgba(247, 191, 161, 0.7);
        }
        
        /* Custom Shadows for Elegance */
        .shadow-elegant { box-shadow: 0 10px 30px -5px rgba(51, 51, 51, 0.15); }
        .card-lift:hover {
            transform: translateY(-5px) scale(1.01);
            box-shadow: 0 15px 40px -8px rgba(51, 51, 51, 0.2);
        }

        /* Smooth animation classes */
        .fade-in {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }
        .fade-in.appear {
            opacity: 1;
            transform: translateY(0);
        }

        /* Hero Styling for musical motif (simulated with opacity) */
        .hero-bg-music {
            background-image: url('https://i.pinimg.com/736x/71/d4/30/71d430ffbfcfb958b83e3f6c573e37b5.jpg');
            background-size: cover;
            background-position: center;
            position: relative;
        }
        .hero-bg-music::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(250, 249, 247, 0.8); /* Soft Ivory Overlay */
        }
    