.partnership-banner { position:relative; isolation:isolate; display:grid; place-items:center; min-height:var(--banner-height,240px); padding:36px 24px; background:var(--banner-background); color:var(--banner-text); text-align:center; overflow:hidden; }
.partnership-banner__media { position:absolute; inset:0; z-index:-2; }
.partnership-banner__media img { width:100%; height:100%; object-fit:cover; }
.partnership-banner::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--banner-overlay); opacity:var(--banner-opacity); pointer-events:none; }
.partnership-banner__content { width:100%; max-width:1100px; min-width:0; overflow-wrap:anywhere; }
.partnership-banner__content h2 { font-family:var(--font-sans); font-size:var(--banner-heading,36px); font-weight:500; line-height:1.2; letter-spacing:-.02em; color:inherit; }
.partnership-banner__text { margin:12px auto 0; max-width:80ch; font-size:var(--font-body-size,14px); line-height:1.6; }
.partnership-banner__button.button { margin-top:18px; max-width:100%; min-height:44px; min-width:0; padding:12px 24px; border-radius:4px; border-color:var(--banner-button); background:var(--banner-button); color:var(--banner-button-text); gap:10px; font-weight:600; white-space:normal; }
.partnership-banner__button.button:hover { background:var(--banner-button); color:var(--banner-button-text); filter:brightness(.93); }
@media(max-width:749px) {
 .partnership-banner { min-height:var(--banner-mobile-height,300px); padding:32px 20px; }
 .partnership-banner__content h2 { font-size:clamp(24px,6vw,var(--banner-heading,36px)); }
 .partnership-banner__text { max-width:42ch; }
}
