.signal-scene {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-height: max(32rem, calc(100svh - 5rem));
  overflow: hidden;
  background: #040d16;
}
.signal-scene img, .signal-grain, .signal-scene::after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.signal-scene img { object-fit: cover; }
.signal-voss { object-position: 35% center; z-index: -4; }
.signal-depths { object-position: 66% center; z-index: -3; opacity: 0; }
.signal-grain { z-index: -2; background: repeating-linear-gradient(0deg, transparent 0 3px, #04101852 3px 4px); opacity: .15; }
.signal-scene::after { content: ""; z-index: -1; background: linear-gradient(0deg,#040d16 0%,#040d1680 22%,transparent 60%); }
.signal-copy { display: flex; justify-content: space-between; align-items: end; gap: 1rem; padding-block: 3rem; }
.signal-copy h1 { color: #ead6af; font: 400 clamp(3.6rem, 11vw, 9rem)/.95 var(--fonte-titulo); text-shadow: 0 3px 10px #000; }
.signal-replay { min-width: 3rem; min-height: 3rem; padding: .25rem .6rem; color: #f5d59c; background: #06121e; border: 1px solid #aa8555; cursor: pointer; }
.signal-replay:hover { background: #183041; }
.signal-scene.signal-still .signal-depths { opacity: 1; }
@media (prefers-reduced-motion: no-preference) {
  .signal-voss { animation: deriva 12s ease-out both; transform-origin: 36% 50%; }
  .signal-run .signal-depths { animation: ruptura 7.7s both; }
  .signal-run .signal-grain { animation: interferencia 7.7s both; }
  @keyframes deriva { from { transform: scale(1.015); } to { transform: scale(1.075); } }
  @keyframes ruptura {
    0%, 66% { opacity: 0; clip-path: inset(47% 0 46%); }
    68% { opacity: .7; clip-path: inset(37% 0 45%); transform: translateX(8px); }
    73%, 94% { opacity: 1; clip-path: inset(0); transform: translateX(0); }
    100% { opacity: 0; clip-path: inset(0); }
  }
  @keyframes interferencia {
    0%, 66%, 77%, 100% { opacity: .15; transform: translateY(0); }
    70% { opacity: .85; transform: translateY(9px); }
  }
}
