.preloader {
  position: fixed;
  inset: 0;
  background: var(--color-green);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.8s ease, visibility 0.8s ease;
  pointer-events: none;
}

.preloader.hidden { opacity: 0; visibility: hidden; }

.preloader-logo { animation: fadeIn 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.preloader-logo .logo-wordmark {
  font-size: var(--text-xl);
  line-height: var(--lh-xl);
  color: var(--color-beige);
}

/* Logo image styles */
.preloader-logo .logo-image {
  max-height: 200px;
  width: auto;
  display: block;
}

.site-header { opacity: 1; visibility: visible; }

body:not(.loaded) .main-content { opacity: 0; visibility: hidden; }

body.loaded .main-content {
  animation: fadeIn 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s forwards;
  opacity: 0;
  visibility: visible;
}

@media (max-width: 768px) {
  .preloader-logo .logo-image { max-height: 140px; }
}