
        /* ========== 动态地图样式 ========== */
        .map-block {
            margin: 60px auto 60px;
            max-width: 1200px;
            background: #fff;
            border-radius: 16px;
            padding: 40px 16px 20px;
            box-shadow: 0 2px 20px rgba(0,102,255,0.06);
        }
        .map-section-title {
            text-align: center;
            margin-bottom: 30px;
        }
        .map-section-title .eyebrow {
            display: inline-block;
            font-size: 0.78rem;
            letter-spacing: 2px;
            color: #0066ff;
            text-transform: uppercase;
            background: rgba(0,102,255,0.06);
            padding: 4px 14px;
            border-radius: 20px;
            margin-bottom: 12px;
        }
        .map-section-title h2 {
            font-size: 1.8rem;
            color: #1a2a4a;
            margin: 0 0 8px;
            font-weight: 700;
        }
        .map-section-title p {
            color: #4a6a8a;
            font-size: 0.92rem;
            margin: 0;
        }

        .interactive-map {
            position: relative;
            background: #f4f8ff;
            border-radius: 12px;
            overflow: hidden;
            border: 1px solid rgba(0,102,255,0.08);
        }

        .china-map-svg {
            display: block;
            width: 100%;
            height: auto;
        }

        .china-outline {
            transition: fill 0.4s;
        }

        /* ---- 标记点 ---- */
        .map-marker {
            cursor: pointer;
        }

        .marker-pulse {
            fill: #0066ff;
            opacity: 0.15;
            animation: mapPulse 2s ease-in-out infinite;
            transform-origin: center;
            transform-box: fill-box;
        }
        .map-marker:nth-child(odd) .marker-pulse { animation-delay: 0s; }
        .map-marker:nth-child(even) .marker-pulse { animation-delay: 0.5s; }

        @keyframes mapPulse {
            0% { r: 18; opacity: 0.2; }
            50% { r: 26; opacity: 0.05; }
            100% { r: 18; opacity: 0.2; }
        }

        .marker-dot {
            fill: #0066ff;
            transition: fill 0.3s, r 0.3s;
        }
        .marker-dot--head {
            fill: #ff4757;
        }

        /* ---- Tooltip 默认隐藏，hover 显示 ---- */
        .marker-tooltip {
            opacity: 0;
            visibility: hidden;
            transform: translateY(5px);
            transition: opacity 0.25s, visibility 0.25s, transform 0.25s;
            pointer-events: none;
        }
        .map-marker:hover .marker-tooltip {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .tooltip-bg {
            fill: #1a2a4a;
            filter: drop-shadow(0 4px 12px rgba(0,0,0,0.2));
        }

        .tooltip-name {
            font-size: 13px;
            font-weight: 700;
            fill: #fff;
            font-family: -apple-system, "Microsoft YaHei", sans-serif;
        }
        .tooltip-addr {
            font-size: 11px;
            fill: rgba(255,255,255,0.75);
            font-family: -apple-system, "Microsoft YaHei", sans-serif;
        }
        .tooltip-phone {
            font-size: 12px;
            font-weight: 600;
            fill: #4da6ff;
            font-family: -apple-system, "Microsoft YaHei", sans-serif;
        }

        /* hover 放大效果 */
        .map-marker:hover .marker-dot {
            r: 8;
            fill: #ff4757;
        }
        .map-marker:hover .marker-dot--head {
            r: 9;
            fill: #ff1744;
        }
        .map-marker:hover .marker-pulse {
            opacity: 0.35;
            animation: none;
        }

        /* ---- 图例 ---- */
        .map-legend {
            display: flex;
            justify-content: center;
            gap: 24px;
            padding: 16px 20px;
            background: rgba(255,255,255,0.8);
            border-top: 1px solid rgba(0,102,255,0.06);
        }
        .legend-item {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 0.82rem;
            color: #4a6a8a;
        }
        .legend-dot {
            display: inline-block;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: #0066ff;
        }
        .legend-dot--head {
            background: #ff4757;
        }

        /* ========== 响应式 ========== */
        
        
    

/* ========== 联系我们 - 版式优化（仅联系页） ========== */
/* 页头收紧 */
@media (min-width: 481px) {
    .page-hero {
        padding: calc(var(--header-height) + 90px) 0 90px;
    }
}

/* 双卡等高对齐，消除左下角零散留白 */
.contact-wrap {
    align-items: stretch;
    gap: 36px;
}

/* 左卡改为纵向 flex，把“关注我们”贴到底部，均匀填充空白 */
@media (min-width: 481px) {
    .contact-info-card {
        padding: 40px 36px;
        display: flex;
        flex-direction: column;
    }
    .contact-info-card > div:last-child {
        margin-top: auto;
    }
}

/* 窄屏/平板单列，避免两列溢出 */
@media (max-width: 768px) {
    .contact-wrap {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .page-hero {
        padding: calc(var(--header-height) + 50px) 0 50px;
    }
}
