/* One-time, short reveals. Content remains visible without JavaScript. */
[data-reveal] { --reveal-delay: 0ms; }
.motion-ready [data-reveal]:not(.is-visible) { opacity: 0; transform: translateY(22px); }
.motion-ready [data-reveal].is-visible { animation: page-arrive .75s cubic-bezier(.2,.65,.2,1) backwards; animation-delay: var(--reveal-delay); }
@keyframes page-arrive { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: translateY(0); } }
.motion-ready [data-reveal]:focus-within { opacity: 1; transform: none; animation: none; }
.motion-ready .hero-art.is-visible .moment-field { animation: line-art-arrive 1.6s ease-out both; }
.motion-ready .color-art.is-visible img { animation: bloom-arrive 1.8s cubic-bezier(.2,.65,.2,1) both; }
.motion-ready .white-art.is-visible img { animation: paper-arrive 1.6s ease-out both; transform-origin: 50% 80%; }
@keyframes line-art-arrive { from { transform: rotate(-5deg) scale(.95); } to { transform: rotate(0) scale(1); } }
@keyframes bloom-arrive { from { transform: rotate(-16deg) scale(.88); } to { transform: rotate(0) scale(1); } }
@keyframes paper-arrive { from { transform: perspective(1000px) rotateX(18deg) translateY(12px); } to { transform: perspective(1000px) rotateX(0) translateY(0); } }
@media (hover: hover) {
  .question-list summary, .belief-list article, .three-moves article, .color-notes article, .white-principles article { transition: transform .25s ease; }
  .question-list summary:hover, .belief-list article:hover, .white-principles article:hover { transform: translateX(5px); }
  .three-moves article:hover, .color-notes article:hover { transform: translateY(-6px); }
}
@media (prefers-reduced-motion: reduce) {
  .motion-ready [data-reveal], .motion-ready [data-reveal]:not(.is-visible), .motion-ready [data-reveal].is-visible { opacity: 1; transform: none; animation: none; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
@media print { .motion-ready [data-reveal] { opacity: 1 !important; transform: none !important; animation: none !important; } }
