*, *::before, *::after {
  user-select: none;
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* Old IE/Edge */
  -webkit-touch-callout: none; /* Disable iOS/mobile long-press popup */
  -webkit-tap-highlight-color: transparent; /* Remove mobile tap highlight */
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
}

/* Hide elements initially for the Scroll Reveal Observer */
article, .grid > div, h2, h3, p {
    opacity: 0;
}

/* Scroll Reveal Animation */
.fade-in-up {
    animation: fadeInUp 0.8s ease-out forwards;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Premium Scroll Indicator Animation */
@keyframes scroll-flicker {
    0% { transform: translateY(0); opacity: 0.8; }
    70% { opacity: 0.8; }
    100% { transform: translateY(12px); opacity: 0; }
}

.scroll-wheel-animation {
    animation: scroll-flicker 2.2s ease-out infinite;
}