.preloader {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-content: center;
  gap: 0.85rem;
  background: #114a43;
  color: #d1de6f;
  transition: opacity 560ms var(--ease), visibility 560ms;
}

body.is-loaded .preloader,
.preloader.is-done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

body.is-preloading {
  overflow: hidden;
}

.preloader__spin {
  width: 36px;
  height: 36px;
  color: #d1de6f;
}

.preloader__name {
  margin: 0;
  font-family: "Onest", var(--font);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.page-hero--left .page-hero__title,
.page-hero--left .page-hero__lead,
.page-hero--left .sv-kicker,
.page-hero--left .page-hero__actions {
  animation: rise 900ms var(--ease) both;
}

.page-hero--left .sv-kicker { animation-delay: 180ms; }
.page-hero--left .page-hero__title { animation-delay: 280ms; }
.page-hero--left .page-hero__lead { animation-delay: 420ms; }
.page-hero--left .page-hero__actions { animation-delay: 560ms; }

body.is-preloading .page-hero--left .page-hero__title,
body.is-preloading .page-hero--left .page-hero__lead,
body.is-preloading .page-hero--left .sv-kicker,
body.is-preloading .page-hero--left .page-hero__actions {
  animation: none;
  opacity: 0;
}

.preloader .sv-spin,
.preloader__spin {
  animation: preloader-spin 1.15s linear infinite;
}

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes preloader-spin {
  to { transform: rotate(360deg); }
}

.logo {
  opacity: 0;
  animation: fade-in 800ms var(--ease) 80ms forwards;
}

.hero.is-ready .hero__media {
  animation: fade-in 1100ms var(--ease) 120ms both;
}

.stagger-children > *:nth-child(1) { transition-delay: 0ms; }
.stagger-children > *:nth-child(2) { transition-delay: 80ms; }
.stagger-children > *:nth-child(3) { transition-delay: 160ms; }
.stagger-children > *:nth-child(4) { transition-delay: 240ms; }
.stagger-children > *:nth-child(5) { transition-delay: 320ms; }
.stagger-children > *:nth-child(6) { transition-delay: 400ms; }
.stagger-children > *:nth-child(7) { transition-delay: 480ms; }
.stagger-children > *:nth-child(8) { transition-delay: 560ms; }

@keyframes draw-line {
  to { stroke-dashoffset: 0; }
}

.video-reveal {
  clip-path: inset(8% 8% 8% 8%);
  transition: clip-path 1100ms var(--ease);
}

.video-reveal.is-visible {
  clip-path: inset(0 0 0 0);
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .reveal,
  .hero__eyebrow,
  .hero__description,
  .hero__actions .btn,
  .hero__scroll,
  .hero__title span em,
  .logo,
  .media-reveal img,
  .media-reveal video {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  .preloader,
  .preloader.is-done {
    display: none !important;
  }

  body.is-preloading {
    overflow: auto;
  }

  .process__step {
    opacity: 1 !important;
    transform: none !important;
  }

  .process__line-draw {
    stroke-dashoffset: 0 !important;
    animation: none !important;
  }
}
