/* ==========================================================
   Nalapad Group – Scroll entrance animations (component)
   Loaded on every page by layouts/app.blade.php, after preloader.css.
   assets/js/reveal.js tags elements with .rv--title / --media / --fade / --item,
   adds .reveal-ready to <html>, then .is-visible to each element as it scrolls in.
   The plain .reveal fade-up lives in base.css.
   ========================================================== */

:root { --rv-ease: cubic-bezier(.2, .7, .2, 1); }

/* ---- Headings: rise out of a mask (same feel as the hero title) ---- */
.reveal-ready .rv--title {
  clip-path: inset(-.2em -.2em 100% -.2em);
  transform: translateY(.5em);
  transition:
    clip-path 1.1s var(--rv-ease),
    transform 1.1s var(--rv-ease),
    opacity .9s var(--rv-ease);
}
.reveal-ready .rv--title.is-visible {
  clip-path: inset(-.2em -.2em -.2em -.2em);
  transform: none;
}

/* ---- Photos and the map: uncovered by a curtain wipe, like the loading screen ----
   The extra -60px keeps decorative frames around photos (careers, MD) visible. */
.reveal-ready .rv--media {
  clip-path: inset(100% -60px -60px -60px);
  transition:
    clip-path 1.3s cubic-bezier(.76, 0, .24, 1),
    transform .9s var(--rv-ease),
    opacity .9s var(--rv-ease);
}
.reveal-ready .rv--media.is-visible { clip-path: inset(-60px); }

/* ---- Small text, labels and buttons: soft fade up ---- */
.reveal-ready .rv--fade {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .8s var(--rv-ease) .15s, transform .8s var(--rv-ease) .15s;
}
.reveal-ready .rv--fade.is-visible { opacity: 1; transform: none; }

/* ---- List items: arrive one after another ---- */
.reveal-ready .rv--item {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity .8s var(--rv-ease) calc(var(--rv-i, 0) * 80ms + 100ms),
    transform .8s var(--rv-ease) calc(var(--rv-i, 0) * 80ms + 100ms);
}
.reveal-ready .rv--item.is-visible { opacity: 1; transform: none; }