/* Sarv Gold V20 — golden cypress leaves + fine dust + minimal scroll cue */
.sarv-v20-leaves,
.sarv-v20-dust {
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
  opacity: var(--sarv-v20-decor-opacity, .96);
  transition: opacity .08s linear;
}

.sarv-v20-leaves {
  z-index: 12;
  contain: layout paint;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 11%, #000 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 11%, #000 88%, transparent 100%);
}

.sarv-v20-dust {
  z-index: 11;
}

.sarv-v20-leaf {
  --leaf-drift: 16px;
  --leaf-drift-end: -8px;
  --leaf-rotation: 0deg;
  --leaf-opacity: .65;
  position: absolute;
  bottom: -13%;
  display: block;
  height: auto;
  opacity: 0;
  transform-origin: 50% 50%;
  animation: sarv-v20-leaf-rise var(--leaf-duration, 9s) cubic-bezier(.38,.08,.31,.98) var(--leaf-delay, 0s) infinite;
  filter: drop-shadow(0 0 6px rgba(238,196,96,.34));
  will-change: transform, opacity;
}

.sarv-v20-leaf svg {
  display: block;
  width: 100%;
  height: auto;
  animation: sarv-v20-leaf-shimmer 2.8s ease-in-out infinite;
}

.sarv-v20-leaf:nth-child(2n) svg { animation-delay: -1.2s; }
.sarv-v20-leaf:nth-child(3n) svg { animation-delay: -2.1s; }

.sarv-v20-dust-dot {
  position: absolute;
  border-radius: 999px;
  background: #f7d987;
  box-shadow: 0 0 9px rgba(247,217,135,.55);
  opacity: var(--dust-opacity, .24);
  animation: sarv-v20-dust-float var(--dust-duration, 4s) ease-in-out var(--dust-delay, 0s) infinite;
  will-change: transform, opacity, filter;
}

.sarv-v20-scroll-cue {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: rgba(255,255,255,.7);
  animation: sarv-v20-cue-float 2.2s ease-in-out infinite;
}

.sarv-v20-scroll-cue__text {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .14em;
  color: rgba(238,210,141,.82);
}

.sarv-v20-scroll-cue__line {
  width: 1px;
  height: 28px;
  margin-top: 8px;
  background: linear-gradient(to bottom, rgba(239,212,143,0), rgba(239,212,143,.68), rgba(239,212,143,.12));
}

.sarv-v20-scroll-cue__arrow {
  width: 16px;
  height: 16px;
  margin-top: -2px;
  stroke: currentColor;
  stroke-width: 1.35;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@keyframes sarv-v20-leaf-rise {
  0% {
    opacity: 0;
    transform: translate3d(0,3vh,0) rotate(var(--leaf-rotation)) scale(.72);
  }
  13% { opacity: calc(var(--leaf-opacity) * .72); }
  42% {
    opacity: var(--leaf-opacity);
    transform: translate3d(var(--leaf-drift),-29vh,0) rotate(calc(var(--leaf-rotation) + 105deg)) scale(1);
  }
  76% { opacity: calc(var(--leaf-opacity) * .72); }
  100% {
    opacity: 0;
    transform: translate3d(var(--leaf-drift-end),-79vh,0) rotate(calc(var(--leaf-rotation) + 238deg)) scale(.8);
  }
}

@keyframes sarv-v20-leaf-shimmer {
  0%,100% { filter: brightness(.82) saturate(.9); }
  48% { filter: brightness(1.42) saturate(1.12) drop-shadow(0 0 6px rgba(255,228,150,.42)); }
}

@keyframes sarv-v20-dust-float {
  0%,100% {
    opacity: calc(var(--dust-opacity) * .55);
    transform: translate3d(0,7px,0) scale(.76);
    filter: brightness(.72);
  }
  50% {
    opacity: var(--dust-opacity);
    transform: translate3d(var(--dust-drift,6px),-8px,0) scale(1.08);
    filter: brightness(1.7) drop-shadow(0 0 3px rgba(255,230,153,.68));
  }
}

@keyframes sarv-v20-cue-float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}

@media (max-width: 480px) {
  .sarv-v20-leaf:nth-child(7),
  .sarv-v20-leaf:nth-child(8) {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sarv-v20-leaf {
    bottom: 14%;
    opacity: .25;
    animation: none !important;
  }
  .sarv-v20-leaf:nth-child(even) { bottom: 26%; }
  .sarv-v20-dust-dot,
  .sarv-v20-scroll-cue { animation: none !important; }
}
