/* 噪点背景纸张质感 */
.noise-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    content: "";
    opacity: 0.02;
    z-index: 9999;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
}

/* 文字裁切显示 */
.reveal-clip {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

/* 呼吸灯效果用于地图热点 */
@keyframes map-pulse {
    0% { transform: scale(0.95); opacity: 0.5; }
    50% { transform: scale(1.3); opacity: 1; }
    100% { transform: scale(0.95); opacity: 0.5; }
}
.map-pulse-dot {
    animation: map-pulse 2s infinite ease-in-out;
}

/* 关于页标题动画 */
.about-title-line {
    display: inline-block;
}

/* 成员卡片悬浮效果 */
.member-card img {
    transition: all 0.7s ease;
}
.member-card:hover img {
    filter: grayscale(0);
    transform: scale(1.05);
}

/* 地图热点 */
.map-hotspot {
    cursor: pointer;
}
.map-hotspot circle {
    transition: all 0.4s ease;
}