/* MVBH Premium Loader - v2
 * Swirl particles spin INTO center + butterfly logo reveal + accent
 * Palette: plum, cream #f3ead8, mauve #8e6b7a, teal #5b7d7f
 */

#mvbh-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: radial-gradient(ellipse at center, #2a2733 0%, #1a1820 55%, #0a0810 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  pointer-events: none;
}

html.no-js #mvbh-loader { display: none; }

.mvbh-loader-bg-light {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, #f7f0dd 0%, #f3ead8 55%, #ead9b8 100%);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}

.mvbh-loader-canvas {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 2;
}

.mvbh-particle {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  will-change: transform, opacity;
  box-shadow: 0 0 10px currentColor, 0 0 20px currentColor;
  opacity: 0;
  top: 0;
  left: 0;
}

.mvbh-loader-content {
  position: relative;
  text-align: center;
  z-index: 3;
  padding: 40px;
}

.mvbh-loader-logo-wrap {
  opacity: 0;
  transform: scale(0.4);
  will-change: transform, opacity;
  filter: drop-shadow(0 6px 24px rgba(74, 43, 58, 0.28));
}

.mvbh-loader-logo-wrap img {
  width: 240px;
  height: auto;
  max-width: 60vw;
  display: block;
  margin: 0 auto;
}

.mvbh-loader-tagline {
  display: block;
  margin-top: 20px;
  font-size: 11px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #4a2b3a;
  opacity: 0;
  font-family: 'Work Sans', system-ui, sans-serif;
  font-weight: 500;
}

.mvbh-loader-accent {
  display: block;
  margin: 16px auto 0;
  color: #6b4a58;
  opacity: 0;
}

@media (max-width: 768px) {
  .mvbh-loader-logo-wrap img { width: 180px; }
  .mvbh-particle { width: 4px; height: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  #mvbh-loader { display: none !important; }
}

body:has(#mvbh-loader) { overflow: hidden; }
body.mvbh-motion-reduced { overflow: auto; }
