  .news-list-layout {
        margin-top: 24px;
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }

    .news-list-category {
        margin-bottom: 32px;
    }

    .news-list-category__title {
        font-family: var(--font-family-medium);
        font-size: 18px;
        font-weight: 500;
        text-transform: uppercase;
        color: rgb(var(--color-near-black));
        margin: 0 0 12px 0;
    }

    .news-list-category__items {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .news-list-item {
        border: 1px solid rgb(var(--color-light-gray));
        background-color: rgb(var(--color-white));
        padding: 16px 20px;
        border-radius: 0;
        box-shadow: 0 0 0 rgba(var(--color-black), 0);
        transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
    }

    .news-list-item + .news-list-item {
        margin-top: 12px;
    }

    .news-list-item:hover,
    .news-list-item:focus-within {
        border-color: rgba(var(--color-dark-blue), 0.35);
        box-shadow: 0 8px 16px rgba(var(--color-black), 0.08);
        transform: translateY(-1px);
    }

    .news-list-item__title {
        font-family: var(--font-family-medium);
        font-size: 22px;
        font-weight: 500;
        color: rgb(var(--color-near-black));
        border-bottom: 2px solid rgb(var(--color-dark-blue));
        padding-bottom: 6px;
        margin: 0 0 10px 0;
    }

    .news-list-item__title a {
        color: inherit;
        text-decoration: none;
    }

    .news-list-item__title a:hover,
    .news-list-item__title a:focus {
        text-decoration: underline;
    }

    .news-list-item__meta {
        font-family: var(--font-family);
        font-size: 13px;
        color: rgb(var(--color-dark-gray));
        margin: 0 0 8px 0;
    }

    .news-list-item__summary {
        font-family: var(--font-family);
        font-size: 15px;
        line-height: var(--line-height-relaxed);
        color: rgb(var(--color-near-black));
        margin: 0;
    }

    .news-list-item__summary--spaced {
        margin-bottom: 16px;
    }

    @media (max-width: 877px) {
        .news-list-item {
            padding: 14px 16px;
        }

        .news-list-item__title {
            font-size: 20px;
            line-height: 1.2;
        }
    }