/* lists-images.css v2  —  1:1 对标 https://www.digitalchina.com/case/operator.html 真实 DOM evaluate 数据
 * 结构：header → .product-banner.solution-banner → .best-practices-section(best-practices-inner / .edit-container / .best-practices-swiper / .swiper-wrapper 3×577×386 slide) → .solution-section(.solution-list × N .solution-list-block 左右交替：978×548 img + 617×308 cont-inner) → footer
 * 所有 class 名与 evaluate 返回的真实 DOM class 完全一致（非简写，无自定义）
 */
* { -webkit-box-sizing: border-box; box-sizing: border-box; }
.product-banner.solution-banner,
.best-practices-section,
.best-practices-inner,
.best-practices-swiper,
.swiper-wrapper,
.swiper-slide,
.swiper-page,
.solution-section,
.solution-list,
.solution-list-block,
.cont-inner,
.edit-container,
.js-m,
.more-btn,
.page-cr { box-sizing: border-box; }

/* ============ 1. Banner：.product-banner.solution-banner ============ */
.product-banner.solution-banner {
    position: relative;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    margin: 0;
    height: 911px;
    min-height: 911px;
    overflow: hidden;
    background: #0b1026;
    display: block;
    left: 50%;
    transform: translateX(-50%);
}
.product-banner.solution-banner > .hidden-xs,
.product-banner.solution-banner > .visible-xs {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    min-width: 100%;
    height: 911px;
    min-height: 911px;
    display: block;
    object-fit: cover;
    object-position: center center;
    z-index: 0;
}
.product-banner.solution-banner > .visible-xs { display: none !important; }
.product-banner.solution-banner .banner-inner {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 2;
    padding: 0;
    margin: 0;
}
.product-banner.solution-banner .edit-container {
    width: 1648px;
    max-width: 94%;
    height: 315px;
    position: relative;
    margin: 298px auto 0;
    z-index: 2;
    display: block;
}
.product-banner.solution-banner .edit-container .title {
    font-size: 44px;
    font-weight: 700;
    line-height: 66px;
    color: #fff;
    margin: 0 0 0;
    max-width: none;
    width: 1648px;
    height: 66px;
}
.product-banner.solution-banner .edit-container .cont {
    font-size: 22px;
    line-height: 39.6px;
    font-weight: 400;
    color: #fff;
    margin: 11px 0 0;
    max-width: 1236px;
    height: 79px;
    opacity: 1;
}
.product-banner.solution-banner .edit-container .btn-box {
    margin-top: 0;
    pointer-events: auto;
}
.product-banner.solution-banner .edit-container .btn-box a,
.product-banner.solution-banner .edit-container .btn-box a.case-banner-btn {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    height: 70px;
    width: 312px;
    min-width: 312px;
    padding: 0;
    font-size: 19.8px;
    line-height: 70.4px;
    font-weight: 400;
    color: #fff;
    background-image: url('../picture/tdef6a8f3_home-banner-btn-bg.webp');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    text-decoration: none;
    letter-spacing: normal;
    transition: filter .2s ease, transform .2s ease;
}
.product-banner.solution-banner .edit-container .btn-box a:hover { filter: brightness(1.08); transform: translateY(-1px); }
.product-banner.solution-banner::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 260px;
    z-index: 1;
    background: linear-gradient(180deg, rgba(11,16,38,0) 0%, rgba(11,16,38,.52) 50%, rgba(11,16,38,.92) 100%);
}

