@font-face {
    font-family: 'Manrope-Bold';
    src: url("../font/manrope-bold.ttf");
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Manrope-Regular';
    src: url("../font/manrope-regular.ttf");
    font-weight: normal;
    font-style: normal;
}
.img {
    position: relative;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.pic {
    position: relative;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

    .img img, .pic img {
        max-width: 100%;
        max-height: 100%;
        margin: auto;
        padding: 0;
        border: 0;
        width: 100%;
        height: auto;
        border: none;
    }

.img-block {
    display: block;
    width: 100%;
    height: auto;
}
.font12 {
    font-size: 12px;
}

.font14 {
    font-size: 14px;
}

.font40 {
    font-size: 40px;
}

.font60 {
    font-size: 60px;
}


.index-banner-swiper {
    width: 100%;
    height: 100%;
    position: relative;
}

.index-banner-item {
    position: relative;
    overflow: hidden;
}

    .index-banner-item a::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        background: url("../images/banner_bg.png");
        opacity: 0.7;
        z-index: 10;
    }

    .index-banner-item .text {
        position: absolute;
        width: 100%;
        top: 50%;
        transform: translateY(-50%);
        z-index: 11;
        color: #fff;
        text-align: center;
    }

    .index-banner-item .title-1 {
        font-family: 'Manrope-Bold';
        line-height: 70px;
    }

    .index-banner-item .title-2 {
        margin-top: 1%;
    }

/* ===== 标题入场动画 ===== */
.index-banner-swiper .swiper-slide .title-1,
.index-banner-swiper .swiper-slide .title-2 {
    opacity: 0;
    transform: translateY(-60px);
    transition: opacity .8s linear, transform .8s cubic-bezier(.215, .61, .355, 1);
}

.index-banner-swiper .swiper-slide .title-2 {
    transition-delay: .4s;
}

.index-banner-swiper .swiper-slide-active .title-1,
.index-banner-swiper .swiper-slide-active .title-2 {
    transform: translateY(0px);
    opacity: 1;
}

/* ===== 控制栏 ===== */
.swiper-ctrl {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 5%;
    z-index: 11;
    font-size: 0;
    text-align: center;
}

/* ===== 左侧分页 ===== */
.left-pagination {
    position: absolute;
    left: 9%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 11;
}

.index-banner-swiper .banner-pagination {
    text-align: center;
    left: auto;
    bottom: auto !important;
    right: auto !important;
    left: auto !important;
    width: auto;
    color: #fff;
    transform: none;
    position: relative;
}

    .index-banner-swiper .banner-pagination span {
        opacity: 1;
        margin: 0 3px !important;
        position: relative;
        width: 32px;
        height: 32px;
        background: transparent;
        display: inline-block;
        vertical-align: middle;
    }

        .index-banner-swiper .banner-pagination span::before {
            content: '';
            width: 5px;
            height: 5px;
            position: absolute;
            left: 50%;
            top: 50%;
            border-radius: 100%;
            transform: translate(-50%, -50%);
            background: #fff;
            transition: all .4s ease;
            opacity: .5;
        }

        .index-banner-swiper .banner-pagination span::after {
            content: '';
            width: 27px;
            height: 27px;
            position: absolute;
            left: 50%;
            top: 50%;
            border-radius: 100%;
            transform: translate(-50%, -50%);
            z-index: 1;
            border: 2px solid rgba(255, 255, 255, .5);
            opacity: 0;
            transition: all .4s ease;
        }

        .index-banner-swiper .banner-pagination span.swiper-pagination-bullet-active::before {
            background: #fff !important;
            opacity: 1;
        }

        .index-banner-swiper .banner-pagination span.swiper-pagination-bullet-active::after {
            opacity: 1;
        }

        .index-banner-swiper .banner-pagination span.swiper-pagination-bullet-active .content {
            opacity: 1;
        }

        /* ===== 圆形进度动画 ===== */
        .index-banner-swiper .banner-pagination span .content {
            position: absolute;
            top: 0;
            width: 50%;
            height: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
            opacity: 0;
            transition: all .4s ease;
            z-index: 11;
        }

        .index-banner-swiper .banner-pagination span .left {
            left: 0;
        }

        .index-banner-swiper .banner-pagination span .right {
            right: 0;
        }

        .index-banner-swiper .banner-pagination span .circle {
            position: absolute;
            margin: 0;
            width: 32px;
            height: 32px;
            border-radius: 50%;
            border: 2px solid transparent;
            transform: rotate(135deg);
            box-sizing: border-box;
        }

        .index-banner-swiper .banner-pagination span .left-circle {
            left: 0;
            border-top-color: #fff;
            border-left-color: #fff;
        }

        .index-banner-swiper .banner-pagination span .right-circle {
            right: 0;
            border-bottom-color: #fff;
            border-right-color: #fff;
        }

        .index-banner-swiper .banner-pagination span.swiper-pagination-bullet-active .left-circle {
            animation: circleleft 4s linear forwards;
        }

        .index-banner-swiper .banner-pagination span.swiper-pagination-bullet-active .right-circle {
            animation: circleright 4s linear forwards;
        }

@keyframes circleright {
    0% {
        transform: rotate(135deg);
    }

    50%, 100% {
        transform: rotate(315deg);
    }
}

@keyframes circleleft {
    0%, 50% {
        transform: rotate(135deg);
    }

    100% {
        transform: rotate(315deg);
    }
}

/* ===== Scroll Down 提示 ===== */
.scroll-center {
    margin: auto;
    text-align: center;
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

    .scroll-center .scroll-1 {
        font-family: 'Manrope-Bold';
        text-transform: uppercase;
        color: #fff;
        position: relative;
    }

        .scroll-center .scroll-1::before {
            content: '';
            width: 1px;
            height: 40px;
            background: #fff;
            position: absolute;
            left: 50%;
            top: -55px;
            opacity: .5;
        }

        .scroll-center .scroll-1::after {
            content: '';
            width: 1px;
            height: 20px;
            background: #fff;
            position: absolute;
            left: 50%;
            top: -55px;
            opacity: 1;
            z-index: 11;
        }

/* ===== 页码与翻页按钮 ===== */
.number-prevnext {
    text-align: center;
    position: absolute;
    font-size: 0;
    right: 9%;
    top: 50%;
    margin-top: -12.5px;
}

    .number-prevnext .number-1 {
        display: inline-block;
        vertical-align: middle;
        font-family: 'Manrope-Bold';
        text-transform: uppercase;
        color: #fff;
        margin-right: 10px;
    }

.swiper-banner-prev, .swiper-banner-next {
    width: 10px;
    height: 17px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 28px;
    cursor: pointer;
}

    .swiper-banner-prev:hover, .swiper-banner-next:hover {
        opacity: .5;
    }

.swiper-banner-prev {
    background: url("../images/l1.png") center no-repeat;
    background-size: 100%;
}

.swiper-banner-next {
    background: url("../images/r1.png") center no-repeat;
    background-size: 100%;
}

/* ===== 提取自 fonts.css：响应式字号 ===== */
@media screen and (max-width: 1680px) {
    .font14 {
        font-size: 13px;
    }

    .font40 {
        font-size: 30px;
    }

    .font60 {
        font-size: 50px;
    }
}

@media screen and (max-width: 1440px) {
    .font14 {
        font-size: 12px;
    }

    .font40 {
        font-size: 29px;
    }

    .font60 {
        font-size: 36px;
    }
}

@media screen and (max-width: 1366px) {
    .font40 {
        font-size: 28px;
    }

    .font60 {
        font-size: 35px;
    }
}

/* ===== 提取自 style.css：Banner 响应式 ===== */
@media screen and (max-width: 1440px) {
    .index-banner-item .title-1 {
        line-height: 40px;
    }

    .number-prevnext {
        margin-top: -11.5px;
    }
}

@media screen and (max-width: 980px) {
    .number-prevnext, .scroll-center, .left-pagination::before {
        display: none;
    }

    .left-pagination {
        left: 0;
        width: 100%;
    }
}

.banner-page {
    width: 100%;
    height: 100vh;
    position: relative;
}
/* Banner 高度自适应视口（覆盖内联 970px） */
.index-banner-item {
    height: 100vh !important;
}

    .index-banner-item .img .img-block {
        height: 100vh !important;
    }
    /* 视频层确保覆盖 */
    .index-banner-item .video video {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
    }
/* 控制栏位置微调 */
.swiper-ctrl {
    bottom: 10%;
}
/* 移动端适配补充 */
@media screen and (max-width: 980px) {
    .left-pagination .rline {
        display: none;
    }
}
