
/* Gradient Abstract Shapes */
.background-shape {
  position: absolute;
  width: 400px;
  height: 400px;
  background: linear-gradient(135deg, rgba(107,70,193,0.15), rgba(50,191,168,0.1));
  border-radius: 50% 60% 40% 70%;
  filter: blur(80px);
  transform: rotate(-15deg);
  z-index: -1;
}

.background-shape-secondary {
  position: absolute;
  width: 350px;
  height: 350px;
  background: radial-gradient(circle at top right, rgba(49,130,206,0.1), transparent);
  border-radius: 60% 50% 70% 40%;
  filter: blur(60px);
  transform: rotate(25deg);
  z-index: -2;
}

.background-shape-tertiary {
  position: absolute;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle at bottom left, rgba(107,70,193,0.1), transparent);
  border-radius: 40% 60% 50% 70%;
  filter: blur(70px);
  transform: rotate(-10deg);
  z-index: -3;
}

/* Animations for background shapes */
@keyframes floatShape {
  0% {
    transform: translate(0, 0) rotate(-15deg);
  }
  50% {
    transform: translate(15px, -15px) rotate(-10deg);
  }
  100% {
    transform: translate(0, 0) rotate(-15deg);
  }
}

@keyframes floatShapeAlt {
  0% {
    transform: translate(0, 0) rotate(25deg);
  }
  50% {
    transform: translate(-10px, 10px) rotate(20deg);
  }
  100% {
    transform: translate(0, 0) rotate(25deg);
  }
}

@keyframes floatShapeTertiary {
  0% {
    transform: translate(0, 0) rotate(-10deg);
  }
  50% {
    transform: translate(5px, -8px) rotate(-5deg);
  }
  100% {
    transform: translate(0, 0) rotate(-10deg);
  }
}

.background-shape {
  animation: floatShape 25s ease-in-out infinite;
}

.background-shape-secondary {
  animation: floatShapeAlt 30s ease-in-out infinite;
}

.background-shape-tertiary {
  animation: floatShapeTertiary 28s ease-in-out infinite;
}

/* Animated gradient border for cards */
@keyframes borderMove {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.gradient-border-card {
  position: relative;
  background: #FFFFFF;
  z-index: 1;
}

.gradient-border-card::before {
  content: "";
  position: absolute;
  inset: -2px;
  background: linear-gradient(270deg, #6B46C1, #32BFA8, #3182CE);
  background-size: 600% 600%;
  z-index: -1;
  filter: blur(4px);
  animation: borderMove 10s ease infinite;
  border-radius: 12px;
}

/* Interactive hero section background */
.hero-interactive-bg {
  background-image: radial-gradient(circle at center, #F0F7FF, #FFFFFF);
  background-size: 120% 120%;
  transition: background-position 0.2s ease;
}
