/* ==========================================================
   NeexWeb — vinheta de abertura
   Este CSS precisa ser carregado no <head> (bloqueia a pintura),
   assim a tela da vinheta já está cobrindo tudo no 1º frame
   e o site nunca aparece antes da animação.
   ========================================================== */

@font-face {
  font-family: "NeexPoppins";
  src: url("../assets/fonts/Poppins-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

/* Enquanto a vinheta toca: site invisível e sem rolagem */
html.intro-active,
html.intro-active body {
  overflow: hidden;
  height: 100%;
}
html.intro-active #site {
  visibility: hidden;
}

#neex-intro {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  background:
    radial-gradient(70% 55% at 50% 50%, #0e1a33 0%, #080d1a 55%, #05080f 100%);
  overflow: hidden;
  display: block;
  opacity: 1;
  /* evita seleção / toque acidental */
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  cursor: default;
}

#neex-intro.is-leaving {
  pointer-events: none;
}

#neex-intro .nx-stage {
  position: absolute;
  left: 50%;
  top: 50%;
  /* largura/altura definidas pelo JS */
  transform: translate(-50%, -50%);
  will-change: transform, opacity;
}

#neex-intro .nx-stage > * {
  position: absolute;
  left: 0;
  top: 0;
}

#neex-intro img.nx-img {
  display: block;
  max-width: none;
  height: auto;
  pointer-events: none;
  -webkit-user-drag: none;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

#neex-intro .nx-clip {
  width: 100%;
  height: 100%;
  pointer-events: none;
  will-change: clip-path;
}

#neex-intro .nx-clip svg {
  display: block;
  overflow: visible;
  width: 100%;
  height: 100%;
}

#neex-intro text {
  font-family: "NeexPoppins", "Poppins", "Segoe UI", system-ui, -apple-system,
    "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  text-rendering: geometricPrecision;
}

/* Sem JavaScript: não bloqueia o site */
.no-js #neex-intro { display: none; }
.no-js.intro-active #site { visibility: visible; }
.no-js.intro-active,
.no-js.intro-active body { overflow: auto; height: auto; }
