/* Patch 33. Fixed atmosphere behind content. No filter blur. */
.p33-atmo {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  contain: paint;
}
body.p33-on main,
body.p33-on .ANS_main-wrapper,
body.p33-on .ans-footer {
  position: relative;
  z-index: 1;
}
/* Page shells become the shifting wash. Bands and cards keep their own fills. */
body.p33-on :is(main.hm-page, main.srv-page, main.vid-page, main.apr-page, .ANS_main-wrapper) {
  background-color: transparent !important;
  background-image: none !important;
}
.p33-wash {
  position: absolute;
  inset: 0;
  background-color: #0f1d16;
  transition: background-color 1.15s ease;
}
.p33-wash[data-tone="1"] { background-color: #0c1913; }
.p33-wash[data-tone="2"] { background-color: #101f17; }
.p33-wash[data-tone="3"] { background-color: #0e1c15; }
.p33-wash[data-tone="4"] { background-color: #122017; }
.p33-blob {
  position: absolute;
  border-radius: 50%;
  will-change: transform;
  background: radial-gradient(circle, rgba(120,217,167,0.12) 0%, rgba(47,154,102,0.05) 38%, transparent 70%);
}
.p33-blob-1 {
  width: 46vw;
  height: 46vw;
  left: -8vw;
  top: -6vw;
  animation: p33-drift-a 52s ease-in-out infinite alternate;
}
.p33-blob-2 {
  width: 38vw;
  height: 38vw;
  right: -10vw;
  bottom: -8vw;
  background: radial-gradient(circle, rgba(47,154,102,0.14) 0%, rgba(21,90,55,0.05) 42%, transparent 72%);
  animation: p33-drift-b 68s ease-in-out infinite alternate;
}
.p33-blob-3 {
  width: 28vw;
  height: 28vw;
  left: 38vw;
  top: 42vh;
  background: radial-gradient(circle, rgba(120,217,167,0.09) 0%, transparent 68%);
  animation: p33-drift-c 76s ease-in-out infinite alternate;
}
.p33-dust {
  position: fixed;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: block;
}
@keyframes p33-drift-a {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(7vw, 5vh, 0); }
}
@keyframes p33-drift-b {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-6vw, -4vh, 0); }
}
@keyframes p33-drift-c {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-4vw, 6vh, 0); }
}
@media (max-width: 767px) {
  .p33-blob-3 { display: none; }
  .p33-blob-1 { width: 64vw; height: 64vw; }
  .p33-blob-2 { width: 52vw; height: 52vw; }
}
body.bm-enabled .p33-wash {
  transition-property: background-color !important;
  transition-duration: 1.15s !important;
  transition-timing-function: ease !important;
}
@media (prefers-reduced-motion: reduce) {
  .p33-blob,
  .p33-dust { display: none !important; }
  .p33-wash {
    transition: none !important;
    background-color: #0f1d16 !important;
  }
}