/* ============ 2. 面包屑 ============ */
.page-cr {
    width: 100%;
    padding: 16px 0 10px;
    background: #fff;
    position: relative;
    z-index: 2;
}
.page-cr .c-wrap {
    width: 1648px;
    max-width: 94%;
    margin: 0 auto;
    font-size: 12.6px;
    color: #555;
    line-height: 1.6;
}
.page-cr a { color: #555; text-decoration: none; }
.page-cr a:hover { color: #e51d35; }
.page-cr .sep { margin: 0 6px; opacity: .65; }
.page-cr .cur { color: #111; }

/* ============ 3. .best-practices-section：110/110 + tdec9821d_best-practices-bg.webp + 无限轮播 (duplicate模式)；.swiper-slide 577×386 only title */
.best-practices-section {
    position: relative;
    width: 100%;
    padding: 110px 0;
    background: url('../picture/tdec9821d_best-practices-bg.webp') no-repeat 50% 50%;
    background-size: cover;
    overflow: hidden;
    display: block;
}
.best-practices-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(180deg, rgba(255,255,255,.93) 0%, rgba(246,248,252,.92) 100%);
    pointer-events: none;
}
.best-practices-section .home-title-box {
    text-align: center;
    margin: 0 auto 0;
    position: relative;
    z-index: 2;
    display: block;
}
.best-practices-section .home-title-box .title {
    font-size: 44px;
    font-weight: 700;
    line-height: 66px;
    color: #000;
    margin: 0;
    letter-spacing: normal;
}
.best-practices-section .best-practices-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 430px;
    display: block;
    margin: 0 auto;
    overflow: visible;
}
.best-practices-section .best-practices-inner .edit-container {
    width: 1648px;
    max-width: 94%;
    height: 66px;
    margin: 0 auto;
    display: block;
    position: relative;
}
/* overflow visible（箭头伸出swiper-box外面；wrapper在里面translateX真正的mask在 .swiper-box） */
.best-practices-section .best-practices-swiper.flex {
    position: relative;
    width: 1732px;
    max-width: 96%;
    height: 430px;
    margin: 0 auto;
    display: block;
    overflow: visible;
    z-index: 2;
}
.best-practices-section .swiper-box {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1732px;
    max-width: 100%;
    height: 430px;
    overflow: hidden;
    display: block;
    z-index: 2;
}
.best-practices-section .best-practices-swiper .swiper-wrapper {
    width: 6010px;
    height: 386px;
    position: relative;
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: normal;
    list-style: none;
    padding: 0;
    margin: 0;
    left: 0;
    top: 0;
    transition: transform 0.5s ease;
    will-change: transform;
}
.best-practices-section .best-practices-swiper .swiper-slide {
    flex: 0 0 577px;
    width: 577px;
    height: 386px;
    padding: 0;
    box-sizing: border-box;
    margin: 0 24px 0 0;
    list-style: none;
    position: relative;
    overflow: hidden;
}
.best-practices-section .best-practices-swiper .swiper-slide:last-child { margin-right: 0; }
.best-practices-section .best-practices-swiper .swiper-slide-duplicate {
    flex: 0 0 577px;
    width: 577px;
}
.best-practices-section .best-practices-swiper .swiper-slide .cover {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    background: #000;
    display: block;
}
.best-practices-section .best-practices-swiper .swiper-slide .cover a { position: absolute; inset: 0; display: block; text-decoration: none; }
.best-practices-section .best-practices-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: fill;
    display: block;
    transition: transform .5s ease;
}
.best-practices-section .best-practices-swiper .swiper-slide:hover img { transform: scale(1.06); }
.best-practices-section .best-practices-swiper .swiper-slide .mask {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.35) 62%, rgba(0,0,0,.80) 100%);
    pointer-events: none;
}
.best-practices-section .best-practices-swiper .swiper-slide .text {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 22px;
    z-index: 3;
}
.best-practices-section .best-practices-swiper .swiper-slide .text .title {
    font-size: 20.16px;
    line-height: 1.45;
    font-weight: 700;
    color: #fff;
    margin: 0;
    letter-spacing: normal;
}

