:root {
    --white-white-100: #fff;
    --carrousel-description-font-size: 32px;
}

/* Solutions logos */
.solutions-logos {
    padding-block: var(--space-80, 80px);
    background: var(--greyscale-grey-50, #f8f7f6);
}

.solutions-logos__header {
    display: flex;
    max-width: 735px;
    margin: 0 auto var(--space-72, 72px);
    flex-direction: column;
    align-items: center;
    gap: var(--space-24, 24px);
    text-align: center;
}

.solutions-logos__tag {
    display: inline-flex;
    align-items: center;
    gap: var(--space-4, 4px);
    color: rgba(17, 24, 33, 0.4);
    font-family: Fustat, sans-serif;
    font-size: var(--space-14, 14px);
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
}

.solutions-logos__tag-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
}

.solutions-logos__header h2 {
    margin: calc((var(--space-24, 24px) - var(--space-8, 8px)) * -1) 0 0;
    color: var(--secondary-blue-900, #111821);
    font-family: Archia, sans-serif;
    font-size: var(--space-48, 48px);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -1.92px;
}

.solutions-logos__header h2:first-child {
    margin-top: 0;
}

.solutions-logos__header > p {
    max-width: 735px;
    margin: 0;
    color: var(--secondary-blue-900, #111821);
    font-family: Fustat, sans-serif;
    font-size: var(--space-16, 16px);
    font-weight: 400;
    line-height: 1.1;
}

.solutions-logos__container {
    padding: 39px 39px 38px;
    border: 1px dashed rgba(17, 24, 33, 0.3);
    border-radius: var(--space-8, 8px);
    background: rgba(17, 24, 33, 0.02);
}

.solutions-logos__row {
    display: grid;
    grid-template-columns: minmax(280px, 409px) minmax(80px, 1fr) minmax(360px, 502px);
    align-items: center;
}

.solutions-logos__card {
    display: flex;
    width: 100%;
    height: 328px;
    min-width: 0;
    align-items: center;
    justify-content: center;
    border-radius: var(--space-8, 8px);
}

.solutions-logos__card--left {
    z-index: 1;
    grid-column: 1;
    grid-row: 1;
    background: var(--white-white-100, #fff);
}

.solutions-logos__card--right {
    z-index: 1;
    grid-column: 3;
    grid-row: 1;
    border: 1px solid var(--primary-pink-500, #d9306b);
    background: rgba(217, 48, 107, 0.1);
}

.solutions-logos__logos {
    display: grid;
    grid-template-columns: repeat(3, 96px);
    gap: var(--space-24, 24px) var(--space-48, 48px);
    justify-content: center;
}

.solutions-logos__card--left .solutions-logos__logos {
    grid-template-columns: repeat(2, 96px);
}

.solutions-logos__logo-item {
    display: flex;
    width: 96px;
    height: 96px;
    padding: 12px;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    backdrop-filter: blur(22px);
}

.solutions-logos__logo-item img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

@media (min-width: 1024px) {
    .solutions-logos__card--left .solutions-logos__logo-item:nth-child(3) img {
        width: 97.5px;
        max-width: none;
    }

    .solutions-logos__card--right .solutions-logos__logo-item:nth-child(2) img {
        width: 110px;
        max-width: none;
    }

    .solutions-logos__card--right .solutions-logos__logo-item:nth-child(3) img {
        width: 78px;
        max-width: none;
    }

    .solutions-logos__card--right .solutions-logos__logo-item:nth-child(4),
    .solutions-logos__card--right .solutions-logos__logo-item:nth-child(5) {
        transform: translateX(72px);
    }
}

.solutions-logos__texts {
    display: flex;
    width: 100%;
    padding: 24px;
    flex-direction: column;
    align-items: center;
}

.solutions-logos__text-item {
    display: block;
    width: 100%;
    padding: 8px 0;
    color: var(--secondary-blue-900, #111821);
    font-family: Fustat, sans-serif;
    font-size: var(--space-24, 24px);
    font-weight: 500;
    line-height: 1;
    text-align: center;
}

.solutions-logos__connector {
    position: relative;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        rgba(217, 48, 107, 0.25) 0 32%,
        var(--primary-pink-500, #d9306b) 32% 48%,
        rgba(217, 48, 107, 0.25) 48% 100%
    );
}

.solutions-logos__card-description {
    width: 100%;
    margin: var(--space-24, 24px) 0 0;
    justify-self: center;
    color: var(--secondary-blue-900, #111821);
    font-family: Fustat, sans-serif;
    font-size: var(--space-14, 14px);
    font-weight: 400;
    line-height: 1.1;
    text-align: center;
    text-transform: uppercase;
}

.solutions-logos__card-description--left {
    grid-column: 1;
    grid-row: 2;
}

.solutions-logos__card-description--right {
    grid-column: 3;
    grid-row: 2;
    color: var(--primary-pink-500, #d9306b);
}

.solutions-logos__caption {
    display: block;
    margin-top: var(--space-24, 24px);
    color: var(--secondary-blue-900, #111821);
    font-size: var(--space-14, 14px);
    text-align: center;
}

@media (max-width: 1023px) {
    .solutions-logos__row {
        grid-template-columns: minmax(240px, 409px) minmax(40px, 1fr) minmax(300px, 502px);
    }

    .solutions-logos__logos {
        grid-template-columns: repeat(2, 80px);
        gap: 16px 24px;
    }

    .solutions-logos__logo-item {
        width: 80px;
        height: 80px;
    }
}

@media (max-width: 767px) {
    .solutions-logos {
        padding-block: var(--space-48, 48px);
    }

    .solutions-logos__header {
        margin-bottom: var(--space-48, 48px);
    }

    .solutions-logos__header h2 {
        font-size: var(--space-32, 32px);
        letter-spacing: -1.28px;
    }

    .solutions-logos__container {
        padding: 20px;
    }

    .solutions-logos__row {
        display: flex;
        flex-direction: column;
    }

    .solutions-logos__card {
        height: auto;
        min-height: 280px;
    }

    .solutions-logos__card--left {
        order: 1;
    }

    .solutions-logos__card-description--left {
        order: 2;
    }

    .solutions-logos__connector {
        order: 3;
        width: 4px;
        height: 48px;
        margin-top: 24px;
        background: rgba(217, 48, 107, 0.25);
    }

    .solutions-logos__card--right {
        order: 4;
    }

    .solutions-logos__card-description--right {
        order: 5;
    }

    .solutions-logos__logos,
    .solutions-logos__card--left .solutions-logos__logos {
        grid-template-columns: repeat(2, 80px);
    }

    .solutions-logos__text-item {
        font-size: 18px;
    }
}

.carrousel-slide-inner {
    display: grid;
}

@media (min-width: 640px) {
    .carrousel-slide-inner {
        grid-template-columns: 6fr 4fr;
    }
}

.carrousel-description {
    --carrousel-description-subtitle-font-size: var(--space-24, 1.5rem);;
    --carrousel-description-subtitle-font-style: normal;
    --carrousel-description-subtitle-font-weight: 500;
    --carrousel-description-subtitle-line-height: 100%;
    position: relative;
    /* background-color: #11103b;*/
    background-attachment: fixed;
}

.background--grid {
    position: relative;
}

.carrousel-logos-section {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* carrousel at bottom */
.carrousel-logos-section.order-2{
    height: 350px;
}

@media (max-width: 768px) {
    /*.carrousel-logos-section {*/
    /*  height: 120px;*/
    /*}*/
    .carrousel-logos-slide {
        width: 100%;
        max-width: fit-content;
    }

    .carrousel-logos__item {
        width: auto;
        min-height: 32px;
    }

    .carrousel-logos__logo {
        width: auto;
        height: 32px;
        max-width: 120px;
    }

    .carrousel-logos-pattern {
        height: 100%;
    }

    .carrousel-logos-pattern svg {
        height: auto;
        position: relative;
        right: 50px;
        top: -150px;
    }
}

.carrousel-logos-grayscale .carrousel-logos__logo {
    filter: grayscale(100%);
}

.carrousel-logos-pattern {
    position: absolute;
    pointer-events: none;
    z-index: 1;
}

.carrousel-logos-pattern svg {
    object-fit: cover;
}

.carrousel-description-section {
    position: relative;
}

.background--grid > div[aria-hidden="true"] {
    position: absolute;
    pointer-events: none;
    opacity: 0.6;
    z-index: 5;
}

.background--grid > div[aria-hidden="true"] svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.carrousel-logos {
    margin-top: 80px;
    position: relative;
    z-index: 10;
}

.carrousel-logos__controls {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.carrousel-logos__controls .swiper-button-prev,
.carrousel-logos__controls .swiper-button-next {
    position: relative;
    width: 3rem;
    height: 3rem;
    margin-top: 0;
}

.carrousel-logos__controls .swiper-button-prev::after,
.carrousel-logos__controls .swiper-button-next::after {
    font-size: 1rem;
}

@media (max-width: 768px) {
    .carrousel-logos__controls {
        display: none;
    }
}

.carrousel-logos-slider {
    overflow-x: clip;
    overflow-y: visible;
    position: relative;
}

.carrousel-logos-slider::after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%;
    height: 364px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1440' height='280' viewBox='0 0 1440 280' fill='none'%3E%3Cpath d='M0 -2V362H1440V-2H0ZM1429.9 239.5H1210.1C1204.8 239.5 1200.5 235.2 1200.5 229.9V130.1C1200.5 124.8 1204.8 120.5 1210.1 120.5H1429.9C1435.2 120.5 1439.5 124.8 1439.5 130.1V229.9C1439.5 235.2 1435.2 239.5 1429.9 239.5ZM1439.5 250.1V349.9C1439.5 355.2 1435.2 359.5 1429.9 359.5H1330.1C1324.8 359.5 1320.5 355.2 1320.5 349.9V250.1C1320.5 244.8 1324.8 240.5 1330.1 240.5H1429.9C1435.2 240.5 1439.5 244.8 1439.5 250.1ZM1319.5 250.1V349.9C1319.5 355.2 1315.2 359.5 1309.9 359.5H1210.1C1204.8 359.5 1200.5 355.2 1200.5 349.9V250.1C1200.5 244.8 1204.8 240.5 1210.1 240.5H1309.9C1315.2 240.5 1319.5 244.8 1319.5 250.1ZM1200.5 109.9V10.1C1200.5 4.8 1204.8 0.5 1210.1 0.5H1309.9C1315.2 0.5 1319.5 4.8 1319.5 10.1V109.9C1319.5 115.2 1315.2 119.5 1309.9 119.5H1210.1C1204.8 119.5 1200.5 115.2 1200.5 109.9ZM1429.9 119.5H1330.1C1324.8 119.5 1320.5 115.2 1320.5 109.9V10.1C1320.5 4.8 1324.8 0.5 1330.1 0.5H1429.9C1435.2 0.5 1439.5 4.8 1439.5 10.1V109.9C1439.5 115.2 1435.2 119.5 1429.9 119.5ZM1189.9 239.5H970.1C964.8 239.5 960.5 235.2 960.5 229.9V130.1C960.5 124.8 964.8 120.5 970.1 120.5H1189.9C1195.2 120.5 1199.5 124.8 1199.5 130.1V229.9C1199.5 235.2 1195.2 239.5 1189.9 239.5ZM1199.5 250.1V349.9C1199.5 355.2 1195.2 359.5 1189.9 359.5H1090.1C1084.8 359.5 1080.5 355.2 1080.5 349.9V250.1C1080.5 244.8 1084.8 240.5 1090.1 240.5H1189.9C1195.2 240.5 1199.5 244.8 1199.5 250.1ZM1079.5 250.1V349.9C1079.5 355.2 1075.2 359.5 1069.9 359.5H970.1C964.8 359.5 960.5 355.2 960.5 349.9V250.1C960.5 244.8 964.8 240.5 970.1 240.5H1069.9C1075.2 240.5 1079.5 244.8 1079.5 250.1ZM960.5 109.9V10.1C960.5 4.8 964.8 0.5 970.1 0.5H1069.9C1075.2 0.5 1079.5 4.8 1079.5 10.1V109.9C1079.5 115.2 1075.2 119.5 1069.9 119.5H970.1C964.8 119.5 960.5 115.2 960.5 109.9ZM1189.9 119.5H1090.1C1084.8 119.5 1080.5 115.2 1080.5 109.9V10.1C1080.5 4.8 1084.8 0.5 1090.1 0.5H1189.9C1195.2 0.5 1199.5 4.8 1199.5 10.1V109.9C1199.5 115.2 1195.2 119.5 1189.9 119.5ZM949.9 239.5H730.1C724.8 239.5 720.5 235.2 720.5 229.9V130.1C720.5 124.8 724.8 120.5 730.1 120.5H949.9C955.2 120.5 959.5 124.8 959.5 130.1V229.9C959.5 235.2 955.2 239.5 949.9 239.5ZM959.5 250.1V349.9C959.5 355.2 955.2 359.5 949.9 359.5H850.1C844.8 359.5 840.5 355.2 840.5 349.9V250.1C840.5 244.8 844.8 240.5 850.1 240.5H949.9C955.2 240.5 959.5 244.8 959.5 250.1ZM839.5 250.1V349.9C839.5 355.2 835.2 359.5 829.9 359.5H730.1C724.8 359.5 720.5 355.2 720.5 349.9V250.1C720.5 244.8 724.8 240.5 730.1 240.5H829.9C835.2 240.5 839.5 244.8 839.5 250.1ZM720.5 109.9V10.1C720.5 4.8 724.8 0.5 730.1 0.5H829.9C835.2 0.5 839.5 4.8 839.5 10.1V109.9C839.5 115.2 835.2 119.5 829.9 119.5H730.1C724.8 119.5 720.5 115.2 720.5 109.9ZM949.9 119.5H850.1C844.8 119.5 840.5 115.2 840.5 109.9V10.1C840.5 4.8 844.8 0.5 850.1 0.5H949.9C955.2 0.5 959.5 4.8 959.5 10.1V109.9C959.5 115.2 955.2 119.5 949.9 119.5ZM709.9 239.5H490.1C484.8 239.5 480.5 235.2 480.5 229.9V130.1C480.5 124.8 484.8 120.5 490.1 120.5H709.9C715.2 120.5 719.5 124.8 719.5 130.1V229.9C719.5 235.2 715.2 239.5 709.9 239.5ZM719.5 250.1V349.9C719.5 355.2 715.2 359.5 709.9 359.5H610.1C604.8 359.5 600.5 355.2 600.5 349.9V250.1C600.5 244.8 604.8 240.5 610.1 240.5H709.9C715.2 240.5 719.5 244.8 719.5 250.1ZM599.5 250.1V349.9C599.5 355.2 595.2 359.5 589.9 359.5H490.1C484.8 359.5 480.5 355.2 480.5 349.9V250.1C480.5 244.8 484.8 240.5 490.1 240.5H589.9C595.2 240.5 599.5 244.8 599.5 250.1ZM480.5 109.9V10.1C480.5 4.8 484.8 0.5 490.1 0.5H589.9C595.2 0.5 599.5 4.8 599.5 10.1V109.9C599.5 115.2 595.2 119.5 589.9 119.5H490.1C484.8 119.5 480.5 115.2 480.5 109.9ZM709.9 119.5H610.1C604.8 119.5 600.5 115.2 600.5 109.9V10.1C600.5 4.8 604.8 0.5 610.1 0.5H709.9C715.2 0.5 719.5 4.8 719.5 10.1V109.9C719.5 115.2 715.2 119.5 709.9 119.5ZM469.9 239.5H250.1C244.8 239.5 240.5 235.2 240.5 229.9V130.1C240.5 124.8 244.8 120.5 250.1 120.5H469.9C475.2 120.5 479.5 124.8 479.5 130.1V229.9C479.5 235.2 475.2 239.5 469.9 239.5ZM479.5 250.1V349.9C479.5 355.2 475.2 359.5 469.9 359.5H370.1C364.8 359.5 360.5 355.2 360.5 349.9V250.1C360.5 244.8 364.8 240.5 370.1 240.5H469.9C475.2 240.5 479.5 244.8 479.5 250.1ZM359.5 250.1V349.9C359.5 355.2 355.2 359.5 349.9 359.5H250.1C244.8 359.5 240.5 355.2 240.5 349.9V250.1C240.5 244.8 244.8 240.5 250.1 240.5H349.9C355.2 240.5 359.5 244.8 359.5 250.1ZM240.5 109.9V10.1C240.5 4.8 244.8 0.5 250.1 0.5H349.9C355.2 0.5 359.5 4.8 359.5 10.1V109.9C359.5 115.2 355.2 119.5 349.9 119.5H250.1C244.8 119.5 240.5 115.2 240.5 109.9ZM469.9 119.5H370.1C364.8 119.5 360.5 115.2 360.5 109.9V10.1C360.5 4.8 364.8 0.5 370.1 0.5H469.9C475.2 0.5 479.5 4.8 479.5 10.1V109.9C479.5 115.2 475.2 119.5 469.9 119.5ZM229.9 239.5H10.1C4.8 239.5 0.5 235.2 0.5 229.9V130.1C0.5 124.8 4.8 120.5 10.1 120.5H229.9C235.2 120.5 239.5 124.8 239.5 130.1V229.9C239.5 235.2 235.2 239.5 229.9 239.5ZM239.5 250.1V349.9C239.5 355.2 235.2 359.5 229.9 359.5H130.1C124.8 359.5 120.5 355.2 120.5 349.9V250.1C120.5 244.8 124.8 240.5 130.1 240.5H229.9C235.2 240.5 239.5 244.8 239.5 250.1ZM119.5 250.1V349.9C119.5 355.2 115.2 359.5 109.9 359.5H10.1C4.8 359.5 0.5 355.2 0.5 349.9V250.1C0.5 244.8 4.8 240.5 10.1 240.5H109.9C115.2 240.5 119.5 244.8 119.5 250.1ZM0.5 109.9V10.1C0.5 4.8 4.8 0.5 10.1 0.5H109.9C115.2 0.5 119.5 4.8 119.5 10.1V109.9C119.5 115.2 115.2 119.5 109.9 119.5H10.1C4.8 119.5 0.5 115.2 0.5 109.9ZM229.9 119.5H130.1C124.8 119.5 120.5 115.2 120.5 109.9V10.1C120.5 4.8 124.8 0.5 130.1 0.5H229.9C235.2 0.5 239.5 4.8 239.5 10.1V109.9C239.5 115.2 235.2 119.5 229.9 119.5Z' fill='url(%23gradient)'/%3E%3Cdefs%3E%3CradialGradient id='gradient' cx='0' cy='0' r='1' gradientTransform='matrix(8.24714 104 -634.434 52.3389 720 180)' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23CDCDCD'/%3E%3Cstop offset='1' stop-color='%23CDCDCD' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3C/svg%3E");
    background-position: 0 0;
    background-repeat: no-repeat;
}

.carrousel-logos-slider[data-gallery-animation="false"]::after {
    background-position: center 0;
}

.carrousel-logos-track {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 2;
    width: max-content;
    will-change: transform;
}

@media (max-width: 768px) {
    .carrousel-logos-track {
        gap: 0;
        margin: 0;
    }
}

.carrousel-logos-slide {
    flex: 0 0 240px;
}

.carrousel-logos__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 240px !important;
    min-height: 120px;
}

.carrousel-logos__item.animated {
    width: auto;
}

.carrousel-logos__logo {
    width: 183px;
    max-height: 67px;
    object-fit: contain;
}


.carrousel-description-layout {
    display: flex;
    justify-content: space-between;
}

.carrousel-logos-track--static {
    justify-content: center;
    width: 100%;
}

@media (min-width: 1024px) {
    .carrousel-description.has-background-image {
        min-height: 75svh;
    }

    .carrousel-description.bottom-gallery{
        justify-content: space-between;
    }

    .carrousel-description-layout {
        gap: 170px;
    }


}

.carrousel-description-left {
    display: flex;
    flex-direction: column;
    gap: 40px;
    justify-content: flex-start;
    align-items: flex-start;
}

.carrousel-description-tag {
    display: flex;
    align-items: center;
    gap: var(--tag-gap, var(--space-4, 4px));
    color: var(--greyscale-grey-300, #BCBCB9);
    font-size: var(--tag-font-size, var(--space-14, 14px));
    font-style: var(--tag-font-style, normal);
    font-weight: var(--tag-font-weight, 400);
    line-height: var(--tag-line-height, 100%);
    text-transform: var(--tag-text-transform, uppercase);
    align-self: start;
}

.carrousel-description-tag__image {
    display: block;
    width: auto;
    height: 72px;
    object-fit: contain;
}

.carrousel-description-content {
    width: 706px;
}

.carrousel-description-panel {
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    background: rgba(17, 16, 59, 0.42);
    backdrop-filter: blur(12px);
}

.carrousel-description-text {
    color: var(--white-white-100, #fff);
    font-size: var(--carrousel-description-subtitle-font-size);
    font-style: var(--carrousel-description-subtitle-font-style);
    font-weight: var(--carrousel-description-subtitle-font-weight);
    line-height: var(--carrousel-description-subtitle-line-height);
    margin: 0;
    margin-bottom: 287px;
}

.carrousel-description-text .animate-text-word,
.carrousel-description-text .animate-text-words {
    display: inline-block;
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: var(--white-white-100, #fff);
}

.carrousel-description-text p {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.carrousel-description-cta .btn {
    border-radius: 6px;
    padding: 0.75rem 1rem;
    font-size: 1rem;
}

.carrousel-description-cta {
    display: flex;
    justify-content: flex-start;
}


@media (min-width: 1024px) {
    .carrousel-description-cta .btn {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}

@media (max-width: 1024px) {
    .carrousel-description-left {
        gap: 40px;
        flex-wrap: wrap;
    }

    .carrousel-description-layout {
        flex-direction: column;
        gap: 1.5rem;
    }

    .carrousel-description-content {
        width: 100%;
    }

    .carrousel-description-text {
        font-size: 20px;
        margin-bottom: 2rem;
    }

    .carrousel-logos__logo {
        width: 183px;
        height: 42px;
    }

}

@media (max-width: 768px) {
    .carrousel-logos {
        margin-top: 0;
    }

    .carrousel-description-section {
        height: 600px;
    }

    .carrousel-description-text {
        font-size: 20px;
    }

    .carrousel-logos-slider::after {
        background-position: top 0 right calc(50% - 120px);
    }

    .carrousel-logos-slider[data-gallery-animation="false"]::after {
        background-position: top 0 right calc(50% + 120px);
    }
}
