body.spark-loader-active {
  overflow: hidden;
}

.spark-loader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  --spark-loader-word-visuals: 0;
  --spark-loader-word-films: 0;
  --spark-loader-word-experiences: 0;
  overflow: hidden;
  background: #050505;
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
  color: rgba(255, 255, 255, 0.88);
}

.spark-loader .spark-loader__panel {
  position: absolute;
  left: 0;
  width: 100%;
  height: calc(50% + 1px);
  background: #050505;
  transform: translateY(0);
  will-change: transform;
  transition: transform 1050ms cubic-bezier(0.76, 0, 0.24, 1);
}

.spark-loader .spark-loader__panel--top {
  top: 0;
}

.spark-loader .spark-loader__panel--bottom {
  bottom: 0;
}

.spark-loader .spark-loader__content {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  transform: none;
  opacity: 1;
  will-change: opacity, transform;
  transition:
    opacity 320ms cubic-bezier(0.76, 0, 0.24, 1),
    transform 420ms cubic-bezier(0.76, 0, 0.24, 1);
}

.spark-loader .spark-loader__track {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 1px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.18);
  transform: translateY(-50%);
}

.spark-loader .spark-loader__words {
  position: absolute;
  left: clamp(24px, 5vw, 88px);
  right: clamp(24px, 5vw, 88px);
  top: calc(50% - 36px);
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  pointer-events: none;
}

.spark-loader .spark-loader__word {
  display: inline-flex;
  align-items: baseline;
  min-width: 0;
  color: rgba(255, 255, 255, 0.76);
  font-family: "Space Grotesk", var(--spark-body-font, Arial, Helvetica, sans-serif);
  font-size: clamp(10px, 1vw, 13px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.spark-loader .spark-loader__word-root {
  display: inline-block;
  color: rgba(255, 255, 255, 0.94);
}

.spark-loader .spark-loader__word-prefix,
.spark-loader .spark-loader__word-rest {
  display: inline-block;
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateX(-0.1em);
  transition: none;
  vertical-align: baseline;
  white-space: nowrap;
  will-change: max-width, opacity, transform;
}

.spark-loader .spark-loader__word-prefix {
  max-width: calc(var(--spark-loader-word-experiences) * 1ch);
  opacity: var(--spark-loader-word-experiences);
}

.spark-loader .spark-loader__word--visuals .spark-loader__word-rest {
  max-width: calc(var(--spark-loader-word-visuals) * 6ch);
  opacity: var(--spark-loader-word-visuals);
  transform: translateX(calc((1 - var(--spark-loader-word-visuals)) * -0.1em));
}

.spark-loader .spark-loader__word--films .spark-loader__word-rest {
  max-width: calc(var(--spark-loader-word-films) * 5ch);
  opacity: var(--spark-loader-word-films);
  transform: translateX(calc((1 - var(--spark-loader-word-films)) * -0.1em));
}

.spark-loader .spark-loader__word--experiences .spark-loader__word-rest {
  max-width: calc(var(--spark-loader-word-experiences) * 10ch);
  opacity: var(--spark-loader-word-experiences);
  transform: translateX(calc((1 - var(--spark-loader-word-experiences)) * -0.1em));
}

.spark-loader .spark-loader__progress {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  width: 0%;
  height: 100%;
  background: #ffffff;
  transform-origin: left center;
  will-change: width;
}

.spark-loader .spark-loader__percent {
  position: absolute;
  left: clamp(22px, 4vw, 64px);
  bottom: clamp(22px, 4.5vw, 72px);
  min-width: 0;
  color: rgba(255, 255, 255, 0.9);
  font-family: "Space Grotesk", var(--spark-body-font, Arial, Helvetica, sans-serif);
  font-size: clamp(48px, 8vw, 128px);
  font-weight: 500;
  line-height: 0.82;
  letter-spacing: 0;
  text-align: left;
  font-variant-numeric: tabular-nums;
}

.spark-loader.is-revealing {
  pointer-events: none;
  background: transparent;
}

.spark-loader.is-revealing .spark-loader__panel--top {
  transform: translateY(-100%);
}

.spark-loader.is-revealing .spark-loader__panel--bottom {
  transform: translateY(100%);
}

.spark-loader.is-revealing .spark-loader__content {
  opacity: 0;
  transform: scaleY(0.98);
}

@media (max-width: 767px) {
  .spark-loader .spark-loader__content {
    width: 100%;
  }

  .spark-loader .spark-loader__track {
    width: 100%;
  }

  .spark-loader .spark-loader__words {
    left: 20px;
    right: 20px;
    top: calc(50% - 28px);
  }

  .spark-loader .spark-loader__word {
    font-size: 10px;
    letter-spacing: 0.04em;
  }

  .spark-loader .spark-loader__percent {
    left: 20px;
    bottom: 24px;
    font-size: clamp(42px, 18vw, 78px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .spark-loader {
    transition:
      opacity 220ms linear,
      visibility 0ms linear 220ms;
  }

  .spark-loader .spark-loader__panel,
  .spark-loader .spark-loader__content,
  .spark-loader .spark-loader__word-rest {
    transition-duration: 180ms;
  }

  .spark-loader.is-revealing {
    opacity: 0;
    visibility: hidden;
  }

  .spark-loader.is-revealing .spark-loader__panel--top,
  .spark-loader.is-revealing .spark-loader__panel--bottom {
    transform: translateY(0);
  }
}
