/* =========================
   FOOTER
========================= */

.site-footer{
    position: relative;

    padding: 5rem 0 2rem;

    background:
        linear-gradient(
            180deg,
            #101010 0%,
            #171717 100%
        );

    overflow: hidden;
}

/* GLOW */

.site-footer::before{
    content: "";

    position: absolute;

    top: -180px;
    right: -180px;

    width: 460px;
    height: 460px;

    border-radius: 50%;

    background: rgba(103,184,109,.10);

    filter: blur(90px);

    pointer-events: none;
}

/* TOP */

.footer-top{
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1.2fr .8fr .8fr 1fr;

    align-items: start;

    gap: 4rem;

    padding-bottom: 4rem;
}

/* BRAND */

.footer-logo{
    width: 92px;

    margin-bottom: 1.5rem;
}

.footer-brand-text{
    max-width: 320px;

    margin-bottom: 2rem;

    font-size: .98rem;
    line-height: 1.9;

    color: rgba(255,255,255,.72);
}

/* SOCIAL */

.footer-social{
    display: flex;
    align-items: center;

    gap: .9rem;
}

.footer-social a{
    display: flex;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border-radius: 50%;

    text-decoration: none;

    background: rgba(255,255,255,.06);

    transition:
        transform .25s ease,
        background .25s ease;
}

.footer-social a:hover{
    background: #67b86d;

    transform: translateY(-2px);
}

.footer-social i{
    font-size: 1.15rem;

    color: #ffffff;
}

/* COLUMNS */

.footer-column h3,
.footer-cta h3{
    margin-bottom: 1.5rem;

    font-size: 1.05rem;
    font-weight: 700;

    color: #ffffff;
}

.footer-links{
    list-style: none;

    display: flex;
    flex-direction: column;

    gap: 1rem;
}

.footer-links a{
    text-decoration: none;

    font-size: .96rem;
    line-height: 1.6;

    color: rgba(255,255,255,.72);

    transition:
        color .25s ease,
        transform .25s ease;
}

.footer-links a:hover{
    color: #67b86d;

    transform: translateX(2px);
}

/* CTA */

.footer-cta-label{
    display: inline-flex;

    margin-bottom: 1rem;

    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .16em;

    color: #67b86d;
}

.footer-cta p{
    margin-top: 1rem;
    margin-bottom: 1.8rem;

    font-size: .96rem;
    line-height: 1.8;

    color: rgba(255,255,255,.72);
}

.footer-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    height: 52px;
    padding-inline: 2rem;

    border-radius: 999px;

    text-decoration: none;

    background: #67b86d;

    font-size: .92rem;
    font-weight: 600;

    color: #ffffff;

    transition:
        transform .25s ease,
        background .25s ease;
}

.footer-button:hover{
    background: #58a75e;

    transform: translateY(-2px);
}

/* CONTACT */



.footer-contact{
    margin-top: 2.2rem;

    display: flex;
    flex-direction: column;

    gap: .45rem;
}
.footer-contact span{
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;

    color: #67b86d;
}

.footer-contact a{
    font-size: .98rem;
    line-height: 1.7;

    color: #ffffff;

    text-decoration: none;

    transition: color .25s ease;
}

.footer-contact a:hover{
    color: #67b86d;
}

/* DIVIDER */

.footer-divider{
    width: 100%;
    height: 1px;

    margin-bottom: 2rem;

    background: rgba(255,255,255,.08);
}

/* BOTTOM */

.footer-bottom{
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 2rem;
}

.footer-copy{
    font-size: .9rem;

    color: rgba(255,255,255,.52);
}

.footer-bottom-links{
    display: flex;
    align-items: center;

    gap: 1.5rem;
}

.footer-bottom-links a{
    text-decoration: none;

    font-size: .9rem;

    color: rgba(255,255,255,.52);

    transition: color .25s ease;
}

.footer-bottom-links a:hover{
    color: #67b86d;
}

/* =========================
   TABLET
========================= */

@media (max-width: 1100px){

    .footer-top{
        grid-template-columns: repeat(2,1fr);

        gap: 3rem;
    }

}

/* =========================
   MOBILE
========================= */

@media (max-width: 768px){

    .site-footer{
        padding: 4rem 0 2rem;
    }

    .footer-top{
        grid-template-columns: 1fr;

        gap: 3rem;

        padding-bottom: 3rem;
    }

    .footer-brand,
    .footer-column,
    .footer-cta{
        text-align: center;
    }

    .footer-logo{
        margin-inline: auto;
    }

    .footer-brand-text{
        max-width: 100%;
    }

    .footer-social{
        justify-content: center;
    }

    .footer-links{
        align-items: center;
    }

    .footer-button{
        width: 100%;
    }


    .footer-bottom{
        flex-direction: column;
    }

}
