/* ===== Load + scroll reveals for all pages (see lib/motionScript.ts). Only active under html.reef-motion (set by an inline script when the
   visitor allows motion); otherwise these rules never apply and content is simply visible. ===== */
html.reef-motion [data-rv] { opacity: 0; transform: translateY(14px); will-change: opacity, transform; }
html.reef-motion [data-rv="hero"] { transform: translateY(22px); }
/* The transition lives on the revealed state only, so hiding is instant and the reveal is the only thing that animates. */
html.reef-motion [data-rv][data-in] { opacity: 1; transform: none; transition: opacity 0.55s cubic-bezier(0.2, 0.7, 0.2, 1), transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1); transition-delay: var(--rv-d, 0ms); }
html.reef-motion [data-rv="hero"][data-in] { transition-duration: 0.7s, 0.9s; }
html.reef-motion [data-rv][data-done] { will-change: auto; transition: none; }
@media (prefers-reduced-motion: reduce) {
  html.reef-motion [data-rv] { opacity: 1 !important; transform: none !important; transition: none !important; }
}
