.ak-site-footer {
    margin-top: var(--ak-space-section);
    background: var(--ak-color-neutral-bg);
    color: var(--ak-color-ink);
    font-family: var(--ak-font-body);
}

.ak-footer-inner {
    max-width: var(--ak-header-inner-max);
    margin: 0 auto;
    padding: 0 var(--ak-header-inner-padding);
}

.ak-footer-cta {
    background: var(--ak-color-primary);
    color: var(--ak-color-neutral-bg);
}

.ak-footer-cta__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--ak-space-lg);
    padding: var(--ak-space-xl) var(--ak-header-inner-padding);
}

.ak-footer-cta__heading {
    margin: 0;
    font-size: var(--ak-font-size-headline);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-wrap: balance;
}

.ak-footer-cta__subheading {
    margin: var(--ak-space-sm) 0 0;
    font-size: var(--ak-font-size-body);
    font-weight: 400;
    line-height: 1.5;
    opacity: 0.92;
}

.ak-footer-cta__action {
    display: flex;
}

.ak-footer-cta__action .ak-cta {
    width: 100%;
}

.ak-footer-main {
    padding: var(--ak-space-xl) 0;
    border-top: 1px solid var(--ak-color-border);
}

.ak-footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--ak-space-xl);
}

.ak-footer-col--brand .ak-logo {
    display: inline-flex;
    margin-bottom: var(--ak-space-md);
}

.ak-footer-tagline {
    margin: 0 0 var(--ak-space-md);
    max-width: 36ch;
    color: var(--ak-color-ink-muted);
    font-size: var(--ak-font-size-ui);
    line-height: 1.5;
}

.ak-footer-email {
    display: inline-block;
    margin: 0 0 var(--ak-space-sm);
    color: var(--ak-color-ink);
    font-size: var(--ak-font-size-ui);
    font-weight: 600;
    text-decoration: none;
}

.ak-footer-email:hover,
.ak-footer-email:focus-visible {
    color: var(--ak-color-primary-deep);
}

.ak-footer-address {
    margin: 0 0 var(--ak-space-md);
    color: var(--ak-color-ink-muted);
    font-size: var(--ak-font-size-ui);
    line-height: 1.5;
}

.ak-social--footer {
    margin-top: var(--ak-space-md);
}

.ak-footer-heading {
    margin: 0 0 var(--ak-space-md);
    color: var(--ak-color-ink);
    font-size: var(--ak-font-size-label);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ak-footer-menu,
.ak-footer-legal-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ak-footer-menu li + li,
.ak-footer-legal-menu li + li {
    margin-top: var(--ak-space-sm);
}

.ak-footer-menu a {
    color: var(--ak-color-ink-muted);
    font-size: var(--ak-font-size-ui);
    font-weight: 400;
    line-height: 1.4;
    text-decoration: none;
}

.ak-footer-menu a:hover,
.ak-footer-menu a:focus-visible {
    color: var(--ak-color-primary-deep);
}

.ak-footer-phone,
.ak-footer-whatsapp {
    display: block;
    margin: 0 0 var(--ak-space-sm);
    color: var(--ak-color-ink);
    font-size: var(--ak-font-size-ui);
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

.ak-footer-phone:hover,
.ak-footer-phone:focus-visible,
.ak-footer-whatsapp:hover,
.ak-footer-whatsapp:focus-visible {
    color: var(--ak-color-primary-deep);
}

.ak-footer-phone--text {
    font-weight: 600;
}

.ak-footer-hours {
    margin: var(--ak-space-md) 0 0;
    color: var(--ak-color-ink-muted);
    font-size: var(--ak-font-size-label);
    line-height: 1.4;
}

.ak-footer-legal {
    background: var(--ak-color-surface);
    border-top: 1px solid var(--ak-color-border);
}

.ak-footer-legal__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ak-space-md);
    padding: var(--ak-space-lg) var(--ak-header-inner-padding);
    color: var(--ak-color-ink-muted);
    font-family: var(--ak-font-body);
    font-size: var(--ak-font-size-ui);
    font-weight: 400;
    line-height: 1.4;
}

.ak-footer-copyright {
    margin: 0;
    color: inherit;
    font: inherit;
}

.ak-footer-legal-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ak-space-sm);
}

.ak-footer-legal-menu {
    display: flex;
    flex-wrap: wrap;
    gap: var(--ak-space-sm) var(--ak-space-md);
    margin: 0;
    padding: 0;
    list-style: none;
}

.ak-footer-legal-menu li + li {
    margin-top: 0;
}

.ak-footer-legal-menu a,
.ak-footer-credit {
    color: inherit;
    font: inherit;
    text-decoration: none;
}

.ak-footer-legal-menu a:hover,
.ak-footer-legal-menu a:focus-visible,
.ak-footer-credit:hover,
.ak-footer-credit:focus-visible {
    color: var(--ak-color-primary-deep);
}

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

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

@media (min-width: 1024px) {
    .ak-footer-cta__inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: var(--ak-space-xl);
        padding-top: var(--ak-space-xl);
        padding-bottom: var(--ak-space-xl);
    }

    .ak-footer-cta__copy {
        flex: 1 1 auto;
        max-width: 52ch;
    }

    .ak-footer-cta__action {
        flex: 0 0 auto;
    }

    .ak-footer-cta__action .ak-cta {
        width: auto;
    }

    .ak-footer-main {
        padding: var(--ak-space-xxl) 0;
    }

    .ak-footer-grid {
        grid-template-columns: minmax(220px, 1.4fr) repeat(auto-fit, minmax(140px, 1fr));
        gap: var(--ak-space-xl);
        align-items: start;
    }

    .ak-footer-col--brand {
        grid-column: auto;
    }

    .ak-footer-legal__inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }

    .ak-footer-legal-links {
        flex-direction: row;
        align-items: center;
        gap: var(--ak-space-md);
    }

    .ak-footer-legal-links:has(.ak-footer-legal-nav) .ak-footer-credit::before {
        content: "|";
        margin-right: var(--ak-space-md);
        color: inherit;
        pointer-events: none;
    }
}
