/* Keep initial content visible while a quiet loading line finishes. */
.js .page-loader {
  inset: 0 0 auto;
  height: 2px;
  display: block;
  background: transparent;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s;
}

.page-loader .loader-inner {
  display: block;
  transform: none;
}

.page-loader .loader-mark,
.page-loader .loader-wordmark,
.page-loader .loader-motto {
  display: none;
}

.page-loader .loader-track {
  width: 100%;
  height: 2px;
  margin: 0;
  background: transparent;
}

.page-loader .loader-progress {
  transition: transform .2s ease;
}

.js .hero-top,
.js .page-intro,
.js .detail-hero-grid {
  opacity: 1;
  transform: none;
  filter: none;
  transition: none;
}

.js .hero-world .world-map-surface {
  opacity: 1;
  transition: none;
}

/* A focused link or control should never wait for its scroll reveal. */
.js .reveal:focus-within,
.js .reveal:focus-visible {
  opacity: 1;
  transform: none;
  filter: none;
  transition: none;
  transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
  .js .page-loader {
    display: none;
  }
}
