/* ── FOOTER ──────────────────────────────────────────────────── */
.site-footer { background: #F5F5F7; border-top: 1px solid var(--border); margin-top: 6rem; padding-bottom: env(safe-area-inset-bottom, 0px); }

.footer-inner {
    max-width:   var(--max);
    margin:      0 auto;
    padding:     4rem var(--pad) 3rem;
    display:     flex;
    gap:         4rem;
    align-items: flex-start;
}

.footer-brand   { flex: 0 0 220px; }
.footer-logo    { display: block; font-size: 1.1rem; font-weight: 700; color: var(--ink); margin-bottom: 0.6rem; }
.footer-tagline { font-size: 0.82rem; font-weight: 300; color: var(--ink-muted); line-height: 1.6; }

.footer-links { display: flex; gap: 3rem; flex: 1; }
.footer-col   { display: flex; flex-direction: column; gap: 0.6rem; }
.footer-col h4 { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); margin-bottom: 0.4rem; }
.footer-col a  { font-size: 0.82rem; font-weight: 300; color: var(--ink-soft); transition: color 0.15s; }
.footer-col a:hover { color: var(--ink); }

.footer-bottom {
    max-width:       var(--max);
    margin:          0 auto;
    padding:         1.25rem var(--pad);
    border-top:      1px solid var(--border);
    display:         flex;
    justify-content: space-between;
    align-items:     center;
    flex-wrap:       wrap;
    gap:             0.5rem;
}
.footer-bottom span,
.footer-bottom-links a       { font-size: 0.75rem; font-weight: 300; color: var(--ink-muted); transition: color 0.15s; }
.footer-bottom-links         { display: flex; gap: 1.5rem; }
.footer-bottom-links a:hover { color: var(--ink); }

@media (max-width: 768px) {
    .site-footer   { margin-top: 3rem; }
    .footer-inner  { flex-direction: column; gap: 2rem; padding: 2.5rem var(--pad) 2rem; }
    .footer-brand  { flex: none; }
    .footer-links  { flex-wrap: wrap; gap: 2rem; }
}

@media (max-width: 480px) {
    .site-footer   { margin-top: 2rem; }
    .footer-inner  { padding: 2rem var(--pad) 1.5rem; gap: 1.5rem; }
    .footer-brand  { flex: none; }
    .footer-logo   { font-size: 0.95rem; }
    .footer-tagline { font-size: 0.75rem; }
    .footer-links  { gap: 1.5rem; }
    .footer-col h4 { font-size: 0.65rem; }
    .footer-col a  { font-size: 0.75rem; }
    .footer-bottom { padding: 1rem var(--pad); flex-direction: column; align-items: flex-start; }
    .footer-bottom span,
    .footer-bottom-links a { font-size: 0.68rem; }
    .footer-bottom-links   { gap: 1rem; }
}
