/* Low-contrast light on edges, never on paragraphs. No looping flash or scroll lock. */
.introduction[data-flow-lit], .manifesto[data-flow-lit], .atelier[data-flow-lit],
.shared-moments[data-flow-lit], .invitation[data-flow-lit] { position: relative; }
.introduction[data-flow-lit]::after, .manifesto[data-flow-lit]::after,
.atelier[data-flow-lit]::after, .shared-moments[data-flow-lit]::after,
.invitation[data-flow-lit]::after {
  content: ''; position: absolute; pointer-events: none;
  left: -12px; top: 0; height: 100px; width: 1px;
  background: linear-gradient(transparent, #ddc28d99, transparent);
  box-shadow: 0 0 14px 2px #dfc68b0c;
  transform: translateY(calc(var(--reading-light-y, 50px) - 50px));
  opacity: 0; transition: opacity .7s ease;
}
.introduction[data-flow-lit="true"]::after, .manifesto[data-flow-lit="true"]::after,
.atelier[data-flow-lit="true"]::after, .shared-moments[data-flow-lit="true"]::after,
.invitation[data-flow-lit="true"]::after { opacity: 1; }
.introduction[data-flow-lit] .intro-player,
.atelier[data-flow-lit] .atelier-figure img,
.shared-moments[data-flow-lit] .moments-image img { transition: box-shadow .8s ease, outline-color .8s ease; }
.introduction[data-flow-lit="true"] .intro-player,
.atelier[data-flow-lit="true"] .atelier-figure img,
.shared-moments[data-flow-lit="true"] .moments-image img {
  outline: 1px solid #dbc18b55;
  box-shadow: 0 24px 65px #00000048, 0 0 42px #dfc18410;
}
.manifesto[data-flow-lit] h2, .invitation[data-flow-lit] h2 {
  text-decoration-line: underline; text-decoration-thickness: 1px;
  text-underline-offset: .24em; text-decoration-color: transparent;
  transition: text-decoration-color .8s ease;
}
.manifesto[data-flow-lit="true"] h2, .invitation[data-flow-lit="true"] h2 { text-decoration-color: #d8bc7c55; }
@media(prefers-reduced-motion:reduce) {
  html:not([data-yane-motion="on"]) [data-flow-lit]::after,
  html:not([data-yane-motion="on"]) [data-flow-lit] h2,
  html:not([data-yane-motion="on"]) [data-flow-lit] img,
  html:not([data-yane-motion="on"]) [data-flow-lit] .intro-player { transition: none; }
}
