/* Content stays visible without JS. Motion decorates the reading experience. */
.reading-progress{position:fixed;z-index:55;top:0;left:0;width:100%;height:3px;pointer-events:none;background:transparent}.reading-progress span{display:block;width:100%;height:100%;background:#91aa70;transform:scaleX(0);transform-origin:left;will-change:transform}
.motion-pending{opacity:0;transform:translateY(22px)}.motion-enter{animation:gentle-arrival .8s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--arrival-delay,0ms)}
@keyframes gentle-arrival{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.scene-photo img,.guide-art img{transition:transform .9s cubic-bezier(.16,1,.3,1)}.guide-card:hover .guide-art img{transform:scale(1.035)}
.steps li.motion-enter>span{animation:step-bloom 1s ease-out both;animation-delay:var(--arrival-delay,0ms)}
@keyframes step-bloom{from{opacity:.5;transform:scale(.85)}to{opacity:1;transform:scale(1)}}
.scroll-invitation{display:flex;align-items:center;gap:9px;margin:18px 0 0;color:#6d7f5d;font-size:9px;letter-spacing:.12em}.scroll-invitation svg{width:14px;height:21px;stroke:currentColor;fill:none;stroke-width:1.2;animation:scroll-cue 2.7s ease-in-out 3}
@keyframes scroll-cue{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media(min-width:641px){.scroll-invitation{display:none}}
@media(max-width:640px){.motion-pending{transform:translateY(17px)}.motion-enter{animation-duration:.7s}.steps li{position:relative}.steps li+li:before{content:'';position:absolute;left:24px;top:-25px;height:20px;border-left:1px dashed #a4b591}.guide-card:active .guide-art img{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.motion-pending{opacity:1;transform:none}.motion-enter,.steps li.motion-enter>span,.scroll-invitation svg{animation:none}.guide-card:hover .guide-art img,.guide-card:active .guide-art img{transform:none}.reading-progress{display:none}}
