.button.contact-btn {
  display: inline-block;
  padding: 12px 24px;
  border: 1.5px solid #60a5fa;
  border-radius: 20px;
  transition: all 0.25s ease-in;
  position: relative;
  overflow: hidden;
  font-size: 20px;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, #3b82f6, #8b5cf6);
  z-index: 1;
  font-family: 'Inter', 'Arial', sans-serif;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.22);
}

.button.contact-btn:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scaleY(1) scaleX(1.25);
  top: 100%;
  width: 140%;
  height: 180%;
  background-color: rgba(96, 165, 250, 0.07);
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}

.button.contact-btn:after {
  content: "";
  position: absolute;
  left: 55%;
  transform: translateX(-50%) scaleY(1) scaleX(1.45);
  top: 180%;
  width: 160%;
  height: 190%;
  background-color: #60a5fa;
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}

.button.contact-btn:hover {
  color: #fff;
  border: 1.5px solid #60a5fa;
  background: linear-gradient(135deg, #60a5fa, #a855f7);
}

.button.contact-btn:hover:before {
  top: -35%;
  background-color: #60a5fa;
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

.button.contact-btn:hover:after {
  top: -45%;
  background-color: #a855f7;
  transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

/* Optional: improve icon visibility on hover */
.button.contact-btn:hover .icon {
  color: #fff;
  transition: color 0.25s;
}