.related-services {
    background-color: var(--d-soft-gradient);
    color: var(--n-white);
}

.related-services .content-wrapper {
    padding: 140px 0;
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.related-services .main-h2 {
    text-align: center;
}

.related-services .cards-wrapper.images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.related-services .cards-wrapper.plain {
    display: flex;
    gap: 16px;
    flex-direction: row;
    flex-wrap: wrap;
}

.related-services .cards-wrapper.images .card {
    flex: 1 0 30%;
    padding: 32px 32px;
    position: relative;
    border-radius: 20px;
    background: linear-gradient(270deg, rgba(2, 30, 96, 0.4) 0%, rgba(4, 60, 192, 0.4) 100%);
    box-shadow: 0px 0px 100px 0px #00000082;
    min-height: 256px;
    position: relative;
    transition: fill 0.2s ease;
    border: none;
    outline: none;
}

.related-services .cards-wrapper.plain .card {
    flex: 1 0 30%;
    padding: 32px 88px 58px 32px;
    position: relative;
    border-radius: 5px 20px 5px 20px;
    background: linear-gradient(270deg, #021E60 0%, #043CC0 100%);
    border: 1px solid #123569;
    transition: fill 0.2s ease;
    min-height: 188px;
}

.related-services .cards-wrapper.images .card-content{
    max-width: 400px;
}

.related-services .card .h4 {
    color: var(--n-white);
    margin-bottom: 14px;
}


.related-services .cards-wrapper.images .card:hover {
    transition: fill 0.2s ease;
    background: linear-gradient(270deg, rgba(2, 30, 96, 0.8) 0%, rgba(4, 60, 192, 0.8) 100%);
}

.related-services .cards-wrapper.plain .card:hover{
    transition: fill 0.2s ease;
    background: linear-gradient(270deg, #032D90 0%, #054BF0 100%);
    border: 1px solid var(--d-accent);
}

.related-services .card--large:hover:before  {
    background: radial-gradient(67.81% 67.81% at 82.51% 83.1%, rgba(2, 9, 28, 0.8) 48.56%, rgba(9, 45, 130, 0.8) 100%) /* warning: gradient uses a rotation that is not supported by CSS and may not behave as expected */;
    transition: fill 0.2s ease;
}

.related-services .cards-wrapper.images .card:hover svg rect, .related-services .cards-wrapper.plain .card:hover svg rect {
    fill: var(--n-white);
}

.related-services .card svg {
    position: absolute;
    right: 32px;
    top: 32px;
}

.related-services .cards-wrapper.images .card svg {
    display: none;
}

.related-services .cards-wrapper.images .card .main-text-medium {
    color: var(--d-light-grey);
}

.related-services .cards-wrapper.plain .card .main-text-medium {
    color: var(--n-very-light-accent);
}

.related-services .card--large {
    overflow: hidden;
    grid-row: span 2;
}

.related-services .card--large .card-media {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    overflow: hidden;
    z-index: 0;
}

.related-services .card--large .card-media--video:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: radial-gradient(67.81% 67.81% at 82.51% 83.1%, rgba(2, 9, 28, 0.6) 48.56%, rgba(9, 45, 130, 0.6) 100%);

}

.related-services .card--large:hover .card-media--video:before {
    background: radial-gradient(67.81% 67.81% at 82.51% 83.1%, rgba(2, 9, 28, 0.8) 48.56%, rgba(9, 45, 130, 0.8) 100%);
}

.related-services .card--large > svg,
.related-services .card--large > div {
    position: relative;
    z-index: 1;
}

.related-services .card--large .card-media img,
.related-services .card--large .card-media video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.related-services .card--large .card-media--video video {
    display: block;
}


@media (max-width: 1919px) {
    .related-services .content-wrapper {
        padding: 100px 0;
        gap: 48px;
    }

    .related-services .cards-wrapper.images .card{
        min-height: 216px;
    }

    .related-services .card-content {
        max-width: 100%;
    }
}


@media (max-width: 1439px) {
    .related-services .content-wrapper {
        padding: 80px 0;
        gap: 40px;
    }

    .related-services .cards-wrapper.images .card {
        padding: 24px;
        position: relative;
        min-height: 176px;
    }

    .related-services .card svg {
        right: 24px;
        top: 24px;
    }

    .related-services .cards-wrapper.images .card .h4{
        margin-bottom: 10px;
    }
}


@media (max-width: 1079px) {

    .related-services .cards-wrapper.images, .related-services .cards-wrapper.plain{
        display: flex;
        flex-direction: column;
    }

    .related-services .cards-wrapper.images .card, .related-services .cards-wrapper.plain .card {
        min-height: auto;
        background: linear-gradient(270deg, #021E60 0%, #043CC0 100%);
        border: 1px solid transparent;
        background-clip: padding-box;
    }

    .related-services .cards-wrapper.images .card svg, .related-services .cards-wrapper.plain .card svg {
        right: 24px;
        top: 24px;
        display: block;
        position: absolute;
    }
    .related-services .cards-wrapper.images .card, .related-services .cards-wrapper.plain .card {
        flex: 1 0 100%;
        padding: 24px 80px 24px 24px;
        border-radius: 5px 20px 5px 20px;
    }

    .related-services .card--large .card-media{
        display: none;
    }

    .related-services .card--large:before {
        display: none;
    }

    .related-services .cards-wrapper.images .card .main-text-medium, .related-services .cards-wrapper.plain .card .main-text-medium {
        color: var(--n-very-light-accent);

    }

    .related-services .cards-wrapper.images .card-content {
        max-width: 584px;
    }

    .related-services .cards-wrapper.plain .card{
        min-height: auto;
    }


    .related-services .cards-wrapper.plain .card:hover, .related-services .cards-wrapper.images .card:hover{
        transition: fill 0.2s ease;
        background: linear-gradient(270deg, #032D90 0%, #054BF0 100%);
        border: 1px solid var(--d-accent);
    }
}


@media (max-width: 576px) {
    .related-services .content-wrapper {
        padding: 60px 0;
    }

    .related-services .card {
        padding: 20px 76px 20px 20px;
        min-height: 92px;
    }

    .related-services .card .main-text-medium {
        display: none;
    }

    .related-services .card svg {
        right: 20px;
        top: 20px;
    }

    .related-services .card .h4 {
        margin-bottom: 0;
    }
}