/* One report at a time; natural image ratios keep title artwork uncropped. */
.reports-page .page-hero { padding: 48px 0 32px; }
.reports-page .page-hero .shell,
.reports-page .reports-feed { width: min(640px, calc(100% - 48px)); }
.reports-page .page-hero h1 { margin: 0; color: var(--white); font-size: clamp(28px, 9vw, 56px); font-weight: 800; line-height: 1.05; text-transform: uppercase; }
.reports-page .page-hero h1 span { color: var(--teal); }
.reports-feed { display: flex; flex-direction: column; gap: 48px; padding: 32px 0 96px; }
.report-post { min-width: 0; padding-bottom: 40px; border-bottom: 1px solid var(--line); }
.report-post:last-child { padding-bottom: 0; border-bottom: 0; }
.report-post-link { display: block; border-radius: 16px; }
.report-cover { display: block; width: 100%; height: auto; border-radius: 16px; background: var(--bg2); }
.report-caption { padding-top: 24px; }
.report-caption .report-meta { color: var(--text); font-size: 13px; }
.report-caption h2 { margin: 16px 0 12px; font-size: clamp(26px, 3vw, 32px); line-height: 1.2; }
.report-caption p { margin: 0; color: var(--text); font-size: 16px; }
.report-caption .link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 16px; color: var(--teal); font-weight: 700; }
.report-post-link:hover .link { text-decoration: underline; text-underline-offset: 4px; }
.report-post-link:focus-visible { outline: 2px solid var(--teal); outline-offset: 8px; }
@media (max-width: 600px) {
  .reports-page .page-hero { padding: 32px 0 24px; }
  .reports-feed { gap: 32px; padding: 24px 0 56px; }
  .report-post { padding-bottom: 32px; }
  .report-caption { padding-top: 20px; }
}
