/* ================================================================
   Blog — article + hub
   ================================================================ */
.post__hero { padding-block: clamp(2rem, 5vw, 3.5rem); }
.post__hero .display { margin: .9rem 0 1rem; }
.post__meta { font-size: var(--text-sm); color: var(--color-text-2); }
.post__figure { margin-block: var(--space-6); }
.post__figure img { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--radius-xl); }
.post__figure figcaption { font-size: var(--text-xs); color: var(--color-text-3); margin-top: .5rem; }
.post__figure figcaption a { text-decoration: underline; }
.post__layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; padding-block: var(--space-6); }
.post__toc { position: sticky; top: calc(var(--header-h) + 1rem); padding: var(--space-5); border-radius: var(--radius-lg); background: var(--cream); font-size: var(--text-sm); }
.post__toc strong { display: block; margin-bottom: .6rem; color: var(--ink); }
.post__toc ol { display: grid; gap: .45rem; list-style: decimal; padding-left: 1.1rem; color: var(--color-text-2); }
.post__toc a:hover { color: var(--brand); }
.post__body { max-width: 70ch; }
.post__body h2 { scroll-margin-top: calc(var(--header-h) + 1rem); }
@media (max-width: 900px) {
  .post__layout { grid-template-columns: 1fr; }
  .post__toc { position: static; }
}
