/* ========== 全局主题变量【商务青绿】 ========== */
: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;
}
/* 移动端适配修复 */
@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: 240% 240%;
    animation: bannerSlowGradient 14s ease-in-out infinite alternate;
}
/* 柔和横向柔光（降低亮度，不刺眼） */
.banner-light {
    position: absolute;
    width: 140%;
    height: 100%;
    top: 0;
    left: -140%;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.16) 50%, transparent 100%);
    animation: bannerLightSlide 9s linear infinite;
    pointer-events: none;
    z-index: 1;
}
/* 三层缓慢扩散波纹 */
.banner-wave {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 1;
}
.banner-wave span {
    position: absolute;
    border: 1px solid rgba(255, 255, 0.10);
    border-radius: 50%;
    animation: waveRingSlow 6s infinite ease-out;
}
/* 低亮度漂浮星光 */
.banner-particles {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}
.banner-particles span {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 8px 3px rgba(255,255,255,0.3);
    animation: starSoftFloat 8s ease-in-out infinite;
}
.banner-particles span:nth-child(1) { top: 18%; left: 8%; animation-delay: 0s; }
.banner-particles span:nth-child(2) { top: 65%; left: 14%; animation-delay: 1.6s; }
.banner-particles span:nth-child(3) { top: 26%; right: 16%; animation-delay: 3.2s; }
.banner-particles span:nth-child(4) { top: 72%; right: 12%; animation-delay: 4.8s; }
.banner-particles span:nth-child(5) { top: 48%; left: 50%; animation-delay: 6.4s; }
/* 多层渐变呼吸圆环 */
.banner-circle {
    position: absolute;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.09);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: ringSoftBreath 4s infinite alternate ease-in-out;
    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.06);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.banner-circle::after {
    content: "";
    position: absolute;
    width: 860px;
    height: 860px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.03);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.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, titleSoftGlow 3.6s 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,255,0.25), 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 16px rgba(255,255,0.2);
}
.banner-btn.outline {
    border: 2px solid #fff;
    color: #fff;
}
.banner-btn.outline:hover {
    background: rgba(255,255,0.12);
    transform: translateY(-6px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

/* ========== 内页通用page-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: bannerSlowGradient 14s ease infinite alternate;
}
.page-banner .main-container {
    position: relative;
    z-index: 2;
}
.page-banner h1,
.page-banner .page-big-title {
	font-size:32px;
	margin-bottom:12px;
	font-weight: bold;
	animation:fadeUp 0.8s ease;
}
.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: 230% 230%;
    animation: dataSlowGradient 10s ease infinite alternate;
}
.data-stat-particle {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}
.data-stat-particle span {
    position: absolute;
    width: 10px;
    height: 10px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 0 9 rgba(255,255,255,0.35);
    animation: dataSoftFloat 7s ease-in-out infinite;
}
.data-stat-particle span:nth-child(1){top:15%;left:8%;animation-delay:0s;}
.data-stat-particle span:nth-child(2){top:70%;left:16%;animation-delay:1.4s;}
.data-stat-particle span:nth-child(3){top:22%;right:12%;animation-delay:2.8s;}
.data-stat-particle span:nth-child(4){top:65%;right:18%;animation-delay:4.2s;}
.data-stat-particle span:nth-child(5){top:45%;left:50%;animation-delay:5.6s;}
.data-circle {
    position: absolute;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.09);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: dataSoftRing 4.2s ease-in-out infinite alternate;
    pointer-events: none;
    z-index:1;
}
.data-circle::before {
    content: "";
    position: absolute;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(255,255,0.05);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.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: numberSoftPulse 3s infinite ease-in-out;
    text-shadow: 0 0 10px rgba(255,255,255,0.25);
}
.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 {
    text-align: center;
    margin-top: 40px;
    width: 100%;
}
/* 列表 */
        .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;
            }
        }

