/* ══════════════════════════════════════════════════
   FOOTER
   页脚样式 - 包含全球办公室、品牌信息、链接列表、版权信息
══════════════════════════════════════════════════ */

#footer { background: var(--fg); padding-top: 4rem; padding-bottom: 2rem; }

/* ─── FOOTER HUBS ─────────────────────────────────────────── */
.footer-hubs {
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap;
  padding-bottom: 2rem; border-bottom: .5px solid rgba(248,250,252,.08);
  margin-bottom: 3rem;
}
.hub-label {
  display: flex; align-items: center; gap: .5rem;
  font-family: 'IBM Plex Mono', monospace; font-size: 10px;
  letter-spacing: .2em; text-transform: uppercase; color: rgba(224,242,254,.4);
}
.hub-label svg { width: 14px; height: 14px; }
.hub-item { display: flex; align-items: center; gap: .5rem; }
.hub-dot { width: 6px; height: 6px; border-radius: 50%; background: #4ade80; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.hub-city { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #E0F2FE; }
.hub-time { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: rgba(224,242,254,.5); }

/* ─── FOOTER GRID ─────────────────────────────────────────── */
.footer-grid {
  display: grid; grid-template-columns: 1.2fr repeat(4, 1fr); gap: 2.5rem;
}
@media (max-width: 900px) { .footer-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .footer-grid { grid-template-columns: 1fr; } }

/* ─── FOOTER BRAND ────────────────────────────────────────── */
.footer-brand-logo { display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.footer-brand-icon {
  width: 28px; height: 28px; border-radius: 6px; background: var(--primary);
  display: flex; align-items: center; justify-content: center;
}
.footer-brand-icon span { color: #fff; font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 11px; }
.footer-brand-name { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: 14px; color: #F8FAFC; }
.footer-brand-desc { color: rgba(224,242,254,.4); font-size: 12px; line-height: 1.6; max-width: 200px; margin-bottom: 1.5rem; }
.footer-contact-item { display: flex; align-items: flex-start; gap: .5rem; color: rgba(224,242,254,.4); font-size: 12px; margin-bottom: .75rem; }
.footer-contact-item svg { width: 12px; height: 12px; flex-shrink: 0; margin-top: 2px; }

/* ─── FOOTER COLUMNS ──────────────────────────────────────── */
.footer-col h4 {
  font-family: 'Space Grotesk', sans-serif; font-weight: 600;
  font-size: 12px; text-transform: uppercase; letter-spacing: .1em;
  color: #F8FAFC; margin-bottom: 1rem;
}
.footer-col ul { list-style: none; }
.footer-col li { margin-bottom: .625rem; }
.footer-col a { color: rgba(224,242,254,.4); font-size: 12px; transition: color .15s; }
.footer-col a:hover { color: #E0F2FE; }

/* ─── FOOTER BOTTOM ───────────────────────────────────────── */
.footer-bottom {
  margin-top: 3rem; padding-top: 1.5rem; border-top: .5px solid rgba(248,250,252,.08);
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem;
}
.footer-copy {
  display: flex; align-items: center; gap: .5rem;
  font-family: 'IBM Plex Mono', monospace; font-size: 10px;
  letter-spacing: .1em; color: rgba(224,242,254,.25);
}
.footer-copy svg { width: 12px; height: 12px; }
.footer-links { display: flex; gap: 1.5rem; }
.footer-links a {
  font-family: 'IBM Plex Mono', monospace; font-size: 10px;
  letter-spacing: .1em; color: rgba(224,242,254,.25);
  transition: color .15s;
}
.footer-links a:hover { color: rgba(224,242,254,.6); }
/* v202604211532 */
/* updated-154632 */
