.site-footer {
    grid-row-gap: var(--m-md);
}

.site-footer .custom-logo-link {
    grid-area: 1/2/span 1/span 2;
    display: flex;
    width: fit-content;
    height: fit-content;
}

.site-footer .custom-logo-link img {
    width: auto;
    height: max(48px, 4.375vw);
}

.site-footer .footer-headline {
    grid-area: 1/5/span 1/span 7;
}

.site-footer .footer-headline h2 {
    max-width: 24ch;
    margin: .5em 0 0;
}

.site-footer .scroll-to-top {
    grid-area: 1/12/span 1/span 2;
    display: block;
    width: max(32px, 1.640625vw);
    aspect-ratio: 42/66;
    mask: url(../img/icon-scroll-up.svg) no-repeat center/contain;
    -webkit-mask: url(../img/icon-scroll-up.svg) no-repeat center/contain;
    background: currentColor;
    border: 0;
    border-radius: 0;
}

.site-footer .company-container {
    grid-area: 2/5/span 1/span 4;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--grid-gap);
}

.site-footer .footer-nav {
    grid-area: 2/9/span 1/span 4;
    align-self: flex-end;
}

.site-footer .footer-nav .menu {
    display: flex;
    flex-wrap: wrap;
    gap: var(--grid-gap);
}

.site-footer .footer-social {
    grid-area: 2/12/span 1/span 2;
    gap: 10px;
}

.site-footer .footer-social .icon {
    display: block;
    height: max(24px, 1.09375vw);
    width: auto;
    aspect-ratio: 1/1;
    background: currentColor;
}

.site-footer .footer-social .icon.cities {
    background: url(../img/icon-cities.svg) no-repeat center/contain;
    aspect-ratio: 125/25;
    margin-right: 20px;
}

.site-footer .footer-social .icon.facebook {
    mask: url(../img/icon-facebook.svg) no-repeat center/contain;
    -webkit-mask: url(../img/icon-facebook.svg) no-repeat center/contain;
}

.site-footer .footer-social .icon.instagram {
    mask: url(../img/icon-instagram.svg) no-repeat center/contain;
    -webkit-mask: url(../img/icon-instagram.svg) no-repeat center/contain;
}

.site-footer .footer-legal-nav {
    grid-area: 3/9/span 1/span 2;
}

.site-footer .footer-legal-nav .menu {
    display: flex;
    flex-wrap: wrap;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .02em;
}

.site-footer .footer-legal-nav .menu li:not(:last-child)::after {
    content: "|";
    margin: 0 .5ch;
}

.site-footer .copyright-container {
    grid-area: 3/11/span 1/span 3;
    font-size: var(--fs-16);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .02em;
}

.site-footer .copyright-container .nill {
    display: inline-block;
    width: auto;
    height: 1.8125em;
    aspect-ratio: 41/29;
    mask: url(../img/icon-nill.svg) no-repeat center/contain;
    -webkit-mask: url(../img/icon-nill.svg) no-repeat center/contain;
    background: currentColor;
    margin-right: .6875em;
}

@media (max-width: 1899.98px) {
    .site-footer .footer-headline {
        grid-area: 1/4/span 1/span 7;
    }

    .site-footer .company-container {
        grid-area: 2/4/span 1/span 5;
    }

    .site-footer .footer-nav {
        grid-area: 2/9/span 1/span 3;
    }

    .site-footer .footer-legal-nav {
        grid-area: 3/4/span 1/span 5;
    }

    .site-footer .copyright-container {
        grid-area: 3/9/span 1/span 5;
    }

}

@media (max-width: 1299.98px) {
    .site-footer .custom-logo-link {
        grid-area: 1/3/span 1/span 8;
    }

    .site-footer .footer-headline {
        grid-area: 2/3/span 1/span 8;
    }

    .site-footer .scroll-to-top {
        grid-area: 1/11/span 2/span 2;
    }

    .site-footer .company-container {
        grid-area: 3/3/span 2/span 6;
    }

    .site-footer .footer-nav {
        grid-area: 3/9/span 1/span 4;
        justify-self: flex-end;
    }

    .site-footer .footer-nav .menu {
        flex-direction: column;
    }

    .site-footer .footer-social {
        grid-area: 4/9/span 1/span 4;
    }

    .site-footer .footer-legal-nav {
        grid-area: 5/3/span 1/span 4;
    }

    .site-footer .copyright-container {
        grid-area: 5/7/span 1/span 6;
    }
}

