.home-ribbon {
  position: relative;
  width: 100%;
  overflow: hidden;
  z-index: 2;
  background: var(--background-secondary);
  padding: clamp(10px, 1vw, 22px) 0;
  border-top: 1px solid rgba(74, 52, 42, 0.12);
  border-bottom: 1px solid rgba(74, 52, 42, 0.12);
}

.home-ribbon__track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: home-ribbon-scroll 40s linear infinite;
}

.home-ribbon__set {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.home-ribbon__item {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: clamp(18px, 2vw, 44px);
  padding-right: clamp(18px, 2vw, 44px);
}

.home-ribbon__item span {
  flex-shrink: 0;
  font-size: 1vw;
  letter-spacing: clamp(1.5px, 0.2vw, 4px);
  line-height: 1;
  white-space: nowrap;
  color: #4A342A;
}

.home-ribbon__item i {
  display: block;
  flex-shrink: 0;
  width: clamp(4px, 0.32vw, 7px);
  height: clamp(4px, 0.32vw, 7px);
  background: #7A5A47;
  border-radius: 50%;
}

@keyframes home-ribbon-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(calc(var(--ribbon-distance) * -1px), 0, 0);
  }
}

@media (max-width: 1200px) {
  .home-ribbon {
    padding: 3vw 0;
  }

  .home-ribbon__item {
    gap: clamp(18px, 2.2vw, 26px);
    padding-right: clamp(18px, 2.2vw, 26px);
  }

  .home-ribbon__item span {
    font-size: 3vw;
    letter-spacing: clamp(1.5px, 0.2vw, 2.5px);
  }

  .home-ribbon__item i {
    width: clamp(4px, 0.4vw, 5px);
    height: clamp(4px, 0.4vw, 5px);
  }
}

@media (max-width: 768px) {
  .home-ribbon__track {
    animation-duration: 32s;
  }

  .home-ribbon__item {
    gap: 18px;
    padding-right: 18px;
  }

  .home-ribbon__item span {
    letter-spacing: 1.6px;
  }

  .home-ribbon__item i {
    width: 4px;
    height: 4px;
  }
}

@media (max-width: 480px) {
  .home-ribbon {
    padding: 4vw 0;
  }

  .home-ribbon__track {
    animation-duration: 28s;
  }

  .home-ribbon__item {
    gap: 15px;
    padding-right: 15px;
  }

  .home-ribbon__item span {
    font-size: 4vw;
    letter-spacing: 1.4px;
  }

  .home-ribbon__item i {
    width: 4px;
    height: 4px;
  }
}

@media (max-width: 360px) {
  .home-ribbon {
    padding: 4vw 0;
  }

  .home-ribbon__track {
    animation-duration: 26s;
  }

  .home-ribbon__item {
    gap: 13px;
    padding-right: 13px;
  }

  .home-ribbon__item span {
    letter-spacing: 1.2px;
  }

  .home-ribbon__item i {
    width: 3.5px;
    height: 3.5px;
  }
}

@media (max-width: 320px) {
  .home-ribbon {
    padding: 5vw 0;
  }

  .home-ribbon__track {
    animation-duration: 26s;
  }

  .home-ribbon__item {
    gap: 13px;
    padding-right: 13px;
  }

  .home-ribbon__item span {
    letter-spacing: 1.2px;
  }

  .home-ribbon__item i {
    width: 3.5px;
    height: 3.5px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-ribbon__track {
    animation: none;
    transform: none;
  }
}