main,#trail-canvas,.first-fold{
  height: 100%;
}

#trail-canvas {
  pointer-events: none;
  position: relative;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.trail-image {
  position: absolute;
  width: 220px;
  height: 150px;

  overflow: hidden;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
  animation: trailAppear 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  box-shadow:
    0 10px 40px rgba(0, 0, 0, 0.5),
    0 0 20px rgba(120, 80, 255, 0.2),
    inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  will-change: transform, opacity;
}

.trail-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@keyframes trailAppear {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.3);
  }

  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes trailDisappear {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
  70% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.6);
  }
}

.trail-image.removing {
  animation: trailDisappear 0.4s cubic-bezier(0.55, 0, 1, 0.45) forwards !important;
}

.text-container {
  width: 100%;
  flex: 1;
}

.h1-container {
  overflow: hidden;
}

.text-container h1 {
  font-weight: 600;
  line-height: 1.2;
  font-size: 60px;
  color: white;
}

.overlay-text {
  background-color: var(--bg-color);
  opacity: 0.7;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



@media (max-width: 575.98px) { 

  .text-container h1 {
    font-weight: 600;
    line-height: 1.2;
    font-size: 18px;
    color: white;
  }
}

@media (max-width: 991.98px) {
 .mouse-box {
    display: none;
  }

  #trail-canvas,
  .first-fold,
  .first-text-wrapper {
    min-height: 100svh;
  }

}

@media (min-width: 576px) and (max-width: 767.98px) { 
    .text-container h1 {
    font-weight: 600;
    line-height: 1.2;
    font-size: 30px;
    color: white;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) { 

 .text-container h1 {
    font-weight: 600;
    line-height: 1.2;
    font-size: 30px;
    color: white;
  }

}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .first-fold {
    height: 100vh;
    /* border: 2px solid red; */
    overflow: hidden;
    display: flex;
  }

  .text-container {
    flex: 1;
    width: 100%;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .first-fold {
    height: 100vh;
    /* border: 2px solid red; */
    overflow: hidden;
    display: flex;
  }

  .text-container {
    flex: 1;
    width: 100%;
  }
}

@media (min-width: 1400px) {
  .first-fold {
    height:100vh;
    /* border: 2px solid red; */
    overflow: hidden;
    display: flex;
  }

  .text-container {
    flex: 1;
    width: 100%;
  }
}
