:root {
    --dl-primary: #2b6cff;
    --dl-primary-2: #3b7bff;
    --dl-ink: #1f2533;
    --dl-sub: #6b7488;
    --dl-muted: #97a0b3;
    --dl-line: rgba(20, 40, 90, 0.08);
    --dl-bg-soft: #f5f8ff;
    --dl-radius: 16px;
    --dl-shadow: 0 12px 32px rgba(20, 40, 90, 0.08);
    --dl-shadow-hover: 0 22px 46px rgba(20, 40, 90, 0.14);
    --dl-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

/* 滚动渐入：进入视口时从下往上淡入（仅触发一次）。
   隐藏初态仅在 JS 就绪（body.dl-anim-ready）后生效，
   脚本缺失/缓存旧版时内容保持可见，避免被永久隐藏。 */
.dl-anim-ready .dl-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.dl-anim-ready .dl-reveal.is-visible {
    opacity: 1;
    transform: none;
}

/* 各区块统一内边距 */
.dianle-section > .dianle-width {
    padding-left: 24px;
    padding-right: 24px;
}

/* 各区块统一标题 */
.dianle-section .dianle-title span {
    font-size: 32px;
    color: var(--dl-ink);
}

.dianle-section .dianle-title p {
    font-size: 15px;
    color: var(--dl-muted);
    margin-top: 4px;
}


/* ========================= Hero ========================= */
.dianle-hero {
    position: relative;
    padding: 80px 0 60px;
    overflow: hidden;
    background:
        radial-gradient(1200px 480px at 16% -12%, rgba(74, 140, 255, 0.18), transparent 60%),
        radial-gradient(900px 420px at 102% -4%, rgba(120, 190, 255, 0.22), transparent 55%),
        linear-gradient(180deg, #eaf2ff 0%, #f5f9ff 58%, #ffffff 100%);
}

.dianle-hero-grid {
    display: grid;
    grid-template-columns: 248px 1fr;
    gap: 20px;
    align-items: stretch;
}

/* 左侧：轮播面包屑 */
.dianle-hero-side {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid var(--dl-line);
    border-radius: var(--dl-radius);
    padding: 14px 14px 44px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 10px 30px rgba(20, 40, 90, 0.05);
}

.dianle-hero-cat {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 16px;
    border-radius: 13px;
    color: var(--dl-ink);
    border: 1px solid transparent;
    transition: background 0.25s var(--dl-ease), border-color 0.25s ease, box-shadow 0.25s ease;
    cursor: pointer;
}

.dianle-hero-cat .dianle-cat-main {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.dianle-hero-cat .dianle-cat-main b {
    font-size: 16px;
    font-weight: 400;
    color: var(--dl-ink);
}

.dianle-hero-cat .dianle-cat-main i {
    font-size: 12px;
    font-style: normal;
    color: var(--dl-muted);
}

.dianle-hero-cat .dianle-cat-arrow {
    margin-left: auto;
    color: var(--dl-muted);
    font-style: normal;
    font-size: 20px;
    line-height: 1;
    transition: transform 0.25s var(--dl-ease);
}

.dianle-hero-cat:hover {
    background: linear-gradient(135deg, #f1f5ff, #e6efff);
}

.dianle-hero-cat:hover .dianle-cat-arrow {
    transform: translateX(4px);
    color: var(--dl-primary);
}

.dianle-hero-cat.is-active {
    background: linear-gradient(135deg, #eaf1ff, #dbe7ff);
    border-color: rgba(43, 108, 255, 0.28);
    box-shadow: 0 10px 22px rgba(43, 108, 255, 0.12);
}

.dianle-hero-cat.is-active .dianle-cat-main b {
    color: var(--dl-primary);
}

.dianle-hero-cat.is-active .dianle-cat-arrow {
    color: var(--dl-primary);
}

/* 左侧底部促销块 */
.dianle-side-promo {
    margin-top: auto;
    border-radius: 13px;
    padding: 18px 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    background: linear-gradient(150deg, #2b6cff 0%, #5aa0ff 100%);
    color: #fff;
}

.dianle-side-promo span {
    font-size: 12px;
    opacity: 0.9;
}

.dianle-side-promo b {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4;
}

.dianle-side-promo a {
    margin-top: 6px;
    align-self: flex-start;
    padding: 7px 16px;
    border-radius: 8px;
    font-size: 13px;
    color: var(--dl-primary);
    background: #fff;
    transition: transform 0.2s ease;
}

.dianle-side-promo a:hover {
    transform: translateY(-2px);
}

/* 中间 Banner（自定义交叉淡入淡出） */
.dianle-hero-stage {
    position: relative;
    min-height: 360px;
}

.dianle-banner {
    position: relative;
    height: 100%;
    min-height: 360px;
    border: 1px solid var(--dl-line);
    border-radius: var(--dl-radius);
    background:
        radial-gradient(520px 320px at 88% 30%, rgba(91, 160, 255, 0.16), transparent 70%),
        linear-gradient(120deg, #ffffff 0%, #eef5ff 100%);
    overflow: hidden;
}

.dianle-bslide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 56px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s ease;
    z-index: 1;
}

.dianle-bslide.is-active {
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

.dianle-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 52%;
    display: flex;
    flex-direction: column;
    gap: 18px;
    /* 内容整体上移，让按钮与下方卡片货架留出空隙 */
    padding-bottom: 40px;
}

.dianle-hero-badge {
    width: fit-content;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 13px;
    color: var(--dl-primary);
    background: rgba(43, 108, 255, 0.1);
}

.dianle-hero-title {
    font-size: 40px;
    line-height: 1.25;
    color: var(--dl-ink);
    font-weight: 400;
}

.dianle-hero-title em {
    font-style: normal;
    background: linear-gradient(120deg, #2b6cff, #5aa0ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.dianle-hero-desc {
    font-size: 15px;
    color: var(--dl-sub);
    line-height: 1.8;
    max-width: 430px;
}

.dianle-hero-cta {
    display: flex;
    gap: 14px;
    margin-top: 18px;
}

.dianle-btn-primary,
.dianle-btn-ghost {
    height: 46px;
    line-height: 46px;
    padding: 0 26px;
    border-radius: 10px;
    font-size: 15px;
}

.dianle-btn-primary {
    background: linear-gradient(135deg, var(--dl-primary-2), var(--dl-primary));
    color: #fff;
    box-shadow: 0 12px 24px rgba(43, 108, 255, 0.3);
}

.dianle-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 30px rgba(43, 108, 255, 0.42);
}

.dianle-btn-ghost {
    background: #fff;
    color: var(--dl-ink);
    border: 1px solid var(--dl-line);
}

.dianle-btn-ghost:hover {
    color: var(--dl-primary);
    border-color: rgba(43, 108, 255, 0.4);
}

/* 加宽主按钮：文字居左、箭头居右 */
.dianle-btn-wide {
    width: 100%;
    max-width: 360px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 28px;
}

.dianle-btn-wide .dianle-btn-arrow {
    font-style: normal;
    font-size: 18px;
    line-height: 1;
    transition: transform 0.25s var(--dl-ease);
}

.dianle-btn-wide:hover .dianle-btn-arrow {
    transform: translateX(5px);
}

.dianle-hero-art {
    position: relative;
    z-index: 1;
    width: 42%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dianle-hero-art img {
    width: 100%;
    max-width: 360px;
    object-fit: contain;
    filter: drop-shadow(0 24px 40px rgba(43, 108, 255, 0.22));
    animation: dianleFloat 6s ease-in-out infinite;
}

@keyframes dianleFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-14px); }
}

/* 推广卡片条：上浮叠加在 Banner 底部的卡片货架 */
.dianle-hero-promos {
    position: relative;
    z-index: 5;
    margin-top: -34px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border: 1px solid var(--dl-line);
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(20, 40, 90, 0.1);
    overflow: hidden;
}

.dianle-promo {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 22px;
    border-right: 1px solid var(--dl-line);
    transition: background 0.25s ease;
}

.dianle-promo:last-child {
    border-right: none;
}

.dianle-promo:hover {
    background: #f6f9ff;
}

.dianle-promo-ico {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #eef3ff, #dde9ff);
    color: var(--dl-primary);
    flex-shrink: 0;
}

.dianle-promo-ico svg {
    width: 24px;
    height: 24px;
}

.dianle-promo-txt {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 0;
}

.dianle-promo-txt b {
    color: var(--dl-ink);
    font-size: 15px;
    font-weight: 400;
}

.dianle-promo-txt i {
    color: var(--dl-muted);
    font-size: 12px;
    font-style: normal;
}

.dianle-promo-arrow {
    color: var(--dl-muted);
    font-style: normal;
    transition: transform 0.25s var(--dl-ease), color 0.25s ease;
}

.dianle-promo:hover .dianle-promo-arrow {
    transform: translateX(4px);
    color: var(--dl-primary);
}


/* ========================= 性能体验 ========================= */
.dianle-performance {
    padding: 60px 0;
    background: #f2f6fc;
    height: 400px;
    position: relative;
    overflow: hidden;
}

.dianle-performance::after {
    content: "";
    position: absolute;
    left: -8%;
    top: 50%;
    transform: translateY(-50%);
    width: 400px;
    height: 400px;
    background: url('/web/dianle/image/index/back1.webp') no-repeat center;
    background-size: cover;
}

.dianle-performance::before {
    content: "";
    position: absolute;
    right: -11.5%;
    top: 70%;
    transform: translateY(-50%);
    width: 400px;
    height: 400px;
    background: url('/web/dianle/image/index/back2.webp') no-repeat center;
    background-size: cover;
}

.dianle-performance .dianle-width {
    height: 100%;
}

.dianle-performance .dianle-content {
    display: flex;
    justify-content: space-between;
    height: 100%;
    align-items: center;
}

.dianle-performance .dianle-content .dianle-title {
    text-align: left;
    width: 50%;
}

.dianle-performance .dianle-content .dianle-right {
    position: relative;
    display: flex;
    width: 50%;
}

.dianle-performance .dianle-content .dianle-right .dianle-item {
    padding: 20px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    position: absolute;
    box-shadow: 0 14px 30px rgba(20, 40, 90, 0.08);
    background: #fff;
}

.dianle-performance .dianle-content .dianle-right .dianle-item:nth-of-type(1) {
    color: #FFBC45;
    right: 300px;
}

.dianle-performance .dianle-content .dianle-right .dianle-item:nth-of-type(2) {
    color: var(--dl-primary);
    right: 200px;
    top: -120px;
}

.dianle-performance .dianle-content .dianle-right .dianle-item:nth-of-type(3) {
    color: #13C395;
    right: 60px;
    top: -30px;
}

.dianle-performance .dianle-content .dianle-right .dianle-item span {
    font-size: 34px;
}

.dianle-performance .dianle-content .dianle-right .dianle-item span i {
    font-size: 13px;
    font-style: inherit;
}

.dianle-performance .dianle-content .dianle-right .dianle-item p {
    color: #3D3D3D;
    display: flex;
    align-items: center;
    gap: 5px;
}

.dianle-performance .dianle-content .dianle-right .dianle-item p img {
    width: 15px;
    height: 15px;
    object-fit: contain;
}


/* ========================= 优势卡片 ========================= */
.dianle-card .dianle-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    position: relative;
    top: -60px;
}

.dianle-card .dianle-content .dianle-item {
    padding: 16px;
    border-radius: var(--dl-radius);
    background-color: #fff;
    display: flex;
    flex-direction: column;
    gap: 15px;
    border: 1px solid var(--dl-line);
    box-shadow: 0 12px 36px rgba(20, 30, 62, 0.06);
}

.dianle-card .dianle-content .dianle-item:hover {
    transform: translateY(-6px);
    box-shadow: var(--dl-shadow-hover);
}

.dianle-card .dianle-content .dianle-item img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
}

.dianle-card .dianle-content .dianle-item span {
    color: var(--dl-ink);
    font-size: 20px;
    padding: 0 6px;
}

.dianle-card .dianle-content .dianle-item p {
    color: var(--dl-sub);
    font-size: 13px;
    line-height: 1.8;
    padding: 0 6px 8px;
}


/* ========================= 信赖横幅 ========================= */
.dianle-background-image .dianle-content {
    background: url("/web/dianle/image/index/backgroud-image.webp") no-repeat center;
    background-size: cover;
    height: 350px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 50px 100px;
    justify-content: center;
}

.dianle-background-image .dianle-content span {
    color: #fff;
    font-size: 34px;
}

.dianle-background-image .dianle-content p {
    color: #cdd6e6;
    font-size: 14px;
}


/* ========================= 基础设施建设 ========================= */
.dianle-expand {
    padding: 80px 0 60px;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%);
}

.dianle-expand .dianle-title {
    text-align: center;
}

.dianle-expand .dianle-content {
    position: relative;
    margin-top: 28px;
    height: 520px;
    background: url("/web/dianle/image/index/map.webp") no-repeat right center;
    background-size: contain;
}

/* 左侧数据指标 */
.dianle-expand .dianle-stats {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    display: grid;
    grid-template-columns: repeat(3, auto);
    column-gap: 56px;
    row-gap: 48px;
    z-index: 2;
}

.dianle-expand .dianle-stat span {
    display: block;
    font-size: 52px;
    line-height: 1;
    color: var(--dl-primary);
    letter-spacing: 1px;
}

.dianle-expand .dianle-stat span i {
    font-size: 28px;
    font-style: normal;
}

.dianle-expand .dianle-stat p {
    margin-top: 12px;
    font-size: 14px;
    color: var(--dl-sub);
}

/* 地图上的装饰光点 */
.dianle-expand .dianle-map-dot {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--dl-primary);
    box-shadow: 0 0 0 6px rgba(43, 108, 255, 0.14);
    z-index: 1;
    animation: dianlePulse 2.6s ease-in-out infinite;
}

