/* ── Post hero ───────────────────────────────────────── */
.post-hero { padding: 148px 0 72px; background: var(--cream); }

.post-back { display: inline-flex; align-items: center; gap: 8px; font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gray); margin-bottom: 36px; transition: color var(--transition); }
.post-back:hover { color: var(--brand); }
.post-back svg { transition: transform var(--transition); }
.post-back:hover svg { transform: translateX(-3px); }

.post-meta { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; flex-wrap: wrap; }
.post-category { font-size: .6rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--white); background: var(--brand); padding: 5px 12px; }
.post-date      { font-size: .72rem; color: var(--gray); letter-spacing: .06em; }
.post-read-time { font-size: .72rem; color: var(--gray); }

.post-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.2rem, 4.5vw, 3.6rem); font-weight: 300; color: var(--dark); line-height: 1.15; margin-bottom: 24px; }
.post-title em { font-style: italic; color: var(--brand); }

.post-lead { font-size: 1rem; color: var(--brand); font-weight: 400; line-height: 1.85; max-width: 640px; border-left: 3px solid var(--brand); padding-left: 20px; }

.post-author { display: flex; align-items: center; gap: 14px; margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--gray-border); }
.post-author__img  { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: center top; }
.post-author__name { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; font-weight: 500; color: var(--dark); }
.post-author__role { font-size: .68rem; color: var(--gray); letter-spacing: .1em; text-transform: uppercase; margin-top: 2px; }

/* ── Post image ──────────────────────────────────────── */
.post-image { width: 100%; max-height: 520px; overflow: hidden; }
.post-image img { width: 100%; height: 100%; object-fit: cover; }

/* ── Post content ────────────────────────────────────── */
.post-content { padding: 72px 0 96px; }

.post-body { font-size: .95rem; line-height: 1.95; color: var(--brand); }
.post-body h2 { font-family: 'Cormorant Garamond', serif; font-size: 1.9rem; font-weight: 400; color: var(--dark); margin: 48px 0 20px; line-height: 1.2; }
.post-body h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-weight: 400; color: var(--dark); margin: 36px 0 14px; }
.post-body p  { margin-bottom: 20px; }
.post-body ul, .post-body ol { margin: 0 0 20px 24px; }
.post-body li { margin-bottom: 8px; }
.post-body strong { font-weight: 600; color: var(--dark); }
.post-body blockquote { border-left: 3px solid var(--brand); padding: 20px 24px; margin: 36px 0; background: var(--cream); font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; font-style: italic; color: var(--dark); line-height: 1.6; }
.post-body .callout { background: var(--cream); border: 1px solid var(--gray-border); padding: 28px 32px; margin: 36px 0; }
.post-body .callout p { margin: 0; }

/* ── Post CTA ────────────────────────────────────────── */
.post-cta { background: var(--brand); padding: 72px 0; text-align: center; }
.post-cta__title { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 300; color: var(--white); margin-bottom: 16px; }
.post-cta__title em { font-style: italic; }
.post-cta__desc { font-size: .88rem; color: rgba(255,255,255,.90); font-weight: 400; max-width: 440px; margin: 0 auto 36px; line-height: 1.8; }
