/* Custom Animations & Glows */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}
.animate-blink {
  animation: blink 1s step-end infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}
.animate-float {
  animation: float 4s ease-in-out infinite;
}

@keyframes pulse-beam {
  0% { transform: scaleX(0.05); opacity: 0.3; }
  50% { transform: scaleX(0.95); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0.8; }
}
.animate-beam {
  animation: pulse-beam 2.5s cubic-bezier(0.4, 0, 0.2, 1) infinite alternate;
}

@keyframes crane-arm {
  0%, 100% { transform: rotate(0deg); }
  50% { transform: rotate(-5deg); }
}
.crane-arm-motion {
  transform-origin: 40px 140px;
  animation: crane-arm 6s ease-in-out infinite;
}

@keyframes block-lift {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-16px); }
}
.block-lifting {
  animation: block-lift 3s ease-in-out infinite;
}

/* Ambient Solar Glow */
.solar-glow {
  box-shadow: 0 0 45px -5px rgba(255, 183, 3, 0.22);
}
.solar-glow-btn {
  box-shadow: 0 4px 20px -2px rgba(255, 183, 3, 0.35);
}
.solar-glow-btn:hover {
  box-shadow: 0 6px 28px 0 rgba(255, 183, 3, 0.55);
}

/* Emblema oficial */
.logo-emblem-container {
  background: radial-gradient(circle at center, #141a24 0%, #0d1117 70%, #080b0f 100%);
  box-shadow: 0 10px 35px -5px rgba(0, 0, 0, 0.8), 0 0 30px -5px rgba(255, 183, 3, 0.15);
}

.amber-prompt-glow {
  filter: drop-shadow(0 0 12px rgba(255, 183, 3, 0.75));
}

/* Grid overlay */
.bg-grid-pattern {
  background-size: 36px 36px;
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.03) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
}

/* Animação suave para o Pop-up */
@keyframes modalFadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
.modal-animate {
  animation: modalFadeIn 0.25s ease-out forwards;
}