/* Direction-aware navigation, shared by every page. */
.site-header, .site-header.scrolled {
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
  transition: opacity .3s ease, transform .36s cubic-bezier(.22, 1, .36, 1);
}
.site-header.is-scroll-hidden {
  opacity: 0;
  transform: translate3d(-50%, -12px, 0);
  pointer-events: none;
}
.site-header.is-scroll-hidden:focus-within, .site-header.menu-open {
  opacity: 1;
  transform: translate3d(-50%, 0, 0);
  pointer-events: auto;
}

/* Native document navigation with a green cover and the original white mark. */
.page-transition {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  background: #10211b;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .42s cubic-bezier(.22, 1, .36, 1), visibility 0s .42s;
}
.page-loading .page-transition, .page-leaving .page-transition {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .28s ease, visibility 0s;
}
.page-transition-brand { display: flex; flex-direction: column; align-items: center; }
.page-transition-brand img { width: 150px; height: 127px; object-fit: contain; }
.page-transition-name { margin-top: 15px; padding-left: .22em; font-size: 20px; font-weight: 300; letter-spacing: .22em; }
.page-transition-line { display: block; width: 100px; height: 1px; margin-top: 28px; overflow: hidden; background: #ffffff30; }
.page-transition-line > span { display: block; width: 45%; height: 100%; background: #fff; transform: translateX(-110%); }
.page-loading .page-transition-brand, .page-leaving .page-transition-brand { animation: brand-breathe 1.5s ease-in-out infinite alternate; }
.page-loading .page-transition-line > span, .page-leaving .page-transition-line > span { animation: loading-line 1.25s cubic-bezier(.65, 0, .35, 1) infinite; }
@keyframes brand-breathe { from { opacity: .76; transform: translateY(3px); } to { opacity: 1; transform: translateY(0); } }
@keyframes loading-line { to { transform: translateX(335%); } }
@media (prefers-reduced-motion: reduce) {
  .site-header, .site-header.scrolled { transition: opacity .08s linear; }
  .site-header.is-scroll-hidden { transform: translate3d(-50%, 0, 0); }
  .page-transition, .page-loading .page-transition, .page-leaving .page-transition { transition: opacity .08s linear, visibility 0s .08s; }
  .page-loading .page-transition-brand, .page-leaving .page-transition-brand,
  .page-loading .page-transition-line > span, .page-leaving .page-transition-line > span { animation: none; }
  .page-transition-line > span { width: 100%; transform: none; }
}
