.page-contact .hero {
    position: relative;
    height: calc(650 * var(--rpx));
    overflow: hidden;
    background: #1a2a4a;
}

.page-contact .hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.page-contact .hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.page-contact .hero-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));
    pointer-events: none;
}

.page-contact .hero-fg {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: var(--header-height);
    transform: translateY(calc(-16 * var(--rpx)));
}

.page-contact .hero-card {
    max-width: calc(850 * var(--rpx));
    min-height: calc(230 * var(--rpx));
    background: rgba(255, 255, 255, 0.9);
    color: var(--text);
    padding: calc(40 * var(--rpx));
}

.page-contact .hero-card .title {
    font-size: calc(48 * var(--fpx-50));
    font-weight: 700;
    line-height: calc(58 * var(--rpx));
}

.page-contact .hero-card .desc {
    margin-top: calc(12 * var(--rpx));
    font-size: calc(18 * var(--fpx));
    line-height: calc(32 * var(--rpx));
    max-width: calc(780 * var(--rpx));
}

.contact-main {
    position: relative;
    overflow: hidden;
}

.page-contact .page-crumb {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(30 * var(--rpx));
    z-index: 2;
    padding: 0;
    pointer-events: none;
}

.page-contact .page-crumb .wrapper,
.page-contact .page-crumb .crumb {
    pointer-events: auto;
}

.page-contact .page-crumb .crumb {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: calc(8 * var(--rpx));
    font-size: calc(14 * var(--fpx));
    color: var(--text);
}

.page-contact .page-crumb .sep {
    color: var(--text);
}

.page-contact .page-crumb .is-current {
    color: var(--brand);
}

.contact-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(1280 * var(--rpx));
    height: 100%;
    background: linear-gradient(to bottom, rgba(6, 83, 182, 0.1) 0%, rgba(6, 83, 182, 0) 100%);
    pointer-events: none;
}

.contact-row {
    --contact-pad-top: calc(80 * var(--rpx));
    --contact-title-h: calc(72 * var(--rpx));
    --contact-name-gap: calc(40 * var(--rpx));
    position: relative;
    z-index: 1;
    padding: var(--contact-pad-top) 0 0;
}

.contact-info {
    width: calc(592 * var(--rpx));
    padding-bottom: calc(140 * var(--rpx));
}

.contact-title {
    font-size: calc(48 * var(--fpx-50));
    font-weight: 700;
    line-height: var(--contact-title-h);
    color: #000;
}

.contact-name {
    margin-top: var(--contact-name-gap);
    font-size: calc(36 * var(--fpx-50));
    font-weight: 500;
    line-height: calc(36 * var(--rpx));
    color: var(--brand);
}

.contact-lead {
    margin-top: calc(28 * var(--rpx));
    font-size: calc(20 * var(--fpx));
    line-height: calc(36 * var(--rpx));
    color: #333;
}

.contact-sub {
    margin-top: calc(48 * var(--rpx));
    font-size: calc(20 * var(--fpx));
    font-weight: 400;
    line-height: calc(36 * var(--rpx));
    color: var(--brand);
}

.contact-rule {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: calc(520 * var(--rpx));
    height: calc(3 * var(--rpx));
    margin-top: calc(8 * var(--rpx));
    background: rgba(6, 83, 182, 0.15);
}

.contact-rule span {
    display: block;
    width: calc(80 * var(--rpx));
    height: 100%;
    background: var(--brand);
}

.contact-list {
    margin-top: calc(24 * var(--rpx));
}

.contact-list li {
    display: flex;
    align-items: flex-start;
    gap: calc(12 * var(--rpx));
    font-size: calc(18 * var(--fpx));
    line-height: calc(36 * var(--rpx));
    color: #000;
}

.contact-list .icon {
    width: calc(20 * var(--rpx));
    height: calc(36 * var(--rpx));
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-list .icon img {
    width: calc(18 * var(--rpx));
    height: calc(18 * var(--rpx));
    object-fit: contain;
    object-position: center;
}

.contact-list a {
    color: inherit;
}

.contact-follow {
    display: flex;
    align-items: center;
    gap: calc(12 * var(--rpx));
    margin-top: calc(48 * var(--rpx));
}

.follow-label {
    font-size: calc(16 * var(--fpx));
    line-height: calc(36 * var(--rpx));
    color: #333;
    margin-right: calc(8 * var(--rpx));
}

.contact-follow .share {
    width: calc(50 * var(--rpx));
    height: calc(50 * var(--rpx));
    border-radius: 50%;
    background: rgba(6, 83, 182, 0.1);
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.contact-follow .share > img {
    width: calc(23 * var(--rpx));
    height: calc(24 * var(--rpx));
}

.contact-follow .has-qr .qr {
    right: auto;
    left: 50%;
    top: auto;
    bottom: calc(100% + 8 * var(--rpx));
    transform: translateX(-50%);
}

.contact-figure {
    position: absolute;
    top: calc(var(--contact-pad-top) + var(--contact-title-h) + var(--contact-name-gap));
    right: calc((var(--wrapper-width) - 100vw) / 2);
    width: calc(960 * var(--rpx));
    height: calc(640 * var(--rpx));
    z-index: 1;
}

.contact-figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
