/* Life Connect blog styles — extends styles.css brand tokens */
.blog-hero { padding: 64px 0 28px; text-align: center; }
.blog-hero .eyebrow { color: var(--rose); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: 13px; }
.blog-hero h1 { font-family: var(--font-display); color: var(--maroon); font-size: clamp(2rem, 6vw, 3rem); line-height: 1.08; margin: 12px auto 14px; max-width: 18ch; }
.blog-hero .lede { color: var(--ink); max-width: 46ch; margin: 0 auto; font-size: 1.08rem; }

.blog-list { padding: 28px 0 56px; }
.card-grid { display: grid; gap: 22px; grid-template-columns: 1fr; }
@media (min-width: 720px) { .card-grid { grid-template-columns: 1fr 1fr; } }

.post-card { display: block; background: var(--white); border: 1px solid #efe3da; border-radius: var(--r-lg, 22px); padding: 26px 26px 22px; text-decoration: none; box-shadow: var(--shadow-card); transition: transform .2s ease, box-shadow .2s ease; }
.post-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(120,40,70,.12); }
.pc-meta { color: var(--ink-soft); font-size: 13px; }
.pc-title { font-family: var(--font-display); color: var(--maroon); font-size: 1.35rem; line-height: 1.18; margin: 8px 0 10px; }
.pc-desc { color: var(--ink); font-size: .98rem; line-height: 1.55; margin-bottom: 14px; }
.pc-link { color: var(--rose); font-weight: 600; font-size: .95rem; }

/* Single post */
.post { padding: 40px 0 24px; }
.post-wrap { max-width: 720px; }
.post-back { color: var(--rose); font-weight: 600; text-decoration: none; font-size: .95rem; display: inline-block; margin-bottom: 18px; }
.post-back:hover { text-decoration: underline; }
.post-meta { color: var(--ink-soft); font-size: 14px; margin-bottom: 6px; }
.post-title { font-family: var(--font-display); color: var(--maroon); font-size: clamp(1.9rem, 5.5vw, 2.7rem); line-height: 1.1; margin-bottom: 26px; }
.post-body { color: var(--ink); font-size: 1.08rem; line-height: 1.75; }
.post-body h2 { font-family: var(--font-display); color: var(--maroon); font-size: 1.55rem; line-height: 1.2; margin: 34px 0 12px; }
.post-body h3 { font-family: var(--font-display); color: var(--maroon); font-size: 1.2rem; margin: 24px 0 8px; }
.post-body p { margin: 0 0 16px; }
.post-body ol, .post-body ul { margin: 0 0 18px; padding-left: 1.3em; }
.post-body li { margin-bottom: 8px; }
.post-body strong { color: var(--maroon); }
.post-body blockquote { border-left: 4px solid var(--gold); background: hsl(38 80% 96%); margin: 22px 0; padding: 16px 20px; border-radius: 0 12px 12px 0; font-style: italic; color: var(--maroon); }

.post-cta { background: linear-gradient(135deg, hsl(342 78% 50%), hsl(342 72% 43%)); color: #fff; border-radius: var(--r-lg, 22px); padding: 34px 30px; text-align: center; margin: 40px 0 30px; }
.post-cta h2 { font-family: var(--font-display); font-size: 1.7rem; margin-bottom: 10px; color: #fff; }
.post-cta p { opacity: .94; margin-bottom: 20px; max-width: 40ch; margin-left: auto; margin-right: auto; }

/* Related reads — internal linking block for SEO topic clusters */
.related-reads{margin:2.5rem 0 1rem;padding-top:1.5rem;border-top:1px solid rgba(58,34,48,.12)}
.related-reads .rr-head{font-family:'Fraunces',serif;font-size:1.15rem;color:#3A2230;margin:0 0 .9rem}
.rr-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem 1.1rem;margin-bottom:.55rem;background:#fff;border:1px solid rgba(58,34,48,.1);
  border-radius:14px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.rr-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(212,20,90,.08);border-color:rgba(212,20,90,.35)}
.rr-title{font-weight:600;color:#3A2230;font-size:.97rem;line-height:1.35}
.rr-link{color:#d4145a;font-weight:600;font-size:.85rem;white-space:nowrap}

/* Sub-line under the end CTA button */
.post-cta-sub{font-size:.82rem;opacity:.82;margin:14px 0 0;letter-spacing:.01em}

/* Inline mid-article CTA — appears ~halfway through, where readers are most engaged */
.inline-cta{margin:34px 0;padding:24px 26px;background:hsl(38 80% 96%);
  border:1px solid rgba(212,145,60,.35);border-left:4px solid #d4913c;border-radius:0 16px 16px 0}
.inline-cta-text{margin:0 0 16px;color:#3A2230;font-size:1.02rem;line-height:1.55}
.inline-cta-text strong{color:#d4145a}
.inline-cta-btn{display:inline-block;background:#d4145a;color:#fff;font-weight:600;
  padding:12px 22px;border-radius:999px;text-decoration:none;font-size:.97rem;
  transition:transform .15s ease,box-shadow .15s ease}
.inline-cta-btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(212,20,90,.28)}
.inline-cta-sub{margin:12px 0 0;font-size:.8rem;color:#5b4750;opacity:.85}
