         .modal { display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.9); backdrop-filter: blur(5px); overflow-y: auto; }
        .modal-content { background: white; margin: 5% auto; padding: 40px; border-radius: 15px; width: 90%; max-width: 700px; color: #333; position: relative; animation: modalFadeIn 0.3s; }
        @keyframes modalFadeIn { from {opacity: 0; transform: translateY(-50px);} to {opacity: 1; transform: translateY(0);} }
        .close-btn { position: absolute; right: 20px; top: 10px; font-size: 30px; cursor: pointer; color: #aaa; }
        .modal-body h2 { color: var(--primary); margin-bottom: 20px; }
        .modal-body h3 { margin-top: 20px; color: #111; }
        .modal-body p { margin-bottom: 15px; }
        .modal-body ul { margin: 15px 0; padding-left: 25px; }
        .modal-body li { margin-bottom: 8px; list-style-type: disc; }

        @media (max-width: 768px) { .map-container { width: 90%; } .hero h1 { font-size: 2.2rem; } }