.ce-cgs2 {
    position: relative;
    isolation: isolate;
    overflow: visible;
}

.elementor-widget-custom_gallery_style2,
.elementor-widget-custom_gallery_style2 > .elementor-widget-container {
    overflow: visible;
}

.ce-cgs2-grid {
    --ce-cgs2-mobile-columns: 1;
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    row-gap: var(--ce-cgs2-row-gap, 52px);
    column-gap: var(--ce-cgs2-column-gap, 54px);
    align-items: start;
}

.ce-cgs2-title-slot {
    grid-column: 5 / span 4;
    grid-row: 1 / span 3;
    align-self: stretch;
    min-width: 0;
    z-index: 1;
    pointer-events: none;
}

.ce-cgs2-title-wrap {
    width: 100%;
    padding-top: 112px;
}

.ce-cgs2-title-wrap.is-sticky {
    position: sticky;
    top: 120px;
}

.ce-cgs2-title {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: center;
    line-height: 1;
    text-transform: uppercase;
}

.ce-cgs2-title-line {
    display: block;
    font-size: 42px;
    font-weight: 800;
    color: #ff4b2f;
    line-height: 1.05;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.ce-cgs2-item {
    position: relative;
    z-index: 2;
    width: min(100%, var(--ce-cgs2-item-width, var(--ce-cgs2-default-item-width, 420px)));
    max-width: 100%;
    margin: var(--ce-cgs2-item-margin, 0);
    transform: translateY(calc(var(--ce-cgs2-offset-y, 0px) + var(--ce-cgs2-preset-y, 0px)));
}

.ce-cgs2-item.is-top-left {
    grid-column: 1 / span 4;
    grid-row: 1;
    justify-self: center;
}

.ce-cgs2-item.is-top-right {
    grid-column: 9 / span 4;
    grid-row: 1;
    justify-self: center;
}

.ce-cgs2-item.is-middle-center {
    grid-column: 5 / span 4;
    grid-row: 2;
    justify-self: center;
    --ce-cgs2-preset-y: calc(var(--ce-cgs2-row-gap, 52px) * -0.95);
}

.ce-cgs2-item.is-bottom-left {
    grid-column: 1 / span 4;
    grid-row: 3;
    justify-self: center;
    --ce-cgs2-preset-y: calc(var(--ce-cgs2-row-gap, 52px) * -0.25);
}

.ce-cgs2-item.is-bottom-right {
    grid-column: 9 / span 4;
    grid-row: 3;
    justify-self: center;
    --ce-cgs2-preset-y: calc(var(--ce-cgs2-row-gap, 52px) * -0.25);
}

.ce-cgs2-item.is-full-row {
    grid-column: 3 / span 8;
    justify-self: center;
}

.ce-cgs2-item.is-auto {
    grid-column: span 4;
    justify-self: center;
}

.ce-cgs2-item.is-auto.auto-col-1 {
    grid-column: 1 / span 4;
}

.ce-cgs2-item.is-auto.auto-col-2 {
    grid-column: 5 / span 4;
}

.ce-cgs2-item.is-auto.auto-col-3 {
    grid-column: 9 / span 4;
}

.ce-cgs2-image-link {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    transition: transform 0.35s ease, filter 0.35s ease;
    transform-style: preserve-3d;
}

.ce-cgs2-image-link::after {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

.ce-cgs2-image-link img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    transition: transform 0.55s ease, filter 0.35s ease;
}

.ce-cgs2.has-scroll-animation .ce-cgs2-item {
    backface-visibility: hidden;
}

.ce-cgs2.has-scroll-animation .ce-cgs2-image-link {
    backface-visibility: hidden;
    will-change: transform, opacity, clip-path, filter;
}

.ce-cgs2.has-lightbox .ce-cgs2-image-link {
    cursor: pointer;
}

.ce-cgs2.hover-zoom .ce-cgs2-image-link:hover img {
    transform: scale(1.06);
}

.ce-cgs2.hover-lift .ce-cgs2-image-link:hover {
    transform: translateY(-10px);
}

.ce-cgs2.hover-fade .ce-cgs2-image-link:hover::after {
    opacity: 1;
}

@media (max-width: 1024px) {
    .ce-cgs2 {
        overflow-x: clip;
    }
}

@media (max-width: 767px) {
    .ce-cgs2 {
        overflow-x: hidden;
    }

    .ce-cgs2-grid {
        display: grid;
        grid-template-columns: repeat(var(--ce-cgs2-mobile-columns, 1), minmax(0, 1fr));
        align-items: center;
        row-gap: var(--ce-cgs2-row-gap, 32px);
        column-gap: var(--ce-cgs2-column-gap, 18px);
        width: 100%;
    }

    .ce-cgs2-title-slot {
        order: -1;
        grid-column: 1 / -1;
        grid-row: auto;
        width: 100%;
        align-self: stretch;
    }

    .ce-cgs2-title-wrap {
        padding-top: 0;
    }

    .ce-cgs2-title-wrap.is-sticky {
        top: 20px;
    }

    .ce-cgs2-title {
        width: 100%;
    }

    .ce-cgs2-title-line {
        font-size: clamp(26px, 9vw, 44px);
    }

    .ce-cgs2-item {
        grid-column: auto !important;
        grid-row: auto !important;
        justify-self: stretch;
        --ce-cgs2-item-width: 100%;
        width: 100%;
        max-width: 100%;
        margin-inline: auto;
        transform: none;
    }

    .ce-cgs2-item.is-full-row,
    .ce-cgs2-item.is-auto,
    .ce-cgs2-item.is-top-left,
    .ce-cgs2-item.is-top-right,
    .ce-cgs2-item.is-middle-center,
    .ce-cgs2-item.is-bottom-left,
    .ce-cgs2-item.is-bottom-right {
        width: 100%;
        max-width: 100%;
    }

    .ce-cgs2-image-link {
        width: 100%;
    }
}
