/* Fade up on scroll — apply .fade-up class to any element */
.fade-up { opacity: 0; transform: translateY(24px); transition: opacity 0.65s ease, transform 0.65s ease; }
.fade-up.visible { opacity: 1; transform: translateY(0); }

/* Staggered children */
.stagger > *:nth-child(1) { transition-delay: 0s; }
.stagger > *:nth-child(2) { transition-delay: 0.1s; }
.stagger > *:nth-child(3) { transition-delay: 0.2s; }
.stagger > *:nth-child(4) { transition-delay: 0.3s; }
.stagger > *:nth-child(5) { transition-delay: 0.4s; }

/* Gold underline hover effect for text links */
.link-gold { color: var(--gold); text-decoration: none; border-bottom: 0.5px solid transparent; transition: border-color 0.2s; }
.link-gold:hover { border-bottom-color: var(--gold); }

/* Image hover zoom wrapper */
.img-zoom { overflow: hidden; border-radius: var(--radius-md); }
.img-zoom img { transition: transform 0.6s ease; }
.img-zoom:hover img { transform: scale(1.05); }

/* Mobile menu toggle animation */
.mobile-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-toggle.open span:nth-child(2) { opacity: 0; }
.mobile-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@keyframes kenBurns {
  0%   { transform: scale(1); }
  100% { transform: scale(1.08); }
}

@keyframes chainGrow {
  from { width: 0%; }
  to   { width: 100%; }
}

@keyframes chainGrowY {
  from { height: 0%; }
  to   { height: 100%; }
}
