body * {
    box-sizing: border-box;
    flex-shrink: 0;
}
body {
    font-family:
        PingFangSC-Regular,
        Roboto,
        Helvetica Neue,
        Helvetica,
        Tahoma,
        Arial,
        PingFang SC-Light,
        Microsoft YaHei;
    line-height: 1.5;
    margin: 0;
    height: 100vh;
}
input {
    background-color: transparent;
    border: 0;
}
button {
    margin: 0;
    padding: 0;
    border: 1px solid transparent;
    outline: none;
    background-color: transparent;
}

button:active {
    opacity: 0.6;
}
div,
input,
p {
    line-height: 1.5;
}
h1,
h2,
h3,
h4,
h5 {
    margin: 0;
    font-weight: normal;
    font-size: min(16px, 1.11vw);
    line-height: 1.5;
}
.text-center {
    text-align: center;
}
.flex-col {
    display: flex;
    flex-direction: column;
}
.flex-row {
    display: flex;
    flex-direction: row;
}
.flex-row-reverse {
    display: flex;
    flex-direction: row-reverse;
}
.justify-start {
    display: flex;
    justify-content: flex-start;
}
.justify-center {
    display: flex;
    justify-content: center;
}

.justify-end {
    display: flex;
    justify-content: flex-end;
}
.justify-evenly {
    display: flex;
    justify-content: space-evenly;
}
.justify-around {
    display: flex;
    justify-content: space-around;
}
.justify-between {
    display: flex;
    justify-content: space-between;
}
.align-start {
    display: flex;
    align-items: flex-start;
}
.align-center {
    display: flex;
    align-items: center;
}
.align-end {
    display: flex;
    align-items: flex-end;
}
.flex-1 {
    flex: 1;
}
.page {
    height: 100%;
    overflow: auto;
    scroll-behavior: smooth;
}

section:nth-of-type(odd) {
    background-color: #fefbf7;
}
.container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: min(132px, 9.16vw) clamp(20px, 7.6vw, 110px) min(6.8vw, 98px);
    position: relative;
    height: 100%;
}
.pc {
    display: block;
}
.mobile {
    display: none;
}
.section_title {
    font-size: min(2.5vw, 36px);
    text-align: center;
    font-weight: 700;
}
.section_title + div {
    margin-top: min(6vw, 87px);
}
.section_subtitle {
    text-align: center;
    font-size: min(1.25vw, 18px);
    margin-top: min(22px, 1.5vw);
    margin-bottom: min(5vw, 73px);
}

/* geo问答模块样式 */
.model_geo-qs {
    background-color: #fefbf7 !important;
}
.model_geo-qs .ul .li {
    height: clamp(50px, 5.55vw, 80px);
    background-color: #fff;
    box-shadow:
        inset 0 0 1px #f0e1c4,
        4px 8px 21px #e4dfd2;
    border-radius: clamp(8px, 0.9vw, 12px);
    padding: 0 clamp(10px, 2.85vw, 41px);
    overflow: hidden;
    transition: 0.3s;
    margin-bottom: clamp(12px, 1.5vw, 23px);
}

.model_geo-qs .question {
    display: flex;
    align-items: center;
    color: #1b1b1b;
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 700;
    padding: clamp(18px, 1.94vw, 28px) 0 clamp(12px, 1.25vw, 18px);
}
.model_geo-qs .question::before {
    content: "";
    width: clamp(6px, 0.69vw, 10px);
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: #ffbd00;
    margin-right: clamp(10px, 1.25vw, 18px);
}
.model_geo-qs .answer {
    padding: 0 clamp(13px, 1.9vw, 28px);
    font-size: clamp(12px, 1.1vw, 14px);
    color: #fff;
    transition: 0.1s;
    color: #666;
}

@media screen and (max-width: 450px) {
    .model_geo-qs .question {
        font-size: 12px;
    }
    .model_geo-qs .answer {
        font-size: 12px;
    }
}

.model_geo-qs .ul .li.expand {
    height: clamp(110px, 8.33vw, 120px);
}

@media screen and (min-width: 767px) {
    .model_geo-qs .ul .li:hover {
        height: clamp(110px, 8.33vw, 120px);
    }
}

@media screen and (min-width: 320px) and (max-width: 767px) {
    .pc {
        display: none;
    }
    .mobile {
        display: block;
        overflow-x: hidden;
    }
    .container {
        padding: 47px 14px 41px;
    }
    .section_title {
        font-size: 4.8vw;
        text-align: center;
        font-weight: 700;
    }
    .section_subtitle {
        text-align: center;
        font-size: 3.2vw;
        margin-top: 14px;
        margin-bottom: 8.5vw;
        color: #666666;
    }
}

