.sequence-stage__outline svg { display: block; width: 100%; height: 100%; color: #000; }
.sequence-stage__outline path {
  stroke-opacity: .2;
  stroke-dasharray: 1;
  stroke-dashoffset: calc(1 - var(--load-progress, 0));
}

.global-advance {
  position: fixed;
  z-index: 95;
  bottom: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  color: #fff;
  background: #ffffff1c;
  mix-blend-mode: difference;
  cursor: pointer;
}
.global-advance img { display: block; transform: rotate(90deg); filter: invert(1); }
.global-advance:focus-visible { outline: 1px solid currentColor; outline-offset: -3px; }
html.is-preloading .global-advance { visibility: hidden; }

.letter-wave__source {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.letter-wave__word { display: inline-block; white-space: nowrap; text-indent: 0; }
.letter-wave__letter {
  display: inline-block;
  text-indent: 0;
  animation: letter-wave-in 1.2s ease-in-out var(--letter-delay, .1s) both;
}
@keyframes letter-wave-in {
  0% { opacity: 0; transform: translateY(.18em); }
  45% { opacity: 1; transform: translateY(-.4em); }
  100% { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .sequence-stage__outline path { stroke-dashoffset: 0; }
  .letter-wave__letter { animation: none; }
}
