/* Blog (10/21 redesign): same ground/ink/accent as the home page. */
.post { padding: 64px 0 112px; }
.post .wrap { max-width: 760px; }
.post h1 { font-size: 56px; }
.deck { font-size: 21px; line-height: 1.5; margin-top: 20px; }
.meta { font-size: 15px; color: var(--ink2); margin-top: 16px; display: block; }
.back a { display: inline-block; padding: 10px 0; font-size: 16px; color: var(--ink2); }
.back { margin-bottom: 16px; }
.body { margin-top: 48px; }
.body p, .body ul { margin-bottom: 22px; max-width: 66ch; }
.body h2 { font-size: 32px; margin: 48px 0 16px; }
.body ul { padding-left: 22px; display: grid; gap: 12px; }
.body blockquote { font-size: 24px; line-height: 1.35; font-weight: 600; letter-spacing: -.01em; margin: 32px 0; padding: 24px 28px; background: var(--tone); border-radius: var(--r); }
.posts { list-style: none; margin-top: 48px; display: grid; gap: 12px; }
.posts a { display: block; text-decoration: none; background: var(--card); border-radius: var(--r); padding: 28px 30px; transition: background-color .15s ease; }
.posts a:hover { background: #fbfaf7; }
.posts h2 { font-size: 32px; margin: 8px 0 10px; }
.posts p { max-width: 62ch; }
.posts .link { display: inline-block; margin-top: 14px; }
.post-cta { margin-top: 72px; background: var(--dark); color: #fff; border-radius: var(--r); padding: 40px; }
.post-cta h2 { font-size: 34px; }
.post-cta p { color: var(--on-dark); margin: 14px 0 24px; max-width: 54ch; }
.post-cta .ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.post-cta .btn-ghost { background: #2a2e34; color: #fff; }
@media (max-width: 900px) {
  .post { padding: 32px 0 72px; }
  .post h1 { font-size: 38px; }
  .deck { font-size: 18px; }
  .body h2, .posts h2 { font-size: 26px; }
  .body blockquote { font-size: 20px; padding: 20px; }
  .post-cta { padding: 26px 22px; }
  .post-cta h2 { font-size: 28px; }
  .post-cta .btn { width: 100%; }
}

/* 10/26 header button 'Book a free 30-min consult': keep it on one line on phones */
@media (max-width: 420px) { .nav .wrap { gap: 12px; } .nav .btn { white-space: nowrap; padding: 0 12px; font-size: 13.5px; } }
@media (max-width: 380px) { .nav .wrap { padding: 0 14px; gap: 10px; } .nav .brand { font-size: 18px; gap: 6px; } .nav .brand svg { width: 26px; height: 26px; } }
@media (max-width: 340px) { .nav .brand { font-size: 0; gap: 0; } }
