.insight-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-7);
  align-items: center;
  padding-bottom: var(--sp-8);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: var(--sp-8);
}
.insight-feature__art { --art-ratio: 16/10; }
.insight-feature__body h2 { margin-top: var(--sp-3); }
.insight-feature__meta { display: flex; gap: var(--sp-4); font-size: var(--fs-body-sm); color: var(--color-ink-faint); margin-top: var(--sp-4); }

.insight-grid { display: grid; grid-template-columns: 1fr; gap: var(--sp-6); }
.insight-card { text-decoration: none; display: flex; flex-direction: column; }
.insight-card__art { --art-ratio: 16/10; margin-bottom: var(--sp-4); }
.insight-card h3 { font-size: var(--fs-display-sm); color: var(--color-ink); margin-top: var(--sp-2); }
.insight-card__meta { display: flex; gap: var(--sp-3); font-size: var(--fs-body-sm); color: var(--color-ink-faint); margin-top: var(--sp-3); }

@media (min-width: 780px) { .insight-feature { grid-template-columns: 1.2fr 1fr; } }
@media (min-width: 640px) { .insight-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1080px) { .insight-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---- Article template ---- */
.article-header { max-width: 760px; margin-inline: auto; text-align: center; }
.article-header h1 { margin-top: var(--sp-4); }
.article-meta { display: flex; gap: var(--sp-4); justify-content: center; font-size: var(--fs-body-sm); color: var(--color-ink-faint); margin-top: var(--sp-5); }
.article-hero { --art-ratio: 21/9; margin-block: var(--sp-8); }
.article-body { max-width: 720px; margin-inline: auto; display: flex; flex-direction: column; gap: var(--sp-5); }
.article-body h2 { margin-top: var(--sp-5); font-size: var(--fs-display-sm); }
.article-body p { color: var(--color-ink-muted); }
.article-share { display: flex; gap: var(--sp-3); justify-content: center; margin-top: var(--sp-8); }
.author-box {
  max-width: 720px;
  margin: var(--sp-9) auto 0;
  display: flex;
  gap: var(--sp-4);
  align-items: center;
  padding: var(--sp-6);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}
.author-box__art { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; }
