/* Base body styling - Sets the default font family for the entire page */
body {
  font-family: 'Inter', sans-serif;
  /* Ensure smooth font rendering */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Prevent layout shifts */
  overflow-x: hidden;
}

/* Fade slide animation - Used for smooth entrance animations of elements */
@keyframes fade-slide {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(.98);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Applies the fade-slide animation to elements with this class */
.fade-slide {
  animation: fade-slide .7s both;
  /* Improve animation performance */
  will-change: transform, opacity;
  /* Contain animation effects */
  contain: layout style paint;
}

/* Pulse slow animation - Creates a subtle pulsing effect */
@keyframes pulse-slow {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: .7;
  }
}

/* Applies the pulse-slow animation to elements with this class */
.pulse-slow {
  animation: pulse-slow 2s infinite;
  /* Improve animation performance */
  will-change: opacity;
  /* Contain animation effects */
  contain: layout style paint;
}

/* Content Protection CSS */
/* Prevent text selection on paragraphs and headings */
p, h1, h2, h3, h4, h5, h6 {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}

/* Prevent image dragging */
img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  -webkit-user-drag: none;
}

/* Allow form inputs to remain selectable */
input, textarea, select {
  -webkit-user-select: auto;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}