/* Shared site chrome: footer + active nav link.
   Linked AFTER each page's inline <style>, so these rules win over the older
   per-page footer CSS (pe/ai-validation/FWS carried a one-line footer).
   The footer markup itself is still inline on every page; scripts/site-chrome.py
   rewrites it from one template, so change both together. */

nav .nav-links a.active { color: var(--accent-lt); }

footer { display: block; background: var(--surface); border-top: 1px solid var(--border); padding: 52px 5vw 32px; }
footer .footer-inner { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; flex-wrap: wrap; margin: 0 auto 44px; max-width: 1200px; }
footer .footer-brand { max-width: 320px; }
footer .footer-brand img { height: 72px; margin-bottom: 14px; display: block; opacity: 0.9; }
footer .footer-brand p { font-size: 14px; color: var(--muted); line-height: 1.65; }
footer .footer-col h4 { font-family: 'DM Mono', monospace; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted); margin-bottom: 14px; }
footer .footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 9px; padding: 0; margin: 0; }
footer .footer-col li a { font-size: 14px; color: var(--muted); transition: color 0.15s; text-decoration: none; }
footer .footer-col li a:hover { color: var(--text); }
footer .footer-bottom { border-top: 1px solid var(--border); padding-top: 22px; font-family: 'DM Mono', monospace; font-size: 12px; letter-spacing: 0.5px; color: var(--muted); text-align: center; max-width: 1200px; margin: 0 auto; line-height: 1.7; }
footer .footer-bottom a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 768px) {
  footer .footer-inner { gap: 28px 40px; }
  footer .footer-brand { max-width: none; flex-basis: 100%; }
}
