/* ================== PRELOADER (Nueva) ================== */
:root {
  --nueva-gold: #d4af37;
  --nueva-bg: #000000;
  --fade-ms: 900ms; /* slower fade (was 700ms) */
}

#preloader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background:
    radial-gradient(1200px 600px at 50% 30%, rgba(212,175,55,0.12), transparent 60%),
    var(--nueva-bg);
  display: grid;
  place-items: center;
  opacity: 1;
  pointer-events: all;
  transition: opacity var(--fade-ms) ease;
}

.preloader__inner {
  display: grid;
  place-items: center;
  gap: 1.25rem;
  text-align: center;
}

.preloader__logo {
  inline-size: clamp(160px, 22vw, 240px);
  block-size: auto;
  filter: drop-shadow(0 2px 14px rgba(212,175,55,0.25));
  animation: preloader-pulse 1.6s ease-in-out infinite;
}

.preloader__ring {
  inline-size: 48px;
  block-size: 48px;
  border-radius: 999px;
  background:
    conic-gradient(from 0deg, var(--nueva-gold) 0 90deg, transparent 90deg 360deg),
    radial-gradient(closest-side, rgba(212,175,55,0.15), rgba(212,175,55,0.0));
  mask: radial-gradient(closest-side, transparent 65%, #000 66%);
  -webkit-mask: radial-gradient(closest-side, transparent 65%, #000 66%);
  animation: preloader-spin 1s linear infinite;
  will-change: transform;
}

/* Fade-out states toggled by JS */
#preloader.is-hidden {
  opacity: 0;
  pointer-events: none;
}
#preloader.is-gone {
  display: none;
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
  .preloader__logo,
  .preloader__ring {
    animation: none !important;
  }
}

@keyframes preloader-spin { to { transform: rotate(360deg); } }
@keyframes preloader-pulse {
  0%, 100% { transform: scale(1); opacity: 0.9; }
  50%      { transform: scale(1.05); opacity: 1; }
}

/* No-JS fallback */