/* ========== 底部转化行动区【新版柔和全套光效】
特效：多层低速径向渐变、超长慢扫柔光、弱漂浮光点、同心缓动圆环、文字低亮度柔光闪烁 ========== */
.action-banner-section {
    position: relative;
    overflow: hidden;
    padding: 55px 0;
    margin: 45px 0;
    color: #fff;
    background:
        radial-gradient(circle at 20% 10%, rgba(255,255,0.09) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(255,255,0.06) 0%, transparent 45%),
        linear-gradient(135deg, var(--main-dark) 0%, var(--main-color) 50%, var(--main-dark) 100%);
    background-size: 220% 220%;
    animation: actionSlowBg 10s ease-in-out infinite;
}
.action-sweep {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: -130%;
    background: linear-gradient(90deg, transparent, rgba(255,255,0.10), transparent);
    animation: actionSoftSweep 6s linear infinite;
    pointer-events: none;
    z-index:1;
}
.action-particle {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index:1;
}
.action-particle span {
    position: absolute;
    width: 9px;
    height: 9px;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(255,255,0.3);
    animation: floatSoftStar 7.2s ease-in-out infinite;
}
.action-particle span:nth-child(1){top:10%;left:8%;animation-delay:0s;}
.action-particle span:nth-child(2){top:75%;left:14%;animation-delay:1.4s;}
.action-particle span:nth-child(3){top:20%;right:10%;animation-delay:2.8s;}
.action-particle span:nth-child(4){top:68%;right:16%;animation-delay:4.2s;}
.action-particle span:nth-child(5){top:42%;left:50%;animation-delay:5.6s;}
.action-circle {
    position: absolute;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,0.08);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: actionSoftRing 4s ease-in-out infinite alternate;
    pointer-events: none;
    z-index:1;
}
.action-circle::before {
    content: "";
    position: absolute;
    width: 540px;
    height: 540px;
    border: 1px solid rgba(255,255,0.04);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.action-circle::after {
    content: "";
    position: absolute;
    width: 720px;
    height: 720px;
    border: 1px solid rgba(255,255,0.02);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.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-text-box-title {
    font-size: 30px;
    margin-bottom: 12px;
	font-weight: bold;
    text-shadow: 0 0 8px rgba(255,255,0.4);
    animation: titleSoftGlow 3.2s 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.22), 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.08);
}
.service-btn {
    border: 2px solid #fff;
    color: #fff;
}
.service-btn:hover {
    background: rgba(255,255,0.12);
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15), 0 0 0 4px rgba(255,255,0.08);
}

/* ========== 页脚 ========== */
.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 bannerSlowGradient { 0%{background-position:0% 50%;}100%{background-position:100% 50%;} }
@keyframes bannerLightSlide { 0%{left:-140%;}100%{left:140%;} }
@keyframes waveRingSlow { 0 {width:0;height:0;opacity:0.7;}100 {width:100%;height:100%;opacity:0;} }
@keyframes starSoftFloat { 0%,100%{transform:translateY(0) scale(1);opacity:0.4;}50%{transform:translateY(-20px) scale(1.15);opacity:0.8;} }
@keyframes ringSoftBreath { from{opacity:0.45;transform:translate(-50%,-50%) scale(1);}to{opacity:0.9;transform:translate(-50%,-50%) scale(1.12);} }
@keyframes titleSoftGlow { from { text-shadow: 0 0 8px rgba(255,255,0.28); } to { text-shadow: 0 0 18px rgba(255,255,0.55), 0 0 32px rgba(255,255,0.2); } }
/* 数据区 */
@keyframes dataSlowGradient { 0%{background-position:0% 50%;}100%{background-position:100% 50%;} }
@keyframes dataSoftFloat { 0%,100%{transform:translateY(0) scale(1);opacity:0.35;}50%{transform:translateY(-18px) scale(1.12);opacity:0.7;} }
@keyframes dataSoftRing { from{transform:translate(-50%,-50%) scale(1);opacity:0.38;}to{transform:translate(-50%,-50%) scale(1.15);opacity:0.85;} }
@keyframes numberSoftPulse { 0%,100% { transform: scale(1); }50% { transform: scale(1.06); } }
/* 转化区 */
@keyframes actionSlowBg { 0% { background-position: 0% 50%; }50% { background-position: 100% 50%; }100% { background-position: 0% 50%; } }
@keyframes actionSoftSweep { 0%{left:-130%;}100%{left:130%;} }
@keyframes floatSoftStar { 0%,100% { transform: translateY(0) scale(1); opacity:0.4; }50% { transform: translateY(-15px) scale(1.1); opacity:0.8; } }
@keyframes actionSoftRing { from{transform:translate(-50%,-50%) scale(1);opacity:0.42;}to{transform:translate(-50%,-50%) scale(1.08);opacity:0.88;} }

/* ========== 移动端适配（彻底关闭所有粒子波纹圆环光效，无遮挡文字） ========== */
@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-particles,.banner-circle,.banner-wave,
    .data-stat-particle,.data-circle,
    .action-sweep,.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;
    }
}
