 /* Define the Custom Color Palette */
        :root {
            --color-beige: #F7F5F2;
            --color-terracotta: #D97D54;
            --color-slate: #555555;
            --color-gold: #FFD580;
        }

        /* Custom Typography */
        .font-heading { font-family: 'Poppins', 'Playfair Display', serif; }
        .font-body { font-family: 'Inter', sans-serif; }
        .font-cursive { font-family: 'Playfair Display', serif; } /* Using serif italics for an elegant callout effect */

        /* Base Styles */
        body {
            background-color: var(--color-beige);
            color: var(--color-slate);
            scroll-behavior: smooth;
        }

        /* Gradient Button Style */
        .btn-primary {
            background-color: var(--color-terracotta);
            color: white;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            box-shadow: 0 4px 12px rgba(217, 125, 84, 0.4);
        }
        .btn-primary:hover {
            background-color: #c76f4b; /* Slightly darker terracotta on hover */
            transform: translateY(-2px);
            box-shadow: 0 6px 16px rgba(217, 125, 84, 0.6);
        }

        /* Scroll Animation Utility Classes */
        .animate-scroll-in {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 1s ease-out, transform 1s ease-out;
        }
        .scroll-in-visible {
            opacity: 1;
            transform: translateY(0);
        }
        .scroll-in-delay-1 { transition-delay: 0.1s; }
        .scroll-in-delay-2 { transition-delay: 0.2s; }
        .scroll-in-delay-3 { transition-delay: 0.3s; }
        .scroll-in-delay-4 { transition-delay: 0.4s; }

        /* Custom Floating Animation for Hero */
        @keyframes floatEffect {
            0% { transform: translate(0, 0) rotate(0deg); }
            50% { transform: translate(-5px, -15px) rotate(1deg); }
            100% { transform: translate(0, 0) rotate(0deg); }
        }
        .floating-element {
            animation: floatEffect 8s ease-in-out infinite;
        }

        /* Image Hover Effect */
        .card-image-container {
            overflow: hidden;
        }
        .card-image {
            transition: transform 0.5s ease, filter 0.5s ease;
            filter: brightness(0.95);
        }
        .card-image:hover {
            transform: scale(1.05);
            filter: brightness(1);
        }
        
        /* Lightbox Overlay */
        #lightbox-overlay {
            z-index: 1000;
        }

        /* Slideshow Animation for Hero */
        @keyframes slideShow {
            0%, 25% { background-image: url('https://i.pinimg.com/736x/7e/90/fc/7e90fcacb2eb85706de38e7c467dbd45.jpg'); }
            33%, 58% { background-image: url('https://i.pinimg.com/736x/41/e7/a7/41e7a71c56ec2add50c4324949330c43.jpg'); }
            66%, 91% { background-image: url('https://i.pinimg.com/736x/73/f2/44/73f244ccf5cc1a076e1184d5ae2126c8.jpg'); }
            100% { background-image: url('https://i.pinimg.com/736x/bd/52/c6/bd52c60e5112c9de5f4375dee3f745fa.jpg'); }
        }
        .hero-slideshow {
            animation: slideShow 18s infinite ease-in-out;
            background-size: cover;
            background-position: center;
        }
    