/* ============================================================
   1. 根字号策略（所有 rem 的锚点）
   ============================================================ */

.rdban {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.rdban img { width: 100%; }

.rdbanf {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.rdbanfn {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.kkkx {
    width: 90%;
    max-width: 1600px;
    margin: 0 auto;
}

.rdbanna {
    margin-top: 1.25rem;
    color: #fff;
}
.rdbanna p a { color: #fff; }

.rdbannb {
    margin-bottom: 5%;
    color: #fff;
}

/* ============================================================
   3. 通用两栏图（左图右文 / 左文右图）
   ============================================================ */
.nrd2 {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.nrd2a {
    width: 55.83%;
    float: right;
}
.nrd2a img { width: 100%; }

.nrd2f {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.nrd2fn {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}

.dxti {
    position: relative;
    padding-bottom: 1.25rem;
}
.dxti::after {
    content: "";
    position: absolute;
    width: 4rem;
    border-bottom: 3px solid #008DD7;
    left: 0;
    bottom: 0;
}
.nrd2fn p {
    max-width: 30rem;
    margin-top: 1.25rem;
}

/* 汉堡菜单颜色 */
.hamburger span {
    background: rgba(0, 0, 0, 0.85) !important;
}

/* ============================================================
   4. nrd3 深色信息块
   ============================================================ */
.nrd3 {
    position: relative;
    width: 100%;
    margin-top: 5rem;
}
.nrd3 img { width: 100%; }

.nrd3f {
    position: absolute;
    width: 37.5%;
    right: 0;
    top: 0;
    height: 100%;
    background: rgba(42, 51, 68, 0.95);
}
.nrd3fn {
    margin-left: 4.375rem;
    margin-right: 4.375rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
}
.nrd3fa { width: 4.375rem; }
.nrd3fa img { width: 100%; }
.nrd3fb {
    color: #fff;
    margin-top: 1.5rem;
}
.nrd3fb p { margin-top: 1.5rem; }

/* ============================================================
   5. nrd4 标题 + 4 列图标
   ============================================================ */
.nrd4 {
    position: relative;
    width: 100%;
}
.nrdtit {
    width: 90%;
    text-align: center;
    max-width: 75rem;
    margin: 5rem auto 0;
}
.nrdtit p { margin-top: 1.25rem; }

.nrd4a {
    position: relative;
    width: 100%;
    margin-top: 2.5rem;
}
.nrd4a img { width: 100%; }

.nrd4af {
    position: absolute;
    inset: 0;
}
.nrd4afn {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.nrd4afn::before {
    content: "";
    position: absolute;
    height: 100%;
    right: 0;
    top: 0;
    border-right: 2px solid rgba(255, 255, 255, 0.2);
}

.nrd4afnn {
    position: relative;
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    overflow: hidden;
    border-left: 2px solid rgba(255, 255, 255, 0.2);
}
.nrd4afnn::before,
.nrd4afnn::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    pointer-events: none;
    transition: all 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.nrd4afnn::before {
    top: -100%;
    right: -100%;
    background: linear-gradient(135deg, rgba(0, 85, 168, 0.25), rgba(0, 180, 255, 0.1));
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.nrd4afnn::after {
    bottom: -100%;
    left: -100%;
    background: linear-gradient(225deg, rgba(0, 85, 168, 0.25), rgba(0, 180, 255, 0.1));
    clip-path: polygon(0 0, 100% 0, 0 100%);
}
.nrd4afnn:hover::before { top: 0; right: 0; }
.nrd4afnn:hover::after { bottom: 0; left: 0; }

.nrd4afnn img { width: 3rem; }
.nrd4afnn p {
    color: #fff;
    margin-top: 1.25rem;
    width: 90%;
    text-align: center;
}

/* ============================================================
   6. nrd5 网格卡片
   ============================================================ */
.nrd5 {
    position: relative;
    width: 100%;
}
.nrd5a {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
    box-sizing: border-box;
}
.nrd5an {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    cursor: pointer;
    overflow: hidden;
    position: relative;
    background: #F7F9FA;
    transition: all 0.4s ease;
}
.nrd5ana {
    width: 100%;
    overflow: hidden;
}
.nrd5ana img {
    width: 100%;
    transform: scale(1);
    transition: all 1s ease-out;
}
.nrd5an:hover .nrd5ana img {
    transform: scale(1.05);
}
.nrd5ann {
    margin: 1.25rem 2rem 2rem 2rem;
}
.nrd5ann h2 {
    font-size: 1rem;
    font-weight: 600;
}
.nrd5ann p {
    font-size: 0.875rem;
    margin-top: 0.5rem;
}

/* ============================================================
   7. nrd6 / nrd7 / nrd8 图片叠层
   ============================================================ */
.nrd6,
.nrd7,
.nrd8n {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.nrd6 { margin-top: 6.25rem; }
.nrd8 { width: 100%; margin-top: 6.25rem; }

.nrd6 img,
.nrd7 img,
.nrd8n img { width: 100%; }

.nrd6f,
.nrd7f,
.nrd8nf {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.nrd6fn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100%;
}
.nrd6fnn img { width: 5rem; }
.nrd6fnn h2 { color: #fff; margin-top: 1.25rem; }
.nrd6fnn p { color: #fff; margin-top: 0.625rem; }
.nrd6fnn p.habt4 { margin-top: 2.5rem; }

.nrd7fn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
}
.nrd7fnn {
    text-align: center;
    margin-top: 10%;
}
.nrd7fnn h2 { color: #fff; margin-top: 1.25rem; }
.nrd7fnn p { color: #fff; margin-top: 0.625rem; }
.nrd7fnn p.habt4 { margin-top: 2.5rem; }

.nrd8nf {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}
.nrd8nfn {
    margin-bottom: 5%;
    text-align: center;
    color: #fff;
}
.nrd8nfn p {
    margin-top: 1.25rem;
    padding: 0 10%;
}

/* ============================================================
   8. nrd9 Swiper 轮播
   ============================================================ */
.nrd9 {
    position: relative;
    width: 100%;
    background: #FBFCFD;
    margin-top: 5rem;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.nrd9 .nrdtit { margin-top: 5rem; }
.nrd9.mgto { margin-top: 0; }

.nrd9a {
    position: relative;
    width: 150%;
    margin-left: -25%;
    margin-top: 2.25rem;
}
.swiper-container {
    width: 100%;
    height: 100%;
    position: relative;
}
.swiper-slide {
    text-align: center;
    font-size: 1.125rem;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.dide { width: 100%; }
.dide img { width: 100%; }

.nrd9a .swiper-pagination-bullet {
    width: 2.5rem;
    height: 2px;
    border-radius: 0;
    background: #008DD7;
    opacity: 0.4;
}
.nrd9a .swiper-pagination-bullet-active {
    opacity: 1;
    background: #008DD7;
}
.nrd9a .swiper-button-next,
.nrd9a .swiper-rtl .swiper-button-prev { right: 34%; left: auto; }
.nrd9a .swiper-button-prev,
.nrd9a .swiper-rtl .swiper-button-next { left: 34%; right: auto; }
.nrd9a .swiper-button-next,
.nrd9a .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 2.75rem;
    height: 2.75rem;
    margin-top: -1.375rem;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
}
.nrd9a .swiper-button-next:hover,
.nrd9a .swiper-button-prev:hover {
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
.nrd9a .swiper-button-next::after,
.nrd9a .swiper-button-prev::after { font-size: 1.25rem; }
.nrd9a .swiper-horizontal > .swiper-pagination-bullets,
.nrd9a .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 5%;
    left: 0;
    width: 100%;
}

/* ============================================================
   9. nrd10 合作伙伴滚动
   ============================================================ */
.nrd10 {
    width: 100%;
    padding-bottom: 5rem;
    overflow: hidden;
}
.partner-ticker {
    position: relative;
    overflow: hidden;
    padding: 1.25rem 0;
    margin-top: 0.625rem;
}
.partner-track {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.5rem;
    animation: partnerScroll 24s linear infinite;
    width: max-content;
    align-items: flex-start;
}
.partner-item {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 0.75rem;
    transition: 0.3s;
    overflow: hidden;
}
.partner-item:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 8px 28px rgba(0, 40, 80, 0.1);
    border-color: #cbdae9;
}
.partner-item img {
    width: 9.375rem;
    transition: 0.3s;
}
.partner-item p { text-align: center; }
.partner-ticker:hover .partner-track { animation-play-state: paused; }

@keyframes partnerScroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ============================================================
   10. desn1 / desn3 / desn4
   ============================================================ */
.desn1 {
    width: 100%;
    background: #F7F9FA;
    overflow: hidden;
    padding-bottom: 6rem;
}
.desn1a {
    margin-top: 2.5rem;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.desn1an {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    flex-direction: column;
}
.desn1an img { width: 3.75rem; }
.desn1an p { margin-top: 0.625rem; }

.desn3 {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: 5rem;
}
.desn3n .nrdtit {
    color: #fff;
    width: 100%;
    max-width: 100rem;
}
.desn3n .nrdtit p { text-align: left; }
.desn3na {
    width: 100%;
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}
.desn3nan {
    background: #fff;
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 2.5rem;
    gap: 1.25rem;
}
.desn3n .nrdtit p.ccen { text-align: center; }
.desn3nanxa p { margin-top: 0.875rem; }
.desn3nanxb img { width: 3rem; }

.desn4 {
    margin-top: 6rem;
    padding-bottom: 6rem;
}
.desn4 .section-header {
    text-align: center;
    margin-bottom: 1.75rem;
}
.text-buttonsw {
    display: flex;
    justify-content: center;
}
.desn4 .text-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2rem;
    background: #F7F9FA;
    border-radius: 5rem;
}
.desn4 .text-btn {
    padding: 0.875rem 1.5rem;
    border-radius: 5rem;
    background: transparent;
    border: none;
    color: #8E8E8E;
    font-size: 1rem;
    cursor: pointer;
    transition: 0.25s;
    font-family: inherit;
    white-space: nowrap;
}
.desn4 .text-btn:hover {
    color: #fff;
    background: rgba(0, 0, 0, 0.5);
}
.desn4 .text-btn.active {
    color: #fff;
    background: rgba(0, 0, 0, 1);
}
.desn4 .slider-wrapper {
    position: relative;
    overflow: hidden;
    margin-top: 3rem;
}
.desn4 .slider-track {
    display: flex;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}
.desn4 .slider-slide {
    flex: 0 0 100%;
    padding: 0 0.75rem;
    box-sizing: border-box;
}

.dscard {
    width: 100%;
    overflow: hidden;
    display: flex;
    background: #F7F9FA;
}
.dscarda { width: 57.83%; }
.dscarda img { width: 100%; }
.dscardb { width: 48.17%; }
.dscardbn {
    margin-left: 2.5rem;
    margin-right: 2.5rem;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.dscardbna { margin-top: 3rem; }
.dscardbna p {
    color: #8E8E8E;
    margin-bottom: 1.25rem;
}
.dscardbna p.cub {
    color: #000;
    margin-bottom: 0.5rem;
}
.dscardbnb {
    margin-bottom: 6rem;
    display: flex;
    align-items: center;
}
.dscardbnbn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.dscardbnbn img { width: 2.5rem; }
.dscardbnbn p {
    margin-top: 0.5rem;
    text-align: center;
}

.desn4 .arrow-control {
    position: absolute;
    width: 94%;
    bottom: 5%;
    right: 3%;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 0.5rem;
    z-index: 10;
}
.desn4 .arrow-bt {
    width: 2.5rem;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.25s;
    color: rgba(0, 0, 0, 0.8);
    font-size: 2.25rem;
    border: none;
    background: none;
    font-weight: 200;
}
.desn4 .arrow-bt img { width: 2.5rem; }
.desn4 .arrow-bt:hover { color: rgba(0, 0, 0, 1); }
.desn4 .arrow-bt:active { transform: scale(0.92); }

/* ============================================================
   11. testt1 ~ testt5 通用测试区
   ============================================================ */
.testt1 {
    margin-top: 5rem;
    display: flex;
    align-items: center;
    background: #F7F9FA;
}
.testt1a { width: 48.17%; }
.testt1b { width: 57.83%; }
.testt1b img { width: 100%; }
.testt1an {
    margin-left: 2.5rem;
    margin-right: 2.5rem;
}
.testt1an p { margin-top: 1.25rem; }

.testt2 {
    margin-top: 2.5rem;
    overflow: hidden;
}
.testt2a {
    position: relative;
    overflow: hidden;
    margin-top: 2.5rem;
}
.didy {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.didy img { width: 100%; }
.didy p {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 5%;
    color: #fff;
}
.testt2a .swiper-wrapper { padding-bottom: 6rem; }
.testt2a .swiper-horizontal > .swiper-pagination-bullets {
    bottom: 1.125rem;
    left: 0;
    width: 100%;
}
.testt2a .swiper-button-next,
.testt2a .swiper-button-prev {
    position: absolute;
    top: auto;
    bottom: 0.3125rem;
    margin-top: 0;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(0, 0, 0, 0.5);
}
.testt2a .swiper-button-next,
.testt2a .swiper-rtl .swiper-button-prev { right: 42%; left: auto; }
.testt2a .swiper-button-prev,
.testt2a .swiper-rtl .swiper-button-next { left: 42%; right: auto; }
.testt2a .swiper-button-next:hover,
.testt2a .swiper-button-prev:hover {
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}
.testt2a .swiper-pagination-bullet-active {
    opacity: 1;
    background: rgb(0, 0, 0);
}
.testt2a .swiper-button-next::after,
.testt2a .swiper-button-prev::after { font-size: 1.25rem; }

.testt3 { margin-top: 5rem; }

.testt4 {
    width: 100%;
    overflow: hidden;
    margin-top: 5rem;
}
.testt4a {
    display: flex;
    align-items: center;
    background: #F7F9FA;
    margin-top: 2.5rem;
}
.testt4aa { width: 57.83%; }
.testt4aa img { width: 100%; }
.testt4ab {
    width: 48.17%;
    padding: 2.5rem;
}
.testt4ab p { margin-top: 1.25rem; }

.testt5 {
    width: 100%;
    overflow: hidden;
    background: #F7F9FA;
    margin-top: 6.25rem;
    padding-bottom: 6.25rem;
}
.testt5a {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    box-sizing: border-box;
}
.testt5an {
    background: #fff;
    padding-bottom: 2.5rem;
}
.testt5ana {
    width: 100%;
    overflow: hidden;
}
.testt5ana img {
    width: 100%;
    transform: scale(1);
    transition: all 1s ease-out;
}
.testt5ana:hover img { transform: scale(1.05); }
.testt5an p {
    width: 90%;
    margin: 0 auto;
    text-align: center;
}

/* ============================================================
   12. zhiz1 / zhiz2
   ============================================================ */
.zhiz1 {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.zhiz1 img { width: 100%; }
.zhiz1a {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.zhiz1an {
    height: 100%;
    display: flex;
    flex-direction: column;
    color: #fff;
}
.zhiz1an h2 { margin-top: 5%; }
.zhiz1an p {
    margin-top: 1.25rem;
    max-width: 38.125rem;
}

.zhiz2 {
    width: 100%;
    overflow: hidden;
    margin-top: 6.25rem;
    background: #F7F9FA;
    padding-bottom: 6.25rem;
}
.zhiz2n {
    overflow: hidden;
    margin-top: 2.5rem;
}
.zhiz2n img { width: 100%; }

.pdtm { padding-bottom: 6.25rem; }
.testt1.wuse { background: none; padding-bottom: 5rem; }

/* ============================================================
   13. cardd 全屏按钮网格
   ============================================================ */
.cardd { width: 100%; overflow: hidden; }
.hero {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.hero img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: opacity 0.6s ease;
}
.herof {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.hero-overlay {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    pointer-events: none;
}
.hero-title {
    font-size: 2.25rem;
    color: #fff;
    letter-spacing: 1px;
    display: inline-block;
    align-self: flex-start;
    margin-top: 15%;
}
.btn-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    pointer-events: auto;
    align-self: flex-end;
    width: 100%;
    margin-bottom: 15%;
}
.tag-btn {
    padding: 2.25rem 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    cursor: pointer;
    transition: all 0.25s ease;
    text-align: center;
    word-break: break-word;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
}
.tag-btn:hover {
    background: #008DD7;
    border-color: #008DD7;
}
.tag-btn.active {
    background: #008DD7;
    border-color: #008DD7;
    text-shadow: none;
}
.footnote {
    text-align: center;
    padding: 0.875rem 0 1rem;
    font-size: 0.8rem;
    color: #8892a8;
    letter-spacing: 0.3px;
    background: #fafcff;
    border-top: 1px solid #eef2f8;
}

/* ============================================================
   14. zcar1 ~ zcar3
   ============================================================ */
.zcar1 {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.zcar1 img { width: 100%; }
.zcar1a {
    position: absolute;
    width: 100%;
    left: 0;
    top: 10%;
    text-align: center;
}
.zcar1aa {
    position: relative;
    width: 38rem;
    margin: 0 auto;
}
.zcar1aa img { width: 100%; }
.zcar1a h2 {
    color: #fff;
    margin-top: -1.25rem;
}
.zcar1a h2 span { color: #007EC4; }
.zcar1a h2.hehe { color: #000; }

.zcar1bf {
    position: absolute;
    display: flex;
    gap: 0.625rem;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.zbf1  { left: 27%; top: 49%; }
.zbf2  { left: 48.4%; top: 37.6%; }
.zbf3  { left: 41.67%; top: 41.125%; }
.zbf4  { left: 37.57%; top: 45.875%; }
.zbf5  { left: 37.57%; top: 50.125%; }
.zbf6  { left: 51.736%; top: 54%; }
.zbf7  { left: 62.986%; top: 49.25%; }
.zbf8  { left: 67.43%; top: 41.625%; }
.zbf9  { left: 73.54%; top: 45.625%; }
.zbf10 { left: 71.667%; top: 59.125%; }

/* nmec / gongy / cue / robt 等热点位置 */
.nmec1 { left: 20.278%; top: 45.375%; }
.nmec2 { left: 25.278%; top: 39.625%; }
.nmec3 { left: 36.667%; top: 42%; }
.nmec4 { left: 45%; top: 37.625%; }
.nmec5 { left: 73.05%; top: 40.75%; }
.nmec6 { left: 28.194%; top: 69%; }

.eggg { position: relative; }
.eggg p {
    position: absolute;
    width: 90%;
    left: 5%;
    bottom: 5%;
    color: #fff;
    text-align: left;
}

.gongy1 { left: 19.44%; top: 48.875%; }
.gongy2 { left: 37.36%; top: 47.125%; }
.gongy3 { left: 46.319%; top: 52.875%; }
.gongy4 { left: 49.375%; top: 32.625%; }
.gongy5 { left: 66.805%; top: 70%; }
.gongy6 { left: 68.264%; top: 56.125%; }
.gongy7 { left: 75.139%; top: 30.625%; }

.cue1  { left: 41.94%; top: 26.625%; }
.cue2  { left: 56.736%; top: 32.875%; }
.cue3  { left: 51.388%; top: 37.625%; }
.cue4  { left: 58.388%; top: 37.625%; }
.cue5  { left: 70%; top: 40.5%; }
.cue6  { left: 41.389%; top: 43.75%; }
.cue7  { left: 35.83%; top: 52.75%; }
.cue8  { left: 41.18%; top: 51%; }
.cue9  { left: 54.79%; top: 50%; }
.cue10 { left: 35.139%; top: 69.875%; }
.cue11 { left: 46.319%; top: 71.875%; }
.cue12 { left: 62.708%; top: 57.125%; }
.cue13 { left: 71.875%; top: 65.625%; }
.cue14 { left: 43.541%; top: 63.625%; }

.robt1 { left: 36.527%; top: 37%; }
.robt2 { left: 36.527%; top: 57.375%; }
.robt3 { left: 32.083%; top: 70.125%; }

.zcar1bfa {
    position: relative;
    width: 0.625rem;
    height: 0.625rem;
    background: rgba(0, 141, 215, 1);
    border-radius: 50%;
}
.zcar1bfa::before,
.zcar1bfa::after {
    content: '';
    position: absolute;
    inset: -0.375rem;
    border-radius: 50%;
    border: 2px solid rgba(0, 141, 215, 0.7);
    animation: pulseRing 2.5s ease-out infinite;
}
.zcar1bfa::after { animation-delay: 0.8s; }

@keyframes pulseRing {
    0%   { transform: scale(0.8); opacity: 0.8; }
    100% { transform: scale(1.8); opacity: 0; }
}

.zcar1bfb {
    color: #fff;
    font-size: 0.875rem;
    padding: 0.4rem 1rem;
    background: rgba(0, 141, 215, 1);
    border-radius: 2rem;
    opacity: 0;
    transition: all 0.3s ease-out;
}
.zcar1bf:hover .zcar1bfb {
    opacity: 1;
    transition: all 0.3s ease-out;
}

.zcar2 {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.zcar2a {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.zcar2a img { width: 100%; }
.zcar2f {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.zcar2fn {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
}
.zcar2fnaa {
    position: relative;
    width: 18.75rem;
}
.zcar2fnaa img { width: 100%; }
.zcar2fnab {
    position: relative;
    margin-top: -1.25rem;
    color: #fff;
}
.zcar2fnab p {
    margin-top: 1.25rem;
    max-width: 26.9rem;
}
.zcar2fnb {
    width: 50%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}
.zcar2fnbn {
    position: relative;
    padding: 5rem 10%;
    border: 1px solid #fff;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
}
.zcar2fnbn:hover { border: 1px solid #007ec4; }
.zcar2fnbn::before {
    content: "";
    position: absolute;
    width: 0%;
    height: 0%;
    left: 50%;
    bottom: 50%;
    opacity: 0;
    background: #007ec4;
    transition: all 0.5s ease-out;
    z-index: 1;
}
.zcar2fnbn:hover::before {
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    opacity: 0.8;
}
.zcar2fnbn img { width: 4.375rem; z-index: 2; }
.zcar2fnbn p { z-index: 2; }
.zcar2fnbn img.ngh { display: block; }
.zcar2fnbn img.ngg { display: none; }
.zcar2fnbn:hover img.ngh { display: none; }
.zcar2fnbn:hover img.ngg { display: block; }

/* zcar3 粘性视频 */
.scroll-container {
    height: 150vh;
    position: relative;
}
.zcar3 {
    position: sticky;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    overflow: hidden;
}
.zcar3a {
    width: 90%;
    max-width: 1600px;
    height: 80%;
    overflow: hidden;
    background: #000;
    will-change: width, max-width, height;
}
.zcar3a video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

/* ============================================================
   15. zwab 系列
   ============================================================ */
.zwabtw { position: relative; width: 100%; }
.zwabtwa {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
    transition: all 0.5s ease-out;
}
.zwabtwa.adow { top: 4.4rem; }

.zwabtwan {
    position: relative;
    overflow: hidden;
    display: flex;
    gap: 1.25rem;
}
.zwabtwan p {
    padding: 1rem 0;
    position: relative;
    cursor: pointer;
}
.zwabtwan p::before {
    content: "";
    position: absolute;
    width: 0%;
    left: 0;
    bottom: 0;
    opacity: 0;
    border-bottom: 2px solid rgba(0, 141, 215, 1);
    transition: all 0.3s ease-out;
}
.zwabtwan p.abon::before { width: 100%; opacity: 1; }
.zwabtwan p:hover::before { width: 20%; opacity: 0.5; }

.zwabtwb { position: relative; width: 100%;  z-index: 1; }
/* ============================================================
   关于我们 - 视频滚动放大
   ============================================================ */
.zwabtwban {
    position: relative;
}

/* 文字区：默认在文档流里，会随页面滚动 */
.abt-text {
    position: relative;
    z-index: 1;
}

/* 视频：初始为普通文档流，GSAP 接管后转为 fixed 全屏 */
.abt-video {
    display: block;
    width: 100%;
    height:100%;
    height: auto;
    object-fit: cover;
    will-change: transform, width, height, border-radius;
    transform-origin: center center;
    /* 初始宽高由 GSAP 从实际尺寸计算，无需写死 */
}

.zcar3.ztyr{
    align-items: flex-start;
    height:auto;
}

.zcar3a.ctyr{
    background:none ;
}
.zcar3a.ctyr video{
  
}

.zwabtwb .scroll-container{
    margin-top:2.5rem;
}


/* 视频全屏状态（GSAP 会动态加这个类，用于辅助定位） */
.abt-video.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 50;
    pointer-events: none;
}

/* 视频结束后恢复文档流 */
.abt-video.is-done {
    position: relative;
    width: 100%;
    height: auto;
    top: auto;
    left: auto;
    z-index: 1;
}
.zwabtwban {
    width: 90%;
    max-width: 62.5rem;
    margin: 5rem auto 0;
    overflow: hidden;
}
.zwabtwban h3 { color: rgba(0, 141, 215, 1); text-align: center; }
.zwabtwban h2 { text-align: center; margin-top: 1.25rem; }
.zwabtwban p { margin-top: 1.25rem; }
.zwabtwban video {
    margin-top: 2.5rem;
    width: 100%;
}

.zwab2 { margin-top: 8rem; }
.zwab2 h4 { text-align: center; }
.zwab2a {
    width: 100%;
    display: flex;
    gap: 1.25rem;
    margin-top: 2.5rem;
}
.zwab2an {
    flex: 1;
    position: relative;
    width: 100%;
    overflow: hidden;
}
.zwab2an img {
    width: 100%;
    transform: scale(1);
    transition: all 1s ease-out;
}
.zwab2an:hover img { transform: scale(1.05); }
.zwab2an p {
    position: absolute;
    width: 90%;
    left: 5%;
    bottom: 5%;
    color: #fff;
}

.zwab3 { position: relative; width: 100%; overflow: hidden; }
.zwab3n {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-top: 6.25rem;
    color: #fff;
    padding-bottom: 6.25rem;
}
.zwab3n .vsba { text-align: center; margin-top: 5rem; }

.zwabtlc { position: relative; margin-top: 4rem; }
.zwabtlcn { position: relative; width: 100%; overflow: hidden; }
.zwabtlc .swiper-pagination-bullet {
    width: 0.5rem;
    height: 0.5rem;
    display: inline-block;
    border-radius: 0.25rem;
    background: rgba(255, 255, 255, 0.7);
    opacity: 0.4;
}
.zwabtlc .swiper-pagination-bullet-active {
    width: 2.5rem;
    height: 0.5rem;
    opacity: 1;
    background: #008DD7;
}
.zwabtlc .swiper-button-next,
.zwabtlc .swiper-rtl .swiper-button-prev { right: -3.75rem; left: auto; }
.zwabtlc .swiper-button-prev,
.zwabtlc .swiper-rtl .swiper-button-next { left: -3.75rem; right: auto; }
.zwabtlc .swiper-button-next,
.zwabtlc .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 2.75rem;
    height: 2.75rem;
    margin-top: -1.375rem;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
}
.zwabtlc .swiper-button-next:hover,
.zwabtlc .swiper-button-prev:hover {
    color: #000;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 2px 12px rgba(255, 255, 255, 0.9);
}
.zwabtlc .swiper-button-next::after,
.zwabtlc .swiper-button-prev::after { font-size: 1.25rem; }
.zwabtlc .swiper-horizontal > .swiper-pagination-bullets {
    bottom: -4rem;
    left: 0;
    width: 100%;
}
.zwabtlcn .swiper-slide { background: none; }

.ddlc {
    position: relative;
    width: 100%;
    height: 30rem;
    text-align: left;
    overflow: visible;
    display: flex;
    flex-direction: column;
}
.ddlc.xxs { justify-content: flex-start; }
.ddlc.xxx { justify-content: flex-end; }
.ddlca {
    position: relative;
    width: 200%;
    height: calc(50% - 1.25rem);
}
.ddlcn {
    width: 90%;
    margin: 1.25rem 1.875rem;
    max-width: 22rem;
}
.ddlcn h4 { font-size: 1rem; }
.ddlcn p {
    font-size: 0.875rem;
    margin-top: 0.5rem;
}


.ddlc.xxs::before{
	content: ''; 
	position: absolute; 
	top: 0%; 
	left: 0%; 
	width:2px; 
	height:50%; 
	background:rgba(255,255,255,0.6);
	box-shadow:0 0 40px rgba(255,255,255,0.1);
}
.ddlc.xxs::after{
	content: ''; 
	position: absolute; 
	top:50%; 
	left:-3px; 
	width:8px; 
	height:8px;
    border-radius:50%;	
	background:rgba(255,255,255,0.6);
	box-shadow:0 0 40px rgba(255,255,255,0.1);
	-webkit-transform: translateY(-50%) translateX(0%);
    -ms-transform: translateY(-50%) translateX(0%);
    transform: translateY(-50%) translateX(0%);
}
.ddlc.xxx::before{
	content: ''; 
	position: absolute; 
	top:50%; 
	left: 0%; 
	width:2px; 
	height:50%; 
	background:rgba(255,255,255,0.6);
	box-shadow:0 0 40px rgba(255,255,255,0.1);
}
.ddlc.xxx::after{
	content: ''; 
	position: absolute; 
	top:50%; 
	left:-3px; 
	width:8px; 
	height:8px;
    border-radius:50%;	
	background:rgba(255,255,255,0.6);
	box-shadow:0 0 40px rgba(255,255,255,0.1);
	-webkit-transform: translateY(-50%) translateX(0%);
    -ms-transform: translateY(-50%) translateX(0%);
    transform: translateY(-50%) translateX(0%);
}

.zwnmtbn3 h3, .zwnmtbn3 h2, .zwnmtbn3 h1, .zwnmtbn3 h4{
    margin-top:2rem;
}
.zwnmtbn3 .wp-block-list li{
    line-height:2;
}

.zwabtlcn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.6);
    box-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.6);
    transform: translateY(-50%);
}
.zwabtlcn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 0.375rem;
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.1);
    transform: translateY(-50%);
}

.zwab4 { width: 100%; overflow: hidden; }
.zwab4a {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    overflow: hidden;
    margin-top: 6.25rem;
}
.zwab4aa { position: relative; width: 100%; overflow: hidden; }
.zwab4aa img { width: 100%; }
.zwab4aaf {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
}
.zwab4aafn {
    margin: 2.5rem;
    color: #fff;
}
.zwab4aafn p {
    margin-top: 1.25rem;
    max-width: 35rem;
}
.zwab4ab {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
    overflow: hidden;
}
.zwab4abn {
    flex: 1;
    overflow: hidden;
    background: #F7F9FA;
}
.zwab4abnn {
    margin: 2.5rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.zwab4abnna p { margin-top: 0.5rem; }
.zwab4abnnb {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-top: 1.25rem;
}
.zwab4abnnb img { width: 4rem; }

.zwab5 {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-top: 5rem;
}
.zwab5 img { width: 100%; }
.zwab5f {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
}
.zwab5fa {
    margin-top: calc(5% + 4.4rem);
    text-align: center;
    width: 100%;
    color: #fff;
}
.zwab5fa p {
    width: 90%;
    max-width: 100rem;
    margin: 1.25rem auto 0;
}
.zwab5fa p.habt4 { margin-top: 2.5rem; }

.zwab6 { position: relative; width: 100%; overflow: hidden; }
.zwab6a { position: relative; width: 100%; overflow: hidden; }
.nytr img {
    width: 100%;
    transform: scale(1.05);
    transition: all 1s ease-out;
}
.nytr.nyton img {
    width: 100%;
    transform: scale(1);
}
.nytr { opacity: 0; transition: all 1s ease-out; }
.nytr.nyton { opacity: 1; }

.zwab6a1 {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
}
.zwab6af {
    position: absolute;
    width: 100%;
    left: 0;
    top: 10%;
    color: #fff;
    text-align: center;
}
.zwab6af h1 {
    font-size: 5rem;
    letter-spacing: 2rem;
    opacity: 0.4;
    font-weight: 800;
}
.zwab6aff {
    position: absolute;
    inset: 0;
}
.zwab6affn {
    position: relative;
    height: 100%;
    display: flex;
}
.zwab6affn::before {
    content: "";
    position: absolute;
    height: 100%;
    border-left: 1px solid #fff;
    left: 0;
    top: 0;
    opacity: 0.4;
}
.zwab6affnn {
    flex: 1;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    background: rgba(255, 255, 255, 0);
    transition: all 0.3s ease-out;
    cursor: pointer;
}
.zwab6affnn::before {
    content: "";
    position: absolute;
    height: 100%;
    border-left: 1px solid #fff;
    right: 0;
    top: 0;
    opacity: 0.4;
}
.zwab6affnn:hover { background: rgba(255, 255, 255, 0.2); }
.zwab6affnnn {
    margin-bottom: 38%;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #fff;
    text-align: center;
}
.zwab6affnnn img { width: 3rem; }
.zwab6affnnn h2 { margin-top: 1.25rem; }
.zwab6affnnn p { margin-top: 1.25rem; }

.zwab7 {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: 6.25rem;
    background: #F7F9FA;
}
.zwab7a { position: relative; width: 100%; overflow: hidden; }
.zwab7a img { width: 100%; }
.zwab7af {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.zwab7afa {
    width: 100%;
    text-align: center;
    margin-top: 5rem;
}
.zwab7afa p { margin-top: 1.25rem; }
.zwab7afb { width: 100%; }
.zwab7afbx {
    background: rgba(255, 255, 255, 0.9);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.zwab7afbxn { flex: 1; position: relative; }
.zwab7afbxn::before {
    content: "";
    position: absolute;
    height: 60%;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    border-right: 1px solid rgba(0, 0, 0, 0.2);
}
.zwab7afbxn.xnn::before { display: none; }
.zwab7afbxnn {
    margin: 2.5rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.zwab7afbxnn img { width: 1.5rem; }
.zwab7afbxnn p { margin-top: 0.25rem; }
.zwab7afbxnn p.small { color: rgba(0, 0, 0, 0.4); }

.zwab8 {
    width: 100%;
    background: #F7F9FA;
    padding-bottom: 5rem;
}
.zwab8 .nrd5 { margin-top: 0; overflow: hidden; }
.zwab8 .nrd5a { grid-template-columns: repeat(3, 1fr); }
.zwab8 .nrd5an { background: rgba(255, 255, 255, 0.9); }
.zwab8 .nrd5ana { position: relative; }
.zwab8 .nrd5ana p {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 20%;
    text-align: center;
    opacity: 0;
    transform: translateY(1.25rem);
    transition: all 0.5s ease-out;
}
.zwab8 .nrd5ana p a {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.5;
    background: rgba(0, 141, 215, 1);
    color: #fff;
    padding: 0.4375rem 1.25rem;
    border: 1px solid rgba(0, 141, 215, 1);
    border-radius: 1.25rem;
    transition: all 0.5s ease-out;
}
.zwab8 .nrd5an:hover .nrd5ana p {
    transform: translateY(0);
    opacity: 1;
}

/* ============================================================
   16. cxfz 系列
   ============================================================ */
.cxfz1 { position: relative; width: 100%; overflow: hidden; }
.cxfz1a { position: relative; width: 100%; overflow: hidden; }
.cxfz1a img { width: 100%; }
.cxfz1f {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
}
.cxfz1fn { margin-top: 6.25rem; }
.cxfz1fna { width: 100%; }
.cxfz1fnaa { text-align: center; }
.cxfz1fnab {
    width: 100%;
    overflow: hidden;
    margin-top: 2.5rem;
    display: flex;
    gap: 1.25rem;
}
.cxfz1fnabn {
    flex: 1;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 100%);
    border-image: linear-gradient(360deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1)) 1 1;
}
.cxfz1fnabnn {
    margin: 1.875rem;
    padding-bottom: 10rem;
}
.cxfz1fnabnn h3 {
    position: relative;
    padding-bottom: 1.25rem;
}
.cxfz1fnabnn h3::after {
    content: "";
    position: absolute;
    width: 4rem;
    border-bottom: 3px solid #00A54B;
    left: 0;
    bottom: 0;
}
.cxfz1fnabnn p { margin-top: 1.25rem; }

.cxfz2 {
    width: 100%;
    background: #F7F9FA;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.cxfz2n {
    width: 100%;
    overflow: hidden;
    margin-top: 6.25rem;
}
.cxfztit { width: 100%; text-align: center; }
.cxfz2na {
    margin-top: 2.5rem;
    display: flex;
    gap: 1.25rem;
}
.cxfz2nan {
    flex: 1;
    position: relative;
    overflow: hidden;
}
.cxfz2nan img {
    width: 100%;
    transform: scale(1);
    transition: all 1s ease-out;
}
.cxfz2nan:hover img { transform: scale(1.05); }
.cxfz2nann {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.shous {
    width: 90%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    height: 0;
    opacity: 0;
    transition: all 0.5s ease-out;
}
.cxfz2nan:hover .shous {
    margin-top: 1.5rem;
    height: auto;
    opacity: 1;
}
.cxfz2.wuse { background: none; }
.cxfz2nanx {
    flex: 1;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.cxfz2nanxn {
    width: 100%;
    max-width: 17rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    flex-direction: column;
    text-align: center;
    padding-bottom: 2.5rem;
}
.cxfz2nanxn img { width: 6.25rem; }
.cxfz2nanxn h3 { margin-top: 1.25rem; }
.cxfz2nanxn p { margin-top: 1.25rem; }
.cxfz2nanxn p.llink a {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.5;
    color: rgba(0, 141, 215, 1);
    padding: 0.4375rem 1.25rem;
    border: 1px solid rgba(0, 141, 215, 1);
    border-radius: 1.25rem;
}
.cxfz2nanxn p.llink a:hover {
    color: #fff;
    background: rgba(0, 141, 215, 1);
}

.cxfz3 { position: relative; width: 100%; overflow: hidden; }
.cxfz3 .swiper-container { z-index: 1; }
.didt {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}
.didt img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: none;
    object-position: center;
}
.didtn {
    position: absolute;
    width: 100%;
    overflow: hidden;
    left: 0;
    bottom: 15%;
    text-align: center;
    color: #fff;
}
.didtn p { margin-top: 1.25rem; }
.cxfz3f {
    position: absolute;
    width: 100%;
    left: 0;
    top: 15%;
    text-align: center;
    color: #fff;
    z-index: 2;
}
.cxfz3 .swiper-pagination-bullet {
    width: 2.5rem;
    height: 2px;
    display: inline-block;
    border-radius: 0;
    background: rgba(255, 255, 255, 1);
    opacity: 0.4;
}
.cxfz3 .swiper-pagination-bullet-active {
    opacity: 1;
    background: rgba(255, 255, 255, 1);
}
.cxfz3 .swiper-button-next,
.cxfz3 .swiper-rtl .swiper-button-prev { right: 10%; left: auto; }
.cxfz3 .swiper-button-prev,
.cxfz3 .swiper-rtl .swiper-button-next { left: 10%; right: auto; }
.cxfz3 .swiper-button-next,
.cxfz3 .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 2.75rem;
    height: 2.75rem;
    margin-top: -1.375rem;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
}
.cxfz3 .swiper-button-next:hover,
.cxfz3 .swiper-button-prev:hover {
    background: rgba(0, 141, 215, 1);
    box-shadow: 0 2px 12px rgba(255, 255, 255, 0.15);
}
.cxfz3 .swiper-button-next::after,
.cxfz3 .swiper-button-prev::after { font-size: 1.25rem; }
.cxfz3 .swiper-horizontal > .swiper-pagination-bullets {
    bottom: 5%;
    left: 0;
    width: 100%;
}

.cxfz4 {
    width: 100%;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.cxfz4 .cxfztit { margin-top: 5rem; }
.wiike {
    border: 1px solid #C2E4D8;
    width: 35rem;
    height: 35rem;
    overflow: hidden;
}
.cxfz4 .partner-item:hover {
    transform: translateY(0);
    box-shadow: 0 8px 28px rgba(0, 40, 80, 0);
}
.wiiken {
    margin: 2.5rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.wiiken img { width: 3rem; margin-top: 2.5rem; }
.wiiken h3 { margin-top: 1.25rem; }
.wiiken p { margin-top: 1.25rem; }

.cxfz5 { position: relative; width: 100%; overflow: hidden; }
.cxfz5a { position: relative; width: 100%; overflow: hidden; }
.cxfz5a img { width: 100%; }
.cxfz5f {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.cxfz5fn {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.cxfz5fna { color: #fff; }
.cxfz5fnb {
    color: #fff;
    width: 100%;
    display: flex;
    position: relative;
    margin-top: 2.5rem;
    align-items: center;
}
.cxfz5fnb::before {
    content: "";
    position: absolute;
    height: 80%;
    border-left: 1px solid rgba(255, 255, 255, 0.6);
    left: 50%;
    top: 50%;
    transform: translateY(-50%);
}
.cxfz5fnba {
    flex: 1;
    display: flex;
    align-items: center;
    flex-direction: column;
}
.cxfz5fnbaa { width: 16.5rem; }
.cxfz5fnbaa img { width: 100%; }
.cxfz5fnbab {
    display: flex;
    align-items: center;
    margin-top: 1.25rem;
    gap: 1.25rem;
}
.cxfz5fnbabl { font-size: 1.25rem; }
.cxfz5fnbabr { font-size: 4rem; font-weight: 800; }

.cxwkp { position: relative; width: 100%; overflow: hidden; }
.cxwkp img { width: 100%; }
.cxwkpf {
    position: absolute;
    inset: 0;
}
.cxwkpfn {
    height: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
}
.cxwkpfn h3 {
    margin-top: 20%;
    line-height: 2;
}
.cxwkpfn p { margin-top: 1.25rem; }
.cxwkpfn p.llink { margin-top: 2.5rem; }
.cxwkpfn p.llink a {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.5;
    color: rgba(0, 141, 215, 1);
    padding: 0.6rem 1.25rem;
    border: 1px solid rgba(0, 141, 215, 1);
    border-radius: 1.25rem;
}
.cxwkpfn p.llink a:hover {
    color: #fff;
    background: rgba(0, 141, 215, 1);
}

/* ============================================================
   17. 新闻模块
   ============================================================ */
.wnewsz { position: relative; width: 100%; }
.wnews1 {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    overflow: hidden;
    transition: all 0.5s ease-out;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    background: rgba(255, 255, 255, 0.9);
}
.wnews1.wnon { top: 4.4rem; }

.wnews1n {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
}
.wnews1na {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    height: 100%;
}
.wnews1nal {
    padding-right: 0.5rem;
    border-left: 1px solid rgba(0, 0, 0, 0.05);
    border-right: 1px solid rgba(0, 0, 0, 0.05);
    height: 100%;
}
.wnews1nal select {
    padding: 1.5rem 1rem;
    border: none;
}
.wnews1nar {
    display: flex;
    align-items: center;
    margin-left: 1.25rem;
    gap: 1.25rem;
}
.wnews1nar p.skde {
    padding: 1.4rem 0;
    position: relative;
    cursor: pointer;
}
.wnews1nar p.skde::before {
    content: "";
    position: absolute;
    width: 0%;
    left: 0;
    bottom: 0;
    opacity: 0;
    border-bottom: 2px solid rgba(0, 141, 215, 1);
    transition: all 0.3s ease-out;
}
.wnews1nar p.skde.skdon::before { width: 100%; opacity: 1; }
.wnews1nar p.skde:hover::before { width: 20%; opacity: 0.5; }

.wnews1nbn {
    display: flex;
    align-items: center;
    border-left: 1px solid rgba(0, 0, 0, 0.05);
    border-right: 1px solid rgba(0, 0, 0, 0.05);
}
.wnews1nbna input {
    padding: 1.5rem 1rem;
    border: none;
}
.wnews1nbnb input {
    width: 1.5rem;
    height: 1.5rem;
    border: none;
    background: url(/nnyy/img/search.webp) no-repeat center center / cover;
    margin-right: 0.5rem;
}

.wnews2 {
    width: 100%;
    overflow: hidden;
    background: #F7F9FA;
    padding-bottom: 6.25rem;
}
.wnews2n {
    position: relative;
    margin-top: 6.25rem;
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.9);
    overflow: hidden;
}
.wnews2nl {
    width: 66.66%;
    overflow: hidden;
}
.wnews2nl img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.wnews2nr {
    position: relative;
    width: 33.33%;
    height: 100%;
}
.wnews2nrn {
    padding: 2.5rem;
    height: 100%;
    display: flex;
    gap: 2.5rem;
    flex-direction: column;
    justify-content: space-between;
}
.wnews2nrna p.wdre {
    font-size: 0.875rem;
    color: #8E8E8E;
    margin-top: 0;
    padding-bottom: 1.25rem;
    position: relative;
    width: 100%;
}
.wnews2nrna p.wdre::before {
    content: "";
    position: absolute;
    width: 100%;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    left: 0;
    bottom: 0;
}
.wnews2nrna h2 {
    font-size: 1.25rem;
    font-weight: 800;
    margin-top: 1.25rem;
}
.wnews2nrna p { margin-top: 1.25rem; }
.wnews2nrnb p.llink a {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.5;
    color: rgba(0, 141, 215, 1);
    padding: 0.4375rem 1.25rem;
    border: 1px solid rgba(0, 141, 215, 1);
    border-radius: 1.25rem;
}
.wnews2nrnb p.llink a:hover {
    color: #fff;
    background: rgba(0, 141, 215, 1);
}

.wnews3 {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.wnews3n {
    margin-top: 6.25rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}
.wnews3nn { padding-bottom: 2.5rem; }
.wnews3nna {
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 20rem;
}
.wnews3nna img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transform: scale(1);
    transition: all 1s ease-out;
}
.wnews3nn:hover .wnews3nna img { transform: scale(1.05); }
.wnews3nna p {
    position: absolute;
    width: 100%;
    left: 0;
    top: 50%;
    transform: translateY(-45%);
    text-align: center;
    opacity: 0;
    transition: all 0.5s ease-out;
}
.wnews3nn:hover .wnews3nna p {
    transform: translateY(-50%);
    opacity: 1;
}
.wnews3nna p a {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.5;
    background: rgba(0, 141, 215, 0.9);
    color: #fff;
    padding: 0.4375rem 1.25rem;
    border: 1px solid rgba(0, 141, 215, 1);
    border-radius: 1.25rem;
    box-shadow: 0 4px 12px rgba(0, 141, 215, 0.35);
    transition: all 0.5s ease-out;
}
.wnews3nna p img.dplay {
    display: block;
    width: 4rem;
    margin: 0 auto;
    cursor: pointer;
}
.wnews3nnb { width: 100%; }
.wnews3nnb p.small {
    color: #8E8E8E;
    margin-top: 1rem;
}
.wnews3nnb p { margin-top: 0.2rem; }

.wnews { position: relative; width: 100%; overflow: hidden; }
.ntew { display: none; }
.ntew.nteon { display: block; }

/* 视频弹窗 */
.video-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
}
.video-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
}
.video-modal-content {
    position: relative;
    width: 80%;
    max-width: 100rem;
    background: #000;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 141, 215, 0.4);
}
.close-btn {
    position: absolute;
    top: 0.75rem;
    right: 1.25rem;
    font-size: 2.25rem;
    color: #fff;
    cursor: pointer;
    z-index: 10;
    transition: transform 0.3s;
}
.close-btn:hover { transform: rotate(90deg); }
#modalVideo {
    width: 100%;
    height: auto;
    display: block;
    background: #000;
}

/* ============================================================
   18. 内页文章
   ============================================================ */
.zwnmt {
    width: 100%;
    overflow: hidden;
    background: #F7F9FA;
    padding-bottom: 6.25rem;
}
.zwnmta {
    width: 100%;
    overflow: hidden;
    padding-top: 2rem;
    padding-bottom: 2rem;
    font-size: 0.875rem;
    color: rgb(0, 0, 0);
}
.zwnmta a { color: #8E8E8E; }
.zwnmta a:hover { color: rgb(0, 0, 0); }
.zwnmtb {
    overflow: hidden;
    background: #fff;
    margin-top: 2.5rem;
}
.zwnmtbn {
    margin: 3.75rem 5rem 5rem 5rem;
    overflow: hidden;
}
.zwnmtbn1 h1 { font-size: 2.25rem; }
.zwnmtbn2 {
    position: relative;
    width: 100%;
    margin-top: 1rem;
    padding-bottom: 1.25rem;
}
.zwnmtbn2::before {
    content: "";
    position: absolute;
    width: 100%;
    border-bottom: 1px solid #F0F1F2;
    left: 0;
    bottom: 0;
}
.zwnmtbn3 { margin-top: 2.5rem; }
.zwnmtbn3 p { margin-top: 1.5rem; }
.zwnmtbn3 h4 {
    font-size: 1.5rem;
    margin-top: 2.25rem;
}
.zwnmtbn3 figure img {
    display: block;
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
}

.post-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 6.25rem;
    padding: 1rem 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}
.post-navigation a {
    text-decoration: none;
    color: #8e8e8e;
    padding: 0.5rem 1rem;
    border: 1px solid #eee;
    border-radius: 0.25rem;
    transition: all 0.3s;
    font-size: 0.875rem;
}
.post-navigation a:hover {
    background: #000;
    color: #fff;
    border-color: #000;
}
.nav-home a { background: #f3f7f9; }
.nav-previous,
.nav-next { flex: 1; }
.nav-previous { text-align: left; }
.nav-next { text-align: right; }
.nav-home {
    text-align: center;
    flex: 0 1 auto;
}

.zwnmtj { padding-bottom: 5rem; }
.zwnmtj .wnews3n { margin-top: 2.5rem; }

/* ============================================================
   19. 招聘 / 联系 / 合作
   ============================================================ */
.join1 {
    width: 100%;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.join1x { margin-top: 6.25rem; }
.jntit { width: 100%; text-align: center; }
.jntit h2 span { color: rgba(0, 141, 215, 1); }
.jntit p {
    margin: 1.25rem auto 0;
    max-width: 62.5rem;
}
.jnbox1 {
    width: 100%;
    overflow: hidden;
    margin-top: 2.5rem;
}
.jnbox1 img { width: 100%; }
.join2x { margin-top: 6.25rem; }
.jnbox2 {
    margin-top: 2.5rem;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}
.jnbox2n {
    overflow: hidden;
    position: relative;
}
.jnbox2n img { width: 100%; }
.jnbox2n p {
    position: absolute;
    width: 90%;
    left: 5%;
    bottom: 1.5rem;
    color: #fff;
}

.join2 {
    width: 100%;
    background: #F7F9FA;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.join2n { margin-top: 6.25rem; }
.jn2lb {
    position: relative;
    width: 100%;
    margin-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.jozw {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.jozw img { width: 100%; }
.jozw p {
    position: absolute;
    width: 90%;
    left: 5%;
    bottom: 1.25rem;
    overflow: hidden;
    color: #fff;
}

.join3 {
    width: 100%;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.join3n {
    margin-top: 5rem;
    overflow: hidden;
}
.join3a {
    width: 100%;
    margin-top: 2.5rem;
    background: #F7F9FA;
    display: flex;
    align-items: center;
}
.join3aa {
    width: 42.167%;
    overflow: hidden;
}
.join3ab { width: 57.833%; }
.join3abn {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.join3abn img { width: 100%; }
.join3aan {
    margin-left: 2.5rem;
    margin-right: 2.5rem;
    overflow: hidden;
}
.jowk {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-bottom: 1px solid #F0F1F2;
    cursor: pointer;
}
.jowk::before {
    content: "︿";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(180deg);
    transition: all 0.5s ease-out;
    opacity: 0.5;
}
.jowk.jkon::before {
    opacity: 0.8;
    transform: translateY(-50%) rotate(0deg);
}
.jowk p { padding: 0.5rem 0; }
.jowg {
    width: 100%;
    color: #8e8e8e;
    padding-bottom: 0.5rem;
    margin-top: 0.5rem;
}
.jog { display: none; }
.jog.jgon { display: block; }
.will { display: none; }
.will.wilon { display: block; }

.join5 { width: 100%; overflow: hidden; }
.join5n {
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.05);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9.375rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}
.join5na p { margin-top: 1rem; }
.join5nb {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.join5nb img { width: 4rem; }
.join5nb p { margin-top: 1rem; }
.join5nb p a { color: #8e8e8e; }

.join4 .nrd9 { background: none; }
.join6 {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-top: 5rem;
}
.join6a {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.join6a img { width: 100%; }
.join6f {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.join6fn { height: 100%; overflow: hidden; }
.join6fna {
    margin-top: 6.25rem;
    width: 100%;
}
.join6fna p {
    margin-top: 1.25rem;
    max-width: 26.875rem;
}
.join6fna p.llink { margin-top: 2.5rem; }
.join6fna p.llink a {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.5;
    color: rgba(0, 141, 215, 1);
    padding: 0.4375rem 1.25rem;
    border: 1px solid rgba(0, 141, 215, 1);
    border-radius: 1.25rem;
}
.join6fna p.llink a:hover {
    color: #fff;
    background: rgba(0, 141, 215, 1);
}

.contt1 {
    width: 100%;
    overflow: hidden;
    background: linear-gradient(0deg, #FFFFFF 0%, #F7F9FA 100%);
    padding-bottom: 6.25rem;
}
.contt1n { margin-top: 5rem; }
.contt1na {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-top: 2.5rem;
}
.contt1nal {
    width: 66.16%;
    position: relative;
    overflow: hidden;
}
.contt1nal img { width: 100%; }
.contt1nar {
    position: absolute;
    right: 0;
    top: 0;
    width: 33.84%;
    height: 100%;
    overflow: hidden;
    background: url(/nnyy/img/contt22.webp) no-repeat center center / cover;
}
.contt1narn {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.contt1narna {
    margin-top: 2.5rem;
    color: #fff;
    font-size: 1.5rem;
}
.contt1narnb { margin-bottom: 2.5rem; }
.cotte {
    margin-top: 2.5rem;
    color: #fff;
}
.cottea {
    display: flex;
    align-items: center;
    gap: 0.3125rem;
}
.cottea p img { width: 1.5rem; }
.cottea p { font-size: 1.25rem; }
.cotte p.small { margin-top: 1.5rem; }

.contt1nb {
    width: 100%;
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}
.contt1nbn {
    background: #fff;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.02);
    padding: 2.5rem;
}
.conba { width: 3rem; }
.conba img { width: 100%; }
.conbb {
    position: relative;
    margin-top: 0.5rem;
    padding-bottom: 0.75rem;
    overflow: hidden;
}
.conbb p {
    margin-top: 0.2rem;
    font-size: 0.875rem;
    color: #8E8E8E;
}
.conbb::before {
    content: "";
    position: absolute;
    width: 3rem;
    border-bottom: 2px solid #008DD7;
    left: 0;
    bottom: 0;
}
.conbc {
    margin-top: 0.75rem;
    display: flex;
    overflow: hidden;
}
.conbc p {
    font-size: 0.875rem;
    color: #8E8E8E;
}
.conbc p:first-child {
    white-space: nowrap;
    flex-shrink: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 12.5rem;
}
.conbc p:last-child {
    word-break: break-word;
    flex: 1;
    min-width: 0;
}

.contt2 {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.contt2 img { width: 100%; }
.contt2n {
    position: absolute;
    inset: 0;
}
.contt2nx {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.contt2nx p { margin-top: 1rem; }

.contt3 {
    width: 100%;
    background: #F7F9FA;
    padding-bottom: 6.25rem;
    overflow: hidden;
}
.contt3 .nrd5a {
    margin-top: 3rem;
    grid-template-columns: repeat(3, 1fr);
}
.contt3 .nrd5an { background: #fff; }
.contt3 .nrd5ana { position: relative; }
.contt3 .nrd5ana p {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 20%;
    text-align: center;
    opacity: 0;
    transform: translateY(1.25rem);
    transition: all 0.5s ease-out;
}
.contt3 .nrd5ana p a {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.5;
    background: rgba(0, 141, 215, 1);
    color: #fff;
    padding: 0.4375rem 1.25rem;
    border: 1px solid rgba(0, 141, 215, 1);
    border-radius: 1.25rem;
}
.contt3 .nrd5an:hover .nrd5ana p {
    transform: translateY(0);
    opacity: 1;
}

/* 自定义复选框 */
.option {
    display: flex;
    align-items: center;
    padding: 0.875rem 1.125rem;
    background: #f8f9fc;
    border-radius: 0.875rem;
    border: 2px solid transparent;
    transition: background 0.25s ease, border-color 0.25s ease, transform 0.15s ease;
    cursor: pointer;
    user-select: none;
}
.option:hover {
    background: #f0f1f7;
    transform: translateX(0.25rem);
}
.option.checked {
    background: #eeedff;
    border-color: #6c63ff;
}
.option input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    pointer-events: none;
}
.checkmark {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.5rem;
    background: #fff;
    border: 2px solid #d0d5e0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
    margin-right: 1rem;
    position: relative;
}
.option:hover .checkmark {
    border-color: #6c63ff;
    transform: scale(1.05);
}
.option.checked .checkmark {
    background: #6c63ff;
    border-color: #6c63ff;
    transform: scale(1);
}
.checkmark svg {
    width: 0.875rem;
    height: 0.875rem;
    fill: none;
    stroke: #fff;
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s ease;
    transform: scale(0);
    opacity: 0;
}
.option.checked .checkmark svg {
    transform: scale(1);
    opacity: 1;
}
.option .label-text {
    font-size: 1rem;
    font-weight: 500;
    color: #1a1a2e;
    transition: color 0.25s ease;
    flex: 1;
}
.option .label-text small {
    font-weight: 400;
    color: #8e94a8;
    font-size: 0.8125rem;
    margin-left: 0.5rem;
}
.option.checked .label-text { color: #3d36b0; }

.contt4 {
    width: 100%;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.contt4n {
    position: relative;
    margin-top: 6.25rem;
    background: #F7F9FA;
    overflow: hidden;
}
.contt4na {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 50%;
    overflow: hidden;
}
.contt4na img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.contt4nb {
    position: relative;
    float: right;
    width: 50%;
    overflow: hidden;
}
.contt4nbn {
    margin: 2.5rem;
    overflow: hidden;
}
.ct4na p { margin-top: 0.5rem; color: #8e8e8e; }
.ct4nb {
    width: 100%;
    margin-top: 2.5rem;
    display: flex;
    gap: 1.25rem;
    align-items: center;
    flex-direction: column;
}
.ct4nb .wpcf7,
.ct4nb form {
    width: 100%;
    display: flex;
    gap: 1.25rem;
    align-items: center;
    flex-direction: column;
}
.ct4nba {
    width: 100%;
    display: flex;
    gap: 1.25rem;
    align-items: center;
}
.ct4nban { flex: 1; overflow: hidden; }
.ct4nban input {
    width: 100%;
    padding: 1rem 1.5rem;
    border: none;
    background: #fff;
}
.ct4nbb,
.ct4nbc { width: 100%; }
.ct4nbb textarea {
    width: 100%;
    padding: 1rem 1.5rem;
    border: none;
    background: #fff;
}
.ct4nbd {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ct4nbc label {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}
.ct4nbc .wpcf7-list-item-label {
    font-size: 0.75rem;
    color: #8e8e8e;
}
.screen-reader-response {
    width: 0;
    height: 0;
    opacity: 0;
}
.ct4nbd input {
    padding: 0.75rem 3rem;
    background: rgba(0, 141, 215, 0.9);
    border: none;
    color: #fff;
    border-radius: 3.125rem;
    cursor: pointer;
}
.ct4nbd input:hover { background: rgba(0, 141, 215, 1); }

.hezuo {
    width: 100%;
    background: #F7F9FA;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.hezuona {
    margin-top: 2.5rem;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}
.hezuonan {
    padding: 2.5rem;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.hezuonan img { width: 3rem; }
.hezuonan h3 { margin-top: 0.5rem; }
.hezuonann { margin-top: 1.25rem; }
.hezuonann p {
    position: relative;
    padding-left: 1rem;
    color: rgba(142, 142, 142, 1);
}
.hezuonann p::before {
    content: "";
    position: absolute;
    width: 0.25rem;
    height: 0.25rem;
    background: rgba(142, 142, 142, 1);
    border-radius: 50%;
    left: 0;
    top: 0.6rem;
}

.hezu {
    width: 100%;
    overflow: hidden;
    padding-bottom: 6.5rem;
}
.hezun {
    margin-top: 6.25rem;
    display: flex;
    background: #F7F9FA;
    overflow: hidden;
    align-items: center;
}
.hezuna { width: 50%; overflow: hidden; }
.hezuna img { width: 100%; }
.hezunb { width: 50%; padding: 2.5rem; }
.hezunbn { margin-top: 2.5rem; display: flex; }
.hezunbn p:first-child {
    white-space: nowrap;
    flex-shrink: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 12.5rem;
}
.hezunbn p:last-child {
    word-break: break-word;
    flex: 1;
    min-width: 0;
}

/* ============================================================
   20. 绿/白/合作/资质等区块
   ============================================================ */
.lvse1 { padding-bottom: 6.25rem; }
.lvse1n { margin-top: 2.5rem; overflow: hidden; }
.lvse1n img { width: 100%; }
.lvse2 {
    width: 100%;
    background: #F7F9FA;
    padding-bottom: 6.25rem;
    overflow: hidden;
}
.lvse2a {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
    overflow: hidden;
}
.lvse2an { background: #fff; padding: 2.5rem; }
.lvse2an p { margin-top: 1.25rem; }
.lvse2ann {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-top: 1.25rem;
}
.lvse2ann img { width: 13.3rem; }
.lvse2b {
    margin-top: 2.5rem;
    background: #fff;
    padding: 2.5rem;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.lvse2ba { width: 40%; overflow: hidden; }
.lvse2ba img { width: 27rem; }
.lvse2ba p { margin-top: 1.25rem; }
.lvse2bb {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    overflow: hidden;
}
.lvse2bbn {
    width: 100%;
    display: flex;
    gap: 1.25rem;
    justify-content: flex-end;
}
.lvse2bbn p { width: calc(100% / 6); }
.lvse2bbn p img { width: 100%; }
.lvse2bbn p.tbog { width: calc((100% / 6) * 4 + 3.75rem); }

.lvse8 {
    width: 100%;
    padding-bottom: 6.25rem;
    overflow: hidden;
}
.lvse8 .nrdtit { color: #fff; }
.lvse8a {
    position: relative;
    margin-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.lvse8a .swiper-container { overflow: hidden; }

.lvse8a .swiper-horizontal>.swiper-pagination-progressbar,
.lvse8a .swiper-pagination-progressbar.swiper-pagination-horizontal,
.lvse8a .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.lvse8a .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top:auto;
    bottom:0%;
}

.lvse8a .swiper-button-next, 
.lvse8a .swiper-rtl .swiper-button-prev {
    display: none;
}
.lvse8a .swiper-button-prev, 
.lvse8a .swiper-rtl .swiper-button-next {
    display: none;
}

 .swiper-horizontal>.swiper-pagination-progressbar,
 .swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
 .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top:auto;
    bottom:0%;
}





.dihj {
    position: relative;
    width: 100%;
    padding: 2.5rem;
    background: #fff;
    overflow: hidden;
}
.dihj p { text-align: left; }
.dihjn {
    margin-top: 1.25rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.dihjn p img { width: 3rem; }
.dihjn p { color: #8e8e8e; }

/* ============================================================
   21. 资质 / 分类 / 服务
   ============================================================ */
.zere1 .testt1an h3 {
    color: rgba(0, 141, 215, 1);
    font-size: 1.5rem;
}
.zere2 {
    width: 100%;
    overflow: hidden;
    margin-top: 6.25rem;
    background: rgba(247, 249, 250, 1);
    padding-bottom: 6.25rem;
}
.ctzr { margin-top: 6.25rem; }

.zljg1 {
    width: 100%;
    overflow: hidden;
    background: #F7F9FA;
    padding-bottom: 6.25rem;
}
.zljg1 .jntit { margin-top: 5rem; }
.zljg1n { margin-top: 2.5rem; }
.zljg1nb {
    margin-top: 1.25rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}
.zljg1nbn {
    background: #fff;
    padding: 2.5rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.zljg1nbna { padding-bottom: 1.25rem; }
.zljg1nbna p {
    margin-top: 0.5rem;
    color: #8e8e8e;
}
.zljg1nbna p span { color: #000; }
.zljg1nbnb {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.zljg1nbnba p a {
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.5;
    background: rgba(0, 141, 215, 1);
    color: #fff;
    padding: 0.4375rem 1.25rem;
    border: 1px solid rgba(0, 141, 215, 0.8);
    border-radius: 1.25rem;
}
.zljg1nbnbb img { height: 4.375rem; }
.zljg1nc {
    margin-top: 1.25rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}
.zljg1ncn {
    text-align: center;
    padding: 2.5rem;
    background: #fff;
}
.zljg1ncn h2 { color: rgba(0, 141, 215, 1); }
.zljg1ncn p { margin-top: 0.5rem; }
.zljg1nd {
    padding: 2.5rem;
    background: #fff;
    margin-top: 1.25rem;
}

.ffba1 {
    width: 100%;
    padding-bottom: 6.25rem;
    overflow: hidden;
}
.ffb1 { margin-top: 5rem; }
.ffba1na h2 { text-align: center; }
.ffba1na p {
    margin-top: 1.25rem;
    color: #8e8e8e;
}
.ffb2 {
    margin-top: 2.5rem;
    overflow: hidden;
    padding: 1.25rem 2.5rem;
    background: #F7F9FA;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}
.ffb2n {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}
.ffb2na p {
    padding: 0.3rem 1.5rem;
    border: 1px solid #000;
    min-width: 12rem;
    text-align: center;
}
.ffb2nb p { color: #8e8e8e; }
.ffb3 { margin-top: 2.5rem; }
.ffb3 p { color: #8e8e8e; }

.fanfb2 {
    width: 100%;
    overflow: hidden;
    background: #F7F9FA;
    padding-bottom: 6.25rem;
}
.fanfb2a {
    text-align: center;
    margin-top: 5rem;
}
.fanfb2a p {
    margin-top: 0.5rem;
    color: #8e8e8e;
}
.fanfb2b {
    border-top: 1px solid #F0F1F2;
    margin-top: 2.5rem;
}
.fanfb2ba {
    margin-top: 2.5rem;
    display: flex;
    gap: 2.5rem;
    align-items: center;
}
.fanfb2baa {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.fanfb2baa img { width: 11.25rem; }
.fanfb2baa p { color: #8e8e8e; }
.fanfb2bab {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
}
.fanfb2bab p span {
    font-size: 0.875rem;
    color: #8e8e8e;
}
.fanfb2bb {
    width: 100%;
    margin-top: 5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}
.fanfb2bbn {
    padding: 2.5rem;
    overflow: hidden;
    background: #fff;
}
.fanfb2bbn h2 {
    width: 100%;
    position: relative;
    padding-bottom: 1rem;
    overflow: hidden;
}
.fanfb2bbn h2::before {
    position: absolute;
    content: "";
    width: 100%;
    border-bottom: 2px solid rgba(0, 141, 215, 1);
    left: 0;
    bottom: 0;
}
.fanfb2bbn h3 { margin-top: 1.25rem; }
.fanfb2bbn p {
    margin-top: 0.5rem;
    color: #8e8e8e;
}

.fanld {
    margin-top: 5rem;
    padding-bottom: 6.25rem;
    overflow: hidden;
}
.fanld h2 { text-align: center; }
.fanld p { margin-top: 2.5rem; }
.fanld p img {
    width: 50%;
    float: left;
    margin: 0 2.5rem 2.5rem 0;
}
.fanldnc {
    width: 100%;
    display: flex;
    margin-top: 2.5rem;
    gap: 1.25rem;
}
.fanldncn { flex: 1; }
.fanldncn img { width: 100%; }

.fxgld {
    width: 100%;
    margin-top: 2.5rem;
    display: flex;
    gap: 2.5rem;
    align-items: center;
}
.fxgldn { width: 25.6%; }
.fxgldn img { width: 100%; }
.fxgldyn {
    width: 100%;
    display: flex;
    gap: 1.25rem;
    align-items: center;
    padding: 1.5rem 0;
    overflow: hidden;
    border-bottom: 1px solid #F0F1F2;
    justify-content: flex-start;
}
.fxgldyn p { margin-top: 0; }
.fxgldyna { width: 15%; }
.fxgldynb {
    width: 85%;
    font-size: 0.875rem;
    color: #8e8e8e;
}

.gylg {
    width: 100%;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.gylgl { margin-top: 5rem; }
.gylgla { width: 100%; text-align: center; }
.gylgla p {
    margin-top: 1.25rem;
    text-align: left;
}
.gylglb {
    width: 100%;
    margin-top: 2.5rem;
}
.gylglb h3 { text-align: center; }
.gylglbn {
    width: 100%;
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
}
.gylglbnn {
    padding: 2.5rem;
    background: #F7F9FA;
}
.gylglbnn p {
    margin-top: 1.25rem;
    color: #8e8e8e;
}
.gylglbnm { position: relative; width: 100%; }
.gylglf {
    position: absolute;
    width: 2.25rem;
    transform: translateY(-50%) translateX(-50%);
}
.gylglf img { width: 100%; }
.gylglf.nf1 { left: 25%; top: 50%; }
.gylglf.nf2 { left: 50%; top: 50%; }
.gylglf.nf3 { left: 75%; top: 50%; }

.gylhui {
    width: 100%;
    overflow: hidden;
    background: #F7F9FA;
    padding-bottom: 6.25rem;
}
.gylglbn.gn3 { grid-template-columns: repeat(3, 1fr); }
.gn3 .gylglbnn { background: #fff; }
.gylglf.nf4 { left: 33.33%; top: 50%; }
.gylglf.nf5 { left: 66.66%; top: 50%; }

.yinsi {
    width: 100%;
    padding-bottom: 6.25rem;
    overflow: hidden;
}
.yinsin { margin-top: 5rem; }
.yinsina h2 { text-align: center; }
.yinsina p { margin-top: 1.25rem; }
.yinsinb {
    width: 100%;
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 1.25rem;
    justify-content: center;
}
.yinsinbn { flex: 1; }
.yinsinbn img { width: 100%; }
.yinsinbn p {
    margin-top: 0.5rem;
    width: 100%;
    text-align: center;
}
.yinsinc { margin-top: 2.5rem; }

.hggl {
    width: 100%;
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
}
.hggln {
    padding: 2.5rem;
    background: #F7F9FA;
}
.hggln p { margin-top: 1.25rem; }

.kuoz .wnews3nn {
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.05);
    border-radius: 0.5rem;
    padding: 1rem;
}
.kuoz .wnews3nn .wnews3nnb { text-align: center; }
.kuoz .wnews3nn .wnews3nnb p { margin-top: 1rem; }
.wnews3n.keoy { grid-template-columns: repeat(4, 1fr); }

.ruobx {
    width: 100%;
    background: url(/nnyy/img/qqbj2.webp) no-repeat center center / cover;
    overflow: hidden;
    padding-bottom: 6.25rem;
}
.ruobxa {
    margin-top: 5rem;
    text-align: center;
    color: #fff;
}
.ruobxa p { margin-top: 1.25rem; }
.ruobxb {
    margin-top: 2.5rem;
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 1.25rem;
    overflow: hidden;
}
.ruobxbna {
    display: flex;
    flex-direction: column;
    align-items: center;
    opacity: 0;
    transform: translateY(1.25rem);
    transition: all 0.5s ease-out;
}
.ruobxbna img { width: 8.5rem; }
.ruobxbna p {
    margin-top: 0.5rem;
    color: #fff;
    text-align: center;
}
.ruobxbn.roaon .ruobxbna {
    opacity: 1;
    transform: translateY(0);
}
.ruobxbnb {
    color: #fff;
    text-align: center;
    margin-top: 0.5rem;
}
.ruobxbn {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.ruobxc {
    position: relative;
    margin-top: 1.5rem;
    overflow: hidden;
    height: 0.625rem;
}
.ruobxc::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.6);
    box-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.6);
    transform: translateY(-50%);
}
.ruobxcn {
    width: 100%;
    height: 0.625rem;
    overflow: hidden;
    display: flex;
    gap: 1.25rem;
    align-items: center;
    justify-content: center;
}
.ruobxcna {
    position: relative;
    flex: 1;
    height: 0.625rem;
    cursor: pointer;
}
.ruobxcna::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 0.25rem;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 0 2.5rem rgba(255, 255, 255, 0.6);
    transform: translate(-50%, -50%);
    transition: all 0.5s ease-out;
}
.ruobxcna.rlxon::before {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 0.3125rem;
    background: rgba(255, 255, 255, 1);
}

.qqbun {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.qqbuna {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.qqbuna img { width: 100%; }
.qqbunf {
    position: absolute;
    inset: 0;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.qqbunfa {
    width: 100%;
    overflow: hidden;
    text-align: center;
    margin-top: 6.25rem;
}
.qqbunfa p {
    margin-top: 1.25rem;
    color: #8e8e8e;
}
.qqbunfb {
    overflow: hidden;
    display: flex;
    margin-bottom: 6.25rem;
    justify-content: space-between;
}
.qqbunfbn p { color: #8e8e8e; }
.qqbunfbn h2 span { font-size: 0.875rem; }

.gylglbn.kehu {
    grid-template-columns: repeat(3, 1fr);
    gap: 6.25rem;
}
.gylglbnn.kaihu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.625rem;
}
.kaihu img { width: 3rem; }
.gylglcd { margin-top: 2.5rem; }
.gylglcd p { text-align: left; color: #8e8e8e; }

/* 桌面端默认：隐藏 select，显示 tab */
.tab-select { display: none; }

/* ============================================================
   22. 分页
   ============================================================ */
.pagination {
    margin-top: 2.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.875rem;
}
.pagination .cinfo {
    font-size: 0.75rem;
    color: #5A5A5A;
    font-weight: 500;
}
.page-jump-select {
    padding: 0.4rem 1rem;
    border: 1px solid #ccc;
    border-radius: 0.25rem;
    background: #fff;
    font-size: 0.75rem;
    color: #333;
    cursor: pointer;
    height: 2rem;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.1rem center;
    background-size: 0.75rem 0.75rem;
}
.page-jump-select:focus { outline: none; border-color: #008DD7; }
.pagination .page-numbers {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0 0.25rem;
}
.pagination .page-numbers span {
    display: inline-block;
    min-width: 1.875rem;
    text-align: center;
    padding: 0.1rem 0.6rem;
    cursor: pointer;
    border-radius: 0.25rem;
    line-height: 1.4rem;
    font-size: 0.875rem;
}
.pagination .page-numbers span:hover:not(.active-page):not(.ellipsis) {
    background: #f1f1f1;
}
.pagination .page-numbers .active-page {
    color: #008DD7;
    font-weight: 700;
    cursor: default;
}
.pagination .page-numbers .ellipsis { cursor: default; }
.pagination button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid #e0e0e0;
    background: #fff;
    border-radius: 0.375rem;
    cursor: pointer;
    color: #333;
    vertical-align: middle;
    transition: all 0.2s;
}
.pagination button svg { display: block; width: 1rem; height: 1rem; }
.pagination button:hover:not(:disabled) {
    border-color: #008DD7;
    color: #008DD7;
    background: #f5fbff;
}
.pagination button:disabled {
    color: #ccc;
    border-color: #eee;
    cursor: not-allowed;
}

/* ============================================================
   23. 响应式（规范断点，每个只出现一次）
   ============================================================ */

/* ---------- 超大屏 ≥2500px ---------- */
@media (min-width: 2500px) {
    .kkkx {
        width: 80%;
        max-width: 5000px;
    }
    .tag-btn { font-size: 1rem; }
    .zwabtwa.adow { top: 3.6rem; }
    .wnews1.wnon { top: 3.6rem; }
    .zwabtwban {
        width: 60%;
        max-width: 100rem;
    }
    .cxfz2nanxn p.llink a,
    .cxwkpfn p.llink a,
    .wnews2nrnb p.llink a,
    .join6fna p.llink a {
        padding: 0.6rem 1.5rem;
    }
    .wnews1nar { gap: 2.5rem; }
    .wnews1nbna input { font-size: 0.875rem; }
    .wnews2nrn {
        padding: 3rem;
        gap: 3rem;
    }
}

/* ---------- 桌面端 ≤1400px ---------- */
@media (max-width: 1400px) {
    .cotte { margin-top: 1.5rem; }
    .cotte p.small { margin-top: 1rem; }
    .testt2a .swiper-horizontal > .swiper-pagination-bullets {
        bottom: 1.3125rem;
    }
    .testt2a .swiper-pagination-bullet {
        width: 0.375rem;
        height: 0.375rem;
    }
}

/* ---------- 1210px 隐藏 ruobx 滚动 ---------- */
@media (max-width: 1210px) {
    .ruobxb,
    .ruobxc { display: none; }
}

/* ---------- 平板/移动端切换 ≤1160px ---------- */
@media (max-width: 1160px) {
    /* 新闻筛选下拉替换 */
    .wnews1nar { display: none !important; }
    .tab-select {
        display: block;
        width: 100%;
        padding: 1.5rem 0;
        font-size: 1rem;
        border: none;
        background-color: #fff;
        outline: none;
        cursor: pointer;
        color: #8e8e8e;
    }

    /* 通用：图片叠层改回文档流 */
    .nrd2a { width: 80%; }
    .nrd2f {
        position: relative;
        height: auto;
        padding: 3rem 0;
		width:100%;
    }
    .nrd2fn p { max-width: 1500px; }
    .nrd3f {
        position: relative;
        width: 100%;
        padding: 3rem 0;
        height: auto;
    }
    .nrd3fn {
        height: auto;
        width: 90%;
        margin: 0 auto;
    }
    h2 { font-size: 1.5rem; }
    .nrd4af { display: none; }

    /* 隐藏 testt2 箭头 */
    .testt2a .swiper-button-next,
    .testt2a .swiper-button-prev { display: none; }

    /* testt1 换行 */
    .testt1 { flex-wrap: wrap; }
    .testt1a {
        width: 100%;
        padding: 3rem 0;
    }
    .testt1b { width: 100%; }

    /* zcar2 改为背景图 */
    .zcar2a {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
    }
    .zcar2a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .zcar2f {
        position: relative;
        padding: 3rem 0;
        z-index: 2;
    }
    .zwabtwa.adow,
    .wnews1.wnon { top: 60px; }

    .join5n {
        flex-direction: column;
        gap: 2.5rem;
        align-items: flex-start;
        padding: 2.5rem;
    }
    .contt1nal { width: 100%; }
    .contt1nar {
        position: relative;
        width: 100%;
        height: auto;
    }
    .contt1nb { grid-template-columns: repeat(2, 1fr); }
    .hezun { flex-direction: column; }
    .hezuna,
    .hezunb { width: 100%; }
    .wnews3n.keoy { grid-template-columns: repeat(3, 1fr); }
    .lvse2b { flex-direction: column; }
    .lvse2ba,
    .lvse2bb { width: 100%; }
    .lvse2bb { margin-top: 2.5rem; }

    .zljg1nb { grid-template-columns: repeat(1, 1fr); }
    .gylglbn { grid-template-columns: repeat(1, 1fr); }
    .gylglf {
        display: none;
    }
    .gylglbn.gn3 { grid-template-columns: repeat(1, 1fr); }

    .fxgld { flex-direction: column; }
    .fxgldn { width: 100%; }
    .yinsinb { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- 平板 ≤900px ---------- */
@media (max-width: 900px) {
    .nrd5a { grid-template-columns: repeat(3, 1fr); }
    .zcar2fn { flex-wrap: wrap; }
    .zcar2fna,
    .zcar2fnb { width: 100%; }
    .zcar2fnb { margin-top: 2.5rem; }

    .cxfz1a {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
    }
    .cxfz1a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .cxfz1f {
        position: relative;
        z-index: 2;
    }
    .cxfz1fn { margin-top: 3rem; }
    .cxfz1fnabnn {
        margin: 1.25rem;
        padding-bottom: 3rem;
    }
    .cxfz1fnab { flex-wrap: wrap; }
    .cxfz1fnabn {
        flex: 0 0 calc(50% - 1.25rem);
        max-width: calc(50% - 1.25rem);
        background: linear-gradient(0deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 1) 100%);
        border-image: linear-gradient(360deg, rgba(255, 255, 255, 0.1), rgb(255, 255, 255)) 1 / 1 / 0 stretch;
    }

    .wnews2n { flex-direction: column; }
    .wnews2nl,
    .wnews2nr { width: 100%; }
    .wnews3n { grid-template-columns: repeat(2, 1fr); }

    .join6a { height: 100vh; }
    .join6a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .contt3 .nrd5a { grid-template-columns: repeat(2, 1fr); }
    .contt4na {
        position: relative;
        height: 10rem;
        width: 100%;
        overflow: hidden;
    }
    .contt4nb { width: 100%; }
    .hezuona { grid-template-columns: repeat(1, 1fr); }
    .hezuonan { align-items: flex-start; }
    .wnews3n.keoy { grid-template-columns: repeat(2, 1fr); }
    .fanfb2bb { grid-template-columns: repeat(1, 1fr); }
    .qqbunfb { margin-bottom: 5%; }
    .qqbunfa { margin-top: 5%; }
}

/* ---------- 手机 ≤796px ---------- */
@media (max-width: 796px) {
    .rdbannb h1 { font-size: 1.25rem; }
    .nrd5a { grid-template-columns: repeat(2, 1fr); }
    .nrd5ann { margin: 1.25rem 1.5rem 2rem 1.5rem; }
    .nrd6fnn img { display: none; }
    .nrd6fnn p.habt4 { display: none; }
    .nrd6fnn p { font-size: 0.875rem; }
    .nrd6fnn h2 { margin-top: 0; }
    .nrd8nfn p {
        width: 90%;
        margin: 1.25rem auto 0;
    }
    .nrd9a .swiper-button-next,
    .nrd9a .swiper-button-prev { display: none; }
    .nrd9a .swiper-horizontal > .swiper-pagination-bullets { bottom: 0; }
    .nrd9a .swiper-container { padding-bottom: 2.5rem; }

    .desn1a { flex-wrap: wrap; }
    .desn1an {
        flex: 0 0 calc(50% - 0px);
        max-width: calc(50% - 0px);
    }
    .desn3na { grid-template-columns: repeat(1, 1fr); }
    .dscard { flex-wrap: wrap; }
    .dscarda,
    .dscardb { width: 100%; }
    .desn4 .arrow-control {
        bottom: 0;
        right: 0.75rem;
    }
    .wiike {
        border: none;
        width: 100%;
        height: auto;
    }
    .wiiken { margin: 1.5rem; }
    .partner-item {
        width: 100vw;
        padding: 0;
    }
    .wiiken {
        justify-content: flex-start;
        align-items: flex-start;
    }
    .wiiken p { text-align: left; }

    .cxfz5a {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
    }
    .cxfz5a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .cxfz5f {
        position: relative;
        margin-top: 3rem;
        padding-bottom: 3rem;
        z-index: 2;
    }
    .cxfz5fnb {
        flex-direction: column;
        gap: 2.5rem;
    }
    .cxfz5fnb::before { display: none; }

    .cxwkp { height: 100vh; }
    .cxwkp img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .ffb2 { padding: 3rem; gap: 2.5rem; }
    .ffb2n { flex-direction: column; gap: 1.25rem; }
}

/* ---------- 手机 ≤640px ---------- */
@media (max-width: 640px) {
    .nrd9a {
        width: 90%;
        margin-left: 5%;
    }
    .zhiz1a {
        position: relative;
        height: auto;
        padding-bottom: 2.5rem;
    }
    .zhiz1an { color: #000; }

    .testt4a { flex-wrap: wrap; }
    .testt4aa,
    .testt4ab { width: 100%; }
    .testt5a { grid-template-columns: repeat(2, 1fr); }

    .zwabtwa { display: none; }
    .zwab2a { flex-direction: column; }

    .zwab4aaf {
        position: relative;
        height: auto;
        padding-bottom: 2.5rem;
    }
    .zwab4aafn {
        margin: 2.5rem 0;
        color: #000;
    }
    .zwab4aafn p { max-width: 50rem; }
    .zwab4ab { grid-template-columns: repeat(1, 1fr); }

    .zwab5f { top: 50%; transform: translateY(-50%); }
    .zwab5fa {
        width: 90%;
        margin: 0 auto;
    }

    .zwab6 { background: #000; }
    .zwab6a {
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: 1;
    }
    .nytr img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .nytr.nyton img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .zwab6af {
        position: relative;
        margin-top: 3rem;
    }
    .zwab6aff {
        position: relative;
        width: 100%;
        height: auto;
        margin-top: 2.5rem;
        padding-bottom: 3rem;
    }
    .zwab6affn { flex-direction: column; }
    .zwab6affnnn {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem;
    }

    .zwab7af {
        position: relative;
        width: 100%;
        height: auto;
    }
    .zwab7afa { margin-top: 2.5rem; }
    .zwab7afbx {
        grid-template-columns: repeat(1, 1fr);
        margin-top: 2.5rem;
    }
    .zwab7afbxnn { margin: 1.25rem; }
    .zwab8 .nrd5a { grid-template-columns: repeat(1, 1fr); }

    .cxfz1fnabn {
        flex: 1 1 100%;
        max-width: calc(100% - 0px);
    }
    .cxfz2na { flex-wrap: wrap; }
    .cxfz2nan {
        flex: 1 1 100%;
        width: 100%;
    }
    .shous {
        margin-top: 1.5rem;
        height: auto;
        opacity: 1;
    }
    .cxfz2nanx {
        flex: 1 1 100%;
        width: 100%;
    }

    .wnews3n { grid-template-columns: repeat(1, 1fr); }
    .wnews1nbna input { max-width: 8rem; }
    .video-modal-content { width: 100%; }
    .jnbox2 { grid-template-columns: repeat(1, 1fr); }
    .join3a { flex-direction: column; }
    .join3aa {
        width: 100%;
        padding: 3rem 0;
    }
    .join3ab { width: 100%; }
    .contt1nb { grid-template-columns: repeat(1, 1fr); }
    .contt2 { height: 50vh; }
    .contt2 img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .contt3 .nrd5a { grid-template-columns: repeat(1, 1fr); }
    .wnews3n.keoy { grid-template-columns: repeat(1, 1fr); }
    .lvse2a { grid-template-columns: repeat(1, 1fr); }
    .zljg1nc { grid-template-columns: repeat(1, 1fr); }
    .fanfb2ba { flex-direction: column; }
    .fanldnc { flex-direction: column; }
    .gylglbn.kehu {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
    }
    .hggl { grid-template-columns: repeat(1, 1fr); }
    .qqbun { height: 100vh; }
    .qqbuna { width: 100%; }
    .qqbuna img { width: 100%; }
    .qqbunfb {
        flex-direction: column;
        gap: 0.625rem;
    }

    /* 回到顶部 */
    .back-to-top {
        bottom: 1.25rem;
        right: 1.25rem;
        width: 1.75rem;
        height: 1.75rem;
    }
    .back-to-top svg { width: 0.75rem; height: 0.75rem; }
}

/* ---------- 小手机 ≤480px ---------- */
@media (max-width: 480px) {
    .zwabtwa.adow,
    .wnews1.wnon { top: 52px; }
    .zljg1nbnb {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        margin-top: 1.5rem;
    }
    .zljg1nbnbb { width: 100%; }
    .zljg1nbnbb img { float: right; }

    /* 按钮网格改为 2 列 */
    .btn-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.25rem;
    }
    .tag-btn {
        font-size: 0.65rem;
        padding: 0.5rem 0.25rem;
    }
    .hero-title { font-size: 1rem; }

    /* 回到顶部 */
    .back-to-top {
        bottom: 1rem;
        right: 1rem;
        width: 1.5rem;
        height: 1.5rem;
    }
    .back-to-top svg { width: 0.625rem; height: 0.625rem; }
    .ct4nba {
    flex-direction: column;
}
}

/* ---------- 超大屏 ≥2500px 二次微调 ---------- */
@media (min-width: 2500px) {
   
}

/* ============================================================
   24. 交互设备适配（触屏禁用 hover）
   ============================================================ */
@media (hover: none) {
    .tag-btn:hover,
    .partner-item:hover,
    .nrd5an:hover .nrd5ana img,
    .zwab2an:hover img,
    .zwab8 .nrd5an:hover .nrd5ana p,
    .wnews3nn:hover .wnews3nna img,
    .wnews3nn:hover .wnews3nna p,
    .cxfz2nan:hover img,
    .cxfz2nan:hover .shous,
    .nrd4afnn:hover::before,
    .nrd4afnn:hover::after {
        transform: none;
    }
}

/* ============================================================
   25. 减少动画偏好
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}