.banner{background-color:var(--banner-overlay,var(--theme-color-primary));color:var(--banner-text,#fff);overflow:hidden;position:relative}.banner--has-image:before{background-image:var(--banner-bg-image);background-position:50%;background-repeat:no-repeat;background-size:cover;opacity:var(--banner-image-opacity,1)}.banner--dot-pattern:after,.banner--has-image:before{content:"";inset:0;pointer-events:none;position:absolute}.banner--dot-pattern:after{background-image:radial-gradient(circle,hsla(0,0%,100%,.18) 1px,transparent 0);background-size:22px 22px;z-index:0}.banner--dot-pattern .banner__inner{z-index:2}.banner__inner{position:relative;z-index:1}.banner--media .banner__layout{align-items:center;display:flex;gap:clamp(24px,4vw,56px)}.banner--media-left .banner__layout{flex-direction:row}.banner--media-right .banner__layout{flex-direction:row-reverse}.banner--media-top .banner__layout{flex-direction:column}.banner--media-bottom .banner__layout{flex-direction:column-reverse}.banner--media-left .banner__media,.banner--media-right .banner__media{flex:1 1 0;min-width:0}.banner--media-left .banner__inner,.banner--media-right .banner__inner{flex:1.4 1 0;min-width:0}.banner__media{align-items:center;display:flex;justify-content:center}.banner__media-img{border-radius:8px;display:block;height:auto;max-width:100%;object-fit:cover;opacity:var(--banner-image-opacity,1)}.banner--height-short .banner__media-img{max-height:180px}.banner--height-medium .banner__media-img{max-height:320px}.banner--height-tall .banner__media-img{max-height:500px}@media (max-width:760px){.banner--media-left .banner__layout,.banner--media-right .banner__layout{flex-direction:column}}.banner--height-short{min-height:180px}.banner--height-medium{min-height:320px}.banner--height-tall{min-height:500px}.banner--height-medium .banner__inner,.banner--height-tall .banner__inner{display:flex;flex-direction:column;justify-content:center}.banner--align-center .banner__inner{text-align:center}.banner--align-right .banner__inner{text-align:right}.banner--align-center .banner__heading,.banner--align-center .banner__text{margin-inline:auto}.banner--align-right .banner__heading,.banner--align-right .banner__text{margin-left:auto}.banner--align-center .banner__eyebrow{align-self:center}.banner--align-right .banner__eyebrow{align-self:flex-end}.banner__eyebrow{background:#1b3330;border:1.5px solid var(--banner-eyebrow,var(--theme-color-primary));border-radius:4px;color:var(--banner-eyebrow,var(--theme-color-primary));display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.12em;margin-bottom:16px;padding:6px 16px;text-transform:uppercase;width:fit-content}.banner__heading{color:var(--banner-heading,#fff);max-width:820px}.banner__text{color:var(--banner-text,hsla(0,0%,100%,.85));font-size:1.08rem;max-width:680px}.banner--editorial{padding-block:calc(var(--theme-section-spacing)*1.35)}.banner--editorial .banner__heading{font-size:clamp(2.5rem,5vw,4.4rem)}.banner--compact{padding-block:calc(var(--theme-section-spacing)*.7)}@media (max-width:760px){.banner--height-medium{min-height:240px}.banner--height-tall{min-height:360px}.banner--height-medium .banner__media-img{max-height:240px}.banner--height-tall .banner__media-img{max-height:360px}}@keyframes banner-rise{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.banner--animate-rise .banner__eyebrow{animation:banner-rise .65s cubic-bezier(.22,1,.36,1) both}.banner--animate-rise .banner__heading{animation:banner-rise .65s cubic-bezier(.22,1,.36,1) .1s both}.banner--animate-rise .banner__text{animation:banner-rise .65s cubic-bezier(.22,1,.36,1) .22s both}@media (prefers-reduced-motion:reduce){.banner--animate-rise .banner__eyebrow,.banner--animate-rise .banner__heading,.banner--animate-rise .banner__text{animation:none}}@keyframes banner-slide-right{0%{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}.banner--animate-slide-right .banner__eyebrow{animation:banner-slide-right .65s cubic-bezier(.22,1,.36,1) both}.banner--animate-slide-right .banner__heading{animation:banner-slide-right .65s cubic-bezier(.22,1,.36,1) .1s both}.banner--animate-slide-right .banner__text{animation:banner-slide-right .65s cubic-bezier(.22,1,.36,1) .22s both}@media (prefers-reduced-motion:reduce){.banner--animate-slide-right .banner__eyebrow,.banner--animate-slide-right .banner__heading,.banner--animate-slide-right .banner__text{animation:none}}