*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body),system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading),system-ui,sans-serif}::selection{background:color-mix(in srgb,var(--color-accent) 35%,transparent);color:var(--color-text)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes float-pulse{0%,to{box-shadow:0 4px 20px color-mix(in srgb,var(--color-accent) 35%,transparent)}50%{box-shadow:0 8px 32px color-mix(in srgb,var(--color-accent) 55%,transparent)}}.btn-shimmer:hover{background-color:var(--color-cta);background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.35) 50%,transparent);background-size:200% 100%;animation:shimmer 1.5s linear infinite}.fab-whatsapp{animation:float-pulse 2.5s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.btn-shimmer:hover,.fab-whatsapp{animation:none}}.coverage-map-shell{position:relative;isolation:isolate;transition:box-shadow .3s ease,transform .3s ease}.coverage-map-shell:hover{box-shadow:0 24px 56px -16px color-mix(in srgb,var(--color-secondary) 18%,transparent),var(--shadow-card)}.coverage-map-frame,.coverage-map-panel{position:relative;z-index:0;isolation:isolate}.coverage-leaflet-map,.coverage-map-frame .leaflet-container,.coverage-map-panel .leaflet-container{height:100%;width:100%;font:inherit;z-index:0;background:var(--color-surface-alt)}.coverage-map-frame .leaflet-pane,.coverage-map-panel .leaflet-pane{z-index:1!important}.coverage-map-frame .leaflet-bottom,.coverage-map-frame .leaflet-top,.coverage-map-panel .leaflet-bottom,.coverage-map-panel .leaflet-top{z-index:2!important}.coverage-brand-pin{background:transparent!important;border:none!important}.coverage-brand-pin__body{position:relative;display:block;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(145deg,var(--pin-primary),var(--pin-secondary));box-shadow:0 8px 18px color-mix(in srgb,var(--pin-secondary) 35%,transparent)}.coverage-brand-pin__dot{position:absolute;top:50%;left:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:white;transform:rotate(45deg)}.coverage-brand-pin__shadow{position:absolute;bottom:0;left:50%;width:16px;height:5px;margin-left:-8px;border-radius:50%;background:color-mix(in srgb,var(--color-text) 18%,transparent);filter:blur(2px)}.coverage-map-frame .leaflet-marker-icon,.coverage-map-panel .leaflet-marker-icon{transition:transform .2s ease,filter .2s ease}.coverage-map-frame .leaflet-marker-icon:hover,.coverage-map-panel .leaflet-marker-icon:hover{transform:scale(1.08) translateY(-2px);filter:drop-shadow(0 8px 14px color-mix(in srgb,var(--color-secondary) 35%,transparent))}.coverage-dot-marker{transition:transform .15s ease,filter .15s ease}.coverage-map-panel .leaflet-interactive:hover{filter:drop-shadow(0 4px 10px color-mix(in srgb,var(--color-secondary) 40%,transparent))}.coverage-map-tooltip.leaflet-tooltip{padding:6px 10px;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);background:color-mix(in srgb,var(--color-surface) 94%,transparent);color:var(--color-text);font-size:12px;font-weight:600;box-shadow:0 8px 24px color-mix(in srgb,var(--color-text) 10%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.coverage-map-tooltip.leaflet-tooltip:before{border-top-color:color-mix(in srgb,var(--color-surface) 94%,transparent)}.coverage-map-popup .leaflet-popup-content-wrapper{border-radius:14px;padding:0;border:1px solid color-mix(in srgb,var(--color-border) 85%,transparent);background:var(--color-surface);box-shadow:0 12px 32px color-mix(in srgb,var(--color-text) 12%,transparent);transition:box-shadow .2s ease,transform .2s ease}.coverage-map-popup .leaflet-popup-content{margin:10px 14px;font-size:13px;font-weight:600;color:var(--color-text);line-height:1.35}.coverage-map-popup .leaflet-popup-tip{background:var(--color-surface);box-shadow:none}.coverage-map-frame .leaflet-popup-content-wrapper,.coverage-map-panel .leaflet-popup-content-wrapper{transition:box-shadow .2s ease,transform .2s ease}.coverage-map-frame .leaflet-popup:hover .leaflet-popup-content-wrapper,.coverage-map-panel .leaflet-popup:hover .leaflet-popup-content-wrapper{box-shadow:0 12px 32px color-mix(in srgb,var(--color-secondary) 18%,rgba(0,0,0,.12))}.coverage-map-panel .leaflet-control-attribution{margin:0 10px 8px;padding:4px 8px;border-radius:999px;font-size:10px;background:color-mix(in srgb,var(--color-surface) 88%,transparent)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent)}.coverage-map-panel .leaflet-control-attribution a{color:var(--color-text-muted)}.coverage-city-list__scroll{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--color-secondary) 45%,transparent) transparent}.coverage-city-list__scroll::-webkit-scrollbar{width:6px}.coverage-city-list__scroll::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb,var(--color-secondary) 45%,transparent)}.coverage-city-list__scroll::-webkit-scrollbar-track{background:transparent}