#fit-lavoro {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: clamp(140px, 24vw, 260px);
  padding: clamp(6px, 1.2vw, 12px) 0 clamp(3px, 0.6vw, 6px);
}

#fit-lavoro .fit-graphic {
  width: 75%;
  aspect-ratio: 14 / 8;
  display: flex;
  align-items: center;
  justify-content: center;
}

#fit-lavoro .fit-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

#fit-lavoro .fit-wave {
  fill: none;
  stroke: url(#fit-wave-gradient-faint);
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
  filter: drop-shadow(0 0 10px rgba(90, 210, 255, 0.18));
}

#fit-lavoro .fit-target {
  fill: rgba(140, 230, 255, 0.75);
  stroke: none;
  opacity: 0;
  transform-origin: center;
  transform: scale(1);
  filter: drop-shadow(0 0 10px rgba(140, 230, 255, 0.2));
}

#fit-lavoro .fit-target.is-azure {
  fill: rgba(140, 230, 255, 0.78);
  filter: drop-shadow(0 0 12px rgba(140, 230, 255, 0.25));
}

#fit-lavoro .fit-target.is-lilac {
  fill: rgba(160, 135, 255, 0.76);
  filter: drop-shadow(0 0 12px rgba(160, 135, 255, 0.22));
}

#fit-lavoro .fit-graphic.is-animate .fit-wave {
  animation: fit-draw 2.2s ease-out forwards;
}

#fit-lavoro .fit-graphic.is-animate .fit-target-1 {
  animation: fit-target 3.4s ease-in-out forwards 1.9s;
}

#fit-lavoro .fit-graphic.is-animate .fit-target-2 {
  animation: fit-target 3.4s ease-in-out forwards 2.02s;
}

#fit-lavoro .fit-graphic.is-animate .fit-target-3 {
  animation: fit-target 3.4s ease-in-out forwards 2.14s;
}

#fit-lavoro .fit-graphic.is-static .fit-wave {
  stroke-dashoffset: 0;
  opacity: 1;
}

#fit-lavoro .fit-graphic.is-static .fit-target {
  opacity: 1;
  transform: scale(1);
}

@keyframes fit-draw {
  0% {
    stroke-dashoffset: 1;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

@keyframes fit-target {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  70% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1.05);
  }
}

@media (prefers-reduced-motion: reduce) {
  #fit-lavoro .fit-graphic.is-animate .fit-wave,
  #fit-lavoro .fit-graphic.is-animate .fit-waves-base,
  #fit-lavoro .fit-graphic.is-animate .fit-waves-diverge,
  #fit-lavoro .fit-graphic.is-animate .fit-target {
    animation: none !important;
  }
}
