/* Blog post layout and typography */
.post-wrap { max-width: 760px; margin-inline: auto; }
.post-hero { aspect-ratio: auto; overflow: hidden; border-radius: 12px; box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.post-hero img { width: 100%; height: auto; object-fit: contain; background: #f6f6f6; }
.post h1 { font-size: clamp(1.8rem, 2.4vw + 1rem, 2.4rem); line-height: 1.25; }
.post h2 { margin-top: 1.75rem; margin-bottom: .75rem; }
.post p { line-height: 1.7; color: var(--bs-gray-800); letter-spacing: .005em; }
.post ul, .post ol { padding-left: 1.25rem; }
.post li { margin-bottom: .4rem; }
.post-quote { border-left: 4px solid var(--primary-color); background: #f6f8fb; padding: .9rem 1rem; border-radius: 8px; }
.post-utility { display: flex; gap: .75rem; align-items: center; color: var(--bs-gray-600); font-size: .9375rem; margin: .5rem 0 1rem; flex-wrap: wrap; }
.post-cta-inline { border: 1px solid #e9eef5; background: #f9fbff; padding: 1rem; border-radius: 12px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .75rem; margin: 1.25rem 0; }
@media (max-width: 576px) {
.post-cta-inline { grid-template-columns: 1fr; text-align: center; }
}

