/* WOPD: DESIGN — BUILD FROM: deploy/_shared/commons/patterns/reveal + deploy/_shared/ss-motion/ss-motion.css + DESIGN.md GOLD 1.4 + RING.md
 * REF: deploy/_shared/commons/patterns/reveal/index.mjs + still.md (still-first poster)
 * BRAIN: proof-required — headless 320+1440 stills + reduced.css opacity-only stillFallback0 TIME0
 * ring: commons
 * seed: inherit (door seed via [data-ss-seed]; fallback silk 560 cubic-bezier(0.16,1,0.3,1))
 * still: ./still.md
 * reduced: opacity-only (final state immediately — reduced.css)
 * when-not: above-the-fold hero payload, receipts, tables, anything the reader came to read first
 *
 * C-REVEAL — enter-on-scroll. Progressive: without JS nothing hides.
 * JS sets data-c-reveal-armed on <html>; only then do unrevealed elements sit low.
 * 8px rise max — reveal is an arrival, not a launch.
 * PERFECTED 2026-09-06 muse-spark-1.2 scaffold
 */

[data-c-reveal-armed] [data-c-reveal] {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity var(--ss-duration, var(--ss-silk-duration, 560ms)) var(--ss-easing, var(--ss-silk-easing, cubic-bezier(0.16, 1, 0.3, 1))),
    transform var(--ss-duration, var(--ss-silk-duration, 560ms)) var(--ss-easing, var(--ss-silk-easing, cubic-bezier(0.16, 1, 0.3, 1)));
}

[data-c-reveal-armed] [data-c-reveal][data-revealed] {
  opacity: 1;
  transform: translateY(0);
}

/* BRAIN: without JS or on reduce — content stays visible as finished page */
@media (prefers-reduced-motion: reduce) {
  [data-c-reveal] {
    opacity: 1 !important;
    transform: none !important;
  }
}
