/**
 * Swiper 12.1.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 24, 2026
 */

:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
  .swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d;
  }

/* CSS Mode */

.swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none;
  }

/* For Internet Explorer and Edge */

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
      display: none;
    }

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }

.swiper-css-mode.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }

.swiper-css-mode.swiper-horizontal > .swiper-wrapper > .swiper-slide:last-child {
      margin-inline-end: var(--swiper-slides-offset-after);
    }

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }

.swiper-css-mode.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }

.swiper-css-mode.swiper-vertical > .swiper-wrapper > .swiper-slide:last-child {
      margin-block-end: var(--swiper-slides-offset-after);
    }

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
      scroll-snap-type: none;
    }

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
      content: '';
      flex-shrink: 0;
      order: 9999;
    }

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
      margin-inline-start: var(--swiper-centered-offset-before);
    }

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
      margin-block-start: var(--swiper-centered-offset-before);
    }

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }

/* Slide styles start */

/* 3D Shadows */

.swiper-3d .swiper-slide-shadow,
  .swiper-3d .swiper-slide-shadow-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top,
  .swiper-3d .swiper-slide-shadow-bottom,
  .swiper-3d .swiper-slide-shadow,
  .swiper-3d .swiper-slide-shadow-left,
  .swiper-3d .swiper-slide-shadow-right,
  .swiper-3d .swiper-slide-shadow-top,
  .swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader, .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Slide styles end */

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 4px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}
.swiper-button-prev,
.swiper-button-next {
  position: absolute;

  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);

  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}
.swiper-button-prev.swiper-button-disabled, .swiper-button-next.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
.swiper-button-prev.swiper-button-hidden, .swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
.swiper-navigation-disabled .swiper-button-prev, .swiper-navigation-disabled .swiper-button-next {
    display: none !important;
  }
.swiper-button-prev ::slotted(svg),
  .swiper-button-prev svg,
  .swiper-button-next ::slotted(svg),
  .swiper-button-next svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }
.swiper-button-lock {
  display: none;
}
.swiper-button-prev,
.swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
}
.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
}
.swiper-button-prev ::slotted(.swiper-navigation-icon),
  .swiper-button-prev .swiper-navigation-icon {
    transform: rotate(180deg);
  }
.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}
.swiper-horizontal .swiper-button-prev,
  .swiper-horizontal .swiper-button-next,
  .swiper-horizontal ~ .swiper-button-prev,
  .swiper-horizontal ~ .swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-left: 0;
  }
.swiper-horizontal .swiper-button-prev,
  .swiper-horizontal ~ .swiper-button-prev,
  .swiper-horizontal.swiper-rtl .swiper-button-next,
  .swiper-horizontal.swiper-rtl ~ .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }
.swiper-horizontal .swiper-button-next,
  .swiper-horizontal ~ .swiper-button-next,
  .swiper-horizontal.swiper-rtl .swiper-button-prev,
  .swiper-horizontal.swiper-rtl ~ .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
  }
.swiper-horizontal .swiper-button-prev ::slotted(.swiper-navigation-icon),
    .swiper-horizontal .swiper-button-prev .swiper-navigation-icon,
    .swiper-horizontal ~ .swiper-button-prev ::slotted(.swiper-navigation-icon),
    .swiper-horizontal ~ .swiper-button-prev .swiper-navigation-icon,
    .swiper-horizontal.swiper-rtl .swiper-button-next ::slotted(.swiper-navigation-icon),
    .swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,
    .swiper-horizontal.swiper-rtl ~ .swiper-button-next ::slotted(.swiper-navigation-icon),
    .swiper-horizontal.swiper-rtl ~ .swiper-button-next .swiper-navigation-icon {
      transform: rotate(180deg);
    }
.swiper-horizontal.swiper-rtl .swiper-button-prev ::slotted(.swiper-navigation-icon),
    .swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,
    .swiper-horizontal.swiper-rtl ~ .swiper-button-prev ::slotted(.swiper-navigation-icon),
    .swiper-horizontal.swiper-rtl ~ .swiper-button-prev .swiper-navigation-icon {
      transform: rotate(0deg);
    }
