.explain-section {
    width: 100%;
    overflow: hidden;
    background: #31597d;
}


.explain-slider {
    position: relative;
    width: 100%;

    display: grid;

    overflow: hidden;
}


.explain-slide {
    grid-area: 1 / 1;

    width: 100%;

    display: grid;

    grid-template-columns: 68% 32%;

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    transition:
        opacity 1s ease,
        visibility 1s ease;
}


.explain-slide.active {
    opacity: 1;
    visibility: visible;

    pointer-events: auto;
}


.explain-image {
    width: 100%;
    height: 100%;
}


.explain-image picture {
    display: block;

    width: 100%;
    height: 100%;
}


.explain-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


.explain-content {
    width: 100%;

    display: flex;

    align-items: center;
    justify-content: center;

    padding:
        clamp(2rem, 4vw, 4rem)
        clamp(2rem, 3vw, 3.5rem);
}


.explain-card {
    position: relative;

    width: 100%;

    min-height:
        clamp(
            29rem,
            43vw,
            39rem
        );

    background: #073760;

    padding:
        clamp(3rem, 5vw, 5rem)
        clamp(2.5rem, 4vw, 4rem)
        clamp(2rem, 3vw, 3rem);

    display: flex;

    flex-direction: column;

    align-items: center;

    text-align: center;
}


.explain-card-top {
    width: 100%;
}


.explain-card h2 {
    margin:
        0
        0
        clamp(1rem, 2vw, 1.5rem);

    color: #ead9bb;

    font-family: 'Big Caslon';

    font-size:
        clamp(
            1.8rem,
            2.3vw,
            2.6rem
        );

    line-height: 1.05;
}


.explain-description {
    width: min(100%, 18rem);

    margin: 0 auto;

    color: #ffffff;

    font-family: 'Avenir';

    font-size:
        clamp(
            1.2rem,
            0.95vw,
            0.9rem
        );

    line-height: 1.35;
}


.explain-features {
    width: 100%;

    margin-top: auto;

    margin-bottom:
        clamp(
            2.5rem,
            4vw,
            4rem
        );

    display: flex;

    flex-direction: column;

    align-items: center;

    gap:
        clamp(
            0.8rem,
            1.4vw,
            1.2rem
        );
}


.explain-features p {
    margin: 0;

    color: #ffffff;

     font-family: 'Avenir';

    font-size:
        clamp(
            1rem,
            0.85vw,
            0.85rem
        );

    line-height: 1.3;
}


.explain-small-line {
    width:
        clamp(
            3rem,
            5vw,
            5rem
        );

    height: 0.08rem;

    background: #ead9bb;
}


.explain-controls {
    display: flex;

    justify-content: center;
    align-items: center;

    gap:
        clamp(
            0.8rem,
            1.3vw,
            1.2rem
        );
}


.explain-controls button {
    position: relative;

    width:
        clamp(
            2.2rem,
            3vw,
            2.7rem
        );

    aspect-ratio: 1 / 1;

    padding: 0;

    border: 0.1rem solid #ead9bb;

    border-radius: 50%;

    background: transparent;

    cursor: pointer;

    transition:
        transform 0.25s ease,
        background-color 0.25s ease;
}


.explain-controls button::before {
    content: "";

    position: absolute;

    top: 50%;

    width: 0.52rem;
    height: 0.52rem;

    border-top: 0.12rem solid #ead9bb;
    border-right: 0.12rem solid #ead9bb;
}


.explain-prev::before {
    left: 54%;

    transform:
        translate(-50%, -50%)
        rotate(-135deg);
}


.explain-next::before {
    left: 46%;

    transform:
        translate(-50%, -50%)
        rotate(45deg);
}


.explain-controls button:hover {
    background: rgba(234, 217, 187, 0.12);

    transform: scale(1.07);
}


@media (max-width: 1024px) and (orientation: portrait) {

    .explain-slide {
        grid-template-columns: 100%;

        grid-template-rows:
            auto
            auto;
    }


    .explain-image {
        width: 100%;
        height: auto;
    }


    .explain-image picture {
        height: auto;
    }


    .explain-image img {
        width: 100%;
        height: auto;

        object-fit: contain;
    }


    .explain-content {
        width: 100%;

        padding:
            0
            6%
            clamp(2rem, 8vw, 4rem);
    }


    .explain-card {
        width: 100%;

        min-height:
            clamp(
                28rem,
                90vw,
                38rem
            );

        margin-top: 0;

        padding:
            clamp(2rem, 7vw, 3rem)
            10%
            clamp(1.5rem, 6vw, 2.5rem);
    }


    .explain-card h2 {
        font-size:
            clamp(
                1.7rem,
                7vw,
                2.5rem
            );

        text-transform: uppercase;
    }


    .explain-description {
        max-width: 22rem;

        font-size:
            clamp(
                0.75rem,
                3.2vw,
                0.95rem
            );

        line-height: 1.45;
    }


    .explain-features {
        margin-top:
            clamp(
                2rem,
                8vw,
                3.5rem
            );

        margin-bottom:
            clamp(
                2rem,
                7vw,
                3rem
            );

        gap:
            clamp(
                0.9rem,
                4vw,
                1.3rem
            );
    }


    .explain-features p {
        font-size:
            clamp(
                0.72rem,
                3vw,
                0.9rem
            );
    }


    .explain-small-line {
        width:
            clamp(
                3rem,
                18vw,
                5rem
            );
    }


    .explain-controls {
        gap:
            clamp(
                1rem,
                6vw,
                1.5rem
            );
    }


    .explain-controls button {
        width:
            clamp(
                2.6rem,
                11vw,
                3.2rem
            );
    }


    .explain-controls button::before {
        width:
            clamp(
                0.5rem,
                2vw,
                0.7rem
            );

        height:
            clamp(
                0.5rem,
                2vw,
                0.7rem
            );
    }

}


@media (max-width: 480px) and (orientation: portrait) {

    .explain-content {
        padding:
            0
            5%
            2.5rem;
    }


    .explain-card {
        min-height:
            clamp(
                24rem,
                100vw,
                34rem
            );

        padding:
            2rem
            10%
            1.5rem;
    }


    .explain-card h2 {
        font-size:
            clamp(
                1.5rem,
                7vw,
                2rem
            );
    }


    .explain-description {
        font-size:
            clamp(
                0.8rem,
                3.2vw,
                0.84rem
            );
    }


    .explain-features p {
        font-size:
            clamp(
                0.8rem,
                3vw,
                0.82rem
            );
    }

}


@media (max-width: 1024px) and (orientation: landscape) {

    .explain-slide {
        grid-template-columns:
            68%
            32%;
    }


    .explain-content {
        padding:
            clamp(1.3rem, 3vw, 2rem);
    }


    .explain-card {
        min-height:
            clamp(
                22rem,
                70vh,
                31rem
            );

        padding:
            clamp(2rem, 4vh, 3rem)
            clamp(1.3rem, 3vw, 2rem)
            clamp(1.3rem, 3vh, 2rem);
    }


    .explain-card h2 {
        font-size:
            clamp(
                1.3rem,
                2.8vw,
                1.9rem
            );
    }


    .explain-description {
        font-size:
            clamp(
                0.55rem,
                1.25vw,
                0.74rem
            );
    }


    .explain-features p {
        font-size:
            clamp(
                0.5rem,
                1.1vw,
                0.7rem
            );
    }


    .explain-controls button {
        width:
            clamp(
                1.8rem,
                4vw,
                2.2rem
            );
    }

}