body {
            font-family: 'Inter', sans-serif;
            background-color: #f8f8f8;
            color: #333;
            line-height: 1.6;
        }
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 1.5rem;
        }
        .navbar {
            background-color: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(8px);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
            position: sticky;
            top: 0;
            z-index: 50;
        }
        .nav-link {
            @apply text-gray-700 hover:text-blue-600 font-medium px-3 py-2 rounded-md transition duration-200 ease-in-out;
        }
        .header-bg {
            background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('<?= htmlspecialchars($header['backgroundImage']) ?>') no-repeat center center/cover;
            color: white;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
            position: relative;
        }
        .btn-primary {
            @apply bg-blue-600 text-white px-8 py-4 rounded-xl shadow-lg hover:bg-blue-700 transition duration-300 ease-in-out transform hover:scale-105;
        }
        .btn-secondary {
            @apply bg-gray-200 text-gray-800 px-8 py-4 rounded-xl shadow-md hover:bg-gray-300 transition duration-300 ease-in-out transform hover:scale-105;
        }
        .section-title {
            @apply text-4xl font-bold text-center mb-10 text-blue-800 relative pb-4;
        }
        .section-title::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 80px;
            height: 4px;
            background-color: #3b82f6;
            border-radius: 2px;
        }
        .card {
            @apply bg-white rounded-xl shadow-lg p-8 flex flex-col items-center text-center transition duration-300 ease-in-out transform hover:scale-105 hover:shadow-xl;
        }
        .listing-card {
            @apply bg-white rounded-lg shadow-md p-4 flex flex-col;
        }
        .accordion-header {
            @apply flex justify-between items-center w-full px-6 py-4 bg-gray-100 rounded-lg cursor-pointer font-semibold text-lg text-gray-700 hover:bg-gray-200 transition duration-200 focus:outline-none focus:ring-2 focus:ring-blue-400 focus:ring-opacity-75;
        }
        .accordion-content {
            @apply px-6 pt-3 pb-5 bg-white rounded-b-lg border border-t-0 border-gray-200;
        }
        .testimonial-card {
            @apply border-l-4 border-blue-600;
        }
        .contact-input:focus {
            @apply border-blue-500 ring-blue-500;
        }
        .skip-link {
            position: absolute;
            top: -40px;
            left: 0;
            background: #007bff;
            color: white;
            padding: 8px;
            z-index: 100;
            transition: top 0.3s;
        }
        .skip-link:focus {
            top: 0;
        }
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border-width: 0;
        }
        @keyframes fade-in-down {
            from { opacity: 0; transform: translateY(-30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        @keyframes fade-in-up {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .animate-fade-in-down { animation: fade-in-down 0.9s ease-out forwards; }
        .animate-fade-in-up { animation: fade-in-up 0.9s ease-out forwards; }