.main-footer {
    background: #0f172a;
    color: #cbd5e1;
    padding: 2.25rem clamp(1rem, 4vw, 3rem);
    margin-block-start: auto;
}

.footer-content {
    max-width: 1400px;
    margin-inline: auto;
    display: grid;
    grid-template-columns: minmax(230px, 1.3fr) minmax(280px, 2fr) auto;
    gap: 2rem;
    align-items: center;
}

.footer-brand { display: grid; gap: .35rem; }
.footer-brand strong { color: #fff; font-size: 1.15rem; }
.footer-brand span { line-height: 1.5; }
.footer-brand small { color: #94a3b8; }

.footer-links {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .75rem 1.4rem;
}

.footer-links a { color: #cbd5e1; text-decoration: none; }
.footer-links a:hover { color: #fbbf24; }

.footer-social { display: flex; gap: .75rem; }
.footer-social a {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    color: #fff;
    text-decoration: none;
    transition: transform .2s ease, background-color .2s ease;
}
.footer-social a:hover { background: #1d4ed8; transform: translateY(-2px); }

.footer-links a:focus-visible,
.footer-social a:focus-visible { outline: 3px solid #fbbf24; outline-offset: 4px; }

@media (max-width: 900px) {
    .footer-content { grid-template-columns: 1fr; text-align: center; }
    .footer-social, .footer-links { justify-content: center; }
}
