/* ========== 全局主题变量【商务青绿】 ========== */
:root {
    --main-color: #009688;
    --main-light: #4db6ac;
    --main-dark: #00695c;
    --shadow-main: rgba(0, 150, 136, 0.08);
    --shadow-hover: rgba(0, 150, 136, 0.15);
    --text-black: #1a1a1a;
    --text-gray: #666;
    --text-light-gray: #999;
    --bg-page: #f7fafa;
    --bg-white: #ffffff;
    --border-line: #eeeeee;
    --base-transition: all 0.4s ease;
}
@media (prefers-reduced-motion: reduce) {
    * { animation: none !important; transition: none !important; }
}
html { scroll-behavior: smooth; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: "Microsoft YaHei", system-ui, sans-serif;
    font-size: 15px;
    color: var(--text-gray);
    background-color: var(--bg-page);
    line-height: 1.65;
    animation: pageFadeIn 0.75s ease forwards;
}
ul { list-style: none; }
a { text-decoration: none; color: inherit; transition: var(--base-transition); }
img { max-width: 100%; display: block; }
.main-container { width: 1200px; margin: 0 auto; padding: 0 12px; }
.section-head { text-align: center; margin-bottom: 40px; }
.section-title {
    font-size: 28px;
    color: var(--main-color);
    margin-bottom: 12px;
    position: relative;
}
.section-title::after {
    content: "";
    width: 60px;
    height: 3px;
    background: var(--main-color);
    display: block;
    margin: 10px auto 0;
    transition: var(--base-transition);
}
.section-sub { font-size: 15px; }
.more-link {
    display: inline-block;
    padding: 9px 28px;
    border: 1px solid var(--main-color);
    border-radius: 999px;
    color: var(--main-color);
    transition: var(--base-transition);
}
.more-link:hover {
    background: var(--main-color);
    color: #fff;
    transform: translateY(-3px);
    box-shadow: var(--shadow-main);
}

/* ========== 顶部导航 ========== */
.header-top {
    background: var(--bg-white);
    box-shadow: 0 2px 10px var(--shadow-main);
    position: sticky;
    top: 0;
    z-index: 999;
}
.header-container {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 15px;
}
.logo-text {
    font-size: 22px;
    font-weight: 700;
    color: var(--main-color);
    transition: var(--base-transition);
}
.logo-text:hover {
    text-shadow: 0 0 10px rgba(0, 150, 136, 0.3);
}
.nav-ul { display: flex; gap: 28px; }
.nav-a {
    font-size: 15px;
    padding: 8px 0;
    position: relative;
    transition: var(--base-transition);
}
.nav-a::after {
    content: "";
    width: 0;
    height: 2px;
    background: var(--main-color);
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    transition: var(--base-transition);
}
.nav-li.active .nav-a, .nav-a:hover { color: var(--main-color); }
.nav-li.active .nav-a::after, .nav-a:hover::after { width: 100%; }

