footer {
    border-top: 1px solid var(--color-border-subtle);
    padding: var(--space-xl) var(--space-gutter) var(--space-gutter);
}

.footer-main {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr;
    gap: var(--space-gutter);
    max-width: var(--content-max);
    margin: 0 auto;
    padding-bottom: var(--space-gutter);
    border-bottom: 1px solid var(--color-border-subtle);
}

.footer-brand {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.footer-logo {
    max-height: 44px;
    width: auto;
    object-fit: contain;
    object-position: left center;
}

.footer-tagline {
    font-size: 0.875rem;
    font-weight: var(--font-weight-light);
    line-height: 1.55rem;
    opacity: var(--opacity-low);
    max-width: 260px;
}

.footer-group-label {
    font-size: 0.72rem;
    font-weight: var(--font-weight-regular);
    opacity: var(--opacity-faint);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: var(--space-xs);
}

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

.footer-nav a,
.footer-contact a {
    font-size: 0.9rem;
    font-weight: var(--font-weight-light);
    text-decoration: none;
    opacity: 0.65;
    transition: opacity var(--duration-fast) var(--easing-base);
    width: fit-content;
}

.footer-nav a:hover,
.footer-contact a:hover {
    opacity: 1;
}

.footer-bottom {
    max-width: var(--content-max);
    margin: var(--space-md) auto 0;
}

.footer-copyright {
    font-size: 0.8rem;
    font-weight: var(--font-weight-light);
    opacity: var(--opacity-faint);
}

@media (max-width: 768px) {
    footer {
        padding: var(--space-xl) var(--space-md) var(--space-lg);
    }

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

    .footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    footer {
        padding: var(--space-xl) var(--space-sm) var(--space-lg);
    }

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

    .footer-brand {
        grid-column: unset;
    }
}
