/* The finale is a new gathering, not a collage of the preceding chapters. */
.gathering-finale .gathering-shared{position:absolute;width:96%;height:36%;object-fit:contain;left:2%;top:12%;transform:translateY(calc((1 - var(--gathered,0))*32px));transform-origin:center bottom}
.practice-scene .practice-object{width:52%;max-width:240px;height:55%;left:50%;bottom:9%;transform:translateX(-50%) translateY(12px) rotate(-5deg);opacity:0;transition:opacity .35s,transform .65s cubic-bezier(.2,.7,.2,1)}
.practice-scene[data-practice=welcome] .object-welcome,.practice-scene[data-practice=question] .object-question,.practice-scene[data-practice=listen] .object-listen{opacity:1;transform:translateX(-50%) translateY(0) rotate(0)}
.practice-scene .practice-slip{top:13%;font-size:clamp(23px,2.7vw,36px);padding:19px}
.practice-scene .scene-meaning{font-size:11px;bottom:14px}
.community-offering-art{float:right;width:116px;height:110px;margin:6px 0 12px 18px}
.community-letter-link{display:flex;align-items:center;gap:20px;margin-bottom:15px}
.community-letter-link .reading-art{width:100px;height:100px;flex:none}
.community-letter-link p{font:25px/1.12 var(--hand);max-width:200px}
@media(max-width:700px){
 .gathering-finale .gathering-shared{width:118%;left:-9%;top:23%;height:20%}
 .practice-scene .practice-object{max-width:190px}
 .community-offering-art{width:88px;height:90px;margin-left:12px}
 .community-letter-link{margin-top:8px;margin-bottom:0;gap:18px}
 .community-letter-link .reading-art{width:78px;height:78px}
 .community-letter-link p{font-size:23px}
}
.static-mode .practice-object{transition:none!important}
@media(prefers-reduced-motion:reduce){.practice-scene .practice-object{transition:none}}
.practice-scene .scene-label{left:0;top:6%;width:100%;text-align:center}
/* On narrow screens each side of the single panorama keeps its own space. */
.gathering-mobile{display:none}
@media(max-width:700px){
 .gathering-finale .gathering-shared{display:none}
 .gathering-mobile{display:block;position:absolute;top:24%;width:80%;height:auto;transform:translateY(calc((1 - var(--gathered,0))*25px))}
 .gathering-left{left:0;clip-path:inset(0 66% 0 0)}
 .gathering-right{right:0;clip-path:inset(0 0 0 57%)}
}
@media(max-width:700px){
 .practice-scene .practice-slip{left:14%;width:72%;padding:14px;font-size:23px;line-height:1.12;top:13%}
 .practice-scene .practice-object{height:38%;bottom:12%}
 .practice-scene .scene-meaning{font-size:10px;padding:0 12px;bottom:12px}
}