/* ========== 二级子栏目导航 ========== */
.sub-nav-wrap {
    background: #fff;
    padding: 25px 0;
    box-shadow: 0 2px 8px var(--shadow-main);
    margin-bottom: 30px;
}
.sub-nav-box {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    padding: 0 15px;
}
.sub-nav-box a {
    padding: 7px 18px;
    border-radius: 30px;
    border: 1px solid #eee;
    transition: var(--base-transition);
    font-size: 14px;
}
.sub-nav-box a.btn-info {
    background: var(--main-color);
    color: #fff;
    border-color: var(--main-color);
}
.sub-nav-box a.btn-light:hover {
    border-color: var(--main-color);
    color: var(--main-color);
}
.sub-nav-box .badge {
    margin-left: 6px;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 12px;
}
.badge-light { background: #fff; color: var(--main-color); }
.badge.btn-info { background: var(--main-color); color: #fff; }

/* 移动端修复：取消固定1200宽度，铺满屏幕+左右留白，按钮居中不溢出 */
@media screen and (max-width:768px) {
    .sub-nav-box {
        width: 100%;
        padding: 0 10px;
        gap: 10px;
        justify-content: center;
    }
    .sub-nav-box a {
        font-size: 13px;
        padding: 6px 14px;
    }
    .sub-nav-box .badge {
        font-size: 11px;
        padding: 1px 6px;
    }
}

/* ========== 【Banner首屏 大幅改版：多重交错波纹+十字流光+分层光晕】 ========== */
.banner-wrap {
    height: 460px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--main-color) 0%, var(--main-light) 100%);
    background-size: 260% 260%;
    animation: bannerBigGradient 12s infinite alternate-reverse;
}
/* 横向强光带 */
.banner-light {
    position: absolute;
    width: 160%;
    height: 100%;
    top: 0;
    left: -160%;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,0.22) 45%, transparent 100%);
    animation: bannerLightFast 7s linear infinite;
    z-index: 1;
    pointer-events: none;
}
/* 对角斜向流光（新增差异化光效） */
.banner-slant-light {
    position: absolute;
    width: 140%;
    height: 140%;
    top: -20%;
    right: -140%;
    background: linear-gradient(135deg, transparent, rgba(255,255,0.14), transparent);
    animation: slantLightMove 9s linear infinite reverse;
    z-index: 1;
    pointer-events: none;
}
/* 双层交错扩散波纹（两层不同速度，视觉差距极大） */
.banner-wave {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 1;
}
.banner-wave span:nth-child(1) {
    width: 150px; height: 150px;
    border: 1px solid rgba(255,255,0.16);
    animation: waveFast 3.5s infinite ease-out;
}
.banner-wave span:nth-child(2) {
    width: 380px; height: 380px;
    border: 1px solid rgba(255,255,0.11);
    animation: waveMid 6s infinite ease-out;
    animation-delay: 1.2s;
}
.banner-wave span:nth-child(3) {
    width: 650px; height: 650px;
    border: 1px solid rgba(255,255,0.07);
    animation: waveSlow 9s infinite ease-out;
    animation-delay: 2.5s;
}
/* 5颗差异化发光粒子：大小/浮动幅度/速度完全不同 */
.banner-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}
.banner-particles span:nth-child(1) {
    width:14px;height:14px;
    box-shadow:0 0 20px #fff;
    top:15%;left:10%;
    animation: starBig 5.5s infinite;
}
.banner-particles span:nth-child(2) {
    width:7px;height:7px;
    box-shadow:0 0 6px #fff;
    top:68%;left:12%;
    animation: starTiny 9s infinite reverse;
    animation-delay:1s;
}
.banner-particles span:nth-child(3) {
    width:11px;height:11px;
    box-shadow:0 0 14px #fff;
    top:24%;right:14%;
    animation: starMid 7s infinite alternate;
    animation-delay:2.2s;
}
.banner-particles span:nth-child(4) {
    width:9px;height:9px;
    box-shadow:0 0 10px #fff;
    top:74%;right:10%;
    animation: starSway 8s infinite;
    animation-delay:3.4s;
}
.banner-particles span:nth-child(5) {
    width:12px;height:12px;
    box-shadow:0 0 17px #fff;
    top:46%;left:50%;
    animation: starFloatWide 6.5s infinite reverse;
    animation-delay:4.6s;
}
.banner-particles span {
    position: absolute;
    border-radius: 50%;
    background: #fff;
}
/* 三层错位呼吸圆环（缩放速度不同，层次感极强） */
.banner-circle {
    position: absolute;
    width: 420px; height: 420px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.13);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    animation: ringFastBreath 3s infinite alternate;
    pointer-events: none;
    z-index: 1;
}
.banner-circle::before {
    content: "";
    position: absolute;
    width: 640px; height: 640px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.08);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    animation: ringMidBreath 5s infinite alternate reverse;
}
.banner-circle::after {
    content: "";
    position: absolute;
    width: 860px; height: 860px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.04);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    animation: ringSlowBreath 7s infinite alternate;
}
.banner-content { position: relative; z-index: 3; padding: 0 20px; }
.banner-title {
    font-size: 40px;
    margin-bottom: 20px;
	font-weight: bold;
    color: #fff;
    animation: textFadeUp 1s ease forwards, titleFlashGlow 3s infinite alternate;
    animation-delay: 0s, 1s;
    animation-iteration-count: 1, infinite;
}
.banner-desc {
    font-size: 16px;
    margin-bottom: 40px;
    color: rgba(255,255,0.9);
    animation: textFadeUp 1s ease 0.25s both;
    line-height: 1.8;
}
.banner-btn-group {
    display: flex;
    gap: 25px;
    justify-content: center;
    animation: textFadeUp 1s ease 0.45s both;
}
.banner-btn {
    position: relative;
    overflow: hidden;
    padding: 12px 34px;
    border-radius: 999px;
    font-size: 17px;
    font-weight: 500;
    transition: var(--base-transition);
}
.banner-btn::before {
    content: "";
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,0.45), transparent);
    transition: left 0.6s ease;
}
.banner-btn:hover::before { left: 100%; }
.banner-btn.primary { background: #fff; color: var(--main-color); }
.banner-btn.primary:hover {
    background: #f0f7ff;
    transform: translateY(-6px);
    box-shadow: 0 0 24px rgba(255,255,0.35);
}
.banner-btn.outline { border: 2px solid #fff; color: #fff; }
.banner-btn.outline:hover {
    background: rgba(255,255,0.18);
    transform: translateY(-6px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

/* ========== 内页通用Banner（极简，无多余特效） ========== */
.page-banner {
    padding: 48px 0;
    color: #fff;
    text-align: center;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--main-color), var(--main-light));
    background-size: 200% 200%;
    animation: bannerBigGradient 12s infinite alternate;
}
.page-banner .main-container { position: relative; z-index: 2; }
.page-banner h1,
.page-banner .page-title {
    font-size: 34px;
	font-weight: bold;
    color: #fff;
    margin-bottom: 10px;
}
.page-banner p {
    font-size: 18px;
    opacity: 0.9;
    animation: fadeUp 0.8s ease 0.2s both;
}
.breadcrumb { font-size: 14px; color: var(--text-gray); }

/* ========== 核心服务 ========== */
.service-section { padding: 60px 0; }
.service-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.service-card {
    background: var(--bg-white);
    padding: 36px 22px;
    border-radius: 16px;
    text-align: center;
    box-shadow: var(--shadow-main);
    transition: var(--base-transition);
    animation: fadeUp 0.6s ease;
}
.service-card:nth-child(2) { animation-delay: 0.1s; }
.service-card:nth-child(3) { animation-delay: 0.2s; }
.service-card:nth-child(4) { animation-delay: 0.3s; }
.service-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-hover);
}
.service-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    transition: var(--base-transition);
}
.service-card:hover .service-icon { transform: scale(1.06); }
.card-title {
    font-size: 20px;
    color: var(--text-black);
    margin-bottom: 12px;
}
.card-text { font-size: 15px; color: var(--text-gray); }

