/* Shared footer for every page. Loaded after site.css on the homepages;
   the legal pages don't load site.css, so this file carries every footer rule. */
.footer { background: var(--ink); color: var(--paper); padding: 48px 64px; }
.footer-wrap.footer-grid { max-width: 1440px; margin: 0 auto; display: grid; grid-template-columns: minmax(260px, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 48px; align-items: start; }
.footer-brand { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.footer-col { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.footer-col-title { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.2em; color: var(--slate-light); text-transform: uppercase; margin-bottom: 4px; }
.footer-meta { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.16em; color: var(--slate-light); text-transform: uppercase; line-height: 1.7; }
.footer-link { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.16em; line-height: 1.5; color: var(--paper); text-transform: uppercase; text-decoration: none; transition: color 0.18s ease; }
.footer-link:hover { color: var(--accent-soft, #d9785a); }
.footer-compliance { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.1em; color: var(--slate-light); text-transform: uppercase; line-height: 1.7; }
@media (max-width: 980px) {
  .footer { padding: 40px 24px; }
  .footer-wrap.footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) { .footer-wrap.footer-grid { grid-template-columns: 1fr; } }
