.block-immersive-gallery {
    background: var(--color-1);
    color: var(--color-2);
    overflow: hidden;
}

.block-immersive-gallery__inner {
    margin: 0 auto;
}

.block-immersive-gallery__header {
    width: min(100%, 26.43em);
    margin: 0 auto 3.75em;
    text-align: center;
    display: grid;
    gap: 1.93em;
    justify-items: center;
    padding-top: 10.93em;
}

.block-immersive-gallery__eyebrow {
    display: block;
}

.block-immersive-gallery__title {
    margin: 0;
}

.block-immersive-gallery__button {
    margin: 0 auto;
}

.block-immersive-gallery__stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: min(68em, 90vh);
    padding-bottom: 4.0625em;
}

.block-immersive-gallery__main-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 1;
}

.block-immersive-gallery__secondary-viewport {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    clip-path: inset(0 0.5em 0 0.5em);
    pointer-events: none;
}

.block-immersive-gallery__frame {
    position: absolute;
    overflow: hidden;
    background: var(--color-8);
    border-radius: 0.375em;
}

.block-immersive-gallery__frame--main {
    position: relative;
    height: min(60.75em, calc(100vh - 6em));
    width: min(52em, 88vw, calc((100vh - 6em) * 0.84));
}

.block-immersive-gallery__frame--left,
.block-immersive-gallery__frame--right {
    top: 50%;
    transform: translateY(-50%);
    width: min(23.8125em, 32vw, calc((100vh - 9em) * 0.6673));
    aspect-ratio: 381 / 571;
    z-index: 2;
}

.block-immersive-gallery__frame--left {
    left: calc(
        50%
        - (min(52em, 88vw, calc((100vh - 6em) * 0.84)) / 2)
        - 3.125em
        - min(23.8125em, 32vw, calc((100vh - 9em) * 0.6673))
    );
}

.block-immersive-gallery__frame--right {
    left: calc(50% + (min(52em, 88vw, calc((100vh - 6em) * 0.84)) / 2) + 3.125em);
}

.block-immersive-gallery__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: 50% 70%;
    border-radius: inherit;
}

.block-immersive-gallery__frame picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}

.block-immersive-gallery__overlay {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 3.3em;
    width: calc(100vw - 3em);
    max-width: 34.5em;
    margin: 0 auto;
    text-align: center;
    color: var(--color-1);
    z-index: 2;
    opacity: 0;
    visibility: hidden;
}

.block-immersive-gallery__overlay-inner {
    display: block;
}

@media screen and (max-width: 1300px) {
    .block-immersive-gallery__frame--main {
        height: min(60.75em, calc(100vh - 5em));
        width: min(52em, 92vw, calc((100vh - 5em) * 0.84));
    }

    .block-immersive-gallery__frame--left,
    .block-immersive-gallery__frame--right {
        width: min(23.8125em, 34vw, calc((100vh - 8em) * 0.6673));
    }

    .block-immersive-gallery__frame--left {
        left: calc(
            50%
            - (min(52em, 92vw, calc((100vh - 5em) * 0.84)) / 2)
            - 2.4em
            - min(23.8125em, 34vw, calc((100vh - 8em) * 0.6673))
        );
    }

    .block-immersive-gallery__frame--right {
        left: calc(50% + (min(52em, 92vw, calc((100vh - 5em) * 0.84)) / 2) + 2.4em);
    }
}

@media screen and (max-width: 1024px) {
    .block-immersive-gallery {
        padding: 4em 0.1875em 0;
    }

    .block-immersive-gallery__header {
        width: min(100%, 20em);
        gap: 1.56em;
        margin-bottom: 3.25em;
        padding: 0
    }

    .block-immersive-gallery__stage {
        padding-bottom: 0.1875em;
        min-height: 0;
    }

    .block-immersive-gallery__frame {
        position: relative;
    }

    .block-immersive-gallery__frame--main {
        left: auto;
        bottom: auto;
        width: 100%;
        height: 100%;
        transform: none;
        aspect-ratio: 247 / 345;
    }

    .block-immersive-gallery__frame--main .block-immersive-gallery__media {
        object-fit: cover;
        object-position: center;
    }

    .block-immersive-gallery__frame--secondary {
        display: none;
    }

    .block-immersive-gallery__secondary-viewport {
        display: none;
    }

    .block-immersive-gallery__overlay {
        display: none;
    }
}
