/* Blog: index and posts. Mobile first, tokens only. No full-bleed hero on any blog page. */
.prose { max-width: var(--w-text); margin-inline: auto; display: grid; gap: var(--s-5); }
.prose p { max-width: none; }
.prose h2 { margin-top: var(--s-7); font-size: var(--t-h2); }
.prose h3 { margin-top: var(--s-3); }
.prose a:not(.btn):not(.link) { color: var(--c-link); }

/* Index */
.blog-head .wrap { display: grid; gap: var(--s-4); }
.jgrid { display: grid; gap: var(--s-9); }
.jcard.reveal { transition-delay: var(--delay, 0ms); }
.blog-head { padding-top: var(--s-9); }
.jcard { display: grid; gap: var(--s-4); align-content: start; }
.jcard__img { display: block; aspect-ratio: 3 / 2; border-radius: var(--r-md); }
.jcard__img img { transition: transform var(--d-edit) var(--ease-fluid); }
.jcard__body { display: grid; gap: var(--s-3); }
.jcard__body h2 { font-size: var(--t-h3); line-height: 1.25; }
.jcard__body h2 a { color: var(--c-ink); text-decoration: none; display: block; padding-block: var(--s-1); }
.jcard__body h2 a:active { transform: scale(0.97); }
.jcard__body p:not(.small) { color: var(--c-ink-soft); display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (hover: hover) {
  .jcard:hover .jcard__img img { transform: scale(1.04); }
  .jcard__body h2 a:hover { text-decoration: underline; text-decoration-color: var(--c-slate); text-underline-offset: 0.2em; }
}
@media (min-width: 760px) {
  .jgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-6); }
}

/* Posts */
.post__head { display: grid; gap: var(--s-4); padding-top: var(--s-7); max-width: calc(var(--w-text) + 2 * var(--gutter)); }
.post__head h1 { font-size: var(--t-h1); }
.post__back { justify-self: start; padding-block: var(--s-3); }
.post__meta { color: var(--c-ink-soft); font-size: var(--t-small); }
.post__hero { margin-block: var(--s-6) var(--s-7); max-width: calc(var(--w-text) + 2 * var(--gutter)); }
.post__hero { margin-inline: auto; }
.post__hero .photo { border-radius: var(--r-md); aspect-ratio: 3 / 2; }
.post__hero img { height: 100%; object-fit: cover; }
.post__meta { padding-bottom: var(--s-2); }
.post > .wrap:last-child { padding-bottom: var(--s-9); }
.post-cta__btns { display: grid; gap: var(--s-3); margin-top: var(--s-3); }
.post-cta__btns .link { padding-block: var(--s-3); }
.post-cta .prose p { color: var(--c-fog); }
@media (min-width: 760px) {
  .post__head, .post__hero { max-width: var(--w-page); }
  .post__head > *, .post__hero { margin-inline: auto; }
  .post__head h1 { max-width: 22ch; }
  .post__hero .photo { aspect-ratio: 21 / 9; }
}

@media (prefers-reduced-motion: reduce) {
  .jcard__img img { transition: none; }
  .jcard:hover .jcard__img img { transform: none; }
}

/* 404 page */
.notfound-links { display: grid; gap: var(--s-2); margin: var(--s-5) 0 var(--s-6); padding: 0; list-style: none; }