.swiper-vertical .swiper-button-prev,
  .swiper-vertical .swiper-button-next,
  .swiper-vertical ~ .swiper-button-prev,
  .swiper-vertical ~ .swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-top: 0;
  }
.swiper-vertical .swiper-button-prev,
  .swiper-vertical ~ .swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto;
  }
.swiper-vertical .swiper-button-prev ::slotted(.swiper-navigation-icon),
    .swiper-vertical .swiper-button-prev .swiper-navigation-icon,
    .swiper-vertical ~ .swiper-button-prev ::slotted(.swiper-navigation-icon),
    .swiper-vertical ~ .swiper-button-prev .swiper-navigation-icon {
      transform: rotate(-90deg);
    }
.swiper-vertical .swiper-button-next,
  .swiper-vertical ~ .swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
  }
.swiper-vertical .swiper-button-next ::slotted(.swiper-navigation-icon),
    .swiper-vertical .swiper-button-next .swiper-navigation-icon,
    .swiper-vertical ~ .swiper-button-next ::slotted(.swiper-navigation-icon),
    .swiper-vertical ~ .swiper-button-next .swiper-navigation-icon {
      transform: rotate(90deg);
    }

/* carousel styles */
/* featured carousel styles */
.carousel-wrapper:has(> .carousel--featured) {
         margin-left: auto;
         margin-right: auto;
         max-width: 1440px;
         padding-top: 60px;
         padding-bottom: 60px;
}
@media (min-width: 960px) {
         .carousel-wrapper:has(> .carousel--featured) {
                  padding-top: 100px;
                  padding-bottom: 100px;
         }
}
.carousel-container.carousel--featured {
         margin-top: 0px;
         margin-bottom: 0px;
         gap: 30px;
}
@media (min-width: 960px) {
         .carousel-container.carousel--featured {
                  gap: 50px;
         }
}
/* header */
.carousel-container.carousel--featured .carousel-header {
         max-width: none;
         padding-left: 0px;
         padding-right: 0px;
         text-align: center;
}
.carousel-container.carousel--featured .carousel-header > * {
         max-width: none;
}
.carousel-container.carousel--featured .carousel-header h2 {
         margin: 0px;
         color: var(--color-title);
         font-family: var(--font-display);
         /* 32px mobile / 48px at 1440 */
         font-size: clamp(2rem, 2.377vw + 0.861rem, 3rem);
         font-weight: 700;
         letter-spacing: -0.02em;
         line-height: 1.0833;
}
/* slide */
.carousel-container.carousel--featured .swiper-slide {
         position: relative;
         display: flex;
         height: auto;
         min-height: 520px;
         overflow: hidden;
         border-radius: 1rem;
}
@media (min-width: 960px) {
         .carousel-container.carousel--featured .swiper-slide {
                  min-height: 595px;
         }
}
.carousel-container.carousel--featured .swiper-slide {
      background-color: var(--color-blue-dark);
   }
/* image fills the card */
.carousel-container.carousel--featured .swiper-slide .carousel-slide-image {
         position: absolute;
         inset: 0px;
         aspect-ratio: auto;
         height: 100%;
}
.carousel-container.carousel--featured .swiper-slide .carousel-slide-image:after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient(212.65deg, rgba(0, 0, 0, 0) 43.256%, rgba(0, 0, 0, .81) 67.81%);
         }
/* content */
.carousel-container.carousel--featured .swiper-slide .carousel-slide-content {
         position: relative;
         top: auto;
         display: flex;
         --tw-translate-y: 0px;
         transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
         flex-direction: column;
         justify-content: flex-end;
         padding: 25px;
}
@media (min-width: 960px) {
         .carousel-container.carousel--featured .swiper-slide .carousel-slide-content {
                  padding: 45px;
         }
}
.carousel-container.carousel--featured .swiper-slide .carousel-slide-content .carousel-slide-content-container {
         margin-left: 0px;
         margin-right: 0px;
         max-width: 472px;
         gap: 0px;
         padding-left: 0px;
         padding-right: 0px;
            letter-spacing: -0.2px;
}
.carousel-container.carousel--featured .swiper-slide .carousel-slide-content .carousel-slide-content-container > * {
         margin: 0px;
         max-width: none;
}
.carousel-container.carousel--featured .swiper-slide .carousel-slide-heading {
         font-family: var(--font-display);
         font-size: clamp(2rem, 2.377vw + 0.861rem, 3rem);
         font-weight: 700;
         line-height: 1.04;
      }
