       /* Custom styles for vintage look and feel */
        body {
            font-family: 'Inter', sans-serif;
            color: #333; /* Darker text for readability */
            background-color: #fdfaf6; /* Soft, warm off-white background */
        }
        h1, h2, h3, h4, h5, h6 {
            font-family: 'Playfair Display', serif;
            color: #4a4a4a; /* Slightly darker headings */
        }
        .vintage-button {
            background-color: #a0522d; /* Sienna/earthy tone */
            color: #fdfaf6;
            border: 2px solid #8b4513; /* Darker border */
            box-shadow: 3px 3px 0px #8b4513; /* Vintage shadow effect */
            transition: all 0.2s ease-in-out;
            font-family: 'Playfair Display', serif;
            letter-spacing: 0.05em;
        }
        .vintage-button:hover {
            transform: translate(-2px, -2px);
            box-shadow: 5px 5px 0px #8b4513;
            background-color: #c06c3a; /* Slightly lighter on hover */
        }
        .vintage-card-filter {
            filter: sepia(0.3) saturate(1.2) contrast(1.1); /* Subtle vintage photo effect */
            transition: transform 0.3s ease-in-out, filter 0.3s ease-in-out;
        }
        .vintage-card-filter:hover {
            transform: translateY(-5px);
            filter: sepia(0) saturate(1) contrast(1); /* Return to normal on hover */
        }
        .journal-text {
            font-family: 'Caveat', cursive;
            line-height: 1.6;
            color: #5a5a5a;
        }
        .polaroid-frame {
            background-color: #fdfaf6;
            border: 1px solid #e0e0e0;
            padding: 1rem;
            box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
            transform: rotate(var(--tw-rotate, 0deg)); /* Allow rotation via Tailwind */
            transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
        }
        .polaroid-frame:hover {
            transform: rotate(var(--tw-rotate, 0deg)) scale(1.03);
            box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.15);
        }
        .newsletter-input {
            border: 2px solid #a0522d;
            background-color: #fdfaf6;
            padding: 0.75rem 1rem;
            border-radius: 0.5rem;
            font-family: 'Inter', sans-serif;
            color: #333;
        }
        .newsletter-input::placeholder {
            color: #8b4513;
        }
        .newsletter-button {
            background-color: #a0522d;
            color: #fdfaf6;
            border-radius: 0.5rem;
            padding: 0.75rem 1.5rem;
            transition: background-color 0.2s ease-in-out;
        }
        .newsletter-button:hover {
            background-color: #8b4513;
        }
        /* Smooth scroll for anchor links */
        html {
            scroll-behavior: smooth;
        }

        /* Scroll animation classes */
        .fade-in-section {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
            transition-delay: var(--animation-delay, 0s);
        }
        .fade-in-section.is-visible {
            opacity: 1;
            transform: translateY(0);
        }