[data-launch-app] {
  cursor: pointer;
}

[data-menu-button][aria-expanded='true'],
[data-current-section] {
  color: var(--color-grey-0);
}

[data-heading-letter] {
  animation: reveal-heading-letter 800ms cubic-bezier(0.165, 0.84, 0.44, 1) both;
  /* The original uses a quartic ease-out, sampled here every 5%. */
  animation-timing-function: linear(
    0, 0.185494, 0.3439, 0.477994, 0.5904, 0.683594, 0.7599, 0.821494,
    0.8704, 0.908494, 0.9375, 0.958994, 0.9744, 0.984994, 0.9919,
    0.996094, 0.9984, 0.999494, 0.9999, 0.999994, 1
  );
  animation-delay: calc(var(--heading-letter) * 30ms);
}

@keyframes reveal-heading-letter {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-heading-letter] {
    animation: none;
  }
}
