/* Original copper atmosphere: lightweight CSS layers, no imported Pro assets. */
.wb-bits-atmosphere {
  --wb-bits-pointer-x: 0px;
  --wb-bits-pointer-y: 0px;
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  user-select: none;
}
.wb-bits-atmosphere * { pointer-events: none; }
.wb-bits-grid-stage {
  position: absolute;
  inset: 43% -18% -30%;
  perspective: 440px;
  perspective-origin: 50% 0;
  opacity: .43;
  transform: translate3d(var(--wb-bits-pointer-x), var(--wb-bits-pointer-y), 0);
  transition: transform 700ms cubic-bezier(.2, .7, .2, 1);
  mask-image: linear-gradient(transparent 0%, #000 24%, #000 74%, transparent 100%);
}
.wb-bits-grid-plane {
  position: absolute;
  inset: -24% -8% -70%;
  transform-origin: 50% 0;
  transform: rotateX(66deg);
  background-image:
    linear-gradient(color-mix(in srgb, var(--cl-accent-soft) 58%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--cl-accent) 43%, transparent) 1px, transparent 1px);
  background-size: 64px 64px;
  will-change: transform;
  animation: wb-bits-grid-travel 3.4s linear infinite;
}
.wb-bits-grid-horizon {
  position: absolute;
  top: 43%;
  left: 12%;
  width: 76%;
  height: 2px;
  opacity: .5;
  background: linear-gradient(90deg, transparent, var(--cl-accent-soft), transparent);
  box-shadow: 0 0 30px 7px color-mix(in srgb, var(--cl-accent) 14%, transparent);
  animation: wb-bits-horizon-breathe 7s ease-in-out infinite alternate;
}
.wb-bits-particle-field {
  position: absolute;
  inset: 0;
  --wb-bits-rise: -640px;
  transform: translate3d(var(--wb-bits-pointer-x), var(--wb-bits-pointer-y), 0);
  transition: transform 900ms cubic-bezier(.2, .7, .2, 1);
}
.wb-bits-mote {
  position: absolute;
  bottom: -16px;
  left: var(--wb-bits-mote-left);
  width: var(--wb-bits-mote-size);
  height: var(--wb-bits-mote-size);
  border-radius: 50%;
  background: var(--cl-accent-soft);
  box-shadow: 0 0 9px 2px color-mix(in srgb, var(--cl-accent) 48%, transparent);
  opacity: 0;
  animation: wb-bits-mote-rise var(--wb-bits-mote-duration) var(--wb-bits-mote-delay) linear infinite;
}
.wb-bits-mote:nth-child(3n) {
  background: #b6f0ff;
  filter: blur(.7px);
}
.wb-bits-beam-field {
  position: absolute;
  inset: -12% -12%;
  transform: translate3d(var(--wb-bits-pointer-x), var(--wb-bits-pointer-y), 0);
  transition: transform 900ms cubic-bezier(.2, .7, .2, 1);
  mask-image: radial-gradient(ellipse at 50% 64%, #000 12%, #000c 44%, transparent 74%);
}
.wb-bits-beam {
  position: absolute;
  width: 135%;
  height: 29%;
  left: -18%;
  top: 42%;
  border-radius: 48% 52% 55% 45%;
  background: linear-gradient(180deg,
    transparent 4%,
    color-mix(in srgb, var(--cl-accent) 6%, transparent) 30%,
    color-mix(in srgb, var(--cl-accent-soft) 29%, transparent) 48%,
    color-mix(in srgb, var(--cl-accent) 15%, transparent) 58%,
    transparent 83%);
  filter: blur(11px);
  transform-origin: 50% 50%;
  opacity: .8;
  animation: wb-bits-beam-sweep 11s ease-in-out infinite alternate;
}
.wb-bits-beam:nth-child(2) {
  top: 58%;
  height: 24%;
  opacity: .65;
  filter: blur(6px);
  animation-delay: -6s;
  animation-duration: 13s;
  animation-direction: alternate-reverse;
}
.wb-bits-beam:nth-child(3) {
  top: 28%;
  height: 33%;
  opacity: .5;
  filter: blur(15px);
  animation-delay: -4s;
  animation-duration: 16s;
}

/* The main motion controller remains the single lifecycle owner. */
.wb-bits-atmosphere[data-wb-bits-paused="true"] *,
.cortex-landing[data-wb-active="false"] .wb-bits-atmosphere *,
.cortex-landing :is(section, footer)[data-wb-in-view="false"] .wb-bits-atmosphere * {
  animation-play-state: paused !important;
}

/* Deslocamento por transform (compositor) em vez de background-position (repintura). */
@keyframes wb-bits-grid-travel {
  from { transform: rotateX(66deg) translate3d(0, -64px, 0); }
  to { transform: rotateX(66deg) translate3d(0, 0, 0); }
}
@keyframes wb-bits-horizon-breathe {
  from { opacity: .28; transform: scaleX(.86); }
  to { opacity: .63; transform: scaleX(1.06); }
}
@keyframes wb-bits-mote-rise {
  0% { transform: translate3d(0, 0, 0); opacity: 0; }
  12% { opacity: .68; }
  74% { opacity: .48; }
  100% { transform: translate3d(var(--wb-bits-mote-drift), var(--wb-bits-rise), 0); opacity: 0; }
}
@keyframes wb-bits-beam-sweep {
  0% { transform: translate3d(-3%, 23px, 0) rotate(-12deg) scaleY(.82); }
  50% { transform: translate3d(1%, -12px, 0) rotate(-3deg) scaleY(1.13); }
  100% { transform: translate3d(3%, -26px, 0) rotate(7deg) scaleY(.94); }
}

@media (max-width: 760px) {
  .wb-bits-grid-stage { inset: 41% -38% -20%; perspective: 320px; opacity: .32; }
  .wb-bits-grid-horizon { top: 41%; }
  .wb-bits-particle-field { --wb-bits-rise: -490px; }
  .wb-bits-mote:nth-child(n + 9) { display: none; }
  .wb-bits-beam { filter: blur(7px); }
  .wb-bits-beam:nth-child(2) { filter: blur(5px); }
  .wb-bits-beam:nth-child(3) { filter: blur(9px); }
}
@media (prefers-reduced-motion: reduce) {
  .wb-bits-atmosphere * { animation: none !important; transition: none !important; }
  .wb-bits-grid-stage, .wb-bits-particle-field, .wb-bits-beam-field { transform: none; }
  .wb-bits-mote { display: none; }
  .wb-bits-grid-stage { opacity: .16; }
  .wb-bits-beam { opacity: .25; transform: rotate(-8deg); }
}
@media print, (forced-colors: active) {
  .wb-bits-atmosphere { display: none !important; }
}
