/* Homepage journal: the site's cream, forest green and gold palette. */
.news-section {
    --news-ink: #2d2e2f;
    --news-muted: #6a6c6f;
    --news-gold: #98743c;
    --news-line: #dadbd0;
    padding-block: clamp(4rem, 7vw, 7.5rem);
    background: #f7f5f0;
    color: var(--news-ink);
}
.news-section-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--news-line);
}
.news-section .eyebrow { color: var(--news-gold); }
.news-edition { display: none; font-size:var(--type-meta); letter-spacing: .16em; color: var(--news-muted); }
.news-heading { display: grid; gap: 1.75rem; padding-block: 2rem 2.5rem; }
.news-heading h2 {
    margin: 0;



    font-weight: 400;
}
.news-accent { color: #af8849; }
.news-heading-aside { width: 100%; max-width: 28rem; }
.news-heading-aside p { margin: 0 0 1.5rem;   color: var(--news-muted); }
.news-grid { display: grid; gap: 2.75rem; }
.news-card { min-width: 0; }
.news-card-link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.news-card-link:focus-visible, .news-all:focus-visible { outline: 2px solid var(--news-gold); outline-offset: 7px; }
.news-photo { position: relative; aspect-ratio: 1.18; overflow: hidden; background: #e6e0d4; }
.news-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .9s cubic-bezier(.2,.7,.2,1);
}
.news-photo-category {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    min-height: 3.25rem;
    max-width: 100%;
    padding: .875rem 1.5rem;
    background: #f7f5f0;
    color: var(--news-gold);



    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.news-copy { display: flex; flex-direction: column; flex: 1; padding-top: 1.5rem; }
.news-card-title { margin: 0 0 .875rem;   font-weight: 400;  text-wrap: balance; overflow-wrap: anywhere; }
.news-excerpt { margin: 0 0 1.75rem; max-width: 29rem; color: var(--news-muted);   }
.news-read { margin-top: auto; }
.news-card-link:focus-visible .news-photo img { transform: scale(1.045); }
/* Content stays visible before JavaScript and when an observer fails. */
.news-entering { animation: news-enter .85s cubic-bezier(.16,1,.3,1) both; }
@keyframes news-enter { from { opacity: .35; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@media (hover: hover) and (pointer: fine) {
    .news-card-link:hover .news-photo img { transform: scale(1.045); }
}
@media (min-width: 768px) {
    .news-edition { display: block; }
    .news-heading { grid-template-columns: 1.6fr 1fr; align-items: end; gap: 3rem; padding-block: 2.75rem 3.5rem; }
    .news-heading-aside { justify-self: end; }
    .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 3rem); }
    .news-card-title {  }
    .news-card:nth-child(2).news-entering { animation-delay: .08s; }
    .news-card:nth-child(3).news-entering { animation-delay: .16s; }
}
@media (prefers-reduced-motion: reduce) {
    .news-section *, .news-section *::before, .news-section *::after { animation: none !important; transition: none !important; }
    .news-card-link .news-photo img { transform: none !important; }
}

.news-section .news-slider { padding: .5rem; margin: -.5rem; }
.news-slider:not(.swiper-initialized) .news-grid { display: grid; }
.news-slider.swiper-initialized .news-grid { display: flex; gap: 0; }
.news-slider .news-card { height: auto; }
.news-slider.swiper-initialized .news-photo { cursor: grab; }
.news-slider.swiper-initialized .news-photo:active { cursor: grabbing; }
.news-controls { display: flex; align-items: center; gap: 1.5rem; margin-top: 2.5rem; }
.news-slide-count { font-size:var(--type-meta); letter-spacing: .12em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.news-controls .news-progress { position: relative; flex: 1; height: 2px; background: var(--news-line); }
.news-section .news-progress .swiper-pagination-progressbar-fill { background: var(--news-gold); }
.news-navigation { display: flex; gap: .625rem; }
.news-navigation button { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid #bbbdbf; border-radius: 50%; background: transparent; color: var(--news-ink); font-size: 1.25rem; transition: background .3s, color .3s; }
.news-navigation button:hover:not(:disabled), .news-navigation button:focus-visible { background: var(--news-ink); color: #f7f5f0; }
.news-navigation button:disabled { opacity: .3; cursor: default; }
.news-slider:focus-visible { outline: 2px solid var(--news-gold); outline-offset: 7px; }

@media (prefers-reduced-motion: reduce) { .news-navigation button { transition: none; } }

/* Playback control is revealed on keyboard focus without changing the normal layout. */
.news-autoplay-toggle { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.news-autoplay-toggle:focus-visible { position: static; width: auto; height: auto; padding: .75rem 1rem; border: 1px solid var(--news-gold); clip-path: none; white-space: normal; color: var(--news-ink); background: #f7f5f0; }
