.content-headlines { overflow: hidden; }
.headline-controls { display: flex; gap: .5rem; flex-shrink: 0; }
.headline-controls[hidden] { display: none !important; }
.headline-controls button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: .5rem; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--ink); cursor: pointer; font: inherit; }
.headline-controls button:hover { background: var(--linen); }
.headline-track { display: flex; gap: 1.25rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; padding: .25rem .125rem 1rem; scroll-padding-inline: .125rem; }
.headline-card { flex: 0 0 calc((100% - 3.75rem) / 4); min-width: 0; scroll-snap-align: start; border: 1px solid var(--line); border-radius: .875rem; background: #fffdf9; overflow: hidden; }
.headline-card > a { display: block; height: 100%; }
.headline-image { position: relative; overflow: hidden; }
.headline-image img { display: block; width: 100%; height: auto; aspect-ratio: 10/7; object-fit: cover; }
.headline-badge { position: absolute; left: .75rem; top: .75rem; padding: .4rem .7rem; border-radius: 2rem; background: var(--primary, #97472e); color: white; font-size: .7rem; font-weight: 600; }
.headline-copy { padding: 1rem; }
.headline-copy h3 { font-size: 1.1rem; line-height: 1.4; margin: 0 0 .5rem; overflow-wrap: anywhere; }
.headline-copy p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.7; }
@media (max-width: 1000px) { .headline-card { flex-basis: calc((100% - 1.25rem) / 2); } }
@media (max-width: 600px) { .headline-card { flex-basis: 100%; } .content-headlines .section-heading { align-items: flex-start; gap: 1rem; } }
