/* One editorial family for dynamic blog cards, articles and related posts. */
.blog-index,.article-shell { padding-bottom:var(--space-16); }
.editorial-heading { padding-block:20px 32px; }
.editorial-heading p,.editorial-description { max-width:760px; color:var(--copy); margin-top:20px; }
.category-rail { display:flex; gap:12px; min-width:0; max-width:100%; overflow-x:auto; padding:4px 4px 20px; margin-bottom:24px; }
.category-rail a { flex:0 0 auto; min-height:44px; display:flex; align-items:center; padding:8px 16px; border:1px solid var(--line); border-radius:var(--radius-control); font-size:14px; }
.category-rail a[aria-current] { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.editorial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.editorial-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-control); background:var(--paper); }
.editorial-card__media { display:block; min-width:0; aspect-ratio:16/9; overflow:hidden; background:var(--surface); }
.editorial-card__media img { display:block; width:100%; height:100%; object-fit:cover; }
.editorial-card__copy { padding:24px; min-width:0; }
.editorial-card :is(h2,h3) { font-size:24px; line-height:1.2; margin:12px 0; overflow-wrap:anywhere; }
.editorial-card__copy > p { color:var(--copy); font-size:14px; }
.editorial-card .content-link { margin-top:16px; }
.editorial-card--featured { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; }
.editorial-card--featured .editorial-card__media { height:100%; }
.editorial-card--featured h2 { font-size:32px; }
.editorial-card--featured:not(:has(.editorial-card__media)) { display:block; }
.editorial-meta { display:flex; gap:8px 16px; flex-wrap:wrap; font-size:12px; color:var(--copy); }
.editorial-meta a { text-decoration:underline; text-underline-offset:3px; }
.article-heading { max-width:980px; }
.article-heading .editorial-meta { margin-top:20px; }
.article-cover { margin-block:24px 48px; overflow:hidden; border-radius:var(--radius-media); }
.article-cover img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.article-body { width:min(var(--container),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.article-body > :not(.content-section):not(.article-wide) { max-width:760px; margin-inline:auto; }
.article-body > * + * { margin-top:24px; }
.article-body h2 { margin-block:40px 20px; }
.article-body p,.article-body li { overflow-wrap:anywhere; }
.article-body a:not(.wp-block-button__link) { text-decoration:underline; text-underline-offset:3px; }
.article-body .wp-block-quote { margin-block:32px; border-left:3px solid var(--brand); padding:16px 24px; background:var(--surface); }
.article-body .wp-block-table { overflow-x:auto; }
.article-body table { width:100%; border-collapse:collapse; }
.article-body :is(th,td) { border-bottom:1px solid var(--line); padding:12px; text-align:left; }
.article-body .wp-block-image { margin-block:32px; }
.article-body .wp-block-image img { display:block; width:100%; height:auto; border-radius:var(--radius-media); }
.article-body .container { width:100%; }
.article-related { margin-top:64px; }
.article-related > h2 { margin-bottom:24px; }
.post-navigation,.pagination { margin-block:32px; }
.nav-links { display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; }
.nav-links a,.nav-links .page-numbers { display:inline-flex; align-items:center; min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:var(--radius-control); overflow-wrap:anywhere; }
.nav-links .current { background:var(--ink); color:var(--paper); }
.editorial-empty { padding-block:48px; }
@media (max-width:1023px) {
  .editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editorial-card--featured h2 { font-size:28px; }
}
@media (max-width:767px) {
  .editorial-grid { grid-template-columns:minmax(0,1fr); }
  .editorial-card--featured { display:block; }
  .editorial-card--featured h2 { font-size:24px; }
  .editorial-card__copy { padding:20px; }
  .article-cover { margin-block:16px 32px; }
  .article-related { margin-top:40px; }
}
