/* Footer navigation: Chinese above English. */
.site-footer .footer-container {
    grid-template-columns: minmax(140px, 1fr) minmax(180px, 1.2fr) minmax(210px, 1.35fr) minmax(150px, 1fr) 150px;
    gap: clamp(24px, 3vw, 48px);
    align-items: start;
    min-height: 0;
    padding: 30px 0;
}
.site-footer .footer-column,
.site-footer .footer-community {
    display: flex;
    flex-direction: column;
    min-width: 0;
    gap: 12px;
}
.site-footer .footer-column h4,
.site-footer .footer-community h4 {
    margin: 0 0 2px;
    min-height: 24px;
    color: #d4a35a;
    font-size: 11px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 1.1px;
    text-align: left;
}
.site-footer .footer-column a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    min-height: 38px;
    font-size: 14px;
    line-height: 24px;
}
.site-footer .footer-link-en {
    font-size: 12px;
    line-height: 16px;
}
.site-footer .footer-social-name {
    display: block;
    min-height: 24px;
    font-size: 14px;
    line-height: 24px;
}
.site-footer .footer-column a.footer-social-name {
    display: block;
    min-height: 24px;
}
.footer-contact-emails {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
}

.site-footer .footer-contact-emails a {
    display: block;
    min-height: 24px;
    font-size: 12px;
    line-height: 24px;
    overflow-wrap: anywhere;
}
.footer-community { --community-qr-size: 122px; }
.footer-community-caption {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.footer-community img {
    display: block;
    width: var(--community-qr-size);
    max-width: 100%;
    height: auto;
    padding: 7px;
    background: #fff;
}
.footer-community p {
    width: var(--community-qr-size);
    max-width: 100%;
    margin: 0;
    color: #9aa5aa;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    white-space: nowrap;
}
.footer-community .footer-community-number {
    color: #c4ccd0;
    letter-spacing: .03em;
}
@media (max-width: 1100px) {
    .site-footer .footer-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 30px;
    }
}

@media (max-width: 700px) {
    .site-footer .footer-container {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
    }
}
