  /* Define the custom color palette and typography */
        :root {
            --color-cream: #FFF8F0;
            --color-red: #E94E3C;
            --color-mustard: #F5B755;
            --color-charcoal: #333333;
        }
        .bg-cream { background-color: var(--color-cream); }
        .text-charcoal { color: var(--color-charcoal); }
        .bg-red { background-color: var(--color-red); }
        .text-red { color: var(--color-red); }
        .bg-mustard { background-color: var(--color-mustard); }
        .text-mustard { color: var(--color-mustard); }
        
        .font-heading { font-family: 'Lora', serif; }
        .font-body { font-family: 'Inter', sans-serif; }

        /* Custom Gradient CTA Button */
        .btn-gradient {
            background-image: linear-gradient(to right, #E94E3C, #FF7F50); /* Rich Red to Coral/Orange */
            transition: all 0.3s ease-in-out;
            box-shadow: 0 8px 20px -6px rgba(233, 78, 60, 0.6);
        }
        .btn-gradient:hover {
            opacity: 0.95;
            transform: translateY(-2px);
            box-shadow: 0 12px 25px -8px rgba(233, 78, 60, 0.75);
        }
        
        /* Card Lift Effect */
        .card-lift {
            transition: all 0.3s ease-in-out;
            box-shadow: 0 10px 30px -5px rgba(51, 51, 51, 0.08);
        }
        .card-lift:hover {
            transform: translateY(-5px);
            box-shadow: 0 15px 40px -8px rgba(51, 51, 51, 0.15);
        }

        /* HERO VIDEO STYLING */
        .hero-video-container {
            position: relative;
            min-height: 100vh;
            overflow: hidden;
            display: flex;
            align-items: center;
        }

        #hero-video {
            position: absolute;
            top: 50%;
            left: 50%;
            min-width: 100%;
            min-height: 100%;
            width: auto;
            height: auto;
            z-index: 0;
            transform: translate(-50%, -50%);
            background-color: #333; /* Fallback background color */
        }
        
        /* Video Overlay for Readability */
        .video-overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: rgba(159, 154, 148, 0.88); /* Soft Cream Overlay for contrast */
            z-index: 1;
        }

        /* Scroll-triggered fade-in animation */
        .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);
        }