.carousel-container.carousel--featured .swiper-slide .carousel-slide-location {
         margin-top: 1.25rem;
         font-family: var(--font-base);
         font-size: clamp(1.125rem, 0.594vw + 0.84rem, 1.375rem);
         font-weight: 700;
         line-height: 1;
}
.carousel-container.carousel--featured .swiper-slide .carousel-slide-text {
         margin-top: 30px;
         font-family: var(--font-base);
         font-size: 1rem;
         line-height: 1.375;
}
/* offer + button */
.carousel-container.carousel--featured .swiper-slide .carousel-slide-offer {
         margin-top: 30px;
         display: flex;
         flex-wrap: wrap;
         align-items: center;
         justify-content: space-between;
         gap: 1rem;
         padding-top: 30px;
         border-top: 1px solid rgba(209, 213, 219, .5);
}
.carousel-container.carousel--featured .swiper-slide .carousel-slide-offer-text {
         display: flex;
         flex-direction: column;
         gap: 5px;
}
.carousel-container.carousel--featured .swiper-slide .carousel-slide-offer-text p {
         margin: 0px;
}
.carousel-container.carousel--featured .swiper-slide .carousel-slide-offer-title {
         font-family: var(--font-base);
         font-size: clamp(1.125rem, 0.594vw + 0.84rem, 1.375rem);
         font-weight: 700;
         line-height: 1.2727;
      }
.carousel-container.carousel--featured .swiper-slide .carousel-slide-offer-subtext {
         color: var(--color-gray);
         font-family: var(--font-base);
         font-size: 1rem;
         line-height: 1;
      }
.carousel-container.carousel--featured .swiper-slide .carousel-slide-link {
         justify-self: self-start;
         display: inline-flex;
         align-items: center;
         justify-content: center;
         padding: .750rem 1rem;
         border-radius: .5rem;
         transition: all .3s ease;
         background-color: var(--color-accent);
         color: var(--color-black);
         font-weight: 700;
         letter-spacing: -0.2px;
         line-height: 1.5;
         padding: .625rem 1.25rem;
         &:hover,
   &:focus {
      background-color: color-mix(in srgb, var(--color-accent) 85%, black);
   }
         font-family: var(--font-base);
         font-size: 1.125rem;
         font-weight: 500;
         line-height: 1.1111;
         padding: .625rem 1rem;
         text-decoration: none;
      }
/* controls */
.carousel-container.carousel--featured .swiper-controls {
         display: flex;
         justify-content: center;
}
@media (min-width: 960px) {
         .carousel-container.carousel--featured .swiper-controls {
                  position: absolute;
                  bottom: 0px;
                  right: 0px;
         }
}
/* comp has no arrows */
.carousel-container.carousel--featured .swiper-controls .swiper-navigation {
         display: none;
}
/* pagination pill */
.carousel-container.carousel--featured .swiper-controls .swiper-pagination {
         z-index: 10;
         display: inline-flex;
         width: auto;
         gap: 1rem;
         border-radius: 0.25rem;
         padding: 11px;
}
@media (min-width: 960px) {
         .carousel-container.carousel--featured .swiper-controls .swiper-pagination {
                  position: absolute;
                  bottom: 45px;
                  right: 45px;
         }
}
.carousel-container.carousel--featured .swiper-controls .swiper-pagination {
         background: rgba(0, 0, 0, .5);
      }
