.case-study-media-gallery__trigger {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .18);
    background: #161616;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    cursor: pointer;
}

.case-study-media-gallery__trigger img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.case-study-media-gallery__trigger:focus-visible {
    outline: 3px solid #d8ba76;
    outline-offset: 3px;
}

.case-study-media-gallery__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: grid;
    place-items: center;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 50%;
    color: #fff;
    background: rgba(0, 0, 0, .74);
    pointer-events: none;
}

.case-study-media-gallery__context {
    position: absolute;
    left: .4rem;
    bottom: .4rem;
    padding: .2rem .4rem;
    color: #fff;
    background: rgba(0, 0, 0, .82);
    font-size: .7rem;
    line-height: 1.2;
    pointer-events: none;
}

.case-study-media-gallery__full,
.case-study-media-gallery__video {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 10rem);
    width: auto;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

.case-study-media-gallery__video {
    width: 100%;
}

.case-study-media-gallery .carousel-control-prev,
.case-study-media-gallery .carousel-control-next {
    top: 50%;
    bottom: auto;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    background: rgba(0, 0, 0, .78);
    opacity: 1;
    transform: translateY(-50%);
}

.case-study-media-gallery .carousel-control-prev:focus-visible,
.case-study-media-gallery .carousel-control-next:focus-visible {
    outline: 3px solid #d8ba76;
    outline-offset: 2px;
}

.case-study-media-gallery__caption {
    margin: .75rem 3rem 0;
    text-align: center;
    color: #e4e1db;
}

@media (max-width: 575.98px) {
    .case-study-media-gallery__full,
    .case-study-media-gallery__video {
        max-height: calc(100vh - 8rem);
    }

    .case-study-media-gallery__caption {
        margin-inline: 1rem;
    }
}
