/* Growthfully Performance Optimizations */

/* Image lazy loading */
img[loading="lazy"] {
  opacity: 0;
  transition: opacity 0.3s ease;
}

img[loading="lazy"].loaded {
  opacity: 1;
}

/* Loading placeholder */
.img-placeholder {
  background: linear-gradient(90deg, var(--light-sage) 25%, var(--green-mist) 50%, var(--light-sage) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Font loading optimization */
.font-loading h1, .font-loading h2, .font-loading h3 {
  font-family: Georgia, serif;
}

.font-loading p, .font-loading span {
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Performance utilities */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* Mobile performance */
@media (max-width: 768px) {
  .hero {
    background-attachment: scroll;
  }
  
  body {
    -webkit-overflow-scrolling: touch;
  }
}