.carousel-container.carousel--featured .swiper-controls .swiper-pagination button {
         height: 9px;
         width: 9px;
         opacity: 1;
            background: rgba(255, 255, 255, .5);
}
.carousel-container.carousel--featured .swiper-controls .swiper-pagination button.swiper-pagination-bullet-active {
               background: var(--color-white);
            }
/* news carousel styles */
.carousel-wrapper:has(> .carousel--news) {
         margin-left: auto;
         margin-right: auto;
         max-width: 1440px;
         padding-top: 60px;
         padding-bottom: 60px;
}
@media (min-width: 960px) {
         .carousel-wrapper:has(> .carousel--news) {
                  padding-top: 112px;
                  padding-bottom: 112px;
         }
}
.carousel-container.carousel--news {
         margin-top: 0px;
         margin-bottom: 0px;
         gap: 2.5rem;
}
@media (min-width: 960px) {
         .carousel-container.carousel--news {
                  gap: 4rem;
         }
}
.carousel-container.carousel--news {

   /* anchor lands on this element, so add back the wrapper's top padding */
   scroll-margin-top: calc(var(--header-vh) + 60px);
}
@media (min-width: 960px) {
.carousel-container.carousel--news {
      scroll-margin-top: calc(var(--header-vh) + 112px)
}
   }
/* header */
.carousel-container.carousel--news .carousel-header {
         max-width: none;
         align-items: center;
         padding-left: 0px;
         padding-right: 0px;
         text-align: center;
}
.carousel-container.carousel--news .carousel-header > * {
         margin: 0px;
         max-width: none;
}
.carousel-container.carousel--news .carousel-header h2 {
         color: var(--color-title);
         font-family: var(--font-display);
         /* 32px mobile / 48px at 1440 */
         font-size: clamp(2rem, 2.377vw + 0.861rem, 3rem);
         font-weight: 700;
         letter-spacing: -0.02em;
         line-height: 1.0833;
      }
.carousel-container.carousel--news .carousel-header p,
      .carousel-container.carousel--news .carousel-header .carousel-header-link {
         color: var(--color-text);
         font-family: var(--font-base);
         font-size: 1rem;
         letter-spacing: -0.2px;
         line-height: 1.5;
      }
.carousel-container.carousel--news .carousel-header .carousel-header-link {
         background: none;
         border: none;
         padding: 0;
         color: var(--color-brand);
         cursor: pointer;
         text-decoration: underline;
         text-underline-position: from-font;
      }
.carousel-container.carousel--news .carousel-header .carousel-header-link:hover,
         .carousel-container.carousel--news .carousel-header .carousel-header-link:focus-visible {
            text-decoration: none;
         }
