/* Banner */
.contact-banner {
    position: relative;
    min-height: 320px;
    display: flex;
    align-items: center;
}
.contact-banner__bg {
    position:absolute;
    inset:0;
    background: url("../images/banner.jpg") center / cover no-repeat;
}
.contact-banner__bg::after {
    content:"";
    position:absolute;
    inset:0;
    background:rgba(18, 62, 115, 0.68);
}
.contact-banner__inner {
    position:relative;
    z-index:2;
    color:#fff;
}
.contact-banner__title {
    font-size:42px;
    font-weight:700;
    text-transform:uppercase;
    margin-bottom:12px;
}
.contact-banner__desc {
    font-size:16px;
    line-height:1.6;
}

/* Multiple contact ways */
.contact-ways {
    padding:52px 0 40px;
    text-align:center;
}
.contact-ways__heading {
    font-size:20px;
    color:#102033;
    text-transform:uppercase;
    position:relative;
    margin-bottom:40px;
}
.contact-ways__heading::after {
    content:"";
    width:45px;
    height:2px;
    background:#164782;
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:-10px;
}
.contact-ways__grid {
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:24px;
}
.contact-ways__item i {
    font-size:28px;
    color:#164782;
    margin-bottom:10px;
}
.contact-ways__item h4 {
    font-size:14px;
    text-transform:uppercase;
    margin-bottom:8px;
}
.contact-ways__item p {
    font-size:13px;
    color:#545b68;
    line-height:1.6;
}
.link-blue {
    color:#164782;
    font-weight:600;
}

/* Form + Map */
.contact-form-map {
    background:#f8fafc;
    padding:50px 0;
}
.contact-form-map__wrap {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
}
.contact-form__title {
    font-size:20px;
    color:#102033;
    margin-bottom:6px;
}
.contact-form__hint {
    font-size:13px;
    color:#545b68;
    margin-bottom:20px;
}
.form-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}
.form-group {
    margin-bottom:14px;
}
.form-group input,
.form-group textarea {
    width:100%;
    border:1px solid #cbd5e1;
    padding:10px 12px;
    border-radius:3px;
    font-size:14px;
}
.form-group textarea {
    resize:vertical;
}
.form-checkbox {
    margin-bottom:18px;
    font-size:13px;
}
.btn--full {
    width:100%;
}
.contact-map__frame img {
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:4px;
}

/* FAQ & Business Hours */
.contact-faq-hour {
    padding:54px 0;
}
.contact-faq-hour__wrap {
    display:grid;
    grid-template-columns:1.6fr 1fr;
    gap:36px;
}
.contact-faq__title {
    font-size:20px;
    color:#102033;
    margin-bottom:20px;
}
.faq-accordion {
    margin-bottom:24px;
}
.faq-item {
    border-bottom:1px solid #e2e8f0;
}
.faq-btn {
    width:100%;
    text-align:left;
    background:transparent;
    border:none;
    padding:14px 0;
    font-size:14px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    cursor:pointer;
}
.faq-panel {
    max-height:0;
    overflow:hidden;
    transition:max-height 0.35s ease;
}
.faq-panel p {
    font-size:13px;
    color:#545b68;
    padding:0 0 14px 0;
}
.faq-item.active .faq-panel {
    max-height:200px;
}
.faq-item.active .faq-btn i {
    transform:rotate(180deg);
}

.contact-hour__box {
    background:#e8f1fb;
    padding:26px;
    border-radius:4px;
}
.contact-hour__header {
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:18px;
}
.contact-hour__header i {
    color:#164782;
    font-size:20px;
}
.contact-hour__header h4 {
    font-size:16px;
    text-transform:uppercase;
}
.contact-hour__content p {
    font-size:14px;
    margin-bottom:12px;
    line-height:1.6;
}
.urgent-block {
    margin-top:22px;
}
.urgent-block p {
    font-size:13px;
    margin-bottom:12px;
}

/* Bottom CTA */
.page-bottom-cta {
    background:#102033;
    color:#fff;
    padding:44px 0;
    background-image:linear-gradient(rgba(15,26,38,0.92),rgba(15,26,38,0.92)), url("https://picsum.photos/id/1063/1920/450");
    background-size:cover;
}
.page-bottom-cta__inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.page-bottom-cta__text h2 {
    font-size:26px;
    margin-bottom:8px;
}
.page-bottom-cta__text p {
    color:#b8c4d1;
}
.btn--outline-light {
    border:1px solid #fff;
    color:#fff;
    background:transparent;
}

/* 响应式 */
@media(max-width:1024px){
    .contact-ways__grid {
        grid-template-columns:repeat(3,1fr);
    }
    .contact-form-map__wrap,
    .contact-faq-hour__wrap {
        grid-template-columns:1fr;
    }
    .page-bottom-cta__inner {
        flex-direction:column;
        text-align:center;
        gap:20px;
    }
}
@media(max-width:720px){
    .contact-ways__grid {
        grid-template-columns:repeat(2,1fr);
    }
    .form-row {
        grid-template-columns:1fr;
    }
    .contact-banner__title {
        font-size:30px;
    }
}
@media(max-width:480px){
    .contact-ways__grid {
        grid-template-columns:1fr;
    }
}
