.maintenance-hero {
  min-height: 100svh;
}

.maintenance-hero .hero-content {
  align-items: center;
}

.maintenance-hero .hero-sub {
  max-width: 32rem;
}

.maintenance-scene {
  flex: 0 0 clamp(320px, 40vw, 520px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.scene-core {
  position: relative;
  width: min(100%, 30rem);
  aspect-ratio: 1 / 1;
}

.scene-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.scene-ring-a {
  inset: 7%;
  background: radial-gradient(circle, rgba(240, 170, 36, 0.08), rgba(240, 170, 36, 0) 62%);
  box-shadow: inset 0 0 80px rgba(255, 255, 255, 0.04);
  animation: scenePulse 7s ease-in-out infinite;
}

.scene-ring-b {
  inset: 18%;
  border-style: dashed;
  border-color: rgba(240, 170, 36, 0.24);
  animation: sceneSpin 16s linear infinite;
}

.scene-console {
  position: absolute;
  right: 10%;
  bottom: 18%;
  width: 42%;
  transform: rotate(-7deg);
}

.console-screen {
  position: relative;
  padding: 1rem;
  border-radius: 18px;
  border: 1px solid rgba(240, 170, 36, 0.28);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.14), rgba(255,255,255,0.04)),
    rgba(14, 29, 46, 0.8);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
}

.console-screen span {
  display: block;
  height: 0.5rem;
  margin-bottom: 0.7rem;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(240,170,36,0.92), rgba(255,255,255,0.14));
  animation: flicker 3.2s ease-in-out infinite;
}

.console-screen span:nth-child(2) {
  width: 78%;
  animation-delay: 0.4s;
}

.console-screen span:nth-child(3) {
  width: 52%;
  margin-bottom: 0;
  animation-delay: 0.8s;
}

.console-base {
  width: 66%;
  height: 0.9rem;
  margin: 0.9rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(255,255,255,0.14), rgba(240,170,36,0.4), rgba(255,255,255,0.14));
}

.scene-spaceman {
  position: absolute;
  left: 10%;
  bottom: 7%;
  width: clamp(180px, 24vw, 260px);
  filter: drop-shadow(0 26px 40px rgba(0, 0, 0, 0.3));
  animation: floatWorker 5.5s ease-in-out infinite;
}

.scene-spark {
  position: absolute;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: var(--amber);
  box-shadow: 0 0 20px rgba(240, 170, 36, 0.9);
}

.scene-spark-a {
  right: 29%;
  bottom: 49%;
  animation: sparkBlink 1.8s ease-in-out infinite;
}

.scene-spark-b {
  right: 34%;
  bottom: 56%;
  width: 0.42rem;
  height: 0.42rem;
  animation: sparkBlink 1.8s ease-in-out infinite 0.6s;
}

@keyframes sceneSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes scenePulse {
  0%, 100% { transform: scale(1); opacity: 0.95; }
  50% { transform: scale(1.03); opacity: 1; }
}

@keyframes floatWorker {
  0%, 100% { transform: translateY(0px) rotate(-1deg); }
  50% { transform: translateY(-10px) rotate(1.5deg); }
}

@keyframes flicker {
  0%, 100% { opacity: 0.85; }
  50% { opacity: 1; }
}

@keyframes sparkBlink {
  0%, 100% { opacity: 0.3; transform: scale(0.8); }
  50% { opacity: 1; transform: scale(1.25); }
}

@media (max-width: 860px) {
  .maintenance-scene {
    flex: none;
    width: min(100%, 28rem);
  }
}

@media (max-width: 640px) {
  .maintenance-hero .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .scene-core {
    width: min(100%, 22rem);
  }

  .scene-console {
    right: 4%;
    bottom: 16%;
    width: 48%;
  }

  .scene-spaceman {
    left: 4%;
    bottom: 5%;
    width: 10.5rem;
  }
}
