/* Shared footer system for public site pages. */
html body footer.site-footer[data-footer-unified] {
    font: 13px/1.8 -apple-system, BlinkMacSystemFont, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif !important;
    text-align: left !important;
}
html body footer.site-footer[data-footer-unified]::before { display: none !important; }
html body footer.site-footer[data-footer-unified] .footer-grid {
    box-sizing: border-box !important;
    padding: 0 !important;
    grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(140px, 1fr)) !important;
    align-items: start !important;
}
html body footer.site-footer[data-footer-unified] .footer-grid > div:not(.footer-bottom):not(.zh-footer-qr) {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
}
html body footer.site-footer[data-footer-unified] .footer-brand {
    display: block !important;
    font: 600 18px/1.5 "Noto Sans SC", "PingFang SC", sans-serif !important;
    letter-spacing: .04em !important;
}
html body footer.site-footer[data-footer-unified] p {
    margin: 14px 0 0 !important;
    padding: 0 !important;
    max-width: 30em !important;
    font: 13px/1.9 -apple-system, BlinkMacSystemFont, "Noto Sans SC", "PingFang SC", sans-serif !important;
}
html body footer.site-footer[data-footer-unified] h4 {
    margin: 0 0 14px !important;
    padding: 0 !important;
    font: 600 14px/1.5 "Noto Sans SC", "PingFang SC", sans-serif !important;
    letter-spacing: .04em !important;
}
html body footer.site-footer[data-footer-unified] h4::before { display: none !important; }
html body footer.site-footer[data-footer-unified] .zh-footer-qr-title span {
    display: block !important;
    margin: 0 0 4px !important;
    color: #d9e2e8 !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    text-transform: none !important;
}
html body footer.site-footer[data-footer-unified] ul:not(.zh-footer-qr-list) {
    display: grid !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}
html body footer.site-footer[data-footer-unified] li,
html body footer.site-footer[data-footer-unified] a {
    font: 13px/1.7 -apple-system, BlinkMacSystemFont, "Noto Sans SC", "PingFang SC", sans-serif !important;
    overflow-wrap: anywhere;
}
html body footer.site-footer[data-footer-unified] .footer-bottom {
    display: flex !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 8px 24px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 18px 0 0 !important;
}
html body footer.site-footer[data-footer-unified] .footer-bottom span,
html body footer.site-footer[data-footer-unified] .footer-bottom a { font-size: 11px !important; }

html body footer.site-footer,
html body footer.pro-footer,
html body footer#home-footer {
    box-sizing: border-box;
    background: #102636 !important;
    color: rgba(244, 247, 249, .78) !important;
    border-top: 1px solid rgba(217, 226, 232, .2) !important;
}

html body footer.site-footer {
    padding: 52px clamp(22px, 5vw, 76px) 22px !important;
}

html body footer.site-footer .footer-grid {
    width: 100%;
    max-width: 1280px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(140px, 1fr));
    gap: 28px 36px !important;
}

html body footer.site-footer .footer-grid > div {
    min-width: 0;
    border-color: rgba(217, 226, 232, .14) !important;
}

html body footer.site-footer .footer-grid > div:first-child {
    border: 0 !important;
    padding-left: 0 !important;
}

html body footer.site-footer .footer-brand,
html body footer.pro-footer .pro-footer-brand,
html body footer#home-footer .name {
    color: #fff !important;
    font-size: 18px !important;
    letter-spacing: .04em;
}

html body footer.site-footer h4,
html body footer.site-footer h5,
html body footer.pro-footer nav,
html body footer#home-footer .meta {
    color: #d9e2e8 !important;
}

html body footer.site-footer p,
html body footer.site-footer li,
html body footer.site-footer a,
html body footer.pro-footer,
html body footer#home-footer {
    color: rgba(244, 247, 249, .72) !important;
}

html body footer.site-footer a,
html body footer.pro-footer a,
html body footer#home-footer a {
    text-decoration-color: transparent;
    transition: color .2s ease, text-decoration-color .2s ease;
}

html body footer.site-footer a:hover,
html body footer.pro-footer a:hover,
html body footer#home-footer a:hover {
    color: #fff !important;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, .55);
    text-underline-offset: 4px;
}

html body footer.site-footer .footer-bottom,
html body footer.pro-footer .pro-footer-legal,
html body footer#home-footer .legal {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(217, 226, 232, .16) !important;
    padding-top: 18px !important;
    color: rgba(217, 226, 232, .62) !important;
    font-size: 11px !important;
    line-height: 1.8;
}

html body footer.pro-footer { padding: 42px 0 22px !important; }
html body footer.pro-footer .pro-footer-main,
html body footer.pro-footer .pro-footer-legal { max-width: 1280px; margin-inline: auto; }
html body footer.pro-footer .pro-footer-main { padding-bottom: 24px; }
html body footer#home-footer { padding: 52px 24px 22px !important; }
html body footer#home-footer::before { opacity: .16; }

@media (max-width: 760px) {
    html body footer.site-footer[data-footer-unified] .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    html body footer.site-footer[data-footer-unified] .footer-bottom { flex-direction: column !important; }
    html body footer.site-footer { padding: 36px 22px 18px !important; }
    html body footer.site-footer .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 18px !important;
    }
    html body footer.site-footer .footer-grid > div:first-child,
    html body footer.site-footer .footer-bottom { grid-column: 1 / -1; }
    html body footer.pro-footer { padding: 32px 0 18px !important; }
    html body footer.pro-footer .pro-footer-main,
    html body footer.pro-footer .pro-footer-legal { width: calc(100% - 40px); }
    html body footer#home-footer { padding: 40px 20px 18px !important; }
    html body footer.site-footer .footer-bottom { display: flex; flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
    html body footer.site-footer *,
    html body footer.pro-footer *,
    html body footer#home-footer * { transition-duration: .01ms !important; }
}
