/* Ambient ellipse layers — Figma frame backgrounds (91:11, 360:596, 412:399 + mobile variants) */

.page-bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.page-bg__blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
  opacity: 0.55;
  transform: translate(-50%, -50%);
}

/* Home desktop — Главная/Декстоп 1440 */
.page-home .page-bg__blob--1 {
  width: min(674px, 47vw);
  height: min(656px, 46vw);
  left: 11%;
  top: 21%;
  background: #2831a7;
}

.page-home .page-bg__blob--2 {
  width: min(699px, 49vw);
  height: min(699px, 49vw);
  left: 12%;
  top: 56%;
  background: #2831a7;
  opacity: 0.45;
}

.page-home .page-bg__blob--3 {
  width: min(471px, 33vw);
  height: min(471px, 33vw);
  left: 82%;
  top: 39%;
  background: #ff3b00;
  opacity: 0.35;
}

.page-home .page-bg__blob--4 {
  width: min(645px, 45vw);
  height: min(645px, 45vw);
  left: 88%;
  top: 72%;
  background: #ff3b00;
  opacity: 0.28;
}

.page-home .page-bg__blob--5 {
  width: min(845px, 59vw);
  height: min(845px, 59vw);
  left: 2%;
  top: 88%;
  background: #001374;
  opacity: 0.5;
}

/* Services desktop */
.page-services .page-bg__blob--1 {
  width: min(309px, 22vw);
  height: min(309px, 22vw);
  left: 8%;
  top: 4%;
  background: #001374;
  opacity: 0.5;
}

.page-services .page-bg__blob--2 {
  width: min(247px, 17vw);
  height: min(247px, 17vw);
  left: 92%;
  top: 8%;
  background: #ff3b00;
  opacity: 0.35;
}

.page-services .page-bg__blob--3 {
  width: min(354px, 25vw);
  height: min(354px, 25vw);
  left: 6%;
  top: 42%;
  background: #ff3b00;
  opacity: 0.28;
}

.page-services .page-bg__blob--4 {
  width: min(454px, 32vw);
  height: min(454px, 32vw);
  left: 88%;
  top: 52%;
  background: #001374;
  opacity: 0.45;
}

.page-services .page-bg__blob--5 {
  width: min(396px, 28vw);
  height: min(396px, 28vw);
  left: 10%;
  top: 88%;
  background: #001374;
  opacity: 0.4;
}

.page-services .page-bg__blob--6 {
  width: min(244px, 17vw);
  height: min(244px, 17vw);
  left: 90%;
  top: 78%;
  background: #ff3b00;
  opacity: 0.25;
}

/* About desktop */
.page-about .page-bg__blob--1 {
  width: min(309px, 22vw);
  height: min(309px, 22vw);
  left: 8%;
  top: 3%;
  background: #001374;
  opacity: 0.5;
}

.page-about .page-bg__blob--2 {
  width: min(247px, 17vw);
  height: min(247px, 17vw);
  left: 92%;
  top: 7%;
  background: #ff3b00;
  opacity: 0.35;
}

.page-about .page-bg__blob--3 {
  width: min(354px, 25vw);
  height: min(354px, 25vw);
  left: 6%;
  top: 38%;
  background: #ff3b00;
  opacity: 0.28;
}

.page-about .page-bg__blob--4 {
  width: min(291px, 20vw);
  height: min(291px, 20vw);
  left: 88%;
  top: 48%;
  background: #001374;
  opacity: 0.45;
}

/* Hero-only ellipses (Ellipse 5/6 inside главный экран) */
.hero__ellipses {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.hero__ellipse {
  position: absolute;
  border-radius: 50%;
  filter: blur(50px);
  opacity: 0.6;
}

.hero__ellipse--blue {
  width: min(699px, 55vw);
  height: min(699px, 55vw);
  left: 26%;
  top: 0;
  background: #001374;
}

.hero__ellipse--orange {
  width: min(579px, 45vw);
  height: min(579px, 45vw);
  left: 58%;
  top: 12%;
  background: #ff3b00;
  opacity: 0.45;
}

/* Section decor motors — desktop only */
.decor {
  position: absolute;
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
  mix-blend-mode: overlay;
  overflow: hidden;
  max-width: min(360px, 28vw);
}

.decor--1 {
  left: 0;
  top: 880px;
  width: min(360px, 28vw);
}

.decor--2 {
  right: 0;
  top: 4200px;
  width: min(320px, 25vw);
}

.decor__motor {
  width: 100%;
  height: auto;
  transform: rotate(-9deg);
}

.decor--2 .decor__motor {
  transform: rotate(12deg);
}

@media (max-width: 1024px) {
  .page-bg__blob {
    filter: blur(45px);
    opacity: 0.45;
  }

  .page-home .page-bg__blob--1 {
    width: 280px;
    height: 280px;
    left: -15%;
    top: 2%;
    background: #001374;
  }

  .page-home .page-bg__blob--2 {
    width: 220px;
    height: 220px;
    left: 105%;
    top: 6%;
    background: #ff3b00;
  }

  .page-home .page-bg__blob--3 {
    width: 260px;
    height: 260px;
    left: 108%;
    top: 44%;
    background: #2831a7;
  }

  .page-home .page-bg__blob--4 {
    width: 240px;
    height: 240px;
    left: -12%;
    top: 82%;
    background: #001374;
  }

  .page-home .page-bg__blob--5 {
    width: 200px;
    height: 200px;
    left: 95%;
    top: 68%;
    background: #ff3b00;
    opacity: 0.3;
  }

  .page-services .page-bg__blob--1,
  .page-about .page-bg__blob--1 {
    width: 260px;
    height: 260px;
    left: -18%;
    top: 1%;
  }

  .page-services .page-bg__blob--2,
  .page-about .page-bg__blob--2 {
    width: 200px;
    height: 200px;
    left: 108%;
    top: 5%;
    background: #ff3b00;
  }

  .page-services .page-bg__blob--3,
  .page-about .page-bg__blob--3 {
    width: 280px;
    height: 280px;
    left: -15%;
    top: 38%;
    background: #ff3b00;
  }

  .page-services .page-bg__blob--4,
  .page-about .page-bg__blob--4 {
    width: 240px;
    height: 240px;
    left: 105%;
    top: 55%;
    background: #001374;
  }

  .page-services .page-bg__blob--5 {
    width: 220px;
    height: 220px;
    left: -10%;
    top: 85%;
  }

  .page-services .page-bg__blob--6 {
    width: 180px;
    height: 180px;
    left: 100%;
    top: 75%;
    background: #ff3b00;
  }

  .hero__ellipse--blue {
    width: 280px;
    height: 280px;
    left: -20%;
    top: -5%;
  }

  .hero__ellipse--orange {
    width: 220px;
    height: 220px;
    left: 85%;
    top: 8%;
  }

  .decor {
    display: none;
  }
}
