.page-progress {
  position: fixed;
  inset: 0 auto auto 0;
  z-index: 200;
  width: 0;
  height: 2px;
  background: var(--primary);
  box-shadow: 0 0 10px rgba(233, 190, 96, 0.45);
  pointer-events: none;
}

.motion-ready .hero-copy > *,
.motion-ready .cover-block {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 900ms ease, transform 900ms ease;
}

.motion-ready.motion-loaded .hero-copy > *,
.motion-ready.motion-loaded .cover-block {
  opacity: 1;
  transform: none;
}

.motion-ready .hero-copy > :nth-child(2) { transition-delay: 100ms; }
.motion-ready .hero-copy > :nth-child(3) { transition-delay: 220ms; }
.motion-ready .hero-copy > :nth-child(4) { transition-delay: 340ms; }
.motion-ready .hero-copy > :nth-child(5) { transition-delay: 460ms; }
.motion-ready .hero-copy > :nth-child(6) { transition-delay: 580ms; }
.motion-ready .cover-block { transition-delay: 260ms; }

.motion-ready .reveal-on-scroll {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 800ms ease, transform 800ms ease;
  transition-delay: var(--reveal-delay, 0ms);
}

.motion-ready .reveal-on-scroll.is-visible {
  opacity: 1;
  transform: none;
}

.hero {
  background:
    radial-gradient(ellipse at 82% 42%, rgba(35, 75, 88, 0.36), transparent 56%),
    linear-gradient(110deg, #08121a 0%, #0a171f 58%, #071016 100%);
  background-position: center;
  background-size: auto;
}

.cover-block img {
  transition: transform 500ms ease, filter 500ms ease;
}

.cover-block:hover img {
  transform: translateY(-6px) rotate(-0.35deg);
  filter: drop-shadow(16px 24px 24px #000b);
}

@media (prefers-reduced-motion: reduce) {
  .page-progress { display: none; }
  .motion-ready .hero-copy > *,
  .motion-ready .cover-block,
  .motion-ready .reveal-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .cover-block img { transition: none; }
  .cover-block:hover img { transform: none; }
}
