/* Slim, elegant partnership banners */
.partnership-banners-stack{
  width:min(960px,calc(100% - 28px));
  margin:22px auto 40px;
  display:grid;
  gap:18px;
}

.partnership-seo-banner{
  width:100%;
  max-width:960px;
  min-height:220px;
  margin:0 auto;
  grid-template-columns:minmax(220px,.72fr) minmax(360px,1.08fr);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(44,27,17,.10);
}
.partnership-seo-banner > *{min-width:0}

.partnership-seo-banner__copy{
  padding:24px 28px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.partnership-seo-banner__eyebrow{
  font-size:.62rem;
  letter-spacing:.15em;
}
.partnership-seo-banner h2{
  max-width:14ch;
  margin:8px 0 10px;
  font-size:clamp(1.55rem,2.3vw,2.55rem);
  line-height:1.02;
}
.partnership-seo-banner__text{
  font-size:.88rem;
  line-height:1.5;
  max-width:32ch;
}
.partnership-seo-banner__button{
  margin-top:14px;
  padding:10px 16px;
  font-size:.86rem;
}
.partnership-seo-banner__gallery{
  gap:8px;
  padding:10px;
  height:100%;
  align-self:stretch;
}
.partnership-seo-banner__image{
  min-height:0;
  height:100%;
  border-radius:16px;
}
.partnership-seo-banner__image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Base layout: one larger image + two stacked smaller images */
.partnership-seo-banner:not(.partnership-seo-banner--gallery):not(.partnership-seo-banner--panorama):not(.partnership-seo-banner--collage):not(.partnership-seo-banner--network) .partnership-seo-banner__gallery{
  grid-template-columns:1.2fr .72fr;
  grid-template-rows:repeat(2, minmax(94px,1fr));
}
.partnership-seo-banner:not(.partnership-seo-banner--gallery):not(.partnership-seo-banner--panorama):not(.partnership-seo-banner--collage):not(.partnership-seo-banner--network) .partnership-seo-banner__image:first-child{
  grid-row:1 / span 2;
}

/* Variants */
.partnership-seo-banner--gallery .partnership-seo-banner__gallery{
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:132px 88px;
}
.partnership-seo-banner--gallery .partnership-seo-banner__image:first-child{
  grid-column:1 / span 2;
  grid-row:auto;
}

.partnership-seo-banner--panorama{
  min-height:210px;
}
.partnership-seo-banner--panorama .partnership-seo-banner__gallery{
  grid-template-rows:220px;
  padding:0;
}
.partnership-seo-banner--panorama .partnership-seo-banner__copy{
  max-width:50%;
  padding:24px 28px;
}

.partnership-seo-banner--collage .partnership-seo-banner__gallery{
  min-height:220px;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(2,106px);
}
.partnership-seo-banner--collage .partnership-seo-banner__image:first-child{
  grid-row:1 / span 2;
}

.partnership-seo-banner--network .partnership-seo-banner__gallery{
  grid-template-columns:repeat(3,1fr);
  grid-auto-rows:70px;
  align-content:center;
}
.partnership-seo-banner--network .partnership-seo-banner__image{
  aspect-ratio:1/1;
  height:auto;
}

@media (max-width: 980px){
  .partnership-banners-stack{
    width:min(100% - 22px,840px);
    gap:16px;
  }
  .partnership-seo-banner{
    max-width:840px;
    grid-template-columns:minmax(210px,.75fr) minmax(300px,1fr);
  }
}

@media (max-width: 850px){
  .partnership-banners-stack{
    width:min(100% - 18px,680px);
    margin:18px auto 30px;
    gap:16px;
  }
  .partnership-seo-banner{
    min-height:0;
    grid-template-columns:1fr;
    border-radius:22px;
  }
  .partnership-seo-banner__copy{
    padding:20px 20px 14px;
  }
  .partnership-seo-banner h2{
    max-width:none;
    font-size:clamp(1.55rem,7vw,2.2rem);
  }
  .partnership-seo-banner__text{
    max-width:none;
    font-size:.9rem;
  }
  .partnership-seo-banner__gallery,
  .partnership-seo-banner:not(.partnership-seo-banner--gallery):not(.partnership-seo-banner--panorama):not(.partnership-seo-banner--collage):not(.partnership-seo-banner--network) .partnership-seo-banner__gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:132px 88px;
    padding:10px;
  }
  .partnership-seo-banner:not(.partnership-seo-banner--gallery):not(.partnership-seo-banner--panorama):not(.partnership-seo-banner--collage):not(.partnership-seo-banner--network) .partnership-seo-banner__image:first-child{
    grid-column:1 / span 2;
    grid-row:1;
  }
  .partnership-seo-banner--gallery .partnership-seo-banner__gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:132px 88px;
  }
  .partnership-seo-banner--panorama .partnership-seo-banner__gallery{
    grid-template-rows:185px;
  }
  .partnership-seo-banner--panorama .partnership-seo-banner__copy{
    max-width:none;
  }
  .partnership-seo-banner--collage .partnership-seo-banner__gallery{
    grid-template-rows:112px 82px;
  }
}

@media (max-width: 520px){
  .partnership-banners-stack{
    width:calc(100% - 14px);
    gap:14px;
  }
  .partnership-seo-banner{
    border-radius:18px;
  }
  .partnership-seo-banner__copy{
    padding:18px 16px 12px;
  }
  .partnership-seo-banner h2{
    font-size:clamp(1.4rem,7.5vw,1.9rem);
  }
  .partnership-seo-banner__gallery,
  .partnership-seo-banner:not(.partnership-seo-banner--gallery):not(.partnership-seo-banner--panorama):not(.partnership-seo-banner--collage):not(.partnership-seo-banner--network) .partnership-seo-banner__gallery{
    grid-template-rows:118px 78px;
    gap:7px;
    padding:8px;
  }
  .partnership-seo-banner--panorama .partnership-seo-banner__gallery{
    grid-template-rows:165px;
  }
}
