.m-feature-scroll {
    --feature-scroll-height: 7.75rem;
    --feature-item-height: 1.55rem;
    --feature-active-extra: .42rem;
    --feature-active-half: .21rem;
    --feature-active-quarter: .105rem;
    position: relative;
    z-index: 2;
    max-width: 10.1rem;
    margin: 0 auto;
    padding: 2.12rem 0 .96rem;
}

.feature-scroll {
    position: relative;
    z-index: 2;
    height: var(--feature-scroll-height);
    overflow: hidden;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.feature-scroll::-webkit-scrollbar {
    display: none;
}

.feature-scroll-lines {
    position: absolute;
    z-index: 3;
    left: 0;
    right: 0;
    top: 2.12rem;
    height: var(--feature-scroll-height);
    pointer-events: none;
}

.feature-scroll-lines i {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(255, 255, 255, .16);
}

.feature-scroll-lines i:nth-child(1) {
    top: 0;
}

.feature-scroll-lines i:nth-child(2) {
    top: var(--feature-item-height);
}

.feature-scroll-lines i:nth-child(3) {
    top: calc(var(--feature-item-height) * 2 - var(--feature-active-half));
}

.feature-scroll-lines i:nth-child(4) {
    top: calc(var(--feature-item-height) * 3 + var(--feature-active-half));
}

.feature-scroll-lines i:nth-child(5) {
    top: calc(var(--feature-item-height) * 4);
}

.feature-scroll-lines i:nth-child(6) {
    bottom: 0;
}

.feature-item {
    flex: 0 0 var(--feature-item-height);
    height: var(--feature-item-height);
    min-height: 0;
    position: relative;
    overflow: visible;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    z-index: 1;
    transition: opacity .24s ease, transform .36s cubic-bezier(.22, 1, .36, 1);
}

.feature-item .con {
    width: 100%;
    padding: .12rem .3rem;
    min-height: var(--feature-item-height);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: min-height .36s cubic-bezier(.22, 1, .36, 1),
                transform .36s cubic-bezier(.22, 1, .36, 1);
}

.feature-item .tit {
    font-size: var(--fz28);
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: .02rem;
    color: rgba(255, 255, 255, .42);
    transition: color .28s ease, transform .28s ease;
    transform: scale(.9);
}

.feature-item .desc {
    max-width: 8.7rem;
    margin: 0 auto;
    font-size: var(--fz18);
    line-height: 1.55;
    letter-spacing: .02rem;
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transform: translateY(.08rem);
    max-height: 0;
    overflow: hidden;
    transition: opacity .28s ease,
                transform .36s cubic-bezier(.22, 1, .36, 1),
                max-height .36s cubic-bezier(.22, 1, .36, 1),
                margin .36s cubic-bezier(.22, 1, .36, 1),
                visibility 0s linear .36s;
    pointer-events: none;
}

.feature-item.swiper-slide-active {
    z-index: 2;
}

.feature-item.swiper-slide-active .con {
    min-height: calc(var(--feature-item-height) + var(--feature-active-extra));
}

/* 中央区域加高后，将紧邻的两项移到各自横线区域的视觉中心。 */
.feature-item.swiper-slide-prev {
    transform: translateY(calc(-1 * var(--feature-active-quarter)));
}

.feature-item.swiper-slide-next {
    transform: translateY(var(--feature-active-quarter));
}

.feature-item.swiper-slide-active .tit {
    color: #fff;
    transform: scale(1.2);
}

.feature-item.swiper-slide-active .desc {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    max-height: 1.2rem;
    margin-top: .12rem;
    transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
    .feature-item,
    .feature-item .con,
    .feature-item .tit,
    .feature-item .desc {
        transition-duration: .01ms !important;
    }

    .feature-scroll {
        scroll-behavior: auto;
    }
}

@media screen and (max-width: 1199px) {
    .m-feature-scroll {
        --feature-scroll-height: 7rem;
        --feature-item-height: 1.4rem;
        --feature-active-extra: .34rem;
        --feature-active-half: .17rem;
        --feature-active-quarter: .085rem;
        padding: .6rem 0;
        max-width: 90%;
    }

    .feature-scroll-lines {
        top: .6rem;
    }

    .feature-item .con {
        padding: .1rem .2rem;
    }

    .feature-item .desc {
        max-width: 100%;
        line-height: 1.5;
        letter-spacing: 0;
    }
}

@media screen and (max-width: 959px) {
    .m-feature-scroll {
        --feature-scroll-height: 10rem;
        --feature-item-height: 2.0rem;
        --feature-active-extra: .7rem;
        --feature-active-half: .35rem;
        --feature-active-quarter: .175rem;
    }

    .feature-item.swiper-slide-active .tit {
        transform: scale(1.1);
    }

    .feature-item.swiper-slide-active .desc {
        max-height: 2.0rem;
        margin-top: .08rem;
    }
}
