/* Shared footer layout for public pages. "body" prefix outranks each page's inline footer rules. */
body .footer{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand copy" "links links";align-items:center;gap:18px 32px;padding:28px 48px;border-top:1px solid var(--border);text-align:left;flex-direction:initial}
body .footer:not(:has(.footer-links)){grid-template-areas:"brand copy"}
body .footer-brand{grid-area:brand;font-size:14px;font-weight:600;letter-spacing:0.04em;text-transform:none;color:var(--white-dim)}
body .footer-copy{grid-area:copy;font-size:13px;color:var(--white-dim);white-space:nowrap}
body .footer-links{grid-area:links;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px 28px}
body .footer-links a{font-size:12px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;white-space:nowrap;color:var(--white-dim);text-decoration:none}
body .footer-links a:hover{color:var(--white)}
@media (max-width:900px){body .footer{padding:24px 32px}}
@media (max-width:600px){
  body .footer{grid-template-columns:1fr;grid-template-areas:"brand" "links" "copy";justify-items:center;text-align:center;padding:24px 20px;gap:14px}
  body .footer:not(:has(.footer-links)){grid-template-areas:"brand" "copy"}
  body .footer-links{justify-content:center;gap:4px 20px}
  body .footer-copy{white-space:normal}
}
