/* loading.css — Pantalla de carga / intro de marca. */

html.nexo-is-loading {
  overflow: hidden;
}

html.nexo-intro-seen #nexo-loading {
  display: none !important;
}

.nexo-loading {
  position: fixed;
  inset: 0;
  z-index: 99999;
  overflow: hidden;
  background-color: var(--loading-bg, #15071f);
  animation: nexo-loading-failsafe 0.45s ease 12s forwards;
}

@keyframes nexo-loading-failsafe {
  to { opacity: 0; visibility: hidden; }
}

.nexo-loading.is-done {
  animation: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.nexo-loading__inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.nexo-loading__layer {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
}

.nexo-loading__brand {
  position: relative;
}

.nexo-loading__logo {
  width: clamp(280px, 62vw, 920px);
  height: auto;
  overflow: visible;
  shape-rendering: geometricPrecision;
}

@media (max-width: 640px) {
  .nexo-loading__logo {
    width: 85vw;
  }
}

.nexo-loading__x {
  transform: translate(344px, -2px);
}

.nexo-loading__type {
  fill: var(--logo-fg, #f5ffe6);
}

.nexo-loading__x-arm {
  fill: var(--logo-x-arm, var(--logo-fg, #f5ffe6));
}

.nexo-loading__x-core {
  fill: var(--logo-x-core, var(--logo-fg, #f5ffe6));
}

@media (prefers-reduced-motion: reduce) {
  .nexo-loading,
  .nexo-loading__logo,
  .nexo-loading__x {
    animation: none !important;
    transition: none !important;
  }
}
