.responsive-wrapper-desktop {
  width: 100vw;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  box-sizing: border-box;
}

.desktop-banner-wrapper {
  position: relative;
  width: 100vw;
  height: calc(100vw * 1080 / 1920);
  background: url("../images/v12_15.png") no-repeat center center;
  background-size: cover;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  box-sizing: border-box;
  padding-top: 9vh;
  padding-left: 7vw;
  padding-bottom: 10vh;
}

.wave-container-desktop {
  position: relative;
  width: 100%;
  z-index: 2;
  overflow: visible;
  display: flex;
  perspective: 1000px;
  justify-content: flex-start;
  box-sizing: border-box;
}

.v12_14 {
  width: 100%;
  height: auto;
  background: transparent;
  position: relative;
  overflow: auto;
  box-sizing: border-box;
}

.v12_15 {
  display: none;
}

.v12_17-18-wrapper {
  position: absolute;
  top: calc(100vw * 700 / 1920); 
  left: calc(100vw * 200 / 1920);
  display: flex;
  gap: calc(100vw * 40 / 1920);
  z-index: 3;
  box-sizing: border-box;
}

.v12_17,
.v12_18 {
  width: calc(100vw * 290 / 1920);
  min-width: 120px;
  max-width: 250px;
  animation: pulse 1.8s ease-in-out infinite;
  flex: 0 0 auto;
}

.v12_17 img,
.v12_18 img {
  width: 100%;
  height: auto;
  display: block;
  margin-left: 0;
}

.sparkle {
  position: absolute;
  top: -80px;
  width: 6px;
  height: 6px;
  background: linear-gradient(45deg, gold, white);
  border-radius: 50%;
  opacity: 0.8;
  animation: fall 3s linear infinite;
}

@keyframes fall {
  0% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(80vh); opacity: 0; }
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.07); }
  100% { transform: scale(1); }
}

