/* Safety fallback: the original Rive intro still runs, then this releases the page. */
.local-site-ready .transition-w {
  visibility: hidden !important;
  pointer-events: none !important;
}

canvas.gl {
  display: block;
  width: 100%;
  height: 100%;
}

.local-hero-fallback {
  display: none;
}

.local-gl-fallback .gl-wrap {
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.local-gl-fallback canvas.gl {
  display: none;
}

.local-gl-fallback .local-hero-fallback {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.local-hero-person,
.local-hero-helmet {
  position: absolute;
  max-width: none;
  will-change: transform;
}

.local-hero-person {
  width: min(72vw, 920px);
  right: -3vw;
  bottom: -9vh;
  animation: local-person-float 8s ease-in-out infinite alternate;
}

.local-hero-helmet {
  width: min(36vw, 470px);
  left: 18vw;
  top: 16vh;
  opacity: .88;
  animation: local-helmet-float 6s ease-in-out infinite alternate;
}

@keyframes local-person-float {
  from { transform: translate3d(0, 1.5%, 0) scale(1.01); }
  to { transform: translate3d(-1.5%, -1.5%, 0) scale(1.04); }
}

@keyframes local-helmet-float {
  from { transform: translate3d(-2%, 2%, 0) rotate(-3deg); }
  to { transform: translate3d(3%, -3%, 0) rotate(3deg); }
}

@media (max-width: 767px) {
  .local-hero-person { width: 115vw; right: -42vw; }
  .local-hero-helmet { width: 58vw; left: 2vw; top: 22vh; }
}
