.home-news-section {
    padding: 0 0 60px;
    background: #fff;
    color: #000b8c;
}
.home-news-section .hp-content-pad { background: none; padding-bottom: 24px; }
.home-news-section h3 { color: #000b8c; }
.home-news-carousel { position: relative; padding: 0 30px; }
.home-news-carousel__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - 64px) / 3);
    gap: 32px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.home-news-carousel__track::-webkit-scrollbar { display: none; }
.home-news-carousel__card { min-width: 0; scroll-snap-align: start; }
.home-news-section .home-news-carousel__image { display: block; width: 84%; margin: 0 auto 12px; }
.home-news-carousel__image img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; margin: 0; }
.home-news-section .home-news-carousel__card h3 {
    font-size: 28px;
    line-height: 1.2;
    margin: 0 0 14px;
    font-weight: 400;
}
.home-news-section .home-news-carousel__card a { color: #000b8c; text-decoration: none; }
.home-news-section .home-news-carousel__card a:hover { text-decoration: underline; }
.home-news-section .home-news-carousel__card p {
    color: #758296;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 24px;
}
.home-news-section .home-news-carousel__more { display: inline-block; font-size: 20px; }
.home-news-section .home-news-carousel__arrow {
    position: absolute;
    z-index: 1;
    top: var(--home-news-arrow-top, 140px);
    transform: translateY(-100%);
    width: 30px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #aaa;
    cursor: pointer;
}
.home-news-carousel__arrow[hidden] { display: none; }
.home-news-carousel__prev { left: 0; }
.home-news-carousel__next { right: 0; }
.home-news-carousel__arrow span { display: block; width: 22px; height: 22px; border-top: 2px solid white; border-right: 2px solid white; }
.home-news-carousel__prev span { transform: rotate(-135deg); margin-left: 10px; }
.home-news-carousel__next span { transform: rotate(45deg); margin-left: -2px; }
.home-news-carousel :focus-visible { outline: 3px solid #000b8c; outline-offset: -3px; }
@media (max-width: 900px) {
    .home-news-carousel__track { grid-auto-columns: calc((100% - 24px) / 2); gap: 24px; }
}
@media (max-width: 600px) {
    .home-news-carousel__track { grid-auto-columns: 100%; }
    .home-news-section .home-news-carousel__card h3 { font-size: 24px; }
}
