.map-container{position:relative;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:12px;box-shadow:0 20px 40px #0000004d;overflow:hidden;min-height:600px;padding:2rem}.marker-group:hover circle:first-child{opacity:.6;stroke-width:2}.marker-group:hover circle:nth-child(2){fill:#0d62ff;transform:scale(1.1)}.marker-group:hover circle:nth-child(3){fill:#0a4cc7;transform:scale(1.1)}.marker-group circle{transition:all .2s ease-in-out}.marker-group text{transition:all .2s ease-in-out}.map-container .absolute{animation:fadeIn .3s ease-in-out}.popup-content img{transition:transform .2s ease-in-out;border-radius:4px}.popup-content img:hover{transform:scale(1.05)}.popup-content a{transition:color .2s ease-in-out}.popup-content a:hover{text-decoration:underline}.map-container .absolute.bottom-4{animation:fadeIn .3s ease-in-out;z-index:5}.popup-content .overflow-y-auto::-webkit-scrollbar{width:4px}.popup-content .overflow-y-auto::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.popup-content .overflow-y-auto::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.popup-content .overflow-y-auto::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-100%) scale(.9)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}@keyframes fadeInMobile{0%{opacity:0}to{opacity:1}}@keyframes slideUpSheet{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.popup-backdrop{display:none}body.map-popup-open{overflow:hidden;overscroll-behavior:none}@media (max-width: 768px){.map-container{padding:1rem;min-height:400px}.popup-backdrop{display:block;position:fixed;inset:0;background:#0f172a73;z-index:9998;animation:fadeInMobile .2s ease-out}.popup-content{position:fixed!important;inset:auto 0 0!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:55vh!important;min-height:280px;transform:none!important;margin:0!important;border-radius:1rem 1rem 0 0!important;border:none!important;border-top:1px solid #e5e7eb!important;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom,0))!important;z-index:9999!important;box-shadow:0 -8px 32px #0000002e!important;animation:slideUpSheet .28s ease-out}.popup-content:before{content:"";display:block;width:2.5rem;height:.25rem;background:#d1d5db;border-radius:9999px;margin:0 auto .75rem}.popup-content .popup-close{top:.65rem;right:.65rem;font-size:1.5rem;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center}.popup-content .popup-header{padding-top:0;padding-right:2.25rem;margin-bottom:.5rem}.popup-content .popup-scroll{max-height:calc(55vh - 5.5rem)!important;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.popup-content h3{font-size:1.125rem!important;margin-bottom:.25rem!important}.popup-content .popup-header span{font-size:.8125rem!important;margin-bottom:0!important}.popup-content a{font-size:.875rem!important;line-height:1.35!important}.popup-content p{font-size:.75rem!important;line-height:1.4!important}.popup-content img{width:3.75rem!important;height:2.75rem!important}.popup-content button[type=button]:not(.popup-close){font-size:.8125rem!important;padding:.5rem 0!important}}.filter-btn[data-astro-cid-jljc7dey]{border-radius:.75rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity));padding:.75rem 1.5rem;font-weight:500;--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.filter-btn[data-astro-cid-jljc7dey]:hover{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity));--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.filter-btn[data-astro-cid-jljc7dey].active{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.project-card[data-astro-cid-jljc7dey]{opacity:1;transform:none}@media (prefers-reduced-motion: no-preference){.project-card[data-astro-cid-jljc7dey]{animation:fadeInUp .45s ease-out both}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}
