/* V2.5: lightweight paper edges; motion is attached to individual elements.
   Photos remain fully opaque once introduced. No chapter-wide fading. */
#story .story-b .photo-button,
#forever .forever-photo .photo-button,
.cover-portrait { filter:drop-shadow(0 1.5px 2px rgba(114,39,64,.075)); }
#moments .moments-a { filter:drop-shadow(0 1.5px 2px rgba(114,39,64,.075)); }
#forever .portrait-paper { box-shadow:1px 2px 0 rgba(169,82,112,.19); }
.motion-ready:not(.motion-reduced) [data-enter]:not(.is-shown) { opacity:0; }
.motion-line { display:inline-block; vertical-align:top; }
[data-enter].is-entering { will-change:transform,opacity; }
[data-enter="tape"],[data-enter="draw"] { transform-origin:left center; }
[data-enter="portrait-pop"],[data-enter="portrait-pop-right"],[data-enter="portrait-pop-left"],
[data-enter="portrait-rise"] { transform-origin:center 78%; }
[data-enter="paper-left"] { transform-origin:18% 22%; }
[data-enter="paper-right"] { transform-origin:82% 22%; }
[data-enter="headline"] { transform-origin:10% 70%; }
[data-enter="scrap-left"],[data-enter="scrap-right"] { transform-origin:center; }
.open-invite .icon { animation:none; }
.action-btn,.ending-share { transition:background-color .2s ease,transform .2s ease; }
.action-btn:active,.ending-share:active { transform:scale(.98); }
/* Apply the same final layout with JS disabled, or when the system requests less motion. */
.motion-reduced [data-enter] { opacity:revert!important; }
.motion-reduced { scroll-behavior:auto; }
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  [data-enter] { opacity:1!important; }
  *,*:before,*:after { animation:none!important;transition:none!important; }
}
