.footer {
    position: relative;
    padding: 100px 0 25px;
    background: var(--accent);
    color: var(--bg);
    overflow: hidden
}

.footer-container {
    width: min(1400px, 90%);
    margin: auto
}

.footer-top {
    display: flex;
    justify-content: space-between;
    gap: 80px;
    padding-bottom: 90px
}

.footer-logo {
    display: inline-block;
    color: var(--bg);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: -.06em;
    text-decoration: none
}

.footer-logo span {
    font-weight: 400;
    opacity: .5;
    margin-left: 3px
}

.footer-brand p {
    margin: 20px 0 0;
    color: var(--bg);
    opacity: .5;
    font-size: .8rem;
    line-height: 1.7
}

.footer-links {
    display: flex;
    gap: 100px
}

.footer-column {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 130px
}

.footer-title {
    margin-bottom: 8px;
    color: var(--bg);
    opacity: .4;
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase
}

.footer-column a {
    color: var(--bg);
    opacity: .65;
    font-size: .78rem;
    text-decoration: none;
    transition: opacity .25s ease, transform .25s ease
}

.footer-column a:hover {
    opacity: 1;
    transform: translateX(3px)
}

.footer-middle {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding: 70px 0 80px;
    border-top: 1px solid rgba(128, 128, 128, .25);
    border-bottom: 1px solid rgba(128, 128, 128, .25)
}

.footer-big-text {
    font-size: clamp(4rem, 10vw, 10rem);
    line-height: .78;
    letter-spacing: -.09em;
    font-weight: 700
}

.footer-big-text em {
    font-style: normal;
    color: transparent;
    -webkit-text-stroke: 1px var(--bg)
}

.footer-arrow {
    width: 75px;
    height: 75px;
    border: 1px solid rgba(128, 128, 128, .35);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bg);
    font-size: 1.7rem;
    text-decoration: none;
    transition: background .35s ease, color .35s ease, transform .4s ease
}

.footer-arrow:hover {
    background: var(--bg);
    color: var(--accent);
    transform: rotate(45deg)
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 25px;
    color: var(--bg);
    opacity: .45;
    font-size: .62rem
}

.footer-bottom a {
    color: var(--bg);
    text-decoration: none;
    transition: opacity .25s ease
}

.footer-bottom a:hover {
    opacity: 1
}

@media(max-width:800px) {
    .footer {
        padding: 80px 0 20px
    }

    .footer-top {
        flex-direction: column;
        gap: 60px;
        padding-bottom: 70px
    }

    .footer-links {
        gap: 60px
    }

    .footer-middle {
        padding: 60px 0 70px
    }

    .footer-arrow {
        width: 60px;
        height: 60px
    }

    .footer-bottom {
        flex-wrap: wrap
    }

    .footer-bottom span:nth-child(2) {
        display: none
    }

    .footer-bottom a {
        margin-left: auto
    }
}

@media(max-width:500px) {
    .footer-links {
        gap: 35px
    }

    .footer-column {
        min-width: 0
    }

    .footer-big-text {
        font-size: clamp(3.8rem, 17vw, 6rem)
    }

    .footer-middle {
        align-items: flex-end
    }

    .footer-arrow {
        width: 52px;
        height: 52px;
        font-size: 1.2rem;
        flex-shrink: 0
    }

    .footer-bottom {
        font-size: .58rem
    }
}