/* N epoch's shared footer (nepoch-site). Colours come from the app's own variables where it has them. */
.site-footer { margin-top: 2rem; border-top: 1px solid var(--border, #d9dee7); background: var(--surface, transparent); }
.site-footer-inner { max-width: 1080px; margin: 0 auto; padding: 1.5rem 1.25rem 1.75rem; display: grid;
    grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 2rem; align-items: start; }
.site-footer-about { display: flex; flex-direction: column; gap: .25rem; font-size: .9rem; max-width: 26rem; }
.site-footer-about .brand-name { font-size: 1.1rem; }
.site-footer-links { display: flex; gap: 2.5rem; }
.site-footer-links ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.site-footer-links a { color: var(--ink, inherit); font-size: .9rem; }
.site-footer-links a:hover { color: var(--link, inherit); }
.site-footer .muted { color: var(--muted, #667085); }
.site-footer-legal { grid-column: 1 / -1; margin: 0; font-size: .8rem; }
@media (max-width: 640px) {
    .site-footer-inner { grid-template-columns: 1fr; }
    .site-footer-links { gap: 1.5rem; }
}
@media print { .site-footer { display: none !important; } }

/* The forms' honeypot: hidden from people, so only bots fill it in. */
.hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
