/* Ne Dilersen O — Autumn Atmosphere | zero layout shift, no external assets */
.ndso-autumn-layer {
  position: fixed;
  inset: 0;
  z-index: 90;
  overflow: hidden;
  pointer-events: none !important;
  user-select: none;
  contain: layout style paint;
  isolation: isolate;
}

.ndso-autumn-leaf {
  position: absolute;
  top: 0;
  left: 0;
  width: var(--leaf-size, 32px);
  height: calc(var(--leaf-size, 32px) * 1.23);
  opacity: 0;
  will-change: transform, opacity;
  backface-visibility: hidden;
  animation: ndso-autumn-fall var(--fall-time, 18s) linear infinite;
  animation-delay: var(--fall-delay, 0s);
}

.ndso-autumn-leaf-inner {
  display: block;
  height: 100%;
  width: 100%;
  filter: drop-shadow(0 3px 3px rgba(95, 51, 28, .13));
  transform-origin: 48% 52%;
  animation: ndso-autumn-tumble var(--tumble-time, 6s) ease-in-out infinite alternate;
  animation-delay: var(--tumble-delay, 0s);
}

.ndso-autumn-leaf svg { display: block; width: 100%; height: 100%; }

@keyframes ndso-autumn-fall {
  0% {
    opacity: 0;
    transform: translate3d(var(--start-x), -20vh, 0) rotate(-14deg);
  }
  7% { opacity: var(--leaf-opacity, .65); }
  25% {
    transform: translate3d(calc(var(--start-x) + var(--sway-1)), 13vh, 0) rotate(6deg);
  }
  53% {
    transform: translate3d(calc(var(--start-x) + var(--sway-2)), 57vh, 0) rotate(-9deg);
  }
  77% {
    transform: translate3d(calc(var(--start-x) + var(--sway-3)), 90vh, 0) rotate(10deg);
  }
  92% { opacity: var(--leaf-opacity, .65); }
  100% {
    opacity: 0;
    transform: translate3d(calc(var(--start-x) + var(--end-drift)), 120vh, 0) rotate(18deg);
  }
}

@keyframes ndso-autumn-tumble {
  0%   { transform: rotate(-40deg) rotateY(0deg) scale(.92); }
  33%  { transform: rotate(23deg) rotateY(95deg) scale(1); }
  67%  { transform: rotate(-18deg) rotateY(195deg) scale(.86); }
  100% { transform: rotate(42deg) rotateY(345deg) scale(1.07); }
}

@media (max-width: 767px) {
  .ndso-autumn-leaf-inner { filter: drop-shadow(0 2px 2px rgba(95, 51, 28, .09)); }
}

@media (prefers-reduced-motion: reduce) {
  .ndso-autumn-layer { display: none !important; }
}

.ndso-autumn-layer.ndso-is-paused .ndso-autumn-leaf,
.ndso-autumn-layer.ndso-is-paused .ndso-autumn-leaf-inner {
  animation-play-state: paused;
}
