/* Ilustracao de desenvolvimento web (images/dev-hero.svg) + estrelas
   piscando no hero. A ilustracao flutua suavemente. */
.planet-wrap {
  position: absolute;
  top: 50%;
  right: 7%;
  transform: translateY(-50%);
  width: 400px;
  height: 400px;
  pointer-events: none;
}

/* Reduz em telas medias e some no celular */
@media (max-width: 1200px) {
  .planet-wrap {
    width: 300px;
    height: 300px;
  }
}
@media (max-width: 800px) {
  .planet-wrap { display: none; }
}

.section-banner {
  height: 100%;
  width: 100%;
  position: relative;
  background: url("../images/dev-hero.svg") center / contain no-repeat;
  filter: drop-shadow(0 0 28px rgba(77, 125, 255, 0.35));
  animation: planetFloat 7s ease-in-out infinite alternate;
}

@keyframes planetFloat {
  from {
    transform: translateY(-8px) rotate(-2deg);
  }
  to {
    transform: translateY(10px) rotate(2deg);
  }
}

.curved-corner-star {
  display: flex;
  position: relative;
}

.curved-corner-bottomleft,
.curved-corner-bottomright,
.curved-corner-topleft,
.curved-corner-topright {
  width: 4px;
  height: 5px;
  overflow: hidden;
  position: relative;
}

.curved-corner-bottomleft::before,
.curved-corner-bottomright::before,
.curved-corner-topleft::before,
.curved-corner-topright::before {
  content: "";
  display: block;
  width: 200%;
  height: 200%;
  position: absolute;
  border-radius: 50%;
}

.curved-corner-bottomleft::before {
  bottom: 0;
  left: 0;
  box-shadow: -5px 5px 0 0 white;
}

.curved-corner-bottomright::before {
  bottom: 0;
  right: 0;
  box-shadow: 5px 5px 0 0 white;
}

.curved-corner-topleft::before {
  top: 0;
  left: 0;
  box-shadow: -5px -5px 0 0 white;
}

.curved-corner-topright::before {
  top: 0;
  right: 0;
  box-shadow: 5px -5px 0 0 white;
}

@keyframes twinkling {
  0%,
  100% {
    opacity: 0.1;
  }
  50% {
    opacity: 1;
  }
}

#star-1 {
  position: absolute;
  left: -20px;
  animation: twinkling 3s infinite;
}

#star-2 {
  position: absolute;
  left: -40px;
  top: 30px;
  animation: twinkling 2s infinite;
}
#star-3 {
  position: absolute;
  left: 350px;
  top: 90px;
  animation: twinkling 4s infinite;
}
#star-4 {
  position: absolute;
  left: 200px;
  top: 290px;
  animation: twinkling 3s infinite;
}
#star-5 {
  position: absolute;
  left: 50px;
  top: 270px;
  animation: twinkling 1.5s infinite;
}

#star-6 {
  position: absolute;
  left: 250px;
  top: -50px;
  animation: twinkling 4s infinite;
}
#star-7 {
  position: absolute;
  left: 290px;
  top: 60px;
  animation: twinkling 2s infinite;
}
