/* Stabiliser: loaded after HSG's stylesheet, before their scripts run.
   Three pre-load defects this removes, all of which read as the page "cascading" as it opens:

   1. The carousel. Until swiper-bundle.js initialises, .swiper-wrapper is a plain block, so every slide
      stacks vertically and the page is briefly enormous; Swiper then flips the wrapper to a row and the
      whole layout collapses upward. Declaring the row layout in CSS means the first paint is already the
      final geometry, and only the first slide is shown until Swiper takes over.
   2. Scroll-reveal animations (WOW + animate.css). Their theme JS rewrites elements with a fresh
      animation on every scroll (resetAnimation:true), which reads as content flying in as you move.
      Neutralised here: everything is simply visible.
   3. Lazy images (lazysizes). Without a reserved box, each image landing pushes the page down in a chain.
      A muted background on every image keeps the box occupied while it loads. */

/* 1 - carousel geometry before and after Swiper */
.swiper-wrapper { display: flex !important; flex-direction: row !important; }
.swiper:not(.swiper-initialized) .swiper-slide { flex: 0 0 100%; max-width: 100%; }
.swiper:not(.swiper-initialized) .swiper-slide ~ .swiper-slide { display: none !important; }
.swiper { overflow: hidden; }
.swiper-initialized .swiper-slide { height: auto; }

/* the pagination dots are drawn by Swiper; hide the empty container until it fills them */
.swiper-pagination:empty { visibility: hidden; }

/* 2 - no reveal animations */
.wow,
.animated,
[class*="animate__"],
[data-wow-delay],
[data-wow-duration] {
  animation: none !important;
  transition: none !important;
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

/* 3 - hold the box for images that have not loaded yet */
img { background-color: #eef1f6; }
img[src$=".svg"], img[src*="logo"] { background: transparent; }

/* no scroll-jacking or smooth-scroll surprises on open */
html { scroll-behavior: auto; }
