
html, body { scroll-behavior: smooth; }
.hero-overlay { background: radial-gradient(60% 70% at 50% 40%, rgba(0,0,0,0.1), rgba(0,0,0,0.75)); }
.card-hover { transition: transform .35s ease, box-shadow .35s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(0,0,0,0.25); }
.shimmer {
  background: linear-gradient(90deg, rgba(255,255,255,0.05) 25%, rgba(255,255,255,0.15) 37%, rgba(255,255,255,0.05) 63%);
  background-size: 400% 100%;
  animation: shimmer 1.5s infinite;
}
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

.lightbox-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.95); display: none; align-items: center; justify-content: center; z-index: 50;
}
.lightbox-backdrop.active { display: flex; }
.lightbox-img { max-width: 92vw; max-height: 90vh; }
.lightbox-caption { color: #e5e7eb; text-align: center; margin-top: .75rem; }
