/* Continuous scroll choreography; the entrance is styled in cinematic-hero.css. */
.choreographed .content-section.reveal{opacity:var(--scene-opacity,1);transform:none;transition:none}
.choreographed .scene-piece{opacity:var(--piece-opacity,1);transform:translate3d(0,var(--piece-y,0),0);transition:none}
.story-art img{transform-origin:50% 40%;will-change:transform}
.quote-line{display:block;min-height:1.5em;will-change:opacity,transform,filter}
.detail{will-change:opacity,transform,filter}
.quran-verse{transform:none!important}
.travel-flower{position:fixed;top:0;left:0;right:auto;width:40px;height:40px;opacity:0;z-index:12;pointer-events:none;transition:none;text-shadow:none;filter:drop-shadow(0 2px 3px #66533440);will-change:transform}
.travel-flower img{display:block;width:100%;height:100%}
.program-track::after{content:'';position:absolute;right:0;top:14px;width:1px;height:var(--track-length,0px);transform:scaleY(var(--track-progress,0));transform-origin:top;background:linear-gradient(#c6ae7f,#9d7d43);pointer-events:none}
.timeline li::before{transition:background .5s,box-shadow .5s,border-color .5s;z-index:1;top:10px}
.timeline li.is-passed::before{background:#c3a366;border-color:#b69656}
.timeline li.is-current::before{box-shadow:0 0 0 5px #c3a36618,0 0 16px #c3a36688;background:#fff6dc}
.timeline li time,.timeline li h3{transition:color .5s}
.timeline li.is-current h3{color:var(--gold-dark)}
.jasmine-dock{display:block;width:40px;height:40px;margin:0 auto 1rem}
.choreographed .footer> :not(.jasmine-dock){opacity:var(--footer-presence,1);transform:translateY(calc((1 - var(--footer-presence,1))*9px))}
@media(prefers-reduced-motion:reduce){
 .seal-shimmer{display:none}
 .hero-content .eyebrow,.hero-content h1>*,.hero-content .fine-rule,.hero-content .wedding-date,.hero-content .romantic-phrase,.hero .scroll-cue,.scene-piece,.quote-line,.detail,.footer>*{opacity:1!important;transform:none!important;filter:none!important;animation:none!important}
 .story-art img{transform:none!important}
 .travel-flower{display:none}
 .jasmine-dock{background:url('./media/jasmine.svg') center/contain no-repeat}
 .program-track::after{transform:scaleY(1)}
}
