* {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

body {
    font-family: "Microsoft YaHei", Arial, sans-serif;
    color: #1d2b45;
    background: #fff
}

a {
    text-decoration: none;
    color: inherit
}

.top {
    height: 112px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 96px;
    background: #fff
}

.logo h1 {
    font-size: 25px;
    color: #092656;
    font-weight: 800
}

.logo p {
    font-size: 12px;
    color: #496282;
    margin-top: 9px;
    letter-spacing: .2px
}

.nav {
    display: flex;
    gap: 54px;
    font-size: 19px;
    color: #071f4d
}

.nav a {
    height: 112px;
    display: flex;
    align-items: center;
    position: relative
}

.nav a.active {
    color: #0b3f9c
}

.nav a.active:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 22px;
    height: 4px;
    background: #184da8;
    border-radius: 3px
}

.banner {
    height: 194px;
}
.banner-about{
    background: url('../images/about-img/about-bg.jpg') center/cover no-repeat
}
.banner-products{
    background: url('../images/products-img/products-bg.jpg') center/cover no-repeat;
}
.banner-serve{
    background: url('../images/serve-img//serve-bg.jpg') center/cover no-repeat;
}
.banner-compliance{
    background: url('../images/compliance-img/compliance-bg.jpg') center/cover no-repeat;
}
.banner-contact{
    background: url('../images//contact-img/contact-bg.jpg') center/cover no-repeat;
}


.banner .inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-left: 100px;
    color: white
}

.banner h2 {
    font-size: 46px;
    line-height: 1;
    font-weight: 800
}

.banner p {
    font-size: 27px;
    margin-top: 22px
}

.hero {
    /* height: 720px;
    background: url('../images/hero.svg') center/cover no-repeat; */
    text-align: center;
    position: relative;
    overflow: hidden
}

.hero h2 {
    position: relative;
    padding-top: 94px;
    font-size: 54px;
    color: #082a60;
    font-weight: 900
}

.hero h2 span {
    font-size: 34px
}

.hero .sub {
    position: relative;
    margin-top: 24px;
    font-size: 21px;
    color: #092f67;
    font-weight: 700
}

.quick {
    position: relative;
    margin: 138px auto 0;
    display: grid;
    grid-template-columns: repeat(3, 240px);
    gap: 22px;
    justify-content: center
}

.quick .q {
    height: 86px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(13, 67, 142, .18);
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 0 24px;
    text-align: left
}

.ico {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: #3a77e8;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    flex: 0 0 auto
}

.q b {
    display: block;
    font-size: 18px;
    color: #102a54
}

.q small {
    display: block;
    font-size: 14px;
    color: #6a7890;
    margin-top: 5px
}

.container {
    max-width: 1760px;
    margin: 0 auto;
    padding: 56px 56px
}

.section-title {
    text-align: center;
    font-size: 30px;
    color: #092656;
    font-weight: 900;
    margin: 0 0 28px
}

.section-title:before,
.section-title:after {
    content: "";
    display: inline-block;
    width: 58px;
    height: 2px;
    background: #2e77e5;
    vertical-align: middle;
    margin: 0 22px
}

.muted {
    text-align: center;
    color: #8190a8;
    margin-top: -16px;
    margin-bottom: 35px
}

.cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px
}

.product {
    /* height: 421px; */
    border-radius: 10px;
    /* padding: 38px 48px; */
    position: relative;
    overflow: hidden;
    /* background: linear-gradient(135deg, #effaff, #eaf5ff) */
}

.product:nth-child(2) {
    /* background: linear-gradient(135deg, #fff8e8, #fff1dc) */
}

.product h3 {
    font-size: 30px;
    color: #092656;
    margin-bottom: 25px
}

.product:nth-child(2) h3 {
    color: #884411
}

.product li {
    list-style: none;
    margin: 18px 0;
    font-size: 19px;
    color: #11305d
}

.product li:before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 2px solid #2472d8;
    border-radius: 50%;
    font-size: 12px;
    margin-right: 10px;
    color: #2472d8
}

.product:nth-child(2) li:before {
    border-color: #a45b22;
    color: #a45b22
}

.product .ghost {
    position: absolute;
    right: 34px;
    bottom: 28px;
    font-size: 130px;
    opacity: .18;
    color: #2e77e5
}

.product .more {
    position: absolute;
    left: 48px;
    bottom: 28px;
    color: #1763c8;
    font-weight: 700
}

.notice {
    height: 200px;
    border-radius: 10px;
    /* background: linear-gradient(90deg, #eef7ff, #fff); */
    display: flex;
    align-items: center;
    gap: 28px;
    margin: 44px 0 44px;
    color: #082656;
    font-size: 25px;
    font-weight: 800
}

.notice.warn {
    background: #fff9ee;
    color: #c27614
}