/* arrows sit outside the clipped track */
.carousel-container.carousel--news .carousel-stage {
         position: relative;
}
@media (min-width: 782px) {
         .carousel-container.carousel--news .carousel-stage {
                  padding-left: 58px;
                  padding-right: 58px;
         }
}
/* card */
.carousel-container.carousel--news .swiper-slide {
         display: flex;
         height: auto;
         min-height: 525px;
         flex-direction: column;
         border-radius: 1rem;
         padding: 1.25rem;
      background-color: #f9fafb;
}
.carousel-container.carousel--news .swiper-slide .carousel-slide-image {
         aspect-ratio: 344/200;
         border-radius: 10px;
}
.carousel-container.carousel--news .swiper-slide .carousel-slide-content {
         position: relative;
         top: auto;
         margin-top: 1.5rem;
         display: flex;
         flex: 1 1 0%;
         --tw-translate-y: 0px;
         transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
         flex-direction: column;
}
.carousel-container.carousel--news .swiper-slide .carousel-slide-content .carousel-slide-content-container {
         margin-left: 0px;
         margin-right: 0px;
         max-width: none;
         flex: 1 1 0%;
         gap: 0px;
         padding-left: 0px;
         padding-right: 0px;
            color: var(--color-black);
            letter-spacing: -0.2px;
}
/* margins set per element below */
.carousel-container.carousel--news .swiper-slide .carousel-slide-content .carousel-slide-content-container > * {
         max-width: none;
}
.carousel-container.carousel--news .swiper-slide .carousel-slide-date {
         margin: 0px;
         display: flex;
         align-items: center;
         gap: 0.75rem;
         --tw-text-opacity: 1;
         color: rgb(107 114 128 / var(--tw-text-opacity, 1));
         font-family: var(--font-base);
         font-size: .875rem;
         font-weight: 500;
         line-height: 1.4286;
}
.carousel-container.carousel--news .swiper-slide .carousel-slide-date:before {
         height: 6px;
         width: 6px;
         flex-shrink: 0;
            content: "";
            background: url(data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgdmlld0JveD0iMCAwIDYgNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBpZD0iRWxsaXBzZSAxIiBjeD0iMyIgY3k9IjMiIHI9IjMiIGZpbGw9IiMzNzU4RjkiLz4KPC9zdmc+Cg==) center / contain no-repeat;
}
.carousel-container.carousel--news .swiper-slide .carousel-slide-heading {
         margin-bottom: 0px;
         margin-top: 1rem;
         color: var(--color-title);
         font-family: var(--font-display);
         font-size: 1.5rem;
         font-weight: 700;
         line-height: 1.1667;
}
.carousel-container.carousel--news .swiper-slide .carousel-slide-text {
         margin-bottom: 1.5rem;
         margin-top: 0.75rem;
         font-family: var(--font-base);
         font-size: .875rem;
         line-height: 1.7143;
}
.carousel-container.carousel--news .swiper-slide .carousel-slide-link {
         justify-self: self-start;
         display: inline-flex;
         align-items: center;
         justify-content: center;
         padding: .750rem 1rem;
         border-radius: .5rem;
         transition: all .3s ease;
         margin-bottom: 0px;
         margin-top: auto;
         align-self: flex-start;
         border: 2px solid var(--color-brand);
         color: var(--color-brand);
         font-family: var(--font-base);
         font-size: 1rem;
         font-weight: 500;
         line-height: 1.25;
         padding: .625rem 1rem;
         text-decoration: none;
      }
.carousel-container.carousel--news .swiper-slide .carousel-slide-link:hover,
         .carousel-container.carousel--news .swiper-slide .carousel-slide-link:focus-visible {
            background-color: var(--color-brand);
            color: var(--color-white);
         }
/* navigation: row below the track on mobile, outside the track from md up */
.carousel-container.carousel--news .swiper-navigation {
         margin-top: 1.5rem;
         display: flex;
         justify-content: center;
         gap: 1.5rem;
}
@media (min-width: 782px) {
         .carousel-container.carousel--news .swiper-navigation {
                  margin-top: 0px;
                  display: block;
         }
}
.carousel-container.carousel--news .swiper-navigation .swiper-button-prev,
      .carousel-container.carousel--news .swiper-navigation .swiper-button-next {
         position: static;
         margin: 0px;
         height: 26px;
         width: 26px;
}
@media (min-width: 782px) {
         .carousel-container.carousel--news .swiper-navigation .swiper-button-prev,
      .carousel-container.carousel--news .swiper-navigation .swiper-button-next {
                  position: absolute;
                  top: 50%;
                  margin-top: -13px;
         }
}
.carousel-container.carousel--news .swiper-navigation .swiper-button-prev,
      .carousel-container.carousel--news .swiper-navigation .swiper-button-next {
         color: var(--color-black);
      }
/* swiper injects its own icon */
.carousel-container.carousel--news .swiper-navigation .swiper-button-prev .swiper-navigation-icon, .carousel-container.carousel--news .swiper-navigation .swiper-button-next .swiper-navigation-icon {
         display: none;
}
.carousel-container.carousel--news .swiper-navigation .swiper-button-prev:before, .carousel-container.carousel--news .swiper-navigation .swiper-button-next:before {
         height: 19.444px;
         width: 19.444px;
            content: "";
            background: url(data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjE5LjQ0NDIiIGhlaWdodD0iMTkuNDQ0MiIgdmlld0JveD0iMCAwIDE5LjQ0NDIgMTkuNDQ0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IlJlY3RhbmdsZSA0ODg0IiBkPSJNMCAxSDE4LjQ0NDJWMTkuNDQ0MiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9ImJsYWNrIi8+Cjwvc3ZnPgo=) center / contain no-repeat;
}
.carousel-container.carousel--news .swiper-navigation .swiper-button-prev {
         left: 0px;
}
.carousel-container.carousel--news .swiper-navigation .swiper-button-prev:before {
            transform: rotate(135deg) scaleY(-1);
         }
