/* — banner + hooks spacing — */
section.hero { margin: 0; padding-bottom: 0; }
.hero + .hero-bar { margin-top: 0; padding-top: 0; }

/* — promos under banner — */
/* REQUIREMENT: each promo module has Module Class Suffix: ` promo` */
.promos { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.promos > .moduletable.promo,
.promos > .module.promo { flex: 0 1 clamp(280px, 32%, 360px); }

@media (max-width: 900px) {
  .promos > .moduletable.promo,
  .promos > .module.promo { flex-basis: 100%; }
}

/* — CTA button — */
.hero-bar .btn, .hero-bar a.button {
  display: inline-block; padding: .6rem 1rem;
  background: #000; color: #fff; border: 1px solid #000; text-decoration: none;
}
.hero-bar .btn:hover, .hero-bar a.button:hover { opacity: .9; }

/* collapse to 1 column when no sidebar */
.grid.no-sidebar { display: block; }
@media (min-width:0){
  .grid.no-sidebar { grid-template-columns: 1fr !important; }
}
