    /* Custom Color Palette */
    :root {
        --burgundy-900: #580F17; /* Deep, rich burgundy */
        --burgundy-700: #7A1821; /* Lighter interactive state */
        --blush-100: #FDF2F2;    /* Very light blush */
        --blush-200: #FCE7E7;    /* Slightly darker blush */
        --stone-50: #FAFAF9;
        --stone-100: #F5F5F4;
        --stone-900: #1C1917;
    }

    /* Base Styles & Typography */
    body {
        font-family: 'Lato', sans-serif;
        background-color: var(--stone-50);
    }

    h1, h2, h3, h4, .font-serif {
        font-family: 'Playfair Display', serif;
    }

    /* Animation Keyframes */
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translate3d(0, 40px, 0);
        }
        to {
            opacity: 1;
            transform: translate3d(0, 0, 0);
        }
    }

    @keyframes fadeIn {
        from { opacity: 0; }
        to { opacity: 1; }
    }

    .animate-fade-in-up {
        animation-name: fadeInUp;
        animation-duration: 0.8s;
        animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    .animate-fade-in {
        animation-name: fadeIn;
        animation-duration: 1s;
        animation-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    /* Utility Overrides */
    .bg-burgundy-900 { background-color: var(--burgundy-900); }
    .text-burgundy-900 { color: var(--burgundy-900); }
    .hover\:bg-burgundy-800:hover { background-color: var(--burgundy-700); }
    
    .bg-blush-100 { background-color: var(--blush-100); }
    .bg-blush-200 { background-color: var(--blush-200); }
    .text-blush-200 { color: var(--blush-200); }
    .text-blush-300 { color: #FADADD; }
