/* Fixed-size thumbnails keep the article collection compact as it grows. */
.articles-carousel-section{background:#fff;padding:58px 0 48px}
.articles-carousel-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}
.articles-carousel-heading .section-kicker{margin:0 0 9px}
.articles-carousel-heading h2{font-family:var(--sans);font-size:clamp(1.65rem,2.6vw,2.25rem);font-weight:760;line-height:1.15;letter-spacing:-.045em;color:var(--green-950);margin:0}
.articles-carousel-heading p:not(.section-kicker){font-size:.88rem;line-height:1.6;color:var(--ink-700);margin:12px 0 0;max-width:580px}
.articles-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}
.articles-controls button{border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green-950);width:44px;height:44px;display:grid;place-items:center;cursor:pointer;font-size:1.2rem}
.articles-controls [data-articles-pause]{width:auto;border-radius:24px;padding:0 16px;font-size:.76rem;font-weight:700}
.articles-controls button:hover{background:var(--green-50);border-color:var(--green-700)}
.articles-controls button:focus-visible,.article-teaser a:focus-visible,.article-summary-toggle:focus-visible{outline:3px solid var(--green-700);outline-offset:3px}
.articles-viewport{position:relative;display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#b8cfc2 transparent;padding:4px 4px 17px;overscroll-behavior-x:contain}
.article-teaser{position:relative;flex:0 0 224px;min-width:0;scroll-snap-align:start}
.article-teaser>a{display:block;border-radius:12px;text-decoration:none;color:var(--green-950)}
.article-teaser-visual{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:12px;background:var(--green-50)}
.article-teaser img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.article-teaser-summary{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:13px;background:linear-gradient(180deg,rgba(6,60,40,.8),rgba(6,60,40,.98));color:#fff;font-size:.77rem;line-height:1.48;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.article-teaser-summary strong{display:block;margin-top:9px;font-size:.73rem;color:#f6dd79}
.article-teaser h3{margin:12px 0 0;padding-right:2px;font-family:var(--sans);font-size:.91rem;line-height:1.42;font-weight:700;letter-spacing:-.02em}
.article-teaser:focus-within .article-teaser-summary,.article-teaser[data-open="true"] .article-teaser-summary{opacity:1;visibility:visible}
.article-summary-toggle{position:absolute;top:8px;right:8px;z-index:2;min-width:44px;height:32px;padding:0 9px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,255,255,.96);color:var(--green-950);font-size:.66rem;font-weight:750;cursor:pointer}
.article-summary-toggle:hover,.article-summary-toggle[aria-expanded="true"]{background:var(--gold-300)}
.articles-carousel-footer{display:flex;justify-content:space-between;gap:16px;margin-top:12px;color:var(--ink-700);font-size:.72rem;line-height:1.5}
@media(hover:hover){.article-teaser:hover .article-teaser-summary{opacity:1;visibility:visible}.article-teaser:hover img{transform:scale(1.035)}}
@media(max-width:760px){.articles-carousel-section{padding:40px 0}.articles-carousel-heading{display:block;margin-bottom:20px}.articles-controls{margin-top:18px}.article-teaser{flex-basis:224px}.article-summary-toggle{height:44px;min-width:64px;top:6px;right:6px}.article-teaser-summary{padding-top:40px;font-size:.74rem}.articles-carousel-footer{display:block}.articles-carousel-footer>span{display:block;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.article-teaser img,.article-teaser-summary{transition:none}}
/* Illustrations accompany the supplied articles without changing their text. */
.article-page-illustrated .article-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:48px;align-items:center;max-width:none}
.article-page-illustrated .article-hero-grid>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:24px;box-shadow:none}
.article-page-illustrated .article-hero h1{font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.08;max-width:none}
.article-generated-note{font-size:.72rem!important;color:var(--ink-700)!important;line-height:1.5!important}
@media(max-width:1000px){.article-page-illustrated .article-hero-grid{grid-template-columns:1fr;gap:24px}.article-page-illustrated .article-hero-grid>img{max-width:760px}}
