.carousel{background:#f3f2ec;min-width:0;position:relative}.carousel__track{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;grid-auto-columns:100%;grid-auto-flow:column;display:grid;overflow-x:auto}.carousel__track::-webkit-scrollbar{display:none}.carousel__slide{scroll-snap-align:start;scroll-snap-stop:always;background:var(--color-campaign-burgundy);color:#fff;min-width:0}.carousel__slide--gold{background:var(--color-campaign-gold);color:#34231d}.carousel__slide--blue{background:var(--color-campaign-blue);color:#fff}.carousel__slide:has(.banner){background:#f3f2ec}.carousel__campaign{height:100%;min-height:350px;color:inherit;grid-template-columns:1fr 1fr;text-decoration:none;display:grid}.carousel__campaign img{object-fit:cover;width:100%;height:100%;max-height:540px}.carousel__copy{overflow-wrap:anywhere;align-self:center;padding:clamp(1.25rem,4vw,4rem)}.carousel__copy h2{margin:0 0 1rem;font-family:Playfair Display,Georgia,serif;font-size:clamp(1.5rem,3vw,3rem)}.carousel__copy p{line-height:1.6}.carousel__cta{border:1px solid;margin-top:.75rem;padding:.7rem 1rem;display:inline-block}.carousel__controls{color:#302e2a;background:#f3f2ec;justify-content:center;align-items:center;gap:.75rem;padding:.5rem;display:flex}.carousel__controls button{min-width:44px;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.3rem}.carousel__dots{flex-wrap:wrap;justify-content:center;display:flex}.carousel__dots button{opacity:.45;font-size:.65rem}.carousel__dots button[aria-disabled=true]{opacity:1}.carousel button:focus-visible,.carousel a:focus-visible{outline-offset:-4px;outline:3px solid}.carousel--compact{margin-block:1rem 1.5rem}.carousel--compact .carousel__campaign{min-height:220px}.carousel--compact .carousel__campaign img{max-height:300px}.carousel--compact .carousel__copy{padding:2rem}.carousel--compact h2{font-size:1.5rem}@media (max-width:700px){.carousel__campaign{grid-template-rows:220px 1fr;grid-template-columns:1fr}.carousel__campaign img{height:220px}.carousel__copy{padding:1.5rem}.carousel--compact .carousel__campaign{grid-template-rows:180px 1fr}.carousel--compact .carousel__campaign img{height:180px}}
