/* ============================================================
   Site-wide scroll reveal
   ------------------------------------------------------------
   A small, additive fade-up animation applied to ordinary content
   cards across the page (who-we-serve cards, service cards, chips,
   requirement items, revenue/earn cards, level cards, checklist
   items, feature rows, city badges, state cards). It only ever
   touches opacity/transform, is only ever activated by site-reveal.js
   adding the `reveal`/`is-in` classes at runtime, and is skipped
   entirely for reduced-motion users or if JS/IntersectionObserver
   isn't available — so with no JS, or on that one section, every
   element keeps its normal default styling and is fully visible,
   nothing here can hide content. The existing "How Bigfix GSP Works"
   pinned scroll-scrub section (#pfScrub) already has its own, much
   more elaborate scroll-driven reveal — this file/script deliberately
   never selects anything inside it, so the two systems never fight.
   ============================================================ */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .6s cubic-bezier(.16,.75,.3,1), transform .6s cubic-bezier(.16,.75,.3,1);
}
.reveal.is-in {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}
