/* AVRYN Consulting — restrained cinematic atmosphere. */
.av-ambient-system {
  --av-ambient-x: 72%;
  --av-ambient-y: 28%;
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}
.av-ambient-system::before {
  position: absolute;
  inset: -18%;
  content: "";
  opacity: .75;
  background:
    radial-gradient(circle at var(--av-ambient-x) var(--av-ambient-y), rgba(183, 216, 90, .11), transparent 30%),
    radial-gradient(circle at 15% 72%, rgba(183, 216, 90, .06), transparent 32%);
  filter: blur(8px);
  transition: opacity .8s ease;
}
.av-ambient-grid {
  position: absolute;
  inset: -8%;
  opacity: .1;
  background-image:
    linear-gradient(rgba(183, 216, 90, .08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(183, 216, 90, .08) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse at 70% 35%, #050505, transparent 68%);
  animation: avAmbientDrift 42s linear infinite;
}
.av-ambient-orbit {
  position: absolute;
  top: 50%;
  right: -18vw;
  width: min(74vw, 980px);
  aspect-ratio: 1;
  border: 1px solid rgba(183, 216, 90, .09);
  border-radius: 50%;
  transform: translateY(-50%);
  animation: avAmbientSpin 55s linear infinite;
}
.av-ambient-orbit::before,
.av-ambient-orbit::after {
  position: absolute;
  border: 1px solid rgba(183, 216, 90, .09);
  border-radius: inherit;
  content: "";
}
.av-ambient-orbit::before { inset: 17%; }
.av-ambient-orbit::after { inset: 34%; border-color: rgba(183, 216, 90, .11); }
.av-ambient-signal {
  position: absolute;
  top: 29%;
  right: 18%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #B7D85A;
  box-shadow: 0 0 16px rgba(183, 216, 90, .9), 0 0 46px rgba(183, 216, 90, .45);
  animation: avAmbientPulse 3.8s ease-in-out infinite;
}
body.av-ambient-enabled .av-site-main,
body.av-ambient-enabled .av-footer { position: relative; z-index: 2; }
body[data-av-ambient="quiet"] .av-ambient-system::before { opacity: .35; }
body[data-av-ambient="quiet"] .av-ambient-grid,
body[data-av-ambient="quiet"] .av-ambient-orbit { opacity: .35; }

@keyframes avAmbientDrift { to { transform: translate3d(80px, 80px, 0); } }
@keyframes avAmbientSpin { to { transform: translateY(-50%) rotate(360deg); } }
@keyframes avAmbientPulse { 50% { opacity: .35; transform: scale(.72); } }

@media (max-width: 900px) {
  .av-ambient-grid { opacity: .055; }
  .av-ambient-orbit { right: -58vw; width: 130vw; opacity: .45; }
}
@media (max-width: 680px) {
  .av-ambient-system::before { opacity: .48; }
  .av-ambient-grid { display: none; }
  .av-ambient-orbit { opacity: .25; }
}
@media (prefers-reduced-motion: reduce) {
  .av-ambient-system * { animation: none !important; }
}

