/* Background-only layers: never transform/isolate the hero, whose tree joins the opening. */
.atmosphere-scene { position: relative; }
:where(.atmosphere-scene > .wrap) { position: relative; z-index: 1; }
.seed-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; border-radius: inherit; color: #406f3e; --seed-opacity: .24; }
[data-atmosphere-tone="dark"] > .seed-field { color: #b4cb98; --seed-opacity: .3; }
.drifting-seed { position: absolute; left: var(--seed-x); top: var(--seed-y); width: var(--seed-size); height: auto; aspect-ratio: 40 / 64; opacity: var(--seed-opacity); transform-origin: 50% 70%; animation: seed-drift var(--seed-duration) ease-in-out var(--seed-delay) infinite var(--seed-direction); animation-play-state: paused; }
.drifting-seed:nth-of-type(3n) { --seed-opacity: .14; }
.is-atmosphere-active > .seed-field .drifting-seed { animation-play-state: running; }
.atmosphere-paused .seed-field .drifting-seed,
.nav-open .seed-field .drifting-seed,
.intro-active .seed-field .drifting-seed,
.intro-revealing .seed-field .drifting-seed { animation-play-state: paused; }
.intro-active .seed-field, .intro-revealing .seed-field { visibility: hidden; }
@keyframes seed-drift {
  0%, 100% { transform: translate3d(0, 34px, 0) rotate(-14deg); }
  25% { transform: translate3d(23px, -24px, 0) rotate(8deg); }
  50% { transform: translate3d(-12px, -86px, 0) rotate(-8deg); }
  75% { transform: translate3d(16px, -30px, 0) rotate(16deg); }
}
@media (max-width: 640px) {
  .drifting-seed { width: calc(var(--seed-size) * .78); }
  .seed-field { --seed-opacity: .18; }
  [data-atmosphere-tone="dark"] > .seed-field { --seed-opacity: .24; }
}
@media (prefers-reduced-motion: reduce) {
  .seed-field .drifting-seed { animation: none; transform: rotate(-12deg); opacity: .15; }
}
