html { scroll-behavior: smooth; }

.bg-woods {
  background:
    radial-gradient(1200px 600px at 10% 10%, rgba(57,190,119,0.2), transparent 60%),
    radial-gradient(900px 500px at 90% 20%, rgba(123,215,158,0.18), transparent 55%),
    radial-gradient(900px 700px at 60% 90%, rgba(24,127,75,0.22), transparent 60%),
    linear-gradient(180deg, #071b12 0%, #040f0a 100%);
}

.grain::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="220" height="220" viewBox="0 0 220 220"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="3" stitchTiles="stitch"/></filter><rect width="220" height="220" filter="url(%23n)" opacity="0.22"/></svg>');
  mix-blend-mode: overlay;
  opacity: 0.25;
}

.shine {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0));
  transform: translateX(-120%);
}

.mint-btn:hover .shine {
  animation: shine 1.1s ease-in-out;
}

@keyframes shine {
  0% {
    transform: translateX(-120%);
  }
  100% {
    transform: translateX(120%);
  }
}
