.footer {
    background-color: var(--bg-dark);
    color: var(--text-white);
    padding-top: var(--space-xl);
    padding-bottom: var(--space-lg);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    margin-bottom: var(--space-lg);
}

.footer-brand {
    font-size: var(--text-xl);
    font-weight: 700;
    margin-bottom: var(--space-md);
}

.footer-brand span {
    color: var(--primary);
}

.footer-desc {
    color: var(--border);
    font-size: var(--text-base);
    line-height: 1.75;
    max-width: 320px;
}

.footer-heading {
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: var(--space-md);
    color: var(--border);
}

.footer-links {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.footer-links a {
    color: var(--bg-soft);
    font-size: var(--text-base);
    transition: color var(--transition);
}

.footer-links a:hover {
    color: var(--text-white);
}

.footer-contact {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    color: var(--bg-soft);
    font-size: var(--text-base);
}

.footer-contact a {
    color: var(--bg-soft);
    transition: color var(--transition);
}

.footer-contact a:hover {
    color: var(--accent);
}

.footer-bottom {
    border-top: 1px solid var(--text-muted);
    padding-top: var(--space-lg);
    text-align: center;
    color: var(--text-muted);
    font-size: var(--text-sm);
}

@media (min-width: 768px) {
    .footer-grid {
        grid-template-columns: 2fr 1fr 1fr 1fr;
    }
}
