/* Hero slider (Panel: Slides / Text look / Motion & size). Variables come from the section's style attribute. */
.hero{position:relative;height:var(--h,946px);overflow:hidden;background:var(--navy);color:var(--hs-ink,#fff)}
@media (max-width:1024px){.hero{height:var(--h-t,700px)}}
@media (max-width:767px){.hero{height:var(--h-m,946px)}}
.hero--full{height:calc(100vh - var(--promo-h,0px));height:calc(100svh - var(--promo-h,0px))}
.hero__track{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;will-change:transform,opacity}
.hero__pic,.hero__pic img{display:block;width:100%;height:100%}
.hero__pic img{object-fit:cover;object-position:var(--focus,50% 50%)}
.hero__slide.no-anim,.hero__slide.no-anim .hero__pic img{transition:none!important}
/* slide */
.hero--slide .hero__slide{transform:translateX(100%);transition:transform var(--hs-speed,800ms) cubic-bezier(.65,0,.35,1)}
.hero--slide .hero__slide.is-on{transform:none;z-index:2}
.hero--slide .hero__slide.is-left{transform:translateX(-100%)}
/* fade / fade + zoom */
.hero--fade .hero__slide,.hero--zoom .hero__slide{opacity:0;transition:opacity var(--hs-speed,800ms) ease}
.hero--fade .hero__slide.is-on,.hero--zoom .hero__slide.is-on{opacity:1;z-index:2}
.hero--zoom .hero__pic img{transform:scale(1.02);transition:transform 9s linear}
.hero--zoom .hero__slide.is-on .hero__pic img{transform:scale(1.12)}
/* darkening for readable text */
.hero__slide::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:var(--hs-shade,0);background:rgba(10,10,40,1)}
.hero--shade-text.hero--p-bl .hero__slide::after,.hero--shade-text.hero--p-bc .hero__slide::after{background:linear-gradient(to top,rgba(10,10,40,1),rgba(10,10,40,.35) 55%,rgba(10,10,40,0))}
.hero--shade-text.hero--p-tl .hero__slide::after,.hero--shade-text.hero--p-tc .hero__slide::after{background:linear-gradient(to bottom,rgba(10,10,40,1),rgba(10,10,40,.35) 55%,rgba(10,10,40,0))}
.hero--shade-text.hero--p-cl .hero__slide::after{background:linear-gradient(to right,rgba(10,10,40,1),rgba(10,10,40,.3) 60%,rgba(10,10,40,0))}
.hero--shade-text.hero--p-cc .hero__slide::after{background:radial-gradient(ellipse at center,rgba(10,10,40,1),rgba(10,10,40,.2) 70%)}
/* text */
.hero__text{position:absolute;inset:0;z-index:2;display:flex;padding:calc(var(--hdr,126px) + 32px) var(--gutter-x,32px) 72px;pointer-events:none}
.hero--p-tl .hero__text,.hero--p-tc .hero__text{align-items:flex-start}
.hero--p-cl .hero__text,.hero--p-cc .hero__text{align-items:center}
.hero--p-bl .hero__text,.hero--p-bc .hero__text{align-items:flex-end}
.hero--p-tc .hero__text,.hero--p-cc .hero__text,.hero--p-bc .hero__text{justify-content:center}
.hero__textin{width:100%;max-width:var(--hs-maxw,760px);pointer-events:auto}
.hero--a-center .hero__textin{text-align:center}
.hero--p-bl .hero__textin,.hero--p-cl .hero__textin,.hero--p-tl .hero__textin{margin-left:max(0px,calc((100% - var(--content-w,1360px)) / 2))}
.hero__kicker{margin:0 0 14px;color:var(--hs-kicker,#FFBE00)}
.hero__title{margin:0;font-family:var(--hs-font,var(--f-display));font-weight:900;font-size:var(--hs-size,84px);line-height:.95;text-transform:uppercase;letter-spacing:.005em;color:inherit;text-wrap:balance}
.hero__lede{margin:18px 0 0;color:inherit;max-width:36rem}
.hero--a-center .hero__lede{margin-left:auto;margin-right:auto}
.hero--tshadow .hero__title,.hero--tshadow .hero__lede,.hero--tshadow .hero__kicker{text-shadow:0 2px 18px rgba(10,10,40,.45)}
.hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.hero--a-center .hero__btns{justify-content:center}
.hs-btn{display:inline-flex;align-items:center;padding:15px 26px;border-radius:var(--btn-r,999px);font-family:var(--f-xbold);font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:filter .2s,background-color .2s}
.hs-btn:hover{filter:brightness(1.1)}
.hs-btn:focus-visible{outline:3px solid var(--yel,#FFBE00);outline-offset:3px}
.hs-btn--pink{background:var(--pink,#E02EA0);color:#fff}
.hs-btn--navy{background:var(--navy,#14135F);color:#fff}
.hs-btn--white{background:#fff;color:var(--navy,#14135F)}
.hs-btn--yellow{background:var(--yel,#FFBE00);color:var(--navy,#14135F)}
.hs-btn--outline{box-shadow:inset 0 0 0 2px currentColor;color:#fff}
.hs-btn--outline:hover{background:rgba(255,255,255,.12)}
@media (max-width:767px){
  .hero__text{padding:calc(var(--hdr,112px) + 20px) var(--gutter-m,20px) 64px}
  .hero__title{font-size:var(--hs-size-m,44px)}
}
/* arrows, dots, bar */
.hero__arrow{position:absolute;top:50%;z-index:4;width:30px;height:30px;margin-top:-15px;display:flex;align-items:center;justify-content:center;background:none;border:0;padding:0;color:#111;cursor:pointer}
.hero__arrow svg{width:26px;height:25px}
.hero__arrow--prev{left:30px}
.hero__arrow--next{right:30px}
.hero__arrow:hover{color:var(--pink)}
.hero__arrow:focus-visible{outline:3px solid var(--yel,#FFBE00);outline-offset:4px}
.hero--arr-light .hero__arrow{color:#fff}
.hero--arr-round .hero__arrow{width:52px;height:52px;margin-top:-26px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy,#14135F);box-shadow:0 6px 18px rgba(0,0,0,.2)}
.hero--arr-round .hero__arrow svg{width:20px;height:19px}
.hero--arr-round .hero__arrow:hover{background:var(--pink,#E02EA0);color:#fff}
@media (max-width:767px){.hero__arrow--prev{left:12px}.hero__arrow--next{right:12px}.hero--arr-round .hero__arrow{width:42px;height:42px;margin-top:-21px}}
.hero__dots{position:absolute;left:0;right:0;bottom:var(--dots-b,10px);z-index:4;display:flex;justify-content:center;gap:6px}
.hero__dots button{width:6px;height:6px;border-radius:50%;padding:0;border:0;background:#111;opacity:1;transition:transform .25s;cursor:pointer}
.hero--arr-light .hero__dots button,.hero--arr-round .hero__dots button{background:#fff}
.hero__dots button.is-on{transform:scale(1.7)}
.hero__bar{position:absolute;left:0;right:0;bottom:0;z-index:4;height:4px;background:rgba(255,255,255,.25)}
.hero__bar span{display:block;height:100%;width:0;background:var(--pink,#E02EA0)}
.hero:has(+ .mq--overlap){--dots-b:170px}
@media (max-width:1024px){.hero:has(+ .mq--overlap){--dots-b:60px}}
@media (prefers-reduced-motion:reduce){.hero__slide,.hero__pic img{transition:none!important;transform:none!important}}
/* with text on the slides, the arrows sit together in the bottom-right corner */
.hero--has-text .hero__arrow{top:auto;bottom:32px;margin-top:0}
.hero--has-text .hero__arrow--prev{left:auto;right:calc(var(--gutter-x,32px) + 64px)}
.hero--has-text .hero__arrow--next{right:var(--gutter-x,32px)}
.hero--has-text.hero--arr-round .hero__arrow--prev{right:calc(var(--gutter-x,32px) + 64px)}
.hero--has-text .hero__dots{left:auto;right:calc(var(--gutter-x,32px) + 140px);bottom:52px;justify-content:flex-end}
@media (max-width:767px){
  .hero--has-text .hero__arrow{bottom:14px}
  .hero--has-text .hero__arrow--prev{right:calc(var(--gutter-m,20px) + 52px)}
  .hero--has-text .hero__arrow--next{right:var(--gutter-m,20px)}
  .hero--has-text .hero__dots{display:none}
  .hero--has-text .hero__text{padding-bottom:76px}
}
