/* Logo video loader — homepage, once per session, 4s, no skip */

:root {
  --z-loader: 100;
  --loader-fade-ms: 700ms;
}

[data-site-loader] {
  position: fixed;
  inset: 0;
  z-index: var(--z-loader);
  display: grid;
  place-items: center;
  background: #000;
  pointer-events: auto;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  opacity: 1;
  transition: opacity var(--loader-fade-ms) ease;
}

[data-site-loader][data-state="leaving"] {
  opacity: 0;
  pointer-events: none;
}

[data-site-loader][data-state="done"],
html[data-loader="done"] [data-site-loader] {
  display: none !important;
}

[data-site-loader] video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  background: #000;
  pointer-events: none;
}

/* Desktop 16:9 by default; mobile 9:16 */
[data-loader-video="mobile"] {
  display: none;
}

@media (max-width: 767px) {
  [data-loader-video="desktop"] {
    display: none;
  }

  [data-loader-video="mobile"] {
    display: block;
  }
}

html[data-loader="active"],
html[data-loader="active"] body {
  overflow: hidden;
  height: 100%;
}

@media (prefers-reduced-motion: reduce) {
  [data-site-loader] {
    transition-duration: 0.01ms;
  }
}
