/* News editorial layout. Shared header, CTA and footer retain home.css styles. */
.news-page { --ink: #111827; --muted: #64798a; --line: #e8ebef; color: var(--ink); }
[hidden] { display: none !important; }
.news-container { width: min(var(--content-width), calc(100% - var(--page-gutter) * 2)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: absolute; top: -80px; left: 20px; z-index: 5; padding: 10px 20px; background: #fff; }
.skip-link:focus { top: 8px; }
.news-opening { background-color: #f5f7f8; background-image: url('/assets/images/news/news-hero.webp?v=20260923-3'); background-size: 110% auto; background-position: 72% center; background-repeat: no-repeat; }
.news-main { padding-block: 72px 64px; min-height: 700px; }
.news-main:focus { outline: none; }
.news-list { list-style: none; padding: 0; margin: 0; }
.news-item { position: relative; }
.news-item:not(.news-featured) { border-bottom: 1px solid var(--line); }
.news-link { display: grid; grid-template-columns: 168px minmax(0, 1fr) 32px; column-gap: 36px; align-items: center; padding-block: 14px; min-height: 124px; }
/* Preserve the article images' original colors and full framing. */
.news-image { position: relative; isolation: isolate; overflow: hidden; border-radius: 3px; background: #edf0f2; }
.news-image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; background: #edf0f2; }
.news-copy { min-width: 0; }
.news-meta { margin-bottom: 10px; color: var(--muted); font-size: 13px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.news-copy h2 { font-size: 20px; font-weight: 500; line-height: 1.5; letter-spacing: -.03em; }
.news-arrow { font-size: 28px; line-height: 1; text-align: right; color: #10161c; transition: transform .2s ease; }
.news-link:hover h2 { color: #526e82; }
.news-link:hover .news-arrow { transform: translateX(4px); }
.news-featured { margin-bottom: 26px; }
.news-featured .news-link { grid-template-columns: 460px minmax(0, 1fr) 32px; column-gap: 44px; padding: 0; min-height: 220px; }
.news-featured .news-image img { height: 220px; aspect-ratio: auto; }
.news-featured .news-meta { margin-bottom: 16px; }
.news-featured h2 { font-size: clamp(24px, 1.7vw, 28px); line-height: 1.4; font-weight: 700; }
.news-summary { margin-top: 18px; color: var(--muted); font-size: 16px; line-height: 1.8; letter-spacing: -.02em; }
.news-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 36px; }
.news-pagination a, .news-pagination span { display: grid; place-items: center; min-width: 36px; height: 40px; color: var(--muted); font-size: 14px; }
.news-pagination [aria-current] { color: var(--ink); border-bottom: 1px solid var(--ink); }
.news-pagination [aria-disabled] { color: #b9c2d0; }
.news-pagination a:hover { color: var(--ink); }
/* The shared CTA remains full width; align only its copy with the news grid. */
@media (max-width: 1100px) {
  .news-opening { background-size: cover; }
  .news-featured .news-link { grid-template-columns: 40% minmax(0, 1fr) 24px; column-gap: 28px; }
  .news-featured h2 { font-size: 24px; }
  .news-link { column-gap: 28px; }
}
@media (max-width: 767px) {
  .news-opening { background-image: linear-gradient(90deg, rgba(248,250,252,.96), rgba(248,250,252,.55)), url('/assets/images/news/news-hero.webp?v=20260923-3'); background-position: center bottom; background-size: auto 240px; background-repeat: no-repeat; }
  .news-main { min-height: 0; padding-block: 32px; }
  .news-link { grid-template-columns: 112px minmax(0, 1fr); gap: 16px; min-height: 112px; padding-block: 16px; }
  .news-copy h2 { font-size: 15px; line-height: 1.6; }
  .news-meta { margin-bottom: 6px; font-size: 11px; }
  .news-arrow { display: none; }
  .news-featured { margin-bottom: 16px; }
  .news-featured .news-link { grid-template-columns: 1fr; gap: 20px; }
  .news-featured .news-image img { height: auto; aspect-ratio: 23 / 11; }
  .news-featured h2 { font-size: 23px; }
  .news-featured .news-meta { margin-bottom: 10px; }
  .news-summary { margin-top: 12px; font-size: 14px; line-height: 1.8; }
  .news-pagination { margin-top: 28px; }
}
@media (max-width: 360px) { .news-link { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; } }
@media (prefers-reduced-motion: reduce) { .news-arrow { transition: none; } }
