/* ─────────────────────────────────────
   BASE — shared visual effects & utility classes
───────────────────────────────────── */
::-webkit-scrollbar { width: 3px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--dim); }

/* Grain Noise Overlay */
.noise {
  position: fixed; inset: 0; z-index: 9998; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
  opacity: 0.04;
}

/* Edge-Only (Outline) Text Class
   Updated to use 'em' so the stroke thickness scales perfectly with the font size.
   Shared utility — used by both the hero name ("SAXENA") and the contact
   headline ("STOPPING"), which is why it lives here rather than in hero.css
   or contact.css. */
.outline-text {
  color: transparent !important;
  -webkit-text-stroke: 1.5px var(--text) !important;
  stroke-width: 1.5px !important; /* Added for extra browser compatibility */
  background: none !important;
  -webkit-background-clip: unset !important;
  animation: none !important;
}

/* Respect the visitor's reduced-motion preference site-wide */
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }
