@media screen and (max-width: 767px) { .is-hidden-mobile { display: none !important; } }
@media screen and (max-width: 1023px) { .is-hidden-touch { display: none !important; } }
@media screen and (min-width: 768px) { .is-hidden-tablet { display: none !important; } }
@media screen and (min-width: 1024px) { .is-hidden-desktop { display: none !important; } }

/* --- HEADING + CTA ROW --- */
.news-section .news-heading-wrap {
    display: flex;
    justify-content: space-between;
    align-items: center; /* centered vertically */
    gap: 20px;
    margin-bottom: 30px;
}

.news-section .news-heading-left {
    max-width: 750px;
}

.news-section h2 {
    text-align: left;
    margin-bottom: 15px;
}

.news-section .news-subheading {
    text-align: left;
    margin-bottom: 0;
}

.news-section .news-cta-top {
    flex-shrink: 0;
}

.news-section .news-cta-top .read-more {
    display: inline-block;
}

/* --- CARDS --- */
.news-section .next-news {
    display: none;
}

.news-section .post-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.news-section .post-text {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.news-section .post-text > *:not(.read-more) {
    flex-shrink: 0;
}

.news-section .post-text .read-more {
    margin-top: auto;
    align-self: flex-start;
    display: inline-block;
}

/* --- RESPONSIVE --- */
@media (max-width: 1024px) {
    .news-section h2 {
        font-size: 3rem;
    }

    .news-section .post-wrap {
        padding-right: 10px;
    }

    .news-section .post-wrap .img-wrap img {
        margin-bottom: 15px;
    }

    .news-section .post-wrap h3 {
        margin-bottom: 15px;
    }

    .news-section .post-wrap h3 a {
        font-size: 1.8rem;
        line-height: 2.4rem;
    }
}

@media (max-width: 768px) {
    .news-section .news-heading-wrap {
        flex-direction: column;
        align-items: flex-start;
    }

    .news-section .news-cta-top {
        margin-top: 10px;
    }
}

@media (max-width: 450px) {
    .news-section .slick-slide {
        position: relative;
    }

    .news-section .post-wrap {
        padding-right: 0;
    }

    .news-section .next-news {
        position: absolute;
        right: 0;
        bottom: 0;
        -webkit-transform: translate(0, -50%) rotate(-90deg);
        transform: translate(0, -50%) rotate(-90deg);
        width: 20px;
        height: 20px;
    }
}