body {
  perspective: 1px;
  transform-style: preserve-3d;
  height: 100vh;
  overflow-y: scroll;
  overflow-x: hidden;
}


/* Material icons variation defaults */
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Carousel 3D helpers */
.carousel-3d { perspective: 1000px; }
.carousel-item { transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.6s, filter 0.6s; transform-style: preserve-3d; }
.carousel-item-wrapper.active .carousel-item { transform: scale(1) translateZ(0); opacity: 1; filter: blur(0px); z-index: 20; }
.carousel-item-wrapper.prev .carousel-item { transform: translateX(-50%) scale(0.8) translateZ(-150px); opacity: 0.7; filter: blur(2px); z-index: 10; }
.carousel-item-wrapper.next .carousel-item { transform: translateX(50%) scale(0.8) translateZ(-150px); opacity: 0.7; filter: blur(2px); z-index: 10; }
.carousel-item-wrapper.hidden-prev .carousel-item { transform: translateX(-80%) scale(0.6) translateZ(-300px); opacity: 0; }
.carousel-item-wrapper.hidden-next .carousel-item { transform: translateX(80%) scale(0.6) translateZ(-300px); opacity: 0; }

 #particles-js { position:fixed; inset:0; z-index:0; pointer-events:none; }
.content { position:relative; z-index:10; text-align:center;  }