/* ============================================================================
   VIRTUE COMPLIANCE — Footer
   ============================================================================ */

.footer       { background: var(--ink); color: rgba(255,255,255,0.4); padding: 64px 32px 36px; }
.footer-inner { max-width: 1140px; margin: 0 auto; }
.footer-top {
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px; margin-bottom: 48px;
}
.footer-brand p              { font-size: 14px; line-height: 1.7; max-width: 280px; margin-top: 14px; }
.footer-brand .nav-logo      { color: white; }
.footer-logo-img             { height: 28px; filter: brightness(0) invert(1); opacity: 0.9; }
.footer-brand .nav-logo-text span { color: rgba(255,255,255,0.35); }

.footer-col h4 {
    font-size: 11.5px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 1.5px; color: rgba(255,255,255,0.2); margin-bottom: 18px;
}
.footer-col ul  { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-col a   { text-decoration: none; color: rgba(255,255,255,0.45); font-size: 14px; transition: color 0.2s; }
.footer-col a:hover { color: rgba(255,255,255,0.8); }

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.06); padding-top: 24px;
    display: flex; align-items: center; justify-content: space-between; font-size: 12.5px;
}
.footer-social   { display: flex; gap: 12px; }
.footer-social a {
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(255,255,255,0.05); display: flex;
    align-items: center; justify-content: center;
    text-decoration: none; color: rgba(255,255,255,0.35);
    transition: all 0.2s; font-size: 13px;
}
.footer-social a:hover { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.7); }

@media (max-width: 1024px) { .footer-top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 768px) {
    .footer           { padding: 48px 16px 28px; }
    .footer-top       { grid-template-columns: 1fr; gap: 28px; }
    .footer-bottom    { flex-direction: column; gap: 14px; text-align: center; }
}
