/* Blog desktop frame (1440 only). First section: it offsets the fixed
   header itself; the gap under it is the header-to-hero token. */
.blog {
  padding-top: calc(var(--header-height) + var(--gap-header-to-hero));
  padding-inline: var(--section-padding-x);
  padding-bottom: 120px; /* her flat 120 around Free Consultation, as FAQ */
}
@media (max-width: 988px) {
  .blog {
    padding-top: calc(var(--header-height-mobile) + var(--gap-header-to-hero));
    padding-inline: var(--section-padding-x-mobile);
  }
}
.blog .card-grid {
  margin-top: 20px; /* her flat 20 above the catalog grid; the frame's 23 read as slop */
}