/* ========== 【平台数据实力 全套强动画：粒子不规则漂移+反向旋转光圈】 ========== */
.data-stat-section {
    width: 100%;
    max-width: 100%;
    position: relative;
    overflow: hidden;
    padding: 60px 15px;
    margin: 40px 0;
    border-radius: 0;
    background: linear-gradient(90deg, var(--main-dark), var(--main-color));
    background-size: 250% 250%;
    animation: dataBigBgMove 8s infinite alternate-reverse;
}
.data-stat-particle {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}
/* 5颗粒子 上下左右不规则大范围漂移，差异极大 */
.data-stat-particle span:nth-child(1) {
    width:12px;height:12px;
    box-shadow:0 0 16px #fff;
    top:15%;left:8%;
    animation: dataStarWander1 6s infinite ease-in-out;
}
.data-stat-particle span:nth-child(2) {
    width:8px;height:8px;
    box-shadow:0 0 7px #fff;
    top:70%;left:16%;
    animation: dataStarWander2 10s infinite reverse;
    animation-delay:1s;
}
.data-stat-particle span:nth-child(3) {
    width:11px;height:11px;
    box-shadow:0 0 13px #fff;
    top:22%;right:12%;
    animation: dataStarWander3 7.5s infinite alternate;
    animation-delay:2s;
}
.data-stat-particle span:nth-child(4) {
    width:9px;height:9px;
    box-shadow:0 0 9px #fff;
    top:65%;right:18%;
    animation: dataStarWander4 9s infinite;
    animation-delay:3s;
}
.data-stat-particle span:nth-child(5) {
    width:13px;height:13px;
    box-shadow:0 0 18px #fff;
    top:45%;left:50%;
    animation: dataStarWander5 6.8s infinite reverse;
    animation-delay:4s;
}
.data-stat-particle span {
    position: absolute;
    border-radius: 50%;
    background: #fff;
}
/* 双层反向旋转光圈+缩放圆环 */
.data-circle {
    position: absolute;
    width: 340px; height: 340px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.10);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    animation: dataRingFast 3.2s infinite alternate;
    pointer-events: none;
    z-index:1;
}
.data-circle::before {
    content: "";
    position: absolute;
    width: 480px; height: 480px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.06);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    animation: dataRingSlowRotate 11s linear infinite reverse;
}
.data-row {
    position: relative;
    z-index: 2;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    text-align: center;
    color: #fff;
    min-height: 140px;
    align-items: center;
}
.data-number {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 10px;
    animation: numberStrongFlash 2.4s infinite ease-in-out;
    text-shadow: 0 0 16px rgba(255,255,0.38);
}
.data-label { font-size: 16px; opacity: 0.9; }

