body {
  font-family: "Noto Sans JP", sans-serif;
  background-color: #000;
  color: #fff;
}

.font-en {
  font-family: "Montserrat", sans-serif;
}

.fade-in {
  /* opacity: 0; Remove this to be visible by default */
  transform: translateY(20px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* Only hide if JS is active */
.js-loading .fade-in {
  opacity: 0;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Custom Scrollbar for Works Tabs if needed */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Utilities */
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* Comparison Slider */
.comparison-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  touch-action: pan-y;
}

.comparison-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.after-image-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-image: url("../assets/images/details/after.png");
  background-size: cover;
  background-position: center;
  width: 50%;
  border-right: 2px solid #0055FF;
}

.slider-handle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  background-color: #0055FF;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: ew-resize;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  z-index: 10;
}

/* Shimmer Animation */
@keyframes shimmer {
  0% {
    transform: translateX(-150%) skewX(-20deg);
  }
  50% {
    transform: translateX(150%) skewX(-20deg);
  }
  100% {
    transform: translateX(150%) skewX(-20deg);
  }
}