.ellipses {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.ellipse {
  position: absolute;
  border-radius: 50%;
  filter: blur(120px); /* Уменьшено размытие */
  opacity: 0.7; /* Увеличена непрозрачность */
  animation-timing-function: linear; /* Плавность движения */
  animation-iteration-count: infinite; /* Бесконечная анимация */
}

/* Анимация для первого эллипса */
@keyframes float1 {
  0% {
    transform: translateX(0%) translateY(0) scale(1);
  }
  10% {
    transform: translateX(10%) translateY(10px) scale(1.05);
  }
  20% {
    transform: translateX(20%) translateY(20px) scale(1.1);
  }
  30% {
    transform: translateX(30%) translateY(30px) scale(1.05);
  }
  50% {
    transform: translateX(40%) translateY(40px) scale(1.1); /* Двигается к 40% по X и 40px по Y */
  }
  70% {
    transform: translateX(30%) translateY(30px) scale(1.05);
  }
  90% {
    transform: translateX(20%) translateY(20px) scale(1.1);
  }
  100% {
    transform: translateX(0%) translateY(0) scale(1); /* Возвращается в исходное положение */
  }
}

/* Анимация для второго эллипса */
@keyframes float2 {
  0% {
    transform: translateX(0%) translateY(0) scale(1);
  }
  10% {
    transform: translateX(10%) translateY(-10px) scale(1.05);
  }
  20% {
    transform: translateX(20%) translateY(-20px) scale(1.1);
  }
  30% {
    transform: translateX(30%) translateY(-30px) scale(1.05);
  }
  50% {
    transform: translateX(40%) translateY(-40px) scale(1.1); /* Двигается к 40% по X и -40px по Y */
  }
  70% {
    transform: translateX(30%) translateY(-30px) scale(1.05);
  }
  90% {
    transform: translateX(20%) translateY(-20px) scale(1.1);
  }
  100% {
    transform: translateX(0%) translateY(0) scale(1); /* Возвращается в исходное положение */
  }
}

/* Анимация для третьего эллипса */
@keyframes float3 {
  0% {
    transform: translateX(0%) translateY(0) scale(1);
  }
  10% {
    transform: translateX(-10%) translateY(10px) scale(1.05);
  }
  20% {
    transform: translateX(-20%) translateY(20px) scale(1.1);
  }
  30% {
    transform: translateX(-30%) translateY(30px) scale(1.05);
  }
  50% {
    transform: translateX(-40%) translateY(40px) scale(1.1); /* Двигается к -40% по X и 40px по Y */
  }
  70% {
    transform: translateX(-30%) translateY(30px) scale(1.05);
  }
  90% {
    transform: translateX(-20%) translateY(20px) scale(1.1);
  }
  100% {
    transform: translateX(0%) translateY(0) scale(1); /* Возвращается в исходное положение */
  }
}

/* Цвета и позиции эллипсов */
.ellipse:nth-child(1) {
  background: #86A1DF;
  width: 380px;
  height: 850px;
  top: 12%;
  left: 13%;
  animation: float1 30s infinite;
}

.ellipse:nth-child(2) {
  background: #BAACF6;
  width: 543px;
  height: 800px;
  top: 14%;
  left: 36%;
  animation: float2 35s infinite;
}

.ellipse:nth-child(3) {
  background: #b8ede8;
  width: 380px;
  height: 850px;
  top: 9%;
  left: 70%;
  animation: float3 40s infinite;
}

/* Мобильная версия (для экранов до 768px) */
@media (max-width: 768px) {
  .ellipse {
    filter: blur(60px); /* Уменьшаем размытие для мобильных устройств */
  }
  .ellipse:nth-child(1),
  .ellipse:nth-child(2),
  .ellipse:nth-child(3) {
    width: 310px;
    height: 650px;
  }
}

/* Мобильная версия для экранов до 480px */
@media (max-width: 480px) {
  .ellipse {
    filter: blur(60px); /* Уменьшаем размытие для мобильных устройств */
  }
  .ellipse:nth-child(1),
  .ellipse:nth-child(2),
  .ellipse:nth-child(3) {
    width: 220px;
    height: 455px;
  }
}

/* Очень маленькие экраны (например, 320px) */
@media (max-width: 320px) {
  .ellipse {
    filter: blur(40px); /* Уменьшаем размытие для мобильных устройств */
  }
  .ellipse:nth-child(1),
  .ellipse:nth-child(2),
  .ellipse:nth-child(3) {
    width: 145px;
    height: 450px;
  }
}