/* model_form 样式 */
.section_form {
    background-image: url(../images/section_form_bg.png);
    width: 100vw;
    height: min(40.16vw, 578px);
    background-position: center;
    background-size: cover;
}

.section_form .container {
    padding-top: min(6.8vw, 98px);
}

.section_form h3 {
    color: #fff;
    font-size: min(38px, 2.6vw);
    margin-bottom: min(32px, 9.16vw);
    text-align: center;
}

.section_form h5 {
    color: #fff;
    font-size: min(20px, 1.4vw);
    margin-bottom: min(5vw, 73px);
    text-align: center;
}

.section_form .form {
    justify-content: center;
    display: grid;
    gap: min(2.5vw, 36px);
    grid-template-columns: repeat(2, min(29.5vw, 425px));
    grid-template-rows: min(5.76vw, 83px);
}

.section_form .input-box {
    background: #fff;
    display: flex;
    align-items: center;
    border-radius: 83px;
    padding-left: min(1.5vw, 25px);
}

.section_form .input-box img {
    width: min(2.6vw, 38px);
    aspect-ratio: 1;
    margin-right: min(1.35vw, 20px);
}

.section_form .input-box input {
    font-size: clamp(16px, 1.67vw, 24px);
    outline: none !important;
}

.section_form .input-box input::placeholder {
    color: #999;
}

.section_form .form_btn {
    width: min(575px, 40vw);
    font-size: min(1.67vw, 24px);
    font-weight: 700;
    background: #ffbd00;
    height: min(5.76vw, 83px);
    border-radius: 83px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: min(2.7vw, 39px) auto 0;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

@media screen and (min-width: 320px) and (max-width: 767px) {
    .section_form {
        height: 95.5vw;
    }

    .section_form .container {
        padding-top: 47px;
        padding-bottom: 0;
    }

    .section_form h3 {
        font-size: 5.33vw;
        margin-bottom: 3.3vw;
    }

    .section_form h5 {
        font-size: 3.2vw;
        margin-bottom: 8.5vw;
    }

    .section_form .form {
        display: flex;
        flex-direction: column;
        width: 81.87vw;
        justify-content: center;
        margin: 0 auto;
    }

    .section_form .input-box {
        width: 100%;
        height: 12.27vw;
    }

    .section_form .input-box input {
        font-size: 16px;
        line-height: 1;
    }

    .section_form .input-box img {
        width: 6.4vw;
        margin: 0 16px;
    }

    .section_form .form_btn {
        width: 81.87vw;
        height: 12.27vw;
        font-size: 3.7vw;
    }
}

/* 弹窗样式 */
.dialog-mask {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 1000;
}

.apply-popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* max-width: 650px; */
    width: clamp(338px, 50%, 650px);
    border-radius: 30px;
    color: #333333;
    padding: 46px 35px 40px;
    padding: clamp(30px, 3.19vw, 46px) clamp(20px, 2.43vw, 35px)
        clamp(30px, 2.77vw, 40px);
    background: #fff
        radial-gradient(
            circle at 90% 0%,
            rgba(255, 202, 47, 0.42),
            transparent 43%
        );
}

.apply-popup_header {
    display: flex;
    align-items: center;
    font-size: clamp(18px, 1.66vw, 24px);
    font-weight: bold;
}

.apply-popup_header img {
    width: clamp(30px, 4.44vw, 64px);
    height: auto;
    margin-right: clamp(8px, 1.66vw, 24px);
}

.apply-popup .tips {
    font-size: clamp(14px, 1.11vw, 16px);
    font-weight: bold;
    margin-top: clamp(14px, 2.08vw, 30px);
    margin-bottom: clamp(20px, 3.19vw, 46px);
}

.apply-popup .form-box {
    background: #f6f6f6;
    border-radius: 26px;
    padding: clamp(6px, 1.04vw, 15px) clamp(16px, 1.94vw, 28px);
}

.apply-popup .form-item {
    height: clamp(45px, 4.58vw, 66px);
    display: flex;
    align-items: center;
}

.apply-popup .form-item_label {
    width: clamp(100px, 9.58vw, 138px);
    color: #666;
    font-size: clamp(14px, 1.25vw, 18px);
}

.apply-popup .form-item_value {
    flex: 1;
    color: #333;
    font-size: clamp(16px, 1.52vw, 22px);
    font-weight: bold;
}

.apply-popup .btn-box {
    margin-top: clamp(20px, 3.6vw, 52px);
    display: flex;
    justify-content: space-between;
}