.carousel-container.carousel--news .swiper-navigation .swiper-button-next {
         right: 0px;
}
.carousel-container.carousel--news .swiper-navigation .swiper-button-next:before {
            transform: rotate(45deg);
         }
/* pagination (off in the comp, styled if enabled) */
.carousel-container.carousel--news .swiper-pagination {
         position: relative;
         margin-top: 1.5rem;
         display: flex;
         justify-content: center;
         gap: 0.5rem;
}
.carousel-container.carousel--news .swiper-pagination.swiper-pagination-lock {
         display: none;
}
.carousel-container.carousel--news .swiper-pagination button {
         height: 0.75rem;
         width: 0.75rem;
         background: var(--color-gray-light);
         border-radius: 50%;
}
.carousel-container.carousel--news .swiper-pagination button.swiper-pagination-bullet-active {
            background: var(--color-brand);
         }
/* video carousel styles */
.carousel-wrapper:has(> .carousel--video) {
         margin-left: auto;
         margin-right: auto;
         max-width: 1440px;
         padding-top: 60px;
         padding-bottom: 60px;
}
@media (min-width: 960px) {
         .carousel-wrapper:has(> .carousel--video) {
                  padding-top: 112px;
                  padding-bottom: 112px;
         }
}
.carousel-container.carousel--video {
         margin-top: 0px;
         margin-bottom: 0px;
         gap: 2.5rem;
}
@media (min-width: 960px) {
         .carousel-container.carousel--video {
                  gap: 4rem;
         }
}
/* header */
.carousel-container.carousel--video .carousel-header {
         max-width: none;
         align-items: center;
         padding-left: 0px;
         padding-right: 0px;
         text-align: center;
}
.carousel-container.carousel--video .carousel-header > * {
         margin: 0px;
         max-width: none;
}
.carousel-container.carousel--video .carousel-header h2 {
         color: var(--color-title);
         font-family: var(--font-display);
         /* 32px mobile / 48px at 1440 */
         font-size: clamp(2rem, 2.377vw + 0.861rem, 3rem);
         font-weight: 700;
         letter-spacing: -0.02em;
         line-height: 1.0833;
      }
.carousel-container.carousel--video .carousel-header p {
         color: var(--color-text);
         font-family: var(--font-base);
         font-size: 1rem;
         letter-spacing: -0.2px;
         line-height: 1.5;
      }
