/* Long-form article pages. Deliberately narrow measure and generous leading —
   these exist to be READ, unlike the marketing pages. Uses the site tokens so
   they cannot drift from the brand. */
.article-wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}
.article-kicker {
  font-size: 13px; color: var(--text-mid); margin-bottom: 18px; font-weight: 600;
}
.article-kicker a { color: var(--text-mid); text-decoration: none; }
.article-kicker a:hover { color: var(--pink); }

.article-wrap h1 {
  font-size: 38px; font-weight: 900; line-height: 1.14; letter-spacing: -0.02em;
  color: var(--text-dark); margin-bottom: 28px;
}
.article-body { font-size: 17.5px; line-height: 1.75; color: var(--text-mid); }
.article-body h2 {
  font-size: 26px; font-weight: 800; letter-spacing: -0.01em;
  color: var(--text-dark); margin: 44px 0 14px; line-height: 1.25;
}
.article-body h3 {
  font-size: 19px; font-weight: 800; color: var(--text-dark); margin: 30px 0 10px;
}
.article-body p { margin: 0 0 18px; }
.article-body ul { margin: 0 0 20px; padding-left: 22px; }
.article-body li { margin-bottom: 9px; }
.article-body strong { color: var(--text-dark); font-weight: 700; }
.article-body a { color: var(--pink); }

.article-cta {
  margin-top: 48px; padding: 26px;
  background: var(--bg-light); border-radius: 16px;
  border: 1px solid rgba(27,35,64,.08); text-align: center;
}
.article-cta p { font-size: 15.5px; line-height: 1.6; color: var(--text-mid); margin: 0 0 18px; }

.blog-lede { font-size: 18px; color: var(--text-mid); margin-bottom: 34px; }
.post-grid { display: grid; gap: 18px; }
.post-card {
  display: block; padding: 24px 26px; background: #fff;
  border: 1px solid rgba(27,35,64,.10); border-radius: 16px;
  text-decoration: none; transition: transform .15s, box-shadow .2s, border-color .2s;
}
.post-card:hover {
  transform: translateY(-2px); border-color: rgba(208,32,208,.35);
  box-shadow: 0 10px 26px -8px rgba(27,35,64,.18);
}
.post-card h2 { font-size: 21px; font-weight: 800; color: var(--text-dark); margin: 0 0 8px; line-height: 1.3; }
.post-card p  { font-size: 14.5px; color: var(--text-mid); line-height: 1.6; margin: 0 0 12px; }
.post-more    { font-size: 14px; font-weight: 800; color: var(--pink); }

@media (max-width: 768px) {
  .article-wrap { padding: 32px 20px 60px; }
  .article-wrap h1 { font-size: 29px; }
  .article-body { font-size: 16.5px; }
  .article-body h2 { font-size: 22px; margin-top: 36px; }
}
