body {
    margin: 0;
    min-height: 100vh;
}

.fvt-header-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

h1 {
    font-family: arial;
    color: #fff;
}

/* Fullscreen particle background */
.particle-bg {
  position: fixed;
  inset: 0;
  z-index: -1;         /* behind content */
  overflow: hidden;
  background: #0b1020; /* base background */
}

/* The moving "particle field" */
.particle-bg::before {
  content: "";
  position: absolute;
  inset: -50%; /* oversize so movement doesn't reveal edges */
  opacity: 0.9;

  /* 3 layers of particles: small, medium, tiny */
  background-image:
    radial-gradient(circle, rgba(255,255,255,.55) 1px, transparent 1.6px),
    radial-gradient(circle, rgba(255,255,255,.35) 1.5px, transparent 2.4px),
    radial-gradient(circle, rgba(255,255,255,.25) 1px, transparent 1.8px);

  /* Density / spacing per layer */
  background-size:
    80px 80px,
    140px 140px,
    55px 55px;

  /* Start offsets so layers don’t align */
  background-position:
    0 0,
    40px 60px,
    20px 10px;

  /* Smooth movement; each layer drifts differently */
  animation: drift 20s linear infinite;
  filter: drop-shadow(0 0 2px rgba(255,255,255,.15));
}

/* Optional: subtle shimmer / depth */
.particle-bg::after {
  content: "";
  position: absolute;
  inset: -50%;
  background: inherit;
  opacity: 0.25;
  animation: drift2 35s linear infinite;
  mix-blend-mode: screen;
  transform: scale(1.1);
  filter: blur(0.5px);
}

@keyframes drift {
  0% {
    transform: translate3d(0, 0, 0);
    background-position:
      0 0,
      40px 60px,
      20px 10px;
  }
  100% {
    transform: translate3d(20%, 12%, 0);
    background-position:
      400px 260px,
      -260px 420px,
      520px -360px;
  }
}

@keyframes drift2 {
  0% {
    transform: translate3d(0, 0, 0) scale(1.1);
  }
  100% {
    transform: translate3d(-18%, 10%, 0) scale(1.1);
  }
}

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .particle-bg::before,
  .particle-bg::after {
    animation: none;
  }
}