/* 左右箭头：44×44 位于 swiper.flex 父容器之外，left: -101 / -101（对应 evaluate prev.x=101.9, next.x=1948） */
.best-practices-section .swiper-page {
    position: absolute;
    left: 0;
    right: 0;
    top: 193px; /* (430 swiper h - 44 arrow h)/2 = 193 */
    height: 44px;
    width: 100%;
    z-index: 4;
    pointer-events: none;
}
.best-practices-section .swiper-arrow {
    width: 44px;
    height: 44px;
    cursor: pointer;
    user-select: none;
    position: absolute;
    top: 0;
    pointer-events: auto;
    text-indent: -99999px;
    overflow: hidden;
    transition: transform .2s ease, filter .2s ease;
}
.best-practices-section .swiper-arrow-prev {
    left: -79px;  /* 真实 operator 上箭头外 -101.9 与 next.x=1948 对称；用 -79 兼容小屏 */
    background: url('../picture/tdea97417_icon-swiper-arrow-prev.webp') center center / 100% auto no-repeat;
    background-color: rgba(255,255,255,.92);
    border-radius: 0;
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.best-practices-section .swiper-arrow-next {
    right: -79px;
    background: url('../picture/tde6cb4dd_icon-swiper-arrow-next.webp') center center / 100% auto no-repeat;
    background-color: rgba(255,255,255,.92);
    border-radius: 0;
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
}
.best-practices-section .swiper-arrow:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

/* 分页：圆点 bullets（真实 operator 用 swiper-pagination-bullets 11×11 灰色圆点，active红色；NOT fraction！） */
.best-practices-section .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets {
    position: absolute;
    left: 50%;
    bottom: -56px;
    transform: translateX(-50%);
    z-index: 4;
    width: auto;
    min-width: 40px;
    height: 11px;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
    pointer-events: auto;
}
.best-practices-section .swiper-pagination-bullet {
    width: 11px;
    height: 11px;
    background: rgba(100,116,139,.45);
    opacity: 1;
    border-radius: 999px;
    display: inline-block;
    cursor: pointer;
    padding: 0;
    margin: 0;
    transition: background-color .2s ease, transform .2s ease;
    pointer-events: auto;
}
.best-practices-section .swiper-pagination-bullet-active {
    background: #e51d35;
    transform: scale(1.05);
}

/* fraction 全部移除：不再使用（真实 operator swiper pagination 是 bullets！） */
.best-practices-section .swiper-pagination-fraction { display: none !important; }
.best-practices-section .swiper-pagination-fraction .swiper-pagination-current,
.best-practices-section .swiper-pagination-fraction .swiper-pagination-total { display: none !important; }

/* ============ 4. .solution-section：110/110 → solution-list → solution-list-block 左右交替（奇图右文左/偶图左文右）============ */
.solution-section {
    width: 100%;
    padding: 110px 0;
    background: #fff;
    position: relative;
    overflow: hidden;
    display: block;
}
.solution-section .home-title-box {
    text-align: center;
    margin: 0 auto 0;
    position: relative;
    z-index: 2;
    display: block;
}
.solution-section .home-title-box .title {
    font-size: 44px;
    font-weight: 700;
    line-height: 66px;
    color: #000;
    margin: 0;
    letter-spacing: normal;
}
.solution-section .solution-list {
    width: 100%;
    position: relative;
    z-index: 2;
    display: block;
}
.solution-section .solution-list-block {
    width: 100%;
    height: 548px;
    min-height: 548px;
    position: relative;
    display: block;
    overflow: visible;
    margin: 0 0 0;
}
.solution-section .solution-list-block + .solution-list-block { margin-top: 110px; }
.solution-section .solution-list-block .edit-container.clearfix {
    width: 1648px;
    max-width: 94%;
    height: 548px;
    margin: 0 auto;
    display: block;
    position: relative;
    overflow: visible;
    zoom: 1;
}
.solution-section .solution-list-block:nth-child(odd) .edit-container.clearfix { height: 550px; }
.solution-section .solution-list-block:nth-child(even) .edit-container.clearfix { height: 548px; }

.solution-section .solution-list-block .img {
    width: 978px;
    height: 548px;
    max-width: 59%;
    overflow: hidden;
    display: block;
    background: transparent;
}
.solution-section .solution-list-block .img img {
    width: 978px;
    max-width: 100%;
    height: 548px;
    display: block;
    object-fit: fill;
    transition: transform .5s ease;
}
.solution-section .solution-list-block .img:hover img { transform: scale(1.04); }
.solution-section .solution-list-block .cont-inner {
    width: 617px;
    max-width: 37.5%;
    height: 308px;
    display: block;
    padding: 0;
    box-sizing: border-box;
    position: absolute;
    top: 44px;
    transform: translateY(30px);
}
.solution-section .solution-list-block.js-m.animate .cont-inner { transform: translateY(30px); }
/* 图左文右（even block 0/2/4） */
.solution-section .solution-list-block:nth-child(even) .img {
    float: left;
    height: 548px;
}
.solution-section .solution-list-block:nth-child(even) .edit-container.clearfix .cont-inner {
    right: 0;
    left: auto;
    float: none;
}
/* 图右文左（odd block 1/3） */
.solution-section .solution-list-block:nth-child(odd) .img {
    float: right;
    height: 550px;
}
.solution-section .solution-list-block:nth-child(odd) .edit-container.clearfix .cont-inner {
    left: 0;
    right: auto;
    float: none;
}
.solution-section .solution-list-block:nth-child(odd) .img img { height: 550px; }

.solution-section .solution-list-block .cont-inner .title {
    font-size: 35.2px;
    line-height: 52.8px;
    font-weight: 700;
    color: #000;
    margin: 0 0 0;
    max-width: none;
    letter-spacing: normal;
}
.solution-section .solution-list-block .cont-inner .cont {
    font-size: 19.8px;
    line-height: 35.64px;
    font-weight: 400;
    color: #000;
    margin: 16.5px 0 0;
    max-width: none;
    opacity: 1;
}
.solution-section .solution-list-block .cont-inner .more-btn {
    margin: 16.5px 0 0;
    padding: 0;
    pointer-events: auto;
    display: block;
}
.solution-section .solution-list-block .cont-inner .more-btn a {
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    height: 66px;
    width: 264px;
    min-width: 264px;
    padding: 0 0 0 93.2178px;
    box-sizing: border-box;
    font-size: 19.8px;
    line-height: 66px;
    font-weight: 400;
    color: #fff;
    background-image: url('../picture/tdef6a8f3_home-banner-btn-bg.webp');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% 100%;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    text-decoration: none;
    letter-spacing: normal;
    transition: filter .2s ease, transform .2s ease;
}
.solution-section .solution-list-block .cont-inner .more-btn a:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* ============ 5. js-m 通用 animate ============ */
.js-m {
    opacity: 0;
    transform: translate(0, -26px);
    transition: opacity .75s ease, transform .75s ease;
    will-change: opacity, transform;
}
.js-m.animate {
    opacity: 1;
    transform: translate(0, 0);
}
.js-m.delay1 { transition-delay: .08s; }
.js-m.delay2 { transition-delay: .22s; }
.js-m.delay3 { transition-delay: .36s; }
.js-m.delay4 { transition-delay: .50s; }

/* ============ 6. 992px 响应式 ============ */
@media (max-width: 992px) {
    .product-banner.solution-banner { height: 520px !important; min-height: 520px !important; }
    .product-banner.solution-banner > .hidden-xs { height: 520px !important; min-height: 520px !important; }
    .product-banner.solution-banner .edit-container { width: 94% !important; margin: 120px auto 0 !important; height: auto; }
    .product-banner.solution-banner .edit-container .title { font-size: 30px !important; line-height: 1.4 !important; }
    .product-banner.solution-banner .edit-container .cont { font-size: 16px !important; line-height: 1.8 !important; }
    .product-banner.solution-banner .edit-container .btn-box a,
    .product-banner.solution-banner .edit-container .btn-box a.case-banner-btn { width: 240px; min-width: 240px; height: 54px; font-size: 15px; }
    .best-practices-section, .solution-section { padding: 70px 0; }
    .best-practices-section .home-title-box .title, .solution-section .home-title-box .title { font-size: 30px; }
    .best-practices-section .best-practices-inner { height: auto; }
    .best-practices-section .best-practices-swiper.flex { width: 100% !important; max-width: 94%; height: auto; }
    .best-practices-section .best-practices-swiper .swiper-wrapper { flex-wrap: wrap; height: auto; gap: 20px; }
    .best-practices-section .best-practices-swiper .swiper-slide { width: 48%; height: 340px; }
    .best-practices-section .swiper-page { bottom: -20px; }
    .solution-section .solution-list-block { height: auto; min-height: 0; margin-bottom: 60px; }
    .solution-section .solution-list-block .edit-container.clearfix { width: 94% !important; height: auto !important; display: flex; flex-direction: column; gap: 24px; }
    .solution-section .solution-list-block .img,
    .solution-section .solution-list-block:nth-child(even) .img,
    .solution-section .solution-list-block:nth-child(odd) .img {
        float: none !important; width: 100% !important; max-width: 100% !important; height: 380px !important;
    }
    .solution-section .solution-list-block .img img,
    .solution-section .solution-list-block:nth-child(odd) .img img { width: 100% !important; height: 380px !important; }
    .solution-section .solution-list-block .cont-inner,
    .solution-section .solution-list-block:nth-child(even) .edit-container.clearfix .cont-inner,
    .solution-section .solution-list-block:nth-child(odd) .edit-container.clearfix .cont-inner {
        position: relative !important; left: auto !important; right: auto !important; top: auto !important; transform: none !important;
        width: 100% !important; max-width: 100% !important; height: auto !important;
    }
    .solution-section .solution-list-block .cont-inner .title { font-size: 26px !important; line-height: 1.4; margin-bottom: 16px; }
    .solution-section .solution-list-block .cont-inner .cont { font-size: 16px !important; line-height: 1.8; margin-bottom: 22px; }
    .solution-section .solution-list-block .cont-inner .more-btn a { width: 220px; min-width: 220px; height: 54px; font-size: 15px; }
}

/* ============ 7. 520px 响应式 ============ */
@media (max-width: 520px) {
    body { padding-top: 40px !important; }
    .product-banner.solution-banner { height: 380px !important; min-height: 380px !important; }
    .product-banner.solution-banner > .hidden-xs { display: none !important; }
    .product-banner.solution-banner > .visible-xs { display: block !important; width: 100% !important; height: 380px !important; min-height: 380px !important; }
    .product-banner.solution-banner .edit-container { margin: 120px auto 0 !important; }
    .product-banner.solution-banner .edit-container .title { font-size: 22px !important; line-height: 1.4; margin-bottom: 12px; }
    .product-banner.solution-banner .edit-container .cont { font-size: 13px !important; line-height: 1.8; margin-bottom: 20px; }
    .product-banner.solution-banner .edit-container .btn-box { margin-top: 14px !important; }
    .product-banner.solution-banner .edit-container .btn-box a,
    .product-banner.solution-banner .edit-container .btn-box a.case-banner-btn { width: 170px; min-width: 170px; height: 42px; font-size: 12px; }
    .page-cr { padding: 12px 0 !important; }
    .best-practices-section, .solution-section { padding: 50px 0; }
    .best-practices-section .home-title-box .title, .solution-section .home-title-box .title { font-size: 24px; }
    .best-practices-section .best-practices-swiper .swiper-wrapper { flex-direction: column; gap: 18px; }
    .best-practices-section .best-practices-swiper .swiper-slide { width: 100% !important; height: 300px; }
    .best-practices-section .best-practices-swiper .swiper-slide .text .title { font-size: 17px; }
    .best-practices-section .swiper-page { bottom: -10px; }
    .solution-section .solution-list-block .img { height: 260px !important; }
    .solution-section .solution-list-block .img img { height: 260px !important; }
    .solution-section .solution-list-block .cont-inner .title { font-size: 20px !important; line-height: 1.45; }
    .solution-section .solution-list-block .cont-inner .cont { font-size: 13px !important; line-height: 1.8; }
    .solution-section .solution-list-block .cont-inner .more-btn a { width: 170px; min-width: 170px; height: 42px; font-size: 12px; }
}


/* c480c7 */
[data-98c] {
    will-change: transform;
}
::selection {
    scroll-behavior: auto;
}
html {
    scroll-behavior: auto;
}