.dianle-expand .dianle-map-dot.is-green {
    background: #13C395;
    box-shadow: 0 0 0 6px rgba(19, 195, 149, 0.16);
}

.dianle-expand .dianle-dot1 { right: 30%; top: 30%; animation-delay: 0s; }
.dianle-expand .dianle-dot2 { right: 18%; top: 42%; animation-delay: 0.4s; }
.dianle-expand .dianle-dot3 { right: 24%; top: 60%; animation-delay: 0.8s; }
.dianle-expand .dianle-dot4 { right: 9%; top: 36%; animation-delay: 1.2s; }
.dianle-expand .dianle-dot5 { right: 13%; top: 66%; animation-delay: 1.6s; }
.dianle-expand .dianle-dot6 { right: 6%; top: 52%; animation-delay: 2s; }

@keyframes dianlePulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.25); opacity: 0.75; }
}


/* ===================== 手机端适配 ===================== */
@media screen and (max-width: 768px) {
    .dianle-section > .dianle-width {
        padding-left: 16px;
        padding-right: 16px;
    }

    .dianle-section .dianle-title span {
        font-size: 24px;
    }

    /* Hero */
    .dianle-hero {
        padding: 76px 0 36px;
    }

    .dianle-hero-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    /* 移动端隐藏侧边分类，优先呈现主 Banner */
    .dianle-hero-side {
        display: none;
    }

    .dianle-hero-stage {
        min-height: 340px;
    }

    .dianle-banner {
        min-height: 340px;
    }

    .dianle-bslide {
        padding: 30px 22px;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
    }

    .dianle-hero-copy {
        max-width: 100%;
        width: 100%;
    }

    .dianle-hero-title {
        font-size: 27px;
    }

    .dianle-hero-desc {
        font-size: 13px;
        max-width: 100%;
    }

    .dianle-btn-primary,
    .dianle-btn-ghost {
        height: 42px;
        line-height: 42px;
        padding: 0 20px;
        font-size: 14px;
    }

    /* 移动端插画淡化为背景，避免遮挡文字 */
    .dianle-hero-art {
        position: absolute;
        right: -16px;
        bottom: 8px;
        width: 150px;
        opacity: 0.28;
        z-index: 0;
    }


    .dianle-promo {
        padding: 14px;
        gap: 10px;
    }

    .dianle-promo-ico {
        width: 40px;
        height: 40px;
    }

    .dianle-promo-arrow {
        display: none;
    }

    .dianle-promo-txt b,
    .dianle-promo-txt i {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }

    /* 性能体验：取消绝对定位，改为竖向堆叠 */
    .dianle-performance {
        height: auto;
        padding: 44px 0;
    }

    .dianle-performance::after,
    .dianle-performance::before {
        display: none;
    }

    .dianle-performance .dianle-content {
        flex-direction: column;
        height: auto;
        gap: 28px;
        align-items: stretch;
    }

    .dianle-performance .dianle-content .dianle-title {
        width: 100%;
        text-align: center;
    }

    .dianle-performance .dianle-content .dianle-right {
        width: 100%;
        position: static;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
    }

    .dianle-performance .dianle-content .dianle-right .dianle-item {
        position: static;
        right: auto !important;
        top: auto !important;
        padding: 16px 10px;
        align-items: center;
        text-align: center;
    }

    .dianle-performance .dianle-content .dianle-right .dianle-item span {
        font-size: 24px;
    }

    .dianle-performance .dianle-content .dianle-right .dianle-item p {
        font-size: 12px;
        justify-content: center;
    }

    /* 优势卡片 */
    .dianle-card .dianle-content {
        grid-template-columns: 1fr;
        gap: 16px;
        top: 0;
        margin-top: 24px;
    }

    .dianle-card .dianle-content .dianle-item img {
        height: 180px;
    }

    /* 信赖横幅 */
    .dianle-background-image .dianle-content {
        height: auto;
        min-height: 220px;
        padding: 36px 24px;
        border-radius: 14px;
        gap: 16px;
        text-align: center;
        align-items: center;
    }

    .dianle-background-image .dianle-content span {
        font-size: 22px;
    }

    /* 基础设施建设 */
    .dianle-expand {
        padding: 44px 0;
    }

    .dianle-expand .dianle-content {
        height: auto;
        margin-top: 24px;
        background-position: center top;
        background-size: contain;
        padding-top: 180px;
    }

    .dianle-expand .dianle-stats {
        position: static;
        transform: none;
        grid-template-columns: repeat(3, 1fr);
        column-gap: 12px;
        row-gap: 28px;
        text-align: center;
    }

    .dianle-expand .dianle-stat span {
        font-size: 32px;
    }

    .dianle-expand .dianle-stat span i {
        font-size: 18px;
    }

    .dianle-expand .dianle-stat p {
        font-size: 12px;
        margin-top: 6px;
    }

    .dianle-expand .dianle-map-dot {
        display: none;
    }

    /* Hero 货架移动端改为两列卡片 */
    .dianle-hero-promos {
        grid-template-columns: 1fr 1fr;
        margin-top: 16px;
        border-radius: 14px;
    }

    .dianle-promo:nth-child(2) {
        border-right: none;
    }

    .dianle-promo:nth-child(1),
    .dianle-promo:nth-child(2) {
        border-bottom: 1px solid var(--dl-line);
    }
}
