.contact-direct,
.inquiry-types,
.contact-message,
.company-information {
    padding: 88px 0
}

.contact-direct {
    display: grid;
    grid-template-columns: .72fr 1.28fr;
    gap: 72px
}

.contact-intro>p:not(.section-kicker) {
    color: #64748b
}

.response-promise {
    display: grid;
    gap: 8px;
    margin-top: 28px;
    padding: 20px;
    border-left: 3px solid #3e8ccf;
    background: #eef4fa
}

.response-promise strong {
    color: #011f69
}

.response-promise span {
    font-size: 14px;
    color: #53677e
}

.contact-channel-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.contact-channel-grid article {
    padding: 26px;
    background: #fff;
    border: 1px solid #dbe6f1;
    border-radius: 6px
}

.contact-channel-grid .wechat-channel {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 30px;
    align-items: center
}

.contact-channel-grid article>span,
.wechat-channel>div:last-child>span {
    color: #3e8ccf;
    font-size: 12px;
    font-weight: 800
}

.contact-channel-grid h3 {
    font-size: 20px;
    margin: 10px 0
}

.contact-channel-grid h3 a {
    color: #011f69
}

.contact-channel-grid p {
    color: #64748b;
    font-size: 14px
}

/* 企微在线咨询入口（客服链接配置后显示，见 partials.js WECOM_KF_URL） */
.wechat-channel .button {
    margin-top: 16px
}

/* 企业微信客服二维码（纯码 438×438，从原图裁剪并加白静区，images/wecom-kf-qr.png） */
.wechat-qr {
    display: block;
    width: 170px;
    height: auto;
    border: 1px solid #cbd8e5;
    border-radius: 6px
}

.inquiry-types {
    background: #fff;
    box-shadow: 0 0 0 100vmax #fff;
    clip-path: inset(0 -100vmax)
}

.inquiry-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 40px;
    border-top: 1px solid #cbd8e5;
    border-left: 1px solid #cbd8e5
}

.inquiry-grid article {
    padding: 26px;
    border-right: 1px solid #cbd8e5;
    border-bottom: 1px solid #cbd8e5
}

.inquiry-grid span,
.contact-success>span {
    color: #3e8ccf;
    font-size: 12px;
    font-weight: 800
}

.inquiry-grid h3 {
    font-size: 19px;
    margin-top: 24px
}

.inquiry-grid p {
    color: #64748b;
    font-size: 14px
}

.contact-process {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 80px;
    padding: 76px 0;
    background: #011f69;
    color: #fff;
    box-shadow: 0 0 0 100vmax #011f69;
    clip-path: inset(0 -100vmax)
}

.contact-process h2 {
    color: #fff
}

.contact-process ol {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, .2)
}

.contact-process li {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 16px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .2)
}

.contact-process li>span {
    color: #78bfff;
    font-weight: 800
}

.contact-process h3 {
    color: #fff;
    font-size: 18px;
    margin: 0 0 4px
}

.contact-process li p {
    color: #b9cce2;
    margin: 0;
    font-size: 14px
}

.contact-message {
    display: grid;
    grid-template-columns: .68fr 1.32fr;
    gap: 76px
}

.contact-form-copy>p:not(.section-kicker) {
    color: #64748b
}

.contact-form-copy>a {
    color: #004b92;
    font-weight: 800
}

.contact-form {
    display: grid;
    gap: 18px;
    padding: 32px;
    background: #fff;
    border: 1px solid #dbe6f1;
    border-radius: 6px
}

.contact-form label {
    display: grid;
    gap: 8px;
    color: #334155;
    font-size: 14px;
    font-weight: 700
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    border: 1px solid #b8c9da;
    border-radius: 4px;
    padding: 12px 13px;
    background: #fff;
    color: #0f172a;
    font: inherit
}

.contact-form textarea {
    resize: vertical
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    outline: 2px solid #3e8ccf;
    outline-offset: 1px
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.contact-form .consent-field {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 400;
    color: #64748b;
    line-height: 1.45
}

.consent-field input {
    width: 17px;
    height: 17px;
    margin-top: 2px;
    flex: 0 0 auto
}

.consent-field a {
    color: #004b92
}

.contact-form>.button {
    justify-self: start
}

.contact-success {
    align-self: center;
    justify-self: center;
    max-width: 560px;
    padding: 56px 48px;
    background: #fff;
    border: 1px solid #dbe6f1;
    border-left: 4px solid #3e8ccf;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0, 31, 105, .08);
    text-align: center
}

.contact-success h2 {
    margin: 10px 0 16px
}

.contact-success p {
    color: #64748b;
    margin: 0 0 28px
}

.contact-success .button {
    min-width: 180px
}

.company-information {
    display: grid;
    grid-template-columns: .75fr 1.25fr;
    gap: 76px;
    background: #eef4fa;
    box-shadow: 0 0 0 100vmax #eef4fa;
    clip-path: inset(0 -100vmax)
}

.company-information dl {
    margin: 0;
    border-top: 1px solid #cbd8e5
}

.company-information dl>div {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 24px;
    padding: 17px 0;
    border-bottom: 1px solid #cbd8e5
}

.company-information dt {
    color: #64748b
}

.company-information dd {
    margin: 0;
    color: #011f69;
    font-weight: 700
}

.company-information a {
    color: #004b92
}

@media(max-width:900px) {

    .contact-direct,
    .contact-process,
    .contact-message,
    .company-information {
        grid-template-columns: 1fr;
        gap: 34px
    }

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

@media(max-width:620px) {

    .contact-direct,
    .inquiry-types,
    .contact-message,
    .company-information {
        padding: 64px 0
    }

    .contact-channel-grid {
        grid-template-columns: 1fr
    }

    .contact-channel-grid .wechat-channel {
        grid-column: auto;
        grid-template-columns: 1fr
    }

    .prototype-qr {
        width: 150px
    }

    .inquiry-grid {
        grid-template-columns: 1fr;
        border-left: 0
    }

    .inquiry-grid article {
        border-left: 1px solid #cbd8e5
    }

    .contact-process {
        padding: 60px 0
    }

    .form-row {
        grid-template-columns: 1fr
    }

    .contact-form {
        padding: 22px
    }

    .company-information dl>div {
        grid-template-columns: 1fr;
        gap: 5px
    }
}