.hub-cards * {
    box-sizing: border-box;
}

.hub-cards a {
    font-size: var(--body-font-size-m);
}

.hub-cards ul {
    margin: 0;
    padding: 0;
}

.hub-cards li {
    position: relative;
    margin: 0 0 1.875rem;
    padding: 0;
    list-style: none;
    cursor: pointer;
    width: 100%;
    height: 267px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.hub-cards li.has-overlay::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--rsm-midnight-blue);
    opacity: 0.6;
    z-index: 1;
}

.hub-cards li .image {
    font-size: 0;
    overflow: hidden;
}

.hub-cards li .image img {
    display: flex;
    width: 100%;
    height: 267px;
    object-fit: cover;
}

.hub-cards li:hover picture img {
    transform: scale(1.1);
    transition: ease-in-out 0.3s all;
}

.hub-cards li .content-holder {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 0 1.25rem;
    background: rgb(from var(--rsm-midnight-blue) r g b / 80%);
    color: var(--rsm-white);
    z-index: 1;
}

.hub-cards li .content-holder p {
    margin: 0;
}

.hub-cards li .content-holder p:not(:has(a)) {
    margin-top: 20px;
    line-height: 25px;
}

.hub-cards li .content-holder a {
    margin: 0;
    line-height: 100%;
    font-weight: 600;
    padding: 15px 0;
}

.hub-cards li .content-holder a:not(.button) {
    color: inherit;
}

.hub-cards li .content-holder p:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .hub-cards ul {
        display: flex;
        flex-wrap: wrap;
        gap: 1.875rem;
    }

    .hub-cards li {
        width: calc(50% - 15px);
        margin: 0;
    }
}

@media (min-width: 1200px) {
    .hub-cards ul {
        display: grid;
        grid-template-columns: repeat(3, auto);
        grid-auto-rows: 310px;
        gap: 1.875rem;
        justify-content: center;
    }

    .hub-cards li {
        width: 100%;
        max-width: 406px;
        height: 310px;
        margin: 0;
    }

    .hub-cards li .image img {
        height: 310px;
        object-fit: cover;
        max-width: 406px;
    }
}
