/* LB Capital Partners — shared professional polish (loaded on every demo page) */

html { scroll-behavior: smooth; }

/* Scroll-reveal: content blocks fade + rise into view. Only active when JS is on,
   so content is never hidden if scripts fail to run. */
.has-js [data-reveal] {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .8s cubic-bezier(.22,.61,.36,1),
              transform .8s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.has-js [data-reveal].reveal-in {
  opacity: 1;
  transform: none;
}
/* Stagger children of a revealed grid/flex container for a refined cascade */
.has-js [data-reveal][data-reveal-stagger] > * {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s cubic-bezier(.22,.61,.36,1),
              transform .7s cubic-bezier(.22,.61,.36,1);
}
.has-js [data-reveal][data-reveal-stagger].reveal-in > * { opacity: 1; transform: none; }
.has-js [data-reveal][data-reveal-stagger].reveal-in > *:nth-child(2) { transition-delay: .08s; }
.has-js [data-reveal][data-reveal-stagger].reveal-in > *:nth-child(3) { transition-delay: .16s; }
.has-js [data-reveal][data-reveal-stagger].reveal-in > *:nth-child(4) { transition-delay: .24s; }
.has-js [data-reveal][data-reveal-stagger].reveal-in > *:nth-child(n+5) { transition-delay: .32s; }

/* Fixed top nav: gains a soft shadow + faint gold underline once the page scrolls */
nav.site-scrolled {
  box-shadow: 0 8px 30px rgba(0,0,0,.45);
  border-bottom: 1px solid rgba(201,169,97,.35);
}

/* Images: subtle zoom on hover, but ONLY inside containers that clip overflow,
   so the image never spills outside its frame. */
.overflow-hidden img { transition: transform .7s cubic-bezier(.22,.61,.36,1); }
.overflow-hidden:hover img { transform: scale(1.05); }

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .has-js [data-reveal],
  .has-js [data-reveal][data-reveal-stagger] > * { opacity: 1 !important; transform: none !important; transition: none !important; }
  img { transition: none; }
}
