.why-join img{
    width: 100%;
}
.logo-partners {
    padding-bottom: 80px;
}
.banner-container {
    background-color: var(--black);
    background-image: url(/assets/img/eclipse-banner.svg);
    background-repeat: no-repeat;
    background-position: top right;
}
.group-logo.stack {
  max-width: 1000px;
  margin: 0 auto; /* center horizontally */
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  justify-items: center;
}

.group-logo.stack img {
  height: 48px;
  width: 100%;         /* scale logo to fill grid cell */
  max-width: 150px;    /* prevent huge logos, adjust as needed */
  object-fit: contain; /* keep logos proportional */
  display: block;
}

.about-membership-section.bg-black {
    background-image: url(/assets/img/eclipse-banner.svg);
    background-position: top right;
    background-repeat: no-repeat;

}
.why-join {
    background-image: url(/assets/img/eclipse-coral-right.svg);
    background-position: bottom right;
    background-repeat: no-repeat;
}
.slider-section.bg-white .slide-item .slide-content img.testimonial-logo {
    filter: none;
}
.slider-section .auth-img {
    width: 100%;
}
/* Membership table: even 16px gap between the copy and the divider on both
   sides of every line. membership.css only pads the top (p margin-top: 24px),
   which leaves the text sitting on the line below it. */
@media (min-width: 601px) {
  #about-membership .about-membership-table tr td {
    padding-top: 16px;
    padding-bottom: 16px;
  }
  #about-membership .about-membership-table tr:first-of-type td {
    padding-top: 0;
  }
  #about-membership .about-membership-table td small,
  #about-membership .about-membership-table td h5,
  #about-membership .about-membership-table tr:not(:first-of-type) p,
  #about-membership .about-membership-table td p {
    margin-top: 0;
    margin-bottom: 0;
  }
}

/* Decorative curly arrow, from membership.css:2526. The SVG is 280px wide but
   is anchored with `right: -80px` against the full-width .col-content, so ~200px
   of it lies across rows 02-04 and cuts through the divider lines. The table
   inside is a fixed 991px, so anchor the arrow just past that edge instead of
   the container's. membership.css:3105 already hides the arrow below 1200px, so
   this only needs to hold above that. */
@media (min-width: 1201px) {
  #about-membership .col-content:after {
    left: calc(991px + 24px);
    right: auto;
    pointer-events: none;
  }
}

/* The repositioned arrow runs past the container; clip it here so the overhang
   cannot introduce a horizontal scrollbar. */
.about-membership-section {
  overflow: hidden;
}

/* On mobile/tablet: exactly 2 columns */
@media (max-width: 767px) {
  .group-logo.stack {
    grid-template-columns: repeat(2, 1fr);
  }
  .group-logo.stack img {
    max-width: 100%;   /* logos scale nicely */
  }
}

@media all and (max-width: 768px){
    section:not(.page-banner) h2 span{
        line-height: 1 !important;
    }
    .container {
        padding: 0
    }
}
