/* === Site footer (partials/site-footer) === */
footer.site-footer { text-align: left; padding: 4rem 1.5rem 2rem; border-top: 1px solid rgba(255,255,255,0.12); font-size: 0.9rem; }
.site-footer-grid { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 2rem; }
.site-footer-brand p { color: var(--text-secondary); margin: 1rem 0 1.25rem; max-width: 18rem; line-height: 1.5; }
.site-footer-brand img { display: block; height: 26px; width: auto; }
.site-footer h4 { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; color: var(--text-tertiary); margin: 0 0 1rem; }
footer.site-footer a { display: block; margin: 0 0 0.6rem; color: var(--text-secondary); text-decoration: none; transition: color 0.2s; }
footer.site-footer a:hover { color: var(--text); }
.site-footer-social { display: flex; gap: 1rem; }
footer.site-footer .site-footer-social a { display: inline-flex; margin: 0; color: var(--text-tertiary); }
.site-footer-bottom { max-width: 1180px; margin: 3rem auto 0; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.08); display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; font-size: 0.78rem; color: var(--text-tertiary); }
.site-footer-legal { display: flex; gap: 1.25rem; flex-wrap: wrap; }
footer.site-footer .site-footer-legal a { display: inline; margin: 0; color: var(--text-tertiary); }
@media (max-width: 860px) {
    .site-footer-grid { grid-template-columns: 1fr 1fr; }
    .site-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
    footer.site-footer { padding: 3rem 1rem 2rem; }
    footer.site-footer a { display: block; margin: 0 0 0.6rem !important; }
    footer.site-footer .site-footer-legal a, footer.site-footer .site-footer-social a { display: inline-flex; margin: 0 !important; }
}
