.team-grid--heading {
    margin-bottom: 40px
}

.team-grid--grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px
}

@media screen and (min-width: 768px) {
    .team-grid--grid.columns-3 {
        grid-template-columns:repeat(3, 1fr)
    }
}

@media screen and (min-width: 640px) {
    .team-grid--grid.columns-4 {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media screen and (min-width: 992px) {
    .team-grid--grid.columns-4 {
        grid-template-columns:repeat(4, 1fr)
    }
}

.team-grid--image,.team-grid--image img {
    width: 100%;
    position: relative;
    z-index: 1;
    display: block;
    aspect-ratio: 1/1;
    background-color: #000
}

.team-grid--item {
    position: relative
}

.team-grid--overlay {
    font-family: var(--heading-font)
}

@media screen and (max-width: 767px) {
    .team-grid--overlay {
        opacity:1;
        margin-top: 10px;
        margin-bottom: 20px
    }

    .team-grid--overlay * {
        transform: translateY(0) !important;
        opacity: 1 !important
    }
}

@media screen and (min-width: 768px) {
    .team-grid--overlay {
        position:absolute;
        z-index: 2;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
        background-color: rgba(0,0,0,.6);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-start;
        color: #fff;
        opacity: 0;
        transition: all .2s;
        padding: 30px 20px;
    }

    .team-grid--overlay * {
        color: #fff
    }
}

.team-grid--link {
    text-decoration: none
}

.team-grid--name {
    text-transform: capitalize;
    transform: translateY(10px);
    opacity: 0;
    transition: all .4s var(--easing) .1s
}

.team-grid--title {
    text-transform: uppercase;
    font-size: .875rem;
    font-weight: var(--medium);
    transform: translateY(10px);
    opacity: 0;
    transition: all .4s var(--easing) .15s
}

.team-grid--readmore {
    font-weight: var(--normal);
    transform: translateY(10px);
    opacity: 0;
    transition: all .4s var(--easing) .2s;
    margin-top: 10px
}

@media screen and (min-width: 768px) {
    .team-grid--readmore {
        margin-top:30px
    }
}

@media screen and (min-width: 768px) {
    .team-grid--item:hover .team-grid--overlay {
        opacity:1
    }

    .team-grid--item:hover .team-grid--name,.team-grid--item:hover .team-grid--title,.team-grid--item:hover .team-grid--readmore {
        transform: translateY(0);
        opacity: 1
    }

    .team-grid--item:hover .team-grid--readmore {
        text-decoration: underline
    }
}

.team-grid--item {
    display: block;
    text-decoration: none;
    color: inherit;
}
