/* Revisão 06: decoração contínua, atrás do conteúdo e sem alterar o layout. */
.ambient-section {
  position: relative;
  isolation: isolate;
}
.ambient-layer {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.ambient-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: .85;
}
.ambient-glow {
  position: absolute;
  width: 650px;
  height: 650px;
  right: -120px;
  top: -170px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(184, 18, 79, .075), rgba(184, 18, 79, .015) 48%, transparent 70%);
  transform: translate3d(0, 0, 0);
}
.ambient-glow-secondary {
  width: 440px;
  height: 440px;
  top: auto;
  right: auto;
  bottom: -240px;
  left: -100px;
  background: radial-gradient(circle, rgba(98, 42, 113, .065), transparent 68%);
}
[data-ambient-theme="dark"] .ambient-glow {
  width: 760px;
  height: 760px;
  background: radial-gradient(circle, rgba(203, 80, 131, .14), rgba(203, 80, 131, .025) 46%, transparent 68%);
}
[data-ambient-theme="dark"] .ambient-glow-secondary {
  background: radial-gradient(circle, rgba(174, 127, 190, .09), transparent 68%);
}

@keyframes cygnus-ambient-drift {
  0%, 100% { transform: translate3d(-18px, -10px, 0) scale(.96); }
  50% { transform: translate3d(45px, 24px, 0) scale(1.05); }
}
@keyframes cygnus-ambient-drift-secondary {
  0%, 100% { transform: translate3d(24px, 10px, 0); }
  50% { transform: translate3d(-38px, -18px, 0); }
}
@media (prefers-reduced-motion: no-preference) {
  .ambient-glow {
    animation: cygnus-ambient-drift 22s ease-in-out infinite;
    animation-play-state: paused;
  }
  .ambient-glow-secondary {
    animation: cygnus-ambient-drift-secondary 28s ease-in-out infinite;
    animation-play-state: paused;
  }
  .ambient-active .ambient-glow { animation-play-state: running; }
  .ambient-paused .ambient-glow { animation-play-state: paused; }
}

@media (max-width: 600px) {
  .ambient-glow { width: 420px; height: 420px; right: -210px; }
}
@media (prefers-reduced-motion: reduce) {
  .ambient-layer { display: none !important; }
  .ambient-glow { animation: none !important; }
}
@media print {
  .ambient-layer { display: none !important; }
  .ambient-glow { animation: none !important; }
}
