/* Shared footer only. Loaded last so page-specific legacy footer rules cannot diverge. */
body .site-footer[id="footer"] { color: #fff; background: #303030; font-family: "Microsoft YaHei", "Noto Sans SC", Arial, sans-serif; }
body .site-footer[id="footer"] > .container { width: min(calc(100% - 208px), 1600px); max-width: none; padding: 0; }
body .site-footer[id="footer"] .footer-grid { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 2.2fr); gap: clamp(28px, 2.5vw, 48px); width: 100%; min-height: 0; margin: 0; padding: 56px 0 44px; align-items: start; align-content: start; --bs-gutter-x: 0; --bs-gutter-y: 0; }
body .site-footer[id="footer"] .footer-brand { width: auto; padding: 0; }
body .site-footer[id="footer"] .footer-brand > img { width: min(297px, 100%); height: auto; aspect-ratio: 594 / 60; object-fit: contain; object-position: left center; }
body .site-footer[id="footer"] .contact-list { margin: 30px 0 26px; padding: 0; }
body .site-footer[id="footer"] .contact-list li { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 16px; font-size: 16px; font-weight: 400; line-height: 26px; }
body .site-footer[id="footer"] .contact-list li:last-child { margin-bottom: 0; }
body .site-footer[id="footer"] .contact-list li > img { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 2px; }
body .site-footer[id="footer"] .contact-list a { display: block; color: #fff; }
body .site-footer[id="footer"] .qr-list { gap: 16px; justify-content: flex-start; }
body .site-footer[id="footer"] .qr-list figure { width: 70px; }
body .site-footer[id="footer"] .qr-list img { width: 70px; height: 70px; object-fit: contain; }
body .site-footer[id="footer"] .qr-list figcaption { margin-top: 8px; color: #bdbdbd; font-size: 13px; font-weight: 400; line-height: 20px; }
body .site-footer[id="footer"] .footer-links { display: grid; grid-template-columns: repeat(8, max-content); justify-content: space-between; gap: 24px clamp(10px, 1vw, 20px); width: auto; margin: 0; padding: 0; }
body .site-footer[id="footer"] .footer-links > div { width: auto; margin: 0; padding: 0; }
body .site-footer[id="footer"] .footer-links h3 { margin: 0 0 14px; color: #fff; font-size: 17px; font-weight: 700; line-height: 26px; }
body .site-footer[id="footer"] .footer-links a { display: block; min-height: 32px; margin: 0 0 4px; padding: 4px 0; color: #bdbdbd; font-size: 16px; font-weight: 400; line-height: 24px; text-decoration: none; transition: color .2s ease, transform .2s ease; }
body .site-footer[id="footer"] .footer-links h3 a { min-height: 26px; margin: 0; padding: 0; color: #fff; font-size: 17px; font-weight: 700; line-height: 26px; }
body .site-footer[id="footer"] a { transition: color .2s ease; }
body .site-footer[id="footer"] .footer-links a:hover { color: #ffce48; transform: translateX(2px); }
body .site-footer[id="footer"] .footer-links h3 a:hover { transform: none; }
body .site-footer[id="footer"] a:hover, body .site-footer[id="footer"] a:focus-visible, body .site-footer[id="footer"] .footer-links a[aria-current="page"] { color: #ffce48; }
body .site-footer[id="footer"] a:focus-visible { outline: 2px solid #ffce48; outline-offset: 4px; border-radius: 2px; }
body .site-footer[id="footer"] .copyright { min-height: 0; margin: 0; gap: 10px 24px; padding: 24px 24px 40px; color: #bdbdbd; font-size: 16px; font-weight: 400; line-height: 26px; }
body .site-footer[id="footer"] .public-security-filing { color: inherit; }
body .site-footer[id="footer"] .public-security-filing:hover, body .site-footer[id="footer"] .public-security-filing:focus-visible { color: #ffce48; }
body.fullpage-active .site-footer[id="footer"] .footer-grid { align-content: center; padding-block: 24px; }
@media (max-width: 1199.98px) {
  body .site-footer[id="footer"] > .container { width: calc(100% - 72px); }
  body .site-footer[id="footer"] .footer-grid { grid-template-columns: 1fr; gap: 40px; padding: 48px 0 40px; }
  body .site-footer[id="footer"] .footer-links { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 24px; padding-right: 60px; }
}
@media (max-width: 599.98px) {
  body .site-footer[id="footer"] > .container { width: calc(100% - 36px); }
  body .site-footer[id="footer"] .footer-grid { gap: 36px; padding: 40px 0 32px; }
  body .site-footer[id="footer"] .contact-list { padding-right: 60px; }
  body .site-footer[id="footer"] .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
  body .site-footer[id="footer"] .footer-links h3 { margin-bottom: 10px; }
  body .site-footer[id="footer"] .footer-links a { min-height: 40px; padding: 8px 0; }
  body .site-footer[id="footer"] .footer-links h3 a { padding: 6px 0; }
  body .site-footer[id="footer"] .copyright { gap: 12px; padding: 24px 76px 32px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  body .site-footer[id="footer"] a { transition: none; }
  body .site-footer[id="footer"] .footer-links a:hover { transform: none; }
}
