.ambient-orbs-enabled {
  --ambient-orb-ring: color-mix(in srgb, #1fa3dc 38%, transparent);
  position: relative;
  isolation: isolate;
  overflow-x: clip;
}

html[data-theme="dark"] .ambient-orbs-enabled {
  --ambient-orb-ring: color-mix(in srgb, #ff7b8d 32%, transparent);
}

.ambient-orbs {
  position: absolute;
  z-index: 0;
  inset: 0;
  min-height: 100%;
  overflow: clip;
  pointer-events: none;
}

.about-page .home-particles-layer {
  z-index: 0 !important;
}

.about-page .about-container,
.about-page .footer-transition,
.about-page .footer-main {
  position: relative;
  z-index: 1;
}

.ambient-orb {
  position: absolute;
  left: var(--orb-x);
  top: var(--orb-y);
  width: var(--orb-size);
  aspect-ratio: 1;
  border: 1px solid var(--ambient-orb-ring);
  border-radius: 50%;
  opacity: var(--orb-opacity);
  transform: translate3d(-50%, -50%, 0);
  animation: ambient-orb-float var(--orb-duration) ease-in-out var(--orb-delay) infinite alternate;
  will-change: transform;
}

html[data-theme] body .home-particles-layer {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  opacity: 0 !important;
  visibility: hidden;
  contain: strict;
}

html[data-theme="dark"] body .home-particles-layer.home-particles-layer--ready {
  opacity: var(--particles-opacity, .42) !important;
  visibility: visible;
}

@keyframes ambient-orb-float {
  from { transform: translate3d(-50%, -50%, 0) rotate(-2deg); }
  to { transform: translate3d(calc(-50% + var(--orb-drift-x)), calc(-50% + var(--orb-drift-y)), 0) rotate(3deg); }
}

@media (max-width: 700px) { .ambient-orb { opacity: calc(var(--orb-opacity) * .72); } }

@media (prefers-reduced-motion: reduce) {
  .ambient-orb { animation: none; will-change: auto; }
}