/* vertical reel */
.carousel-container.carousel--video .swiper-slide {
         height: auto;
}
.carousel-container.carousel--video .swiper-slide .carousel-slide-image {
         aspect-ratio: 9/16;
         border-radius: 1rem;
         background: var(--color-black);
}
.carousel-container.carousel--video .swiper-slide .carousel-slide-image video {
         position: absolute;
         height: 100%;
         width: 100%;
         -o-object-fit: cover;
            object-fit: cover;
}
.carousel-container.carousel--video .swiper-slide .carousel-slide-content {
         position: relative;
         top: auto;
         margin-top: 1rem;
         --tw-translate-y: 0px;
         transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.carousel-container.carousel--video .swiper-slide .carousel-slide-content:not(:has(.carousel-slide-content-container > *)) {
         display: none;
}
.carousel-container.carousel--video .swiper-slide .carousel-slide-content .carousel-slide-content-container {
         margin-left: 0px;
         margin-right: 0px;
         max-width: none;
         gap: 0.5rem;
         padding-left: 0px;
         padding-right: 0px;
            color: var(--color-black);
}
.carousel-container.carousel--video .swiper-slide .carousel-slide-content .carousel-slide-content-container > * {
         margin: 0px;
         max-width: none;
}
.carousel-container.carousel--video .swiper-slide .carousel-slide-heading {
         color: var(--color-title);
         font-family: var(--font-display);
         font-size: 1.5rem;
         font-weight: 700;
         line-height: 1.1667;
      }
/* controls sit in a row below the track, 24px under it (pulls back the container gap) */
.carousel-container.carousel--video .swiper-controls {
         margin-top: -1rem;
         display: flex;
         flex-direction: column;
         align-items: center;
         gap: 1.5rem;
}
@media (min-width: 960px) {
         .carousel-container.carousel--video .swiper-controls {
                  margin-top: -2.5rem;
         }
}
/* navigation */
.carousel-container.carousel--video .swiper-controls .swiper-navigation {
         position: static;
         display: flex;
         width: auto;
         --tw-translate-y: 0px;
         transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
         justify-content: center;
         gap: 1.5rem;
}
.carousel-container.carousel--video .swiper-controls .swiper-navigation .swiper-button-prev,
         .carousel-container.carousel--video .swiper-controls .swiper-navigation .swiper-button-next {
         position: static;
         margin: 0px;
         height: 26px;
         width: 26px;
            color: var(--color-black);
}
/* swiper injects its own icon */
.carousel-container.carousel--video .swiper-controls .swiper-navigation .swiper-button-prev .swiper-navigation-icon, .carousel-container.carousel--video .swiper-controls .swiper-navigation .swiper-button-next .swiper-navigation-icon {
         display: none;
}
.carousel-container.carousel--video .swiper-controls .swiper-navigation .swiper-button-prev:before, .carousel-container.carousel--video .swiper-controls .swiper-navigation .swiper-button-next:before {
         height: 19.444px;
         width: 19.444px;
               content: "";
               background: url(data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBvdmVyZmxvdz0idmlzaWJsZSIgc3R5bGU9ImRpc3BsYXk6IGJsb2NrOyIgd2lkdGg9IjE5LjQ0NDIiIGhlaWdodD0iMTkuNDQ0MiIgdmlld0JveD0iMCAwIDE5LjQ0NDIgMTkuNDQ0MiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggaWQ9IlJlY3RhbmdsZSA0ODg0IiBkPSJNMCAxSDE4LjQ0NDJWMTkuNDQ0MiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2U9ImJsYWNrIi8+Cjwvc3ZnPgo=) center / contain no-repeat;
}
.carousel-container.carousel--video .swiper-controls .swiper-navigation .swiper-button-prev:before {
            transform: rotate(135deg) scaleY(-1);
         }
.carousel-container.carousel--video .swiper-controls .swiper-navigation .swiper-button-next:before {
            transform: rotate(45deg);
         }
/* hide the row when both arrows are locked */
.carousel-container.carousel--video .swiper-controls .swiper-navigation:not(:has(> :not(.swiper-button-lock))) {
         display: none;
}
/* pagination */
.carousel-container.carousel--video .swiper-controls .swiper-pagination button {
            background: var(--color-gray-light);
         }
.carousel-container.carousel--video .swiper-controls .swiper-pagination button.swiper-pagination-bullet-active {
               background: var(--color-brand);
            }
.carousel-container {
         position: relative;
         margin-top: 100px;
         margin-bottom: 100px;
         display: flex;
         flex-direction: column;
         gap: 2.5rem;
}
.carousel-container .carousel-header {
         width: 100%;
         padding-right: 1rem;
         padding-left: 1rem;
}
@media (min-width: 480px) {
         .carousel-container .carousel-header {
                  max-width: 480px;
         }
}
@media (min-width: 600px) {
         .carousel-container .carousel-header {
                  max-width: 600px;
                  padding-right: 1rem;
                  padding-left: 1rem;
         }
}
@media (min-width: 782px) {
         .carousel-container .carousel-header {
                  max-width: 782px;
                  padding-right: 2rem;
                  padding-left: 2rem;
         }
}
@media (min-width: 960px) {
         .carousel-container .carousel-header {
                  max-width: 960px;
         }
}
@media (min-width: 1280px) {
         .carousel-container .carousel-header {
                  max-width: 1280px;
         }
}
@media (min-width: 1440px) {
         .carousel-container .carousel-header {
                  max-width: 1440px;
         }
}
.carousel-container .carousel-header {
         margin-left: auto;
         margin-right: auto;
         display: flex;
         flex-direction: column;
         gap: 1rem;
}
.carousel-container .carousel-header > * {
         max-width: 65%;
}
.carousel-container .swiper-wrapper {}
/* image */
.carousel-container .swiper-slide .carousel-slide-image {
         position: relative;
         aspect-ratio: 2.3;
         width: 100%;
         overflow: hidden;
}
.carousel-container .swiper-slide .carousel-slide-image img {
         position: absolute;
         height: 100%;
         width: 100%;
         -o-object-fit: cover;
            object-fit: cover;
}
/* content */
.carousel-container .swiper-slide .carousel-slide-content {
         position: absolute;
         top: 50%;
         width: 100%;
         --tw-translate-y: -50%;
         transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.carousel-container .swiper-slide .carousel-slide-content .carousel-slide-content-container {
         width: 100%;
         padding-right: 1rem;
         padding-left: 1rem;
}
@media (min-width: 480px) {
         .carousel-container .swiper-slide .carousel-slide-content .carousel-slide-content-container {
                  max-width: 480px;
         }
}
@media (min-width: 600px) {
         .carousel-container .swiper-slide .carousel-slide-content .carousel-slide-content-container {
                  max-width: 600px;
                  padding-right: 1rem;
                  padding-left: 1rem;
         }
}
@media (min-width: 782px) {
         .carousel-container .swiper-slide .carousel-slide-content .carousel-slide-content-container {
                  max-width: 782px;
                  padding-right: 2rem;
                  padding-left: 2rem;
         }
}
@media (min-width: 960px) {
         .carousel-container .swiper-slide .carousel-slide-content .carousel-slide-content-container {
                  max-width: 960px;
         }
}
@media (min-width: 1280px) {
         .carousel-container .swiper-slide .carousel-slide-content .carousel-slide-content-container {
                  max-width: 1280px;
         }
}
@media (min-width: 1440px) {
         .carousel-container .swiper-slide .carousel-slide-content .carousel-slide-content-container {
                  max-width: 1440px;
         }
}
.carousel-container .swiper-slide .carousel-slide-content .carousel-slide-content-container {
         margin-left: auto;
         margin-right: auto;
         display: flex;
         flex-direction: column;
         gap: 1.25rem;
            color: white;
}
.carousel-container .swiper-slide .carousel-slide-content .carousel-slide-content-container > * {
               max-width: 40%;
            }
/* controls */
/* pagination */
.carousel-container .swiper-controls .swiper-pagination {
         position: relative;
         display: flex;
         align-items: center;
         justify-content: center;
         gap: 0.5rem;
}
/* every slide fits at this breakpoint */
.carousel-container .swiper-controls .swiper-pagination.swiper-pagination-lock {
         display: none;
}
.carousel-container .swiper-controls .swiper-pagination button {
         display: block;
         height: 0.75rem;
         width: 0.75rem;
         --tw-bg-opacity: 1;
         background-color: rgb(0 79 196 / var(--tw-bg-opacity, 1));
            border-radius: 50%;
}
.carousel-container .swiper-controls .swiper-pagination button.swiper-pagination-bullet-active {
         --tw-bg-opacity: 1;
         background-color: rgb(255 0 85 / var(--tw-bg-opacity, 1));
}
/* navigation */
.carousel-container .swiper-controls .swiper-navigation {
         position: absolute;
         top: 50%;
         z-index: 10;
         display: flex;
         width: 100%;
         --tw-translate-y: -50%;
         transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
         justify-content: space-between;
}
.carousel-container .swiper-controls .swiper-navigation .swiper-button-prev,
         .carousel-container .swiper-controls .swiper-navigation .swiper-button-next {
         position: relative;
         display: flex;
         height: 2rem;
         width: 2rem;
         align-items: center;
         --tw-text-opacity: 1;
         color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
