body {
            font-family: 'DSans', sans-serif;
            background-color: #111827; /* bg-gray-900 */
            color: #F9FAFB; /* text-gray-50 */
        }
        /* Simple animation classes */
        .fade-in {
            opacity: 0;
            transition: opacity 0.8s ease-in-out;
        }
        .fade-in.visible {
            opacity: 1;
        }
        .slide-up {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }
        .slide-up.visible {
            opacity: 1;
            transform: translateY(0);
        }
        /* Staggered animation delay */
        .delay-1 { transition-delay: 100ms; }
        .delay-2 { transition-delay: 200ms; }
        .delay-3 { transition-delay: 300ms; }
        .delay-4 { transition-delay: 400ms; }
        .delay-5 { transition-delay: 500ms; }
        .delay-6 { transition-delay: 600ms; }
        .delay-7 { transition-delay: 700ms; }
        .delay-8 { transition-delay: 800ms; }
        .delay-9 { transition-delay: 900ms; }
        .delay-10 { transition-delay: 1000ms; }

        /* Active nav link style */
        .nav-link.active {
            color: #3B82F6; /* text-blue-500 */
            font-weight: 600; /* semibold */
        }

        /* Photo grid styling */
        .photo-container {
            aspect-ratio: 4 / 3;
            overflow: hidden;
        }
        .photo-container img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.3s ease-in-out;
        }
        .photo-container:hover img {
            transform: scale(1.05);
        }

        /* FAQ Accordion styles */
        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease-in-out, padding 0.5s ease-in-out;
            padding: 0 1.5rem; /* Corresponds to px-6 */
        }
        .faq-item.open .faq-answer {
            max-height: 375px; /* Adjust if answers are longer */
            padding: 1rem 1.5rem 1.5rem; /* py-4 px-6 pb-6 */
        }
        .faq-email {
            max-height: 550px; /* Adjust for longer answer */
            padding: 1rem 1.5rem 1.5rem; /* py-4 px-6 pb-6 */
        }
        .faq-arrow {
            transition: transform 0.3s ease-in-out;
        }
        .faq-item.open .faq-arrow {
            transform: rotate(180deg);
        }