/* Blog Post Shared Styles */
.back-link {
  font-size:13px;letter-spacing:1.5px;color:var(--accent);text-transform:uppercase;
  font-weight:500;display:inline-flex;align-items:center;gap:8px;
}
.article-body { max-width:720px; margin:0 auto; }
.article-body p {
  font-family:'DM Sans',sans-serif; font-size:17px; line-height:1.85;
  color:var(--text); margin:0 0 24px;
}
.article-body h2 {
  font-family:'Playfair Display',Georgia,serif; font-size:28px;
  font-weight:700; color:var(--navy); margin:56px 0 20px; line-height:1.25;
}
.article-body h3 {
  font-family:'Playfair Display',Georgia,serif; font-size:22px;
  font-weight:700; color:var(--navy); margin:40px 0 16px; line-height:1.3;
}
.article-body blockquote {
  margin:32px 0; padding:24px 32px; border-left:3px solid var(--accent);
  background:var(--cream); font-family:'Playfair Display',Georgia,serif;
  font-size:19px; line-height:1.7; color:var(--navy); font-style:italic;
}
.article-body strong { color:var(--navy); font-weight:600; }
.article-body .lead {
  font-size:20px; line-height:1.75; color:var(--text-light);
  font-family:'Playfair Display',Georgia,serif; margin-bottom:32px;
}
.article-body .divider { width:40px; height:2px; background:var(--accent); margin:48px 0; }
.article-body .framework-box {
  margin:32px 0; padding:32px; background:var(--cream); border-top:3px solid var(--accent);
}
.article-body .framework-box h4 {
  font-family:'DM Sans',sans-serif; font-size:12px; letter-spacing:3px;
  text-transform:uppercase; color:var(--accent-dark); font-weight:600; margin:0 0 16px;
}
.article-body .framework-box .fw-item {
  margin-bottom:16px; padding-bottom:16px; border-bottom:1px solid var(--cream-dark);
}
.article-body .framework-box .fw-item:last-child { margin-bottom:0; padding-bottom:0; border-bottom:none; }
.article-body .framework-box .fw-label {
  font-family:'Playfair Display',Georgia,serif; font-size:17px;
  font-weight:700; color:var(--navy); margin-bottom:4px;
}
.article-body .framework-box .fw-desc { font-size:15px; line-height:1.7; color:var(--text-light); margin:0; }
.article-body .callout {
  margin:32px 0; padding:24px 28px; background:var(--navy); color:var(--cream-dark);
  font-size:15px; line-height:1.8;
}
.article-body .callout strong { color:var(--accent); }
.article-header {
  max-width:720px; margin:0 auto; padding-bottom:40px;
  border-bottom:1px solid var(--cream-dark); margin-bottom:48px;
}
.article-meta { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:24px; }
.article-meta-cat { font-size:11px; letter-spacing:3px; text-transform:uppercase; color:var(--accent-dark); font-weight:600; }
.article-meta-date, .article-meta-time { font-size:14px; color:var(--text-muted); }
.article-meta-dot { color:var(--cream-dark); }
.article-title {
  font-family:'Playfair Display',Georgia,serif; font-size:clamp(32px,4vw,44px);
  font-weight:700; color:var(--navy); line-height:1.15; margin:0 0 20px;
}
.article-subtitle { font-size:18px; line-height:1.7; color:var(--text-light); }
.article-author { display:flex; align-items:center; gap:16px; margin-top:28px; }
.article-author-avatar {
  width:48px; height:48px; border-radius:50%; background:var(--navy);
  display:flex; align-items:center; justify-content:center;
  font-family:'Playfair Display',Georgia,serif; font-size:16px; color:var(--accent); font-weight:700;
}
.article-author-name { font-size:15px; font-weight:600; color:var(--navy); }
.article-author-title { font-size:13px; color:var(--text-muted); }
.article-cta {
  max-width:720px; margin:64px auto 0; padding:40px; background:var(--navy); text-align:center;
}
.article-cta h3 { font-family:'Playfair Display',Georgia,serif; font-size:24px; color:var(--white); font-weight:700; margin:0 0 12px; }
.article-cta p { font-size:15px; color:var(--cream-dark); line-height:1.7; margin:0 0 24px; }
.article-cta .cta-form { max-width:400px; margin:0 auto; }
.related-posts {
  max-width:720px; margin:64px auto 0; padding-top:40px; border-top:1px solid var(--cream-dark);
}
.related-posts h3 { font-family:'Playfair Display',Georgia,serif; font-size:22px; color:var(--navy); font-weight:700; margin:0 0 24px; }
.related-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.related-card { padding:24px; border:1px solid var(--cream-dark); transition:all 0.3s; }
.related-card:hover { border-color:var(--accent); transform:translateY(-2px); }
.related-card span { font-size:10px; letter-spacing:3px; color:var(--accent-dark); text-transform:uppercase; font-weight:600; }
.related-card h4 { font-family:'Playfair Display',Georgia,serif; font-size:17px; color:var(--navy); font-weight:600; margin:8px 0 0; line-height:1.4; }
@media (max-width:600px) {
  .related-grid { grid-template-columns:1fr; }
  .article-body blockquote { padding: 20px 16px; font-size: 17px; }
  .article-cta { padding: 24px 16px; margin-top: 48px; }
  .article-cta .cta-form { max-width: 100%; }
  .article-body .framework-box { padding: 20px 16px; }
  .article-body .callout { padding: 20px 16px; }
  .article-header { padding-bottom: 28px; margin-bottom: 32px; }
  .related-posts { margin-top: 48px; }
}
