/* ==========================================================================
   Footer — Serif Editorial
   ========================================================================== */

.footer {
    border-top: 1px solid var(--border);
    padding: var(--space-16) 0 var(--space-8);
}

.footer__grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
    gap: var(--space-8);
    margin-bottom: var(--space-12);
}

.footer__brand {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.footer__logo {
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.footer__logo img,
.footer__logo svg {
    height: 28px;
    width: auto;
    color: var(--accent);
}

.footer__logo-text {
    font-family: var(--font-display);
    font-size: var(--text-body);
    font-weight: 400;
    color: var(--foreground);
}

.footer__tagline {
    font-size: var(--text-body);
    color: var(--muted-foreground);
    line-height: 1.75;
    max-width: 30ch;
}

.footer__column h4 {
    font-family: var(--font-mono);
    font-size: var(--text-caption);
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--foreground);
    margin-bottom: var(--space-5);
}

.footer__links {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.footer__link {
    font-size: var(--text-body);
    color: var(--muted-foreground);
    transition: color var(--duration) var(--ease-out);
}

.footer__link:hover {
    color: var(--accent);
}

.footer__bottom {
    border-top: 1px solid var(--border);
    padding-top: var(--space-6);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer__copy {
    font-size: var(--text-caption);
    color: var(--muted-foreground);
    letter-spacing: 0.03em;
}

.footer__location {
    font-family: var(--font-mono);
    font-size: var(--text-caption);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.footer__bottom-links {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-caption);
    color: var(--muted-foreground);
}

@media (max-width: 768px) {
    .footer__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-8);
    }

    .footer__brand {
        grid-column: 1 / -1;
    }

    .footer__bottom {
        flex-direction: column;
        gap: var(--space-3);
        text-align: center;
    }
}