
body.neefus-three-enabled { overflow:hidden; }

.neefus-three-intro {
  position:fixed;
  inset:0;
  z-index:2147483000;
  background:#000;
  overflow:hidden;
  opacity:1;
  visibility:visible;
}

.neefus-three-background,
.neefus-three-overlay {
  position:absolute;
  inset:0;
}

.neefus-three-background {
  z-index:0;
  overflow:hidden;
}

.neefus-three-bg-image,
.neefus-three-bg-video {
  width:100%;
  height:100%;
  object-fit:contain;
  display:none;
  transform:none;
}

.neefus-three-overlay {
  z-index:1;
  background:rgba(0,0,0,.45);
  pointer-events:none;
}

#neefus-three-canvas {
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  display:block;
}

.neefus-three-vignette {
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    radial-gradient(circle at center, transparent 38%, rgba(0,0,0,.18) 70%, rgba(0,0,0,.68) 100%);
}

.neefus-three-skip {
  position:absolute;
  right:22px;
  bottom:20px;
  z-index:5;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  padding:10px 16px;
  background:rgba(0,0,0,.38);
  color:#fff;
  font:14px Arial, sans-serif;
  cursor:pointer;
  backdrop-filter:blur(8px);
}

.neefus-three-skip:hover { background:rgba(255,255,255,.12); }

@media (max-width:600px) {
  .neefus-three-skip { right:14px; bottom:14px; }
}


.neefus-fancy-menu {
  position:absolute;
  inset:0;
  z-index:4;
  display:none;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:28px;
  opacity:0;
  pointer-events:none;
}

.neefus-fancy-menu.is-visible {
  display:flex;
  pointer-events:auto;
}

.neefus-fancy-menu a {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:132px;
  padding:18px 24px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:18px;
  background:linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.05));
  color:#fff;
  text-decoration:none;
  font:700 16px Arial, sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  backdrop-filter:blur(16px);
  box-shadow:
    0 14px 40px rgba(0,0,0,.28),
    inset 0 1px 0 rgba(255,255,255,.25);
  transform:translateY(50px) scale(.8);
  opacity:0;
  overflow:hidden;
}

.neefus-fancy-menu a::before {
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:inherit;
  background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.55), transparent 70%);
  transform:translateX(-120%);
}

.neefus-fancy-menu a:hover {
  transform:translateY(-6px) scale(1.04);
  box-shadow:
    0 20px 50px rgba(0,0,0,.35),
    0 0 28px rgba(76,166,255,.28),
    inset 0 1px 0 rgba(255,255,255,.3);
}

.neefus-fancy-menu a:hover::before {
  animation:neefusShine .8s ease;
}

.neefus-fancy-menu.orbit {
  display:block;
}

.neefus-fancy-menu.orbit a {
  position:absolute;
  left:50%;
  top:50%;
  min-width:110px;
  border-radius:999px;
}

.neefus-fancy-menu.minimal {
  gap:34px;
}

.neefus-fancy-menu.minimal a {
  min-width:auto;
  padding:12px 4px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

.neefus-fancy-menu.minimal a::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:2px;
  height:2px;
  background:currentColor;
  transform:scaleX(0);
  transition:transform .25s ease;
}

.neefus-fancy-menu.minimal a:hover::after {
  transform:scaleX(1);
}

@keyframes neefusShine {
  to { transform:translateX(120%); }
}

@media (max-width:820px) {
  .neefus-fancy-menu {
    flex-wrap:wrap;
    align-content:center;
    gap:12px;
  }

  .neefus-fancy-menu a {
    min-width:calc(50% - 10px);
    padding:15px 18px;
    font-size:14px;
  }

  .neefus-fancy-menu.minimal {
    flex-direction:column;
    gap:18px;
  }

  .neefus-fancy-menu.minimal a {
    min-width:auto;
  }
}
