@layer pages {
    .news-page {
        margin-top: 120px;
        margin-bottom: 120px;
        display: flex;
        flex-direction: column;
    }

    .news-title {
        font-size: calc(1.6rem + 1vw);
        font-weight: 900;
        margin: 0 0 20px 0;
        text-transform: uppercase;
    }

    .news-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
        @media (min-width: 768px) and (max-width: 1024px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @media (max-width: 768px) {
            grid-template-columns: repeat(1, 1fr);
        }
    }

    .news-grid--4-cols {
        grid-template-columns: repeat(4, 1fr);
        @media (min-width: 768px) and (max-width: 1024px) {
            grid-template-columns: repeat(2, 1fr);
        }
        @media (max-width: 768px) {
            grid-template-columns: repeat(1, 1fr);
        }
    }

    .news-card {
        display: flex;
        flex-direction: column;
        border-radius: 10px;
        overflow: hidden;
        background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.05) 0px, rgba(255, 255, 255, 0.1) 2px, transparent 5px, transparent 4px);
        border: 1px solid rgba(255, 255, 255, 0.08);
    }

    .news-card__media {
        display: block;
        position: relative;
        height: 220px;
        overflow: hidden;
    }

    .news-card__media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 300ms ease, filter 300ms ease;
        transform-origin: top center;
    }

    .news-card__media:hover img {
        transform: scale(1.5);
    }

    .news-card__body {
        padding: 14px;
        display: flex;
        flex-direction: column;
        gap: 8px;
        flex: 1;
    }

    .news-card__title {
        margin: 0;
        font-size: 20px;
        text-transform: uppercase;
    }

    .news-card__title a {
        color: #fff;
        text-decoration: none;
    }

    .news-card__date {
        font-size: 12px;
        opacity: 0.8;
        font-weight: 300;
    }

    .news-card__content {
        opacity: 0.9;
        font-weight: 300;
    }

    .news-card__content p {
        margin: 0 0 0.6em 0;
    }

    .news-card__links {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: auto;
    }

    .news-card__link {
        display: inline-block;
        padding: 4px 8px;
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 6px;
        color: #fff;
        text-decoration: none;
        font-size: 13px;
    }

    .news-card__link:hover {
        border-color: rgba(255, 255, 255, 0.5);
    }
}
