.featured-projects .grid-title {
    padding-top: calc(100vw * 24 / var(--page-width));
    position: relative;
}

.featured-projects .grid-title:before {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: var(--color-black);
    position: absolute;
    top: 0;
    left: 0;
}

.featured-projects .grid-title .title {
    -webkit-grid-column: span 12;
    grid-column: span 12;
}

.featured-projects .grid-title .arrow-button {
    position: absolute;
    top: calc(100vw * 28 / var(--page-width));
    right: calc(100vw * 4 / var(--page-width));
    padding-right: calc(100vw * 22 / var(--page-width));
    display: block;
}

.featured-projects .grid-title .arrow-button:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
    background: url(../../images/arrow-button-small.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: calc(100vw * 14 / var(--page-width));
    height: calc(100vw * 14 / var(--page-width));
}

.featured-projects .grid-title .arrow-button:hover {
    opacity: 0.5;
}

.featured-projects .project-grid {
    width: 100%;
    position: relative;
    margin-top: calc(100vw * 80 / var(--page-width));
    -webkit-grid-gap: calc(100vw * 80 / var(--page-width))
        var(--padding-general);
    grid-gap: calc(100vw * 80 / var(--page-width)) var(--padding-general);
}

.featured-projects .project-entry {
    -webkit-grid-column: span 4;
    grid-column: span 4;
    display: flex;
    flex-direction: column;
}

.featured-projects .project-entry a {
    width: 100%;
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius);
    margin-top: calc(100vw * 20 / var(--page-width));
}

.featured-projects .project-entry .image {
    position: relative;
    width: 100%;
    border-radius: calc(100vw * 5 / var(--page-width));
    overflow: hidden;
}

.featured-projects .project-entry .image:after {
    content: "";
    display: block;
    width: 100%;
    position: relative;
    padding-bottom: 100%;
}

.featured-projects .project-entry .image > * {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.featured-projects .project-entry .image .hover {
    display: none;
}

.featured-projects .project-entry a:hover .image .hover {
    display: block;
}

.featured-projects .project-entry .image picture {
    position: relative;
    width: 100%;
    height: 100%;
}

.featured-projects .project-entry .image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

@media only screen and (max-width: 740px) {
    .featured-projects .project-entry {
        -webkit-grid-column: span 12;
        grid-column: span 12;
    }

    .featured-projects .project-entry a {
        margin-top: calc(100vw * 20 / var(--page-width));
    }

    .featured-projects .project-entry a:after {
        padding-bottom: 105%;
    }

    .featured-projects .grid-title .arrow-button {
        top: calc(100vw * 37 / var(--page-width));
    }
}