/* ========== 优势&FAQ ========== */
.advantage-section, .faq-section { padding: 60px 0; }
.four-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.adv-card {
    background: var(--bg-white);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: var(--shadow-main);
    transition: var(--base-transition);
    animation: fadeUp 0.6s ease;
}
.four-card-grid .adv-card:nth-child(1){animation-delay:0s;}
.four-card-grid .adv-card:nth-child(2){animation-delay:0.12s;}
.four-card-grid .adv-card:nth-child(3){animation-delay:0.24s;}
.four-card-grid .adv-card:nth-child(4){animation-delay:0.36s;}
.adv-card:hover {
    transform: translateY(-12px);
    box-shadow: var(--shadow-hover);
}
.card-img-box { height: 170px; overflow: hidden; }
.card-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.adv-card:hover img { transform: scale(1.06); }
.card-text-box { padding: 26px 22px; }
.card-text-box h4 {
    font-size: 20px;
    margin-bottom: 12px;
    color: var(--main-color);
    font-weight: 600;
}
.card-text-box p { font-size: 15px; color: var(--text-gray); line-height: 1.7; }

/* 查看更多按钮强制居中 */
.more-btn-box {
    width: 100%;
    text-align: center;
    margin-top: 40px;
}

/* ========== 【底部转化行动区 全套差异化强光效】 ========== */
.action-banner-section {
    position: relative;
    overflow: hidden;
    padding: 55px 0;
    margin: 45px 0;
    color: #fff;
    background:
        radial-gradient(circle at 15% 15%, rgba(255,255,0.13) 0%, transparent 48%),
        radial-gradient(circle at 85% 25%, rgba(255,255,0.07) 0%, transparent 42%),
        linear-gradient(135deg, var(--main-dark) 0%, var(--main-color) 50%, var(--main-dark) 100%);
    background-size: 240% 240%;
    animation: actionBigBgShift 7.5s infinite alternate-reverse;
}
/* 双层反向扫光带，一左一右 */
.action-sweep {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0; left: -130%;
    background: linear-gradient(90deg, transparent, rgba(255,255,0.16), transparent);
    animation: sweepLeft 4.8s linear infinite;
    z-index:1;
    pointer-events:none;
}
.action-sweep-rev {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0; right: -130%;
    background: linear-gradient(-90deg, transparent, rgba(255,255,0.10), transparent);
    animation: sweepRight 6.2s linear infinite reverse;
    z-index:1;
    pointer-events:none;
}
/* 四散漂浮星群，轨迹完全不同 */
.action-particle {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index:1;
}
.action-particle span:nth-child(1){top:10%;left:8%;animation:starDrift1 5.5s infinite;}
.action-particle span:nth-child(2){top:75%;left:14%;animation:starDrift2 8.8s infinite reverse;animation-delay:1.2s;}
.action-particle span:nth-child(3){top:20%;right:10%;animation:starDrift3 7s infinite alternate;animation-delay:2.4s;}
.action-particle span:nth-child(4){top:68%;right:16%;animation:starDrift4 9.5s infinite;animation-delay:3.6s;}
.action-particle span:nth-child(5){top:42%;left:50%;animation:starDrift5 6s infinite reverse;animation-delay:4.8s;}
.action-particle span {
    position: absolute;
    width: 9px;
    height: 9px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(255,255,0.45);
}
/* 内外反向呼吸圆环 */
.action-circle {
    position: absolute;
    width: 360px; height: 360px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.09);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    animation: actionRingFast 3s infinite alternate;
    pointer-events: none;
    z-index:1;
}
.action-circle::before {
    content: "";
    position: absolute;
    width: 540px; height: 540px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.05);
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    animation: actionRingSlow 6.5s infinite alternate reverse;
}
.action-inner {
    position: relative;
    z-index: 2;
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 40px;
    animation: blockFadeUp 0.9s ease;
}
.action-text-box { max-width: 600px; }
.action-text-box h2,
.action-text-box .action-h2 {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 12px;
    text-shadow: 0 0 8px rgba(255,255,255,0.4);
    animation: titleGlow 5s ease-in-out infinite alternate;
}
.action-text-box p { font-size: 17px; opacity: 0.9; }
.action-button-group { display: flex; gap: 20px; }
.action-btn {
    position: relative;
    overflow: hidden;
    padding: 13px 32px;
    border-radius: 999px;
    font-size: 16px;
    font-weight: 500;
    transition: var(--base-transition);
}
.action-btn::before {
    content: "";
    position: absolute;
    top: 0; left: -100%;
    width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,0.35), transparent);
    transition: left 0.5s ease;
}
.action-btn:hover::before { left: 100%; }
.reg-btn { background: #fff; color: var(--main-color); }
.reg-btn:hover {
    background: #f8fafc;
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15), 0 0 0 4px rgba(255,255,0.1);
}
.service-btn { border: 2px solid #fff; color: #fff; }
.service-btn:hover {
    background: rgba(255,255,0.18);
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0.15), 0 0 0 4px rgba(255,255,0.1);
}
/* ========== 列表 ========== */
        .news-list {
            display: flex;
            flex-direction: column;
            gap: 24px;
        }
        .news-item {
            display: flex;
            gap: 16px;
            background: #fff;
            border-radius: 14px;
            padding: 16px;
            box-shadow: 0 3px 12px var(--shadow-main);
            transition: all var(--base-transition);
        }
        .news-item:hover {
            transform: translateY(-4px);
            box-shadow: 0 8px 22px var(--shadow-hover);
        }
        .news-item-img {
            width: 200px;
            height: 130px;
            overflow: hidden;
            border-radius: 10px;
        }
        .news-item-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: 0.4s;
            loading:lazy;
        }
        .news-item:hover img {
            transform: scale(1.08);
        }
        .news-item-text {
            flex: 1;
        }
        .news-item-text h2 {
            font-size: 20px;
            margin-bottom: 10px;
        }
        .news-item-text h2 a {
            color: #1a1a1a;
        }
        .news-item-text h2 a:hover {
            color: var(--main-color);
        }
        .news-info {
            font-size: 14px;
            color: #999;
            margin-bottom: 12px;
        }
        .news-desc {
            color: #666;
            line-height: 1.7;
        }
        .page-box {
            text-align: center;
            margin-top: 50px;
        }
        .page-box a {
            display: inline-block;
            padding: 6px 14px;
            border: 1px solid #ddd;
            margin: 0 4px;
            border-radius: 4px;
        }
        .page-box a:hover {
            background: var(--main-color);
            color: #fff;
            border-color: var(--main-color);
        }
        @media screen and (max-width:768px) {
            .news-item {
                flex-direction: column;
            }
            .news-item-img {
                width: 100%;
            }
            .sub-nav-box {
                justify-content: center;
            }
        }
