.gw7-wrap {
  max-width: 480px;
  width: 100%;
  margin: 16px 0;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.gw7-bg { width: 100%; height: auto; display: block; }
.gw7-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.gw7-motion-top {
  -webkit-offset-path: path('M270,410 C430,410 430,300 600,300 L820,300');
  offset-path: path('M270,410 C430,410 430,300 600,300 L820,300');
  animation: gw7-move 2.2s linear infinite;
}
.gw7-motion-bottom {
  -webkit-offset-path: path('M270,410 C430,410 430,505 600,505 L820,505');
  offset-path: path('M270,410 C430,410 430,505 600,505 L820,505');
  animation: gw7-move 2.2s linear infinite 0.5s;
}
@keyframes gw7-move {
  0% { offset-distance: 0%; opacity: 0; }
  8% { opacity: 1; }
  92% { opacity: 1; }
  100% { offset-distance: 100%; opacity: 0; }
}

.gw7-ring { fill: none; stroke: #8b7cff; stroke-width: 3; transform-origin: center; transform-box: fill-box; }
.gw7-ring.r1 { animation: gw7-ring 2.4s ease-out infinite; }
.gw7-ring.r2 { animation: gw7-ring 2.4s ease-out infinite 0.8s; }
.gw7-ring.r3 { animation: gw7-ring 2.4s ease-out infinite 1.6s; }
@keyframes gw7-ring {
  0% { opacity: 0.8; transform: scale(0.4); }
  100% { opacity: 0; transform: scale(2.2); }
}
