.hero-carousel{position:relative;width:100%;height:100svh;overflow:hidden;background:#ddd}.hero-carousel__slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility .5s}.hero-carousel__slide.is-active{opacity:1;visibility:visible;pointer-events:auto}.hero-carousel__slide .campaign,.hero-carousel__slide .campaign-link,.hero-carousel__slide picture{display:block;width:100%;height:100%}.hero-carousel__slide .campaign--hero img,.hero-carousel__media{width:100%;height:100%;object-fit:cover;object-position:center top}.hero-carousel__heading{position:absolute;left:var(--heading-x);top:var(--heading-y);transform:translate(-50%,-50%);color:var(--heading-color);font-family:Georgia,serif;font-size:var(--heading-size);letter-spacing:var(--heading-spacing);line-height:.85;white-space:nowrap;z-index:1;pointer-events:none}.hero-carousel__heading--teen{display:flex;align-items:baseline;letter-spacing:-.06em}.hero-carousel__heading--teen span:first-child{font-family:Arial,sans-serif;font-weight:700;font-style:italic;letter-spacing:-.09em}.hero-carousel__heading--teen span:last-child{font-family:Georgia,serif;font-weight:400}.hero-carousel__label{position:absolute;left:28px;bottom:28px;z-index:2;font-size:26px;text-decoration:none}.hero-carousel__controls{position:absolute;z-index:3;left:50%;bottom:max(30px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:8px;align-items:center}.hero-carousel__controls[hidden]{display:none}.hero-carousel__controls button{width:9px;height:9px;padding:0;border-radius:5px;background:#ffffff80;box-shadow:0 0 2px #0006}.hero-carousel__controls button[aria-current=true]{width:48px;background:#fff}.hero-carousel__controls button:focus-visible{outline:2px solid #fff;outline-offset:4px}@media(max-width:749px){.hero-carousel__label{left:16px;bottom:24px;font-size:20px}.hero-carousel__heading{font-size:max(var(--heading-size),25vw)}}@media(prefers-reduced-motion:reduce){.hero-carousel__slide{transition:none}}
.hero-carousel .hero-carousel__slide .campaign--hero>img,.hero-carousel .hero-carousel__slide .campaign--hero>.campaign-link>img{width:100%;height:100%;object-fit:cover}

.hero-carousel__heading--teen .hero-carousel__teen-mark{display:block;width:calc(var(--heading-size) * 2.8);aspect-ratio:812/207;background:var(--heading-color);-webkit-mask:var(--teen-logo) center / contain no-repeat;mask:var(--teen-logo) center / contain no-repeat}
.hero-carousel__controls button{position:relative;overflow:hidden;transition:width .2s ease;background:#ffffff70}
.hero-carousel__controls button[aria-current=true].is-running{background:#ffffff70}
.hero-carousel__progress{display:block;width:100%;height:100%;background:#fff;border-radius:inherit;transform:scaleX(0);transform-origin:left center}
.hero-carousel__controls button::before{content:"";position:absolute;inset:-10px}
@media(prefers-reduced-motion:reduce){.hero-carousel__controls button{transition:none}}
