/* Shared site footer (homepage + /quote). Keep markup in sync; test/quote.test.js enforces it. */
.footer { border-top: 1px solid var(--border, #2a2a2a); padding: 2.5rem 1.5rem; background: var(--bg, #0b0b0b); }
.footer-inner { max-width: 1120px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1.5rem; align-items: center; }
.footer-brand { display: flex; align-items: center; gap: 0.7rem; }
.footer-brand img { width: 36px; height: 36px; max-width: none; border-radius: 50%; object-fit: cover; border: 1px solid var(--border, #2a2a2a); }
.footer-brand span { font-family: 'Space Grotesk', sans-serif; font-weight: 600; font-size: 0.95rem; color: var(--text, #eae6dc); }
/* Secondary footer text: #8a857b on #0b0b0b = 5.36:1 (WCAG AA); links stay brighter at #9a958a (6.6:1). */
.footer-meta { font-size: 0.85rem; color: #8a857b; }
.footer-links { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; }
.footer a { text-decoration: none; }
.footer-links a { font-size: 0.9rem; color: var(--text-muted, #9a958a); }
.footer-links a:hover { color: var(--tan, #c4a574); }
.footer .footer-note { max-width: 1120px; text-align: left; margin: 1.25rem auto 0; font-size: 0.8rem; }
.footer .footer-note a { color: #8a857b; }
.footer .footer-note a:hover { color: var(--tan, #c4a574); text-decoration: underline; }
