/* SITE LOADER */

.site-loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #002046;
  color: #fff;
  z-index: 9999; /* Minimum 9999 as per spec */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  pointer-events: all;
  transition: background-color 1s ease-out;
}

.loader-intro-title,
.loader-outro-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  margin: 0;
}

.loader-intro-title h1,
.loader-outro-title h1 {
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 600;
  line-height: 1;
  margin: 0;
  white-space: nowrap;
  opacity: 0; /* JS will fade this in once SplitText initialized */
}

.loader-intro-title h1 {
  text-transform: uppercase; /* RDVSGN */
}

/* Character mask wrapper */
.loader-char {
  position: relative;
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  padding-bottom: 0.1em;
  margin-bottom: -0.1em;
}

.loader-char span {
  position: relative;
  display: inline-block;
  transform: translateY(100%);
  will-change: transform;
}
