.banner {
  width: 100%;
  max-width: 728px;
  height: 45px;
  background: linear-gradient(to right, #f53a68, #5640fc);
  color: #fff;
  font-family: 'Arial Black', Arial, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin: 0 auto 20px;
  padding: 0 10px;
}

.text-wrapper {
  animation: slideInOut 6s ease-in-out infinite;
  will-change: transform, opacity;
  white-space: nowrap;
  font-size: clamp(14px, 2vw, 20px);
  font-weight: bold;
}

@keyframes slideInOut {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  10% {
    transform: translateY(0);
    opacity: 1;
  }
  80% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(-30px);
    opacity: 0;
  }
}

/* Tablet */
@media (max-width: 768px) {
  .banner {
    height: 40px;
    margin-bottom: 10px;
  }
}

/* Mobile */
@media (max-width: 480px) {
  .banner {
    height: 30px;
    padding: 12px 10px;
  }

  .text-wrapper {
    font-size: 12px;
    white-space: normal;
    text-align: center;
    animation: fadeSlideMobile 3s ease-in-out infinite;
  }

  @keyframes fadeSlideMobile {
    0% {
      transform: translateY(30px);
      opacity: 0;
    }
    10% {
      transform: translateY(0);
      opacity: 1;
    }
    80% {
      transform: translateY(0);
      opacity: 1;
    }
    100% {
      transform: translateY(30px);
      opacity: 0;
    }
  }
}
