/* Shared site footer. Self-contained (no styles.css variables) so pages with their own stylesheet can load it too.
   Markup lives in data/site-footer.html and is written into pages by scripts/sync-site-chrome.py. */
footer.site-footer { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto; gap: 28px 50px; align-items: start; margin: 0; padding: 64px clamp(22px, 5.8vw, 84px) 30px; background: #050e18; color: #f3eee3; font: 12px/1.8 -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif; border: 0; }
.site-footer .footer-brand { display: grid; grid-template-columns: 28px 1fr; align-items: center; color: #f3eee3; }
.site-footer .footer-brand > span { color: #d7a84a; }
.site-footer .footer-brand strong { font: 500 21px/1.3 "Songti SC", STSong, serif; }
.site-footer .footer-brand small { grid-column: 2; margin-top: 7px; color: rgba(243,238,227,.38); font: 9px monospace; letter-spacing: .15em; }
.site-footer > p { margin: 0; color: rgba(243,238,227,.55); font-size: 12px; line-height: 1.8; max-width: none; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 12px; }
.site-footer a { color: #f3eee3; text-decoration: none; }
.site-footer a:hover, .site-footer a:focus-visible { color: #f0cb78; }
.site-footer .footer-note { grid-column: 1 / -1; margin: 6px 0 0; padding-top: 18px; border-top: 1px solid rgba(243,238,227,.1); color: rgba(243,238,227,.5); font-size: 12px; line-height: 1.8; }
.site-footer .copyright { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; color: rgba(243,238,227,.3); font: 10px monospace; }
@media (max-width: 760px) {
  footer.site-footer { grid-template-columns: 1fr; gap: 22px; padding: 48px 22px 26px; }
  .site-footer .footer-links { gap: 10px 20px; }
}
