html { scrollbar-gutter: stable; }
.is-loading, .is-revealing { overflow-anchor: none; }
.site-loader-word { display: inline-flex; }
.site-loader-word > span {
  display: block;
  color: transparent;
  background: linear-gradient(160deg, #777 0%, #fff 40%, #b5b5b5 62%, #eee 100%);
  background-clip: text;
  -webkit-background-clip: text;
  animation: outshine-ripple 1.55s cubic-bezier(.45, 0, .25, 1) infinite;
  animation-delay: calc(var(--letter) * 65ms);
  will-change: transform, opacity;
}
@keyframes outshine-ripple {
  0%, 65%, 100% { transform: translate3d(0, 0, 0); opacity: .72; }
  28% { transform: translate3d(0, -1.8px, 0) scaleY(1.035); opacity: 1; }
  46% { transform: translate3d(0, .7px, 0); opacity: .9; }
}
.is-loading .hero-word, .is-revealing .hero-word { visibility: hidden; }
.is-loading .hero-photo-after { animation-play-state: paused !important; }
.is-loading .hero-photo-card { opacity: 0; }
.intro-flight {
  position: fixed;
  display: block;
  margin: 0;
  color: #fff;
  white-space: nowrap;
  transform-origin: 0 0;
  will-change: transform;
}
.is-revealing .site-header { animation: outshine-page-reveal .72s cubic-bezier(.16, 1, .3, 1) both; }
.is-revealing .hero-photo-card {
  --hero-enter-tilt: -1.5deg;
  animation: hero-image-arrive .46s .12s both;
  transform-origin: 50% 60%;
}
.is-revealing .hero-photo-card:nth-child(2) { --hero-enter-tilt: 1.5deg; animation-delay: .15s; }
@keyframes hero-image-arrive {
  0% { opacity: 0; transform: translate3d(0, 44px, 0) scale(.96) rotate(var(--hero-enter-tilt)); animation-timing-function: cubic-bezier(.16,1,.3,1); }
  75% { opacity: 1; transform: translate3d(0, -3px, 0) scale(1.008) rotate(0deg); animation-timing-function: cubic-bezier(.22,1,.36,1); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1) rotate(0deg); }
}
@keyframes outshine-page-reveal { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 760px) { .site-loader-word { font-size: 25px; } }
@media (prefers-reduced-motion: reduce) {
  .site-loader-word > span { animation: none; opacity: 1; will-change: auto; }
  .is-revealing .site-header, .is-revealing .hero-photo-card { animation: none; }
}
