.image-banner{padding-top:var(--banner-padding-top);padding-bottom:var(--banner-padding-bottom)}
.image-banner__outer{position:relative;min-height:var(--banner-height-desktop);overflow:hidden}
.image-banner--contained .image-banner__outer{padding-inline:0}
.image-banner__media{position:absolute;inset:0;background:var(--banner-media-background)}
.image-banner__media picture{display:block;width:100%;height:100%}
.image-banner__image,.image-banner__placeholder{width:100%;height:100%;object-fit:var(--banner-image-fit);object-position:var(--banner-image-position)}
.image-banner__placeholder{background:#eee;fill:#c9c9c9}
.image-banner__overlay{position:absolute;inset:0;background:#000;opacity:var(--banner-overlay-opacity)}
.image-banner__content{position:relative;z-index:2;display:flex;min-height:var(--banner-height-desktop);padding-top:4rem;padding-bottom:4rem;pointer-events:none}
.image-banner--content-top-left .image-banner__content{align-items:flex-start;justify-content:flex-start}
.image-banner--content-top-center .image-banner__content{align-items:flex-start;justify-content:center}
.image-banner--content-top-right .image-banner__content{align-items:flex-start;justify-content:flex-end}
.image-banner--content-middle-left .image-banner__content{align-items:center;justify-content:flex-start}
.image-banner--content-middle-center .image-banner__content{align-items:center;justify-content:center}
.image-banner--content-middle-right .image-banner__content{align-items:center;justify-content:flex-end}
.image-banner--content-bottom-left .image-banner__content{align-items:flex-end;justify-content:flex-start}
.image-banner--content-bottom-center .image-banner__content{align-items:flex-end;justify-content:center}
.image-banner--content-bottom-right .image-banner__content{align-items:flex-end;justify-content:flex-end}
.image-banner__box{width:min(var(--banner-content-width),72rem);padding:2.4rem;color:var(--banner-content-color);background:rgba(var(--banner-content-background-rgb),var(--banner-content-background-opacity));pointer-events:auto}
.image-banner__box--left{text-align:left}.image-banner__box--center{text-align:center}.image-banner__box--right{text-align:right}
.image-banner__eyebrow{margin:0 0 1rem;font-size:1.3rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.image-banner__heading{margin:0;color:var(--banner-heading-color);font-size:clamp(2.8rem,4.5vw,var(--heading-size-desktop,7rem));font-weight:700;line-height:.98;letter-spacing:-.04em;text-wrap:balance}
.image-banner__heading--gradient{display:inline-block;background:linear-gradient(var(--heading-gradient-angle),var(--heading-gradient-start),var(--heading-gradient-end));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.image-banner__heading p{margin:0}
.image-banner__text{margin-top:1.8rem;font-size:clamp(1.5rem,1.4vw,2rem)}
.image-banner__text p{margin:0}
.image-banner__button{display:inline-flex;min-height:4.6rem;margin-top:2.4rem;padding:1.2rem 2.4rem;align-items:center;justify-content:center;border:1px solid var(--banner-content-color);background:var(--banner-content-color);color:#111;font-size:1.4rem;font-weight:700;text-transform:uppercase;transition:background .2s ease,color .2s ease}
.image-banner__button+.image-banner__button{margin-left:1rem}
.image-banner__button--outline{background:transparent;color:var(--banner-content-color)}
.image-banner__button:hover,.image-banner__button:focus-visible{background:transparent;color:var(--banner-content-color)}
.image-banner__button--outline:hover,.image-banner__button--outline:focus-visible{background:var(--banner-content-color);color:#111}
.image-banner__full-link{position:absolute;z-index:1;inset:0}

@media(max-width:760px){
  .image-banner__image,.image-banner__placeholder{object-fit:var(--banner-mobile-fit);object-position:var(--banner-mobile-position)}
  .image-banner__outer,.image-banner__content{min-height:var(--banner-height-mobile)}
  .image-banner__content{padding-top:2rem;padding-bottom:2rem}
  .image-banner__box{width:100%;padding:2rem 0}
  .image-banner__heading{font-size:clamp(2.4rem,10vw,var(--heading-size-mobile,4.8rem))}
  .image-banner--mobile-text-below .image-banner__outer{overflow:visible;background:#fff}
  .image-banner--mobile-text-below .image-banner__media{position:relative;height:var(--banner-height-mobile)}
  .image-banner--mobile-text-below .image-banner__content{min-height:0;background:var(--banner-content-background);color:var(--banner-content-color)}
}
