.appresso-footer {
    max-width: var(--tContainerWidth);
    margin: 0 auto;
    padding: 0 var(--tContainerSidePadding);
    margin-top: 5.5rem;
    padding-bottom: 3rem;
}

/* Separator — explicit reset */
.appresso-footer__separator {
    width: 100%;
    border: 0;
    border-top: 1px solid var(--tColorContrast20);
    margin: 0;
    padding: 0;
    margin-bottom: 1.5rem;
}

/* Override page-section and container styles inside footer */
.appresso-footer__content .page-section {
    padding: 0;
}

.appresso-footer__content .container {
    max-width: none;
    padding: 0;
    margin: 0;
}

/* Footer link styling */
.appresso-footer__content a {
    color: var(--tColorContrast60);
    text-decoration: none;
    display: inline-block;
}

.appresso-footer__content a:visited {
    color: var(--tColorContrast60);
}

.appresso-footer__content a:hover,
.appresso-footer__content a:focus {
    color: var(--tColorContrast100);
}

@media (min-width: 720px) {
    .appresso-footer {
        padding-bottom: 3rem;
    }
}
