.loader-screen {
  position: fixed;
  inset: 0;
  background: #02050d;
  display: grid;
  place-items: center;
  z-index: 999;
  transition: opacity .5s ease, visibility .5s ease;
}
.loader-screen.hidden { opacity: 0; visibility: hidden; }
.loader-ring {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 4px solid rgba(212,175,55,.25);
  border-top-color: var(--gold);
  animation: spin 1s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

@keyframes floatY { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.hero h1, .page-hero h1 { animation: floatY 6s ease-in-out infinite; }
