/* =========================================================
   Animations — decorative, motion, entrance
   ========================================================= */

/* Hero text stagger */
.hero-slide.active + .hero-content .hero-tag,
.hero .hero-tag { animation: rise .9s var(--ease) both; }
.hero h1 span, .hero h1 em { display: inline-block; animation: rise 1s var(--ease) both; }
.hero h1 em { animation-delay: .15s; }
.hero .lead { animation: rise 1s var(--ease) .3s both; }
.hero-cta .btn { animation: rise 1s var(--ease) .45s both; }
.hero-cta .btn:nth-child(2) { animation-delay: .6s; }
.hero-card { animation: rise 1.1s var(--ease) .5s both; }
@keyframes rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }

/* Marquee already animated in style.css */

/* Gold shimmer on headings hover */
.shimmer { background: linear-gradient(90deg, var(--gold) 0%, #fff6d6 50%, var(--gold) 100%);
  background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; }
.shimmer:hover { animation: shimmer 1.6s linear; }
@keyframes shimmer { to { background-position: -200% 0; } }

/* Fade in for lightbox */
.lightbox.open { animation: fade .35s var(--ease); }

/* Card hover lift easing applied inline */

/* Button glow */
.btn:hover { box-shadow: 0 12px 30px -10px rgba(201,162,74,.45); }

/* Nav link hover dot */
.menu > li > a::before {
  content:""; position: absolute; left: 50%; top: -6px; width: 4px; height: 4px;
  background: var(--gold); border-radius: 50%; transform: translateX(-50%) scale(0); transition: .4s;
}
.menu > li > a:hover::before, .menu > li.active > a::before { transform: translateX(-50%) scale(1); }

/* Subtle floating for seals */
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.hero-card .seal { animation: float 5s ease-in-out infinite; }

/* Reveal stagger utility */
.reveal.delay-4 { transition-delay: .4s; }
.reveal.delay-5 { transition-delay: .5s; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
}
