/* ===== SERPENTINE PNG MODULE ===== */

.serpentine-layer{
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 4; /* под текстом и под Груней */
  overflow: hidden;
}

.serp{
  position: absolute;
  top: -40px;              /* прячем верх, чтобы казалось, что висит сверху */
  height: 420px;
  width: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  transform-origin: 50% 0%;
  opacity: 0.92;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.12));
  animation: serpHang 7s ease-in-out infinite;
}

/* слева */
.s1{
  left: -2%;
  width: 180px;
  opacity: 0.28;
  filter: blur(2px);
  animation-delay: 0s;
}

.s2{
  left: 11%;
  width: 195px;
  opacity: 0.78;
  animation-delay: .9s;
}

.s3{
  left: 24%;
  width: 170px;
  opacity: 0.22;
  filter: blur(3px);
  animation-delay: 1.6s;
}

/* справа */
.s4{
  right: 13%;
  width: 195px;
  opacity: 0.78;
  animation-delay: .5s;
}

.s5{
  right: -1%;
  width: 180px;
  opacity: 0.30;
  filter: blur(2px);
  animation-delay: 1.2s;
}

@keyframes serpHang{
  0%{
    transform: rotate(-2.5deg);
  }
  50%{
    transform: rotate(2.5deg);
  }
  100%{
    transform: rotate(-2.5deg);
  }
}

@media (max-width: 1200px){
  .serp{
    top: -120px;
    width: 170px;
  }

  .s1{ width: 145px; }
  .s2{ width: 160px; }
  .s3{ width: 140px; }
  .s4{ width: 160px; }
  .s5{ width: 145px; }
}

@media (max-width: 680px){
  .serp{
    top: -90px;
    width: 110px;
  }

  .s1{ width: 95px; }
  .s2{ width: 105px; }
  .s3{ width: 92px; }
  .s4{ width: 105px; }
  .s5{ width: 95px; }
}
.serpentine-back{
  position: fixed;
  inset: 0;
  z-index: 3; /* под птицей */
  pointer-events: none;
}

.serpentine-front{
  position: fixed;
  inset: 0;
  z-index: 25; /* перед птицей после открытия */
  pointer-events: none;
  overflow: hidden;
}

body.film-on .serpentine-front{
  z-index: 5; /* под плёнкой, пока она не снята */
}

body.revealed .serpentine-front{
  z-index: 25;
}

.serpentine-front .serp{
  filter:
    drop-shadow(0 12px 24px rgba(0,0,0,.2))
    brightness(1.05);
}