/* Compact vertical rhythm: enough air without oversized empty bands. */
.section { padding-block: 64px; }
.section-heading { margin-bottom: 30px; }
.hero { min-height: 620px; padding-top: 50px; padding-bottom: 58px; }
.quick-facts { margin-top: 36px; }
.format-card { min-height: 460px; }
.format-card h3 { margin-top: 44px; }
.shift-story { padding-block: 44px; }
.program-document { margin-top: 20px; }
.gallery-filters { margin-top: 24px; margin-bottom: 20px; }
.photo-gallery .section-heading { margin-bottom: 24px; }
.dynamic-gallery { padding-top: 16px; padding-bottom: 20px; }
.useful-links .section-heading { margin-bottom: 28px; }
.cta { margin-bottom: 42px; }

@media (max-width: 900px) {
  .section { padding-block: 54px; }
  .hero { min-height: auto; padding-top: 42px; padding-bottom: 50px; }
  .format-card { min-height: 430px; }
  .shift-story, .shift-story.reverse { padding-block: 40px; }
  .program { gap: 40px; }
}

@media (max-width: 560px) {
  .section { padding-block: 48px; }
  .section-heading { margin-bottom: 26px; }
  .hero { padding-bottom: 42px; }
  .quick-facts { margin-top: 28px; }
  .format-card { min-height: auto; }
  .format-card h3 { margin-top: 34px; }
  .shift-story, .shift-story.reverse { padding-block: 38px; }
  .program-document { margin-top: 16px; }
  .photo-gallery .section-heading { margin-bottom: 18px; }
  .gallery-filters { margin-top: 18px; margin-bottom: 12px; }
  .cta { margin-bottom: 36px; }
}
