/* Blog — builds on landing.css */
.post-hero { padding: 132px var(--site-margin) 40px; max-width: 1100px; margin: 0 auto; }
.post-hero h1 { font-family: var(--font-display); font-size: clamp(2.2rem, 5.4vw, 4.6rem); line-height: .98; letter-spacing: -.05em; margin: 10px 0 20px; }
.post-meta { font-family: var(--font-mono); font-size: .74rem; letter-spacing: .1em; color: rgba(255,255,255,.55); text-transform: uppercase; }
.post-crumbs { font-family: var(--font-mono); font-size: .74rem; letter-spacing: .08em; color: rgba(255,255,255,.5); }
.post-crumbs a { color: var(--nar-glow); }
.post-body { max-width: 760px; margin: 0 auto; padding: 8px var(--site-margin) 72px; font-size: 1.08rem; line-height: 1.75; color: rgba(255,255,255,.82); font-weight: 300; }
.post-body > p.lead { font-size: 1.25rem; color: rgba(255,255,255,.92); }
.post-body h2 { font-family: var(--font-display); font-size: clamp(1.6rem, 3.2vw, 2.3rem); line-height: 1.08; letter-spacing: -.04em; margin: 2.2em 0 .6em; color: #fff; }
.post-body p { margin: 0 0 1.1em; }
.post-body ul, .post-body ol { margin: 0 0 1.3em 1.2em; padding: 0; }
.post-body li { margin: .45em 0; }
.post-body strong { color: #fff; font-weight: 600; }
.post-body a { color: var(--nar-glow); text-decoration: underline; text-underline-offset: 3px; }
.post-callout { border-left: 3px solid var(--nar-red); background: #121212; padding: 18px 22px; margin: 1.6em 0; border-radius: 0 6px 6px 0; }
.post-callout p { margin: 0; }
.post-cta { max-width: 760px; margin: 0 auto 80px; padding: 28px var(--site-margin); border: 1px solid rgba(255,255,255,.12); background: #121212; border-radius: 6px; }
.post-cta h2 { font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.2rem); letter-spacing: -.04em; margin: 0 0 10px; }
.post-cta p { color: rgba(255,255,255,.7); margin: 0 0 18px; line-height: 1.6; }
.post-related { max-width: 1100px; margin: 0 auto; padding: 0 var(--site-margin) 80px; }
.post-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.post-list a.lp-card { min-height: 220px; color: inherit; text-decoration: none; }
.post-list a.lp-card:hover { border-color: rgba(196,30,58,.6); }
.post-list .lp-card h3 { font-size: clamp(1.3rem, 2vw, 1.8rem); }
@media (max-width: 760px) {
  .post-hero { padding-top: 104px; }
  .post-body { font-size: 1.02rem; }
  .post-list { grid-template-columns: 1fr; }
}

.post-hero--article { max-width: 760px; }
