/* Splash overlay styles (customizable) */
:root {
  --splash-bg: #3498db; /* matches theme-color and site blue */
  --splash-duration: 600ms;
  --splash-ease: cubic-bezier(.22,.61,.36,1);
  --splash-logo-scale: 1.0;
}

.splash-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: var(--splash-bg);
  /* Layer over everything */
  pointer-events: none;
  transition: opacity var(--splash-duration) var(--splash-ease),
              visibility var(--splash-duration) var(--splash-ease);
}

.splash-overlay.hidden {
  opacity: 0;
  visibility: hidden;
}

.splash-inner {
  display: grid;
  place-items: center;
  transform: translateY(0);
  transition: transform var(--splash-duration) var(--splash-ease),
              opacity var(--splash-duration) var(--splash-ease);
}

.splash-overlay.hidden .splash-inner {
  transform: translateY(-12px);
  opacity: 0;
}

.splash-logo {
  display: block;
  width: clamp(120px, 18vw, 220px);
  height: auto;
  transform: scale(var(--splash-logo-scale));
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.25));
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .splash-overlay,
  .splash-inner {
    transition: none !important;
  }
}
