/* Round 22: replayable entrances; reset transitions are disabled only off screen. */
.reveal-reset,.reveal-reset *{transition:none!important}
@media(min-width:701px){
 /* Arrival is uncovered line by line, like light passing over the wall. */
 .arrival-copy p{opacity:1;clip-path:inset(0 0 100% 0);transform:translate3d(0,13px,0);transition:clip-path 1.15s cubic-bezier(.22,1,.36,1),transform 1.35s cubic-bezier(.22,1,.36,1)}
 .arrival-copy.entered p{clip-path:inset(0);transform:none}
 .arrival-copy p:nth-child(2){transition-delay:.16s}.arrival-copy p:nth-child(3){transition-delay:.32s}.arrival-copy p:nth-child(4){transition-delay:.48s}
 /* Fit the entire photograph inside a single viewport, retaining its 16:9 proportions. */
 .c152 .recovery{height:100svh;min-height:100svh;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
 .c152 .recovery-image{position:relative;flex:none;width:min(92vw,160svh);height:auto;aspect-ratio:16/9;margin:0;opacity:1;transform:none;clip-path:inset(0 3% 0 3%);transition:clip-path 1.6s cubic-bezier(.22,1,.36,1)}
 .c152 .recovery-image.seen{clip-path:inset(0)}
 .c152 .recovery-image img{width:100%;height:100%;object-fit:contain;object-position:center}
 .c152 .recovery-copy{left:max(9vw,calc((100vw - 160svh)/2 + 5vw));top:32%;width:31%;max-width:490px}
 .recovery-copy h2,.recovery-copy .recovery-spectrum,.recovery-amenities p{opacity:1;clip-path:inset(0 100% 0 0);transform:translate3d(-9px,0,0);transition:clip-path 1.25s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1)}
 .recovery.seen .recovery-copy h2,.recovery.seen .recovery-spectrum,.recovery.seen .recovery-amenities p{clip-path:inset(0);transform:none}
 /* Closing lines settle across one another, with the photograph arriving independently. */
 .c152 .closing h2{opacity:1!important;transition:none}
 .closing .title-line{opacity:1;clip-path:inset(0 100% 0 0);transform:translate3d(-12px,0,0);transition:clip-path 1.4s cubic-bezier(.22,1,.36,1),transform 1.55s cubic-bezier(.22,1,.36,1)}
 .closing .title-line:nth-child(2){transform:translate3d(12px,0,0);transition-delay:.22s}
 .closing.seen .title-line{clip-path:inset(0);transform:none}
 .c152 .closing figure{opacity:1;transform:translate3d(-14px,0,0);transition:transform 1.8s cubic-bezier(.22,1,.36,1)}
 .c152 .closing.seen figure{transform:none}
 .shadow-canopy .branch{animation-duration:6.5s;animation-timing-function:ease-in-out}
 .shadow-canopy .branch:nth-child(2){animation-duration:9s;animation-delay:-2.4s}
 .shadow-canopy .branch path:not(:first-child){transform-box:fill-box;transform-origin:0 100%;animation:leaf-breeze22 4.2s ease-in-out infinite alternate;animation-play-state:paused}
 .shadow-canopy .branch path:nth-child(3n){animation-duration:5s;animation-delay:-1.5s}
 .shadow-canopy .branch path:nth-child(3n + 1){animation-duration:3.5s;animation-delay:-.8s}
 .closing.in-view .shadow-canopy .branch path{animation-play-state:running}
 @keyframes leaf-breeze22{from{transform:rotate(-2.2deg)}to{transform:rotate(3.4deg)}}
 /* Start the second phrase clear of both photographs; scroll gently draws it left. */
 .samara-detail .detail-copy h2>span:last-child{margin-left:53%;margin-top:2svh;transform:translate3d(var(--samara-line-x,0px),var(--samara-line-y,0px),0);text-shadow:0 1px 12px var(--paper)}
 html[lang|=en] .samara-detail .detail-copy h2>span:last-child{margin-left:53%;margin-top:4svh;font-size:.84em}
}
@media(prefers-reduced-motion:reduce){
 .arrival-copy p,.closing .title-line,.recovery-copy h2,.recovery-copy .recovery-spectrum,.recovery-amenities p{opacity:1;clip-path:none;transform:none;transition:none}
 .c152 .recovery-image,.c152 .closing figure{clip-path:none!important;transform:none!important;transition:none!important}
 .shadow-canopy .branch,.shadow-canopy .branch path{animation:none!important}
 .samara-detail .detail-copy h2>span:last-child{transform:none}
}