.advantages {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 44px;
    margin: 36px 0
}

.adv {
    display: flex;
    align-items: center;
    gap: 18px
}

.adv .round {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    /* background: #eef5ff; */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: #2d70db
}

.adv h4 {
    font-size: 30px;
    color: #092656
}

.adv p {
    font-size: 20px;
    color: #75849b;
    margin-top: 6px;
    line-height: 1.6
}

.stats {
    height: 216px;
    /* background: #0d2644; */
     background: url("../images/index-img/bg.png") no-repeat center/cover;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    text-align: center;
    color: #fff
}

.stats b {
    font-size: 64px
}

.stats p {
    font-size: 24px;
    margin-top: 5px
}

.about-grid {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 80px;
    align-items: center
}

.about h3 {
    font-size: 32px;
    color: #082656;
    margin-bottom: 12px
}

.about p {
    font-size: 22px;
    line-height: 2;
    color: #222
}

.qual {
    background: #eef4fb;
    border-radius: 10px;
    padding: 42px
}

.qual h3 {
    display: flex;
    align-items: center;
    gap: 24px
}

.certs {
    display: flex;
    gap: 28px;
    margin-top: 48px
}

.cert {
    height: 126px;
    flex: 1;
    background: #f7f1e8;
    border: 8px solid #d4bd82;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
    position: relative
}

.cert:after {
    content: "印";
    position: absolute;
    right: 24px;
    bottom: 18px;
    color: #d7372f;
    border: 3px solid #d7372f;
    border-radius: 50%;
    padding: 10px;
    opacity: .85
}

.service {
    display: grid;
    grid-template-columns: 1fr 1.45fr 1fr;
    gap: 28px
}

.service-card {
    min-height: 390px;
    border: 1px solid #dfe5ed;
    border-radius: 10px;
    padding: 54px 52px;
    background: #fff
}

.service-card h3 {
    font-size: 32px;
    color: #092656;
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 28px
}

.service-card p,
.service-card li {
    font-size: 22px;
    line-height: 1.85;
    color: #222;
    list-style: none;
    padding-left:70px
}

.compliance {
    border: 1px solid #bad4f5;
    border-radius: 8px;
    /* background: linear-gradient(100deg, #fbfdff, #f1f8ff); */
    background: url(../images//compliance-img//main-bg.jpg) no-repeat center/cover;
    padding: 50px 56px;
    position: relative;
    min-height: 570px
}

.compliance ol {
    max-width: 1040px;
    position: relative;
    z-index: 2
}

.compliance li {
    font-size: 19px;
    line-height: 2.05;
    margin: 10px 0 10px 25px;
    color: #222
}

.compliance b {
    color: #111
}

.compliance .shield {
    position: absolute;
    right: 92px;
    top: 170px;
    font-size: 230px;
    color: #2d69ca;
    opacity: .16
}

.contact-grid {
    display: grid;
    grid-template-columns: .9fr 1.6fr;
    gap: 80px;
    align-items: center
}

.info-row {
    display: grid;
    grid-template-columns: 42px 110px 1fr;
    align-items: center;
    margin: 34px 0;
    font-size: 21px;
    color: #222
}

.info-row .sym {
    font-size: 29px;
    color: #0c2b60;
}

.info-row b {
    font-size: 22px;
    color: #092656
}

.map-img {
    width: 100%;
    height: 315px;
    object-fit: cover
}

.footer {
    background: #152539;
    color: #b9c5d6
}

.footer-main {
    display: grid;
    grid-template-columns: 1.5fr .8fr 1.2fr;
    gap: 196px;
    padding: 48px 90px
}

.footer h4 {
    color: #fff;
    font-size: 26px;
    margin-bottom: 24px
}

.footer p,
.footer li {
    font-size: 24px;
    line-height: 2;
    color: #A3AFBD;
    list-style: none
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding: 20px 90px;
    display: flex;
    align-items: center;
    font-size: 24px;
    justify-content: space-between
}

.small-foot {
    height: 78px;
    background: #eef4fb;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    color: #4f5b68;
    /* font-size: 17px */
     font-size: clamp(12px, 1vw, 17px);
     white-space: nowrap;
}

@media(max-width:900px) {
    .top {
        padding: 0 20px;
        height: auto;
        display: block
    }

    .nav {
        gap: 15px;
        font-size: 14px;
        flex-wrap: wrap
    }

    .nav a {
        height: 50px
    }

    .container {
        padding: 30px 20px
    }

    .cards,
    .service,
    .about-grid,
    .contact-grid,
    .footer-main,
    .advantages {
        grid-template-columns: 1fr
    }

    .hero h2 {
        font-size: 34px
    }

    .quick {
        grid-template-columns: 1fr
    }

    .small-foot {
        height: auto;
        flex-wrap: wrap;
        padding: 20px
    }
}