.apply-popup .btn-box .btn {
    height: clamp(50px, 5.13vw, 74px);
    width: calc(50% - 10px);
    text-align: center;
    border-radius: 74px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(16px, 1.67vw, 24px);
    font-weight: bold;
}

.apply-popup .btn-box .cancel {
    background: #f3f3f3;
    color: #666666;
}

.apply-popup .btn-box .confirm {
    background: #ffbd00;
    color: #333333;
}

/* footer 样式 */
.mobile {
    display: none;
}

.footer {
    background: #fefbf6;
}

.ft-main {
    padding: 0 min(8.7vw, 125px);
    width: min(1440px, 100vw);
    margin: 0 auto;
}

.ft_top {
    border-bottom: 1px solid #d4d4d4;
    display: flex;
    padding: min(81px, 5.63vw) 0;
    width: 100%;
}

.ft_top_left {
    display: flex;
    width: 50%;
}

.ft_top_left > div {
    margin-right: min(8.7vw, 125px);
}

.ft_top_left h4 {
    color: #1b1b1b;
    font-size: min(1.25vw, 18px);
    margin-bottom: min(46px, 3.2vw);
    font-weight: 700;
}

.ft_top_left li {
    color: #666;
    margin-bottom: min(27px, 1.86vw);
    font-size: min(1.2vw, 16px);
}

.ft_top_right {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 50%;
}

.ft_top_right h1 {
    width: min(13.54vw, 195px);
    height: min(3.06vw, 44px);
    font-size: 0;
    background: url(../images/logo.png) no-repeat center;
    background-size: contain;
    margin-bottom: min(21px, 1.46vw);
}

.ft_top_right .contact {
    display: flex;
    align-items: center;
}

.ft_top_right .contact .qr {
    width: min(105px, 7.3vw);
    aspect-ratio: 1;
    background: #fff;
    margin-right: min(25px, 1.5vw);
    display: flex;
    align-items: center;
    justify-content: center;
}

.ft_top_right .contact .qr img {
    width: min(92px, 6.4vw);
    aspect-ratio: 1;
}

.ft_top_right .contact .scan {
    background: url(../images/scan.png) no-repeat left center;
    background-size: min(2.1vw, 30px);
    padding-left: min(48px, 3.33vw);
    color: #333333;
    font-size: min(15px, 1.1vw);
    margin-right: min(35px, 2.43vw);
}

.ft_top_right .contact .phone {
    background: url(../images/phone_black.png) no-repeat left center;
    background-size: min(2.1vw, 30px);
    padding-left: min(48px, 3.33vw);
    color: #333333;
    font-size: min(15px, 1.1vw);
}

.ft_bottom {
    padding: min(61px, 4.23vw) 0 min(101px, 7vw);
    color: #333333;
    font-size: min(15px, 1.1vw);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ft_bottom .adress {
    margin-right: min(100px, 6.9vw);
    background: url(../images/address.png) no-repeat left top;
    background-size: min(1.25vw, 18px);
    padding-left: min(1.9vw, 28px);
}

@media screen and (min-width: 320px) and (max-width: 767px) {
    .pc {
        display: none;
    }

    .mobile {
        display: block;
    }

    .ft-main {
        padding: 30px;
        width: 100%;
    }

    .logo_box {
        padding-bottom: 38px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .logo_box h1 {
        width: 120px;
        height: 26px;
        font-size: 0;
        background: url(../images/logo.png) no-repeat center;
        background-size: contain;
    }

    .logo_box .qr {
        width: 60px;
        aspect-ratio: 1;
        background: #fff;
        background-size: 52px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .logo_box .qr img {
        width: 52px;
        aspect-ratio: 1;
    }

    .logo_box .scan {
        background: url(../images/scan.png) no-repeat left center;
        background-size: 16px;
        padding-left: 25px;
        color: #333333;
        font-size: 10px;
    }

    .contact_box {
        border-top: 1px solid #d4d4d4;
        border-bottom: 1px solid #d4d4d4;
        padding: 17px 0 20px;
        color: #666;
        font-size: 12px;
    }

    .contact_box > div {
        padding-left: 26px;
        background: url(../images/address.png) no-repeat left center;
        background-size: 16px;
        line-height: 20px;
        margin-bottom: 10px;
    }

    .contact_box .phone {
        color: #333;
        font-size: 14px;
        background-image: url(../images/phone_black.png);
        font-weight: 700;
    }

    .address_box {
        padding-top: 38px;
        text-align: center;
        color: #999;
        font-size: 12px;
    }

    .underline {
        text-decoration: underline;
        margin: 10px 0;
    }
}