@media (max-width: 1099.98px) {
    .site-footer .custom-logo-link {
        grid-area: 1/2/span 1/span 10;
    }

    .site-footer .footer-headline {
        grid-area: 2/2/span 1/span 10;
    }

    .site-footer .scroll-to-top {
        grid-area: 1/12/span 2/span 2;
    }

    .site-footer .company-container {
        grid-area: 3/2/span 2/span 7;
    }

    .site-footer .footer-nav {
        grid-area: 3/9/span 1/span 5;
    }

    .site-footer .footer-social {
        grid-area: 4/9/span 1/span 5;
    }

    .site-footer .footer-legal-nav {
        grid-area: 5/2/span 1/span 5;
    }

    .site-footer .copyright-container {
        grid-area: 5/7/span 1/span 7;
    }
}

@media (max-width: 991.98px) {
    .site-footer .custom-logo-link {
        grid-area: 1/4/span 1/span 6;
    }

    .site-footer .footer-headline {
        grid-area: 2/4/span 1/span 6;
    }

    .site-footer .scroll-to-top {
        grid-area: 1/10/span 2/span 2;
    }

    .site-footer .company-container {
        grid-area: 3/4/span 1/span 8;
    }

    .site-footer .footer-nav {
        grid-area: 4/4/span 1/span 8;
        justify-self: center;
    }

    .site-footer .footer-nav .menu {
        flex-direction: row;
	    justify-content: center;
    }

    .site-footer .footer-social {
        grid-area: 5/4/span 1/span 8;
        justify-self: center;
    }

    .site-footer .footer-legal-nav {
        grid-area: 6/4/span 1/span 8;
        justify-self: center;
        align-items: center;
    }

    .site-footer .copyright-container {
        grid-area: 7/4/span 1/span 8;
        flex-direction: column;
        justify-self: center;
        text-align: center;
        gap: 1em;
    }
}

@media (max-width: 767.98px) {
    .site-footer .custom-logo-link {
        grid-area: 1/3/span 1/span 8;
    }

    .site-footer .footer-headline {
        grid-area: 2/3/span 1/span 8;
    }

    .site-footer .scroll-to-top {
        grid-area: 1/11/span 2/span 2;
    }

    .site-footer .company-container {
        grid-area: 3/3/span 1/span 10;
    }

    .site-footer .footer-nav {
        grid-area: 4/3/span 1/span 10;
    }

    .site-footer .footer-social {
        grid-area: 5/3/span 1/span 10;
    }

    .site-footer .footer-legal-nav {
        grid-area: 6/3/span 1/span 10;
    }

    .site-footer .copyright-container {
        grid-area: 7/3/span 1/span 10;
    }
}

@media (max-width: 575.98px) {
    .site-footer .custom-logo-link {
        grid-area: 1/2/span 1/span 10;
    }

    .site-footer .footer-headline {
        grid-area: 2/2/span 1/span 12;
        text-align: center;
        justify-self: center;
    }

    .site-footer .scroll-to-top {
        grid-area: 1/12/span 1/span 2;
    }

    .site-footer .company-container {
        grid-area: 3/2/span 1/span 12;
        display: flex;
        flex-direction: column;
        justify-self: center;
        text-align: center;
    }

    .site-footer .footer-nav {
        grid-area: 4/2/span 1/span 12;
    }

    .site-footer .footer-social {
        grid-area: 5/2/span 1/span 12;
    }

    .site-footer .footer-legal-nav {
        grid-area: 6/2/span 1/span 12;
    }

    .site-footer .copyright-container {
        grid-area: 7/2/span 1/span 12;
    }
}