/**
 * Swiper flash-of-unstyled-carousel guard
 *
 * Elementor/Swiper's own base CSS gives every .swiper-slide width:100%;
 * height:100% — the real per-slide size is only set (as an inline style) once
 * Swiper's JS runs and calls .init(), which adds the swiper-initialized class.
 * Until then a carousel with several slides renders as one slide blown up to
 * fill the whole container (confirmed on /locations/chicago/: a 1252x849px
 * box before init vs. 291px tall after). Hiding the carousel for that window
 * avoids the flash; the 3s fallback animation guarantees it still becomes
 * visible even if Swiper's JS never runs (e.g. a blocked/erroring script).
 */
.swiper:not(.swiper-initialized) {
  visibility: hidden;
  animation: cresset-swiper-fouc-fallback 0s 3s forwards;
}

@keyframes cresset-swiper-fouc-fallback {
  to {
    visibility: visible;
  }
}