/* ========== 页脚 ========== */
        .detail-body img {
            max-width: 100%;
            height: auto;
            border-radius: 10px;
            margin: 15px 0;
        }
        .detail-body p {
            margin-bottom: 16px;
            line-height: 1.8;
        }
        .page-box {
            border-top: 1px solid #eee;
            padding-top: 30px;
            margin-top: 50px;
        }
        .to_prev, .to_next {
            display: block;
            margin: 10px 0;
            color: #333;
        }
        .to_prev a, .to_next a {
            color: var(--main-color);
        }
        .news-info {
            color: #999;
            font-size: 14px;
            margin-bottom: 25px;
            padding-bottom: 15px;
            border-bottom: 1px solid #eee;
        }
        .detail-title {
            font-size: 30px;
            color: #1a1a1a;
            text-align: center;
            margin-bottom: 15px;
            line-height: 1.4;
        }
        @media screen and (max-width:768px) {
            .detail-title {
                font-size: 24px;
            }
        }	
/* ========== 页脚 ========== */
.footer-wrap {
    background: #151b28;
    color: #ccc;
    padding: 50px 0 20px;
}
.footer-container {
    width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}
.footer-contact h4 {
    color: #fff;
    font-size: 20px;
    margin-bottom: 20px;
}
.footer-contact p { margin-bottom: 10px; font-size: 15px; }
.footer-link { margin-top: 30px; }
.footer-link a { margin: 0 10px; color: #aaa; }
.footer-link a:hover { color: var(--main-color); }
.copyright-box {
    width: 1200px;
    margin: 40px auto 0;
    padding-top: 20px;
    border-top: 1px solid #2c3342;
    text-align: center;
    font-size: 14px;
    color: #999;
}

/* ========== 全套全新强差异动画关键帧 ========== */
@keyframes pageFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; } }
@keyframes textFadeUp { from { opacity: 0; transform: translateY(35px); } to { opacity: 1; } }
@keyframes blockFadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; } }
/* Banner渐变 */
@keyframes bannerBigGradient { 0%{background-position:0% 30%;}100%{background-position:100% 70%;} }
/* Banner光带 */
@keyframes bannerLightFast { 0%{left:-160%;}100%{left:160%;} }
@keyframes slantLightMove { 0%{right:-140%;}100%{right:140%;} }
/* 三层波纹速度完全不同 */
@keyframes waveFast { 0 {width:0;height:0;opacity:0.9;}100 {width:100%;height:100%;opacity:0;} }
@keyframes waveMid { 0 {width:0;height:0;opacity:0.7;}100 {width:100%;height:100%;opacity:0;} }
@keyframes waveSlow { 0 {width:0;height:0;opacity:0.5;}100 {width:100%;height:100%;opacity:0;} }
/* 五种粒子独立轨迹 */
@keyframes starBig {0%,100%{transform:translateY(0) scale(1);opacity:0.5;}50%{transform:translateY(-30px) scale(1.4);opacity:1;}}
@keyframes starTiny {0%,100%{transform:translateY(0) translateX(0);opacity:0.4;}50%{transform:translateY(15px) translateX(-20px) scale(0.7);opacity:0.8;}}
@keyframes starMid {0%,100%{transform:translateY(0);opacity:0.45;}50%{transform:translateY(-22px) translateX(12px) scale(1.2);opacity:0.9;}}
@keyframes starSway {0%,100%{transform:translateX(0);opacity:0.4;}50%{transform:translateX(-25px) translateY(10px) scale(1.1);opacity:0.85;}}
@keyframes starFloatWide {0%,100%{transform:translate(0,0);opacity:0.55;}50%{transform:translate(-18px,-26px) scale(1.3);opacity:1;}}
/* 圆环反向呼吸 */
@keyframes ringFastBreath {from{transform:translate(-50%,-50%) scale(0.9);opacity:0.4;}to{transform:translate(-50%,-50%) scale(1.22);opacity:1;}}
@keyframes ringMidBreath {from{transform:translate(-50%,-50%) scale(1.2);opacity:0.35;}to{transform:translate(-50%,-50%) scale(0.9);opacity:0.85;}}
@keyframes ringSlowBreath {from{transform:translate(-50%,-50%) scale(0.85);opacity:0.3;}to{transform:translate(-50%,-50%) scale(1.28);opacity:0.75;}}
/* 标题高强度闪烁光 */
@keyframes titleFlashGlow { from { text-shadow: 0 0 10px rgba(255,255,0.3); } to { text-shadow: 0 0 26px #fff, 0 0 48px rgba(255,255,0.3); } }
/* 数据区块背景 */
@keyframes dataBigBgMove {0%{background-position:0% 40%;}100%{background-position:100% 60%;}}
/* 数据粒子不规则大范围游走 */
@keyframes dataStarWander1 {0%,100%{transform:translate(0,0);}50%{translate(-30px,-24px) scale(1.3);} }
@keyframes dataStarWander2 {0%,100%{transform:translate(0,0);}50%{translate(22px,18px) scale(0.7);} }
@keyframes dataStarWander3 {0%,100%{transform:translate(0,0);}50%{translate(-16px,26px) scale(1.15);} }
@keyframes dataStarWander4 {0%,100%{transform:translate(0,0);}50%{translate(28px,-14px) scale(0.9);} }
@keyframes dataStarWander5 {0%,100%{transform:translate(0,0);}50%{translate(-22px,-32px) scale(1.4);} }
/* 数据圆环旋转+缩放 */
@keyframes dataRingFast {from{transform:translate(-50%,-50%) scale(0.92);opacity:0.38;}to{transform:translate(-50%,-50%) scale(1.2);opacity:0.9;}}
@keyframes dataRingSlowRotate { from{transform:translate(-50%,-50%) rotate(0deg);} to{transform:translate(-50%,-50%) rotate(360deg);} }
/* 数字高强度脉动发光 */
@keyframes numberStrongFlash {0%,100% { transform: scale(1); }50% { transform: scale(1.14); }}
/* 底部转化背景 */
@keyframes actionBigBgShift {0% { background-position: 0% 40%; }50% { background-position: 100% 60%; }100% { background-position: 0% 40%; }}
/* 双向扫光 */
@keyframes sweepLeft {0%{left:-130%;}100%{left:130%;}}
@keyframes sweepRight {0%{right:-130%;}100%{right:130%;}}
/* 底部粒子四散漂移 */
@keyframes starDrift1 {0%,100%{transform:translateY(0);}50%{translateY(-22px) translateX(16px);}}
@keyframes starDrift2 {0%,100%{transform:translate(0,0);}50%{translateX(-30px) translateY(20px);}}
@keyframes starDrift3 {0%,100%{transform:translate(0,0);}50%{translate(24px,-18px);}}
@keyframes starDrift4 {0%,100%{transform:translate(0,0);}50%{translate(-26px,22px);}}
@keyframes starDrift5 {0%,100%{transform:translate(0,0);}50%{translate(-12px,-28px);}}
/* 底部圆环反向呼吸 */
@keyframes actionRingFast {from{transform:translate(-50%,-50%) scale(0.94);opacity:0.42;}to{transform:translate(-50%,-50%) scale(1.16);opacity:0.92;}}
@keyframes actionRingSlow {from{transform:translate(-50%,-50%) scale(1.14);opacity:0.36;}to{transform:translate(-50%,-50%) scale(0.92);opacity:0.84;}}
/* 底部标题三色柔光闪烁 */
@keyframes titleMultiFlash {
    0% { text-shadow: 0 0 8px rgba(255,255,0.4); }
    50% { text-shadow: 0 0 18px rgba(255,255,0.6), 0 0 36px rgba(255,255,0.2); }
    100% { text-shadow: 0 0 10px rgba(255,255,0.45); }
}

/* ========== 移动端：全部光效彻底关闭，文字完整显示 ========== */
@media screen and (max-width:1200px) {
    .header-container,.main-container,.data-row,.action-inner,.footer-container,.copyright-box {
        width: 100%;
    }
}
@media screen and (max-width:768px) {
    .banner-light,.banner-slant-light,.banner-particles,.banner-circle,.banner-wave,
    .data-stat-particle,.data-circle,
    .action-sweep,.action-sweep-rev,.action-particle,.action-circle {
        display: none !important;
        animation: none !important;
    }
    .banner-wrap { height: auto; padding: 60px 15px; }
    .banner-title { font-size: 30px; }
    .header-container { flex-direction: column; gap: 15px; }
    .nav-ul { flex-wrap: wrap; justify-content: center; gap: 20px; }
    .service-row,.data-row,.four-card-grid { grid-template-columns: 1fr; }
    .action-inner { flex-direction: column; text-align: left; gap: 30px; }
    .action-button-group { justify-content: flex-start; }
    .banner-btn-group { flex-direction: column; align-items: center; }
    .data-number { font-size: 28px; }
    .service-section,.advantage-section,.faq-section { padding: 40px 0; }
    .four-card-grid,.service-row { gap: 20px; }
}
