.slop-gradient {
  background: linear-gradient(135deg, #8400e4 0%, #c185ff 100%);
}

.pixel-dither {
  background-image: radial-gradient(rgba(0, 0, 0, 0.05) 1px, transparent 1px);
  background-size: 4px 4px;
}

.bouncy-headline {
  letter-spacing: -0.02em;
}

.ambient-shadow {
  box-shadow: 0 20px 40px -15px rgba(132, 0, 228, 0.1);
}

.slop-shadow {
  box-shadow: 0 20px 40px -15px rgba(132, 0, 228, 0.15);
}

.glass-panel {
  background: rgba(242, 239, 254, 0.8);
  backdrop-filter: blur(20px);
}

.ghost-border {
  border: 2px solid rgba(174, 172, 185, 0.15);
}

.text-slop-gradient {
  background: linear-gradient(135deg, #8400e4 0%, #c185ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.noise-bg {
  position: relative;
}
.noise-bg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  opacity: 0.05;
  pointer-events: none;
  z-index: 0;
  border-radius: inherit;
}

@keyframes blob {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(30px, -50px) scale(1.1); }
  66% { transform: translate(-20px, 20px) scale(0.9); }
}
.animate-blob {
  animation: blob 12s infinite ease-in-out;
}
.animation-delay-2000 {
  animation-delay: 2s;
}
