/* ============================================================
   hoenir — движение: руны и глаз крутятся навстречу,
   зрачки пульсируют, узел на втором экране живой
   ============================================================ */

/* ---------- общий контейнер глаза ---------- */

.eye {
  position: relative;
}

/* глаза третьего экрана позиционируются от .pulse__eyes */
.eye.pulse__eye {
  position: absolute;
}

.hero__decor > .hero__eye {
  position: absolute;
}

.hero__decor > .hero__eye .eye__iris {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}

.eye__iris {
  display: block;
  width: 100%;
  height: auto;
  will-change: transform;
}

/* ---------- вращение ---------- */

@keyframes orbit {
  from { rotate: 0deg; }
  to { rotate: 360deg; }
}

/* руны вокруг глаза */
.eye__runes {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 118%;
  height: auto;
  translate: -50% -50%;
  opacity: .55;
  pointer-events: none;
  animation: orbit var(--spin, 70s) linear infinite;
  animation-direction: var(--dir, normal);
  filter: drop-shadow(0 0 18px rgba(226, 241, 255, .18));
  will-change: transform;
}

/* главный глаз крутится навстречу своим рунам */
.hero__runes {
  animation-duration: 45s !important;
}

.hero__eye--main .eye__iris {
  animation: orbit 110s linear infinite reverse;
}

/* остальные глаза — медленно, у каждого своя скорость и сторона */
.hero__eye--left .eye__iris { animation: orbit 150s linear infinite reverse; }
.hero__eye--right .eye__iris { animation: orbit 130s linear infinite; }

.pulse__eye .eye__iris {
  animation: orbit var(--iris-spin, 160s) linear infinite;
  animation-direction: var(--iris-dir, normal);
}

/* ---------- пульсирующий зрачок ---------- */

.eye__pupil {
  position: absolute;
  inset: 0;
  background: var(--img) center / 100% 100% no-repeat;
  clip-path: circle(var(--pr, 17%) at var(--px, 50%) var(--py, 50%));
  transform-origin: var(--px, 50%) var(--py, 50%);
  animation: pupil 5.5s ease-in-out infinite;
  animation-delay: var(--delay, 0s);
  pointer-events: none;
}

@keyframes pupil {
  0%, 100% { scale: 1; }
  42% { scale: 1.15; }
  58% { scale: 1.15; }
}

/* ---------- фон: узел на втором экране и глаз в подвале ---------- */

.intro__knot {
  animation: orbit 240s linear infinite;
  will-change: transform;
}

.footer__bg {
  animation: orbit 300s linear infinite reverse;
  will-change: transform;
}

/* ---------- уважение к reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
  .eye__runes,
  .eye__iris,
  .hero__runes,
  .eye__pupil,
  .intro__knot,
  .footer__bg {
    animation: none !important;
  }
}
