/* Shared headline-to-first-media gap.
   Desktop 48px / mobile 24px. Mobile keeps the existing 24px gap. */
:root {
  --headline-media-gap: 48px;
  --headline-media-gap-mobile: 24px;
}
@media (max-width: 900px) {
  :root {
    --headline-media-gap: var(--headline-media-gap-mobile);
  }
}

.page-header {
  padding-bottom: var(--headline-media-gap);
}

/* Drop leftover title margin when the title is the last header text
   (e.g. Marketing after the intro was removed). Leave margin in place
   when a subtitle or intro follows the title. */
.page-header .page-title:last-child {
  margin-bottom: 0;
}

/* The token on .page-header is the whole gap; the next section must
   not add top padding or margin. Side and bottom spacing are unchanged. */
.page-header + #listings,
.page-header + .mk-band,
.page-header + #meet-content,
.page-header + .contact-wrap,
.page-header + .comm-hero,
.page-header + main,
.page-header + #journal {
  padding-top: 0;
  margin-top: 0;
}
