body.home {
  position: relative;
}

body.home::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 50vh; /* Top half of viewport */
  background: #0d1b2a;
  z-index: 0;
  pointer-events: none;
}

body.home::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 50vh;
  z-index: 1;
  pointer-events: none;
  background-image:
    radial-gradient(white 1px, transparent 1px),
    radial-gradient(white 1.5px, transparent 1.5px),
    radial-gradient(white 2px, transparent 2px),
    radial-gradient(white 1px, transparent 1px);
  background-size: 40px 40px, 80px 80px, 120px 120px, 160px 160px;
  background-position: 0 0, 20px 10px, 10px 30px, 30px 5px;
  opacity: 0.5;
  animation: stars-move 30s linear infinite;
}

@keyframes stars-move {
  from {background-position: 0 0, 20px 10px, 10px 30px, 30px 5px;}
  to {background-position: 40px 40px, 60px 70px, 70px 110px, 130px 45px;}
}