/* Base styles */
html { 
  scroll-behavior: smooth; 
}

/* Animation utilities */
.reveal { 
  opacity: 0; 
  transform: translateY(24px); 
  transition: opacity .6s ease, transform .6s ease; 
}

.reveal.show { 
  opacity: 1; 
  transform: translateY(0); 
}

/* Header sticky behavior */
#site-header {
  transition: box-shadow 0.3s ease;
}

/* Responsive utilities */
@media (max-width: 768px) {
  .mobile-only {
    display: block;
  }
  
  .desktop-only {
    display: none;
  }
}

@media (min-width: 769px) {
  .mobile-only {
    display: none;
  }
  
  .desktop-only {
    display: block;
  }
}