/* Perched butterflies depart before the flowers slip away from the card. */
.sfb-garden{display:none;pointer-events:none}
.ecard-player.sf-soul-reveal[data-sf-delivery=butterfly]{--sf-arrival:12.5s}
.ecard-player.sf-soul-reveal[data-sf-delivery=butterfly] .sf-soul-stage{background:radial-gradient(ellipse at 50% 40%,#fffdf7,#f5edf4 52%,#dde9ea 100%);overflow:hidden}
.ecard-player.sf-soul-reveal[data-sf-delivery=butterfly] :is(.sf-idea-garden,.sf-soul-heart,.sf-soul-halo,.sf-soul-water,.sf-soul-dust,.sf-soul-petals,.sf-soul-veil){display:none!important}
.ecard-player.sf-soul-reveal[data-sf-delivery=butterfly] .sfb-garden{display:block;position:absolute;left:50%;top:48%;width:min(92vw,74dvh,40rem);aspect-ratio:.8;transform:translate(-50%,-50%);z-index:35;isolation:isolate}
.sfb-garden>svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 7px 12px #8b749027)}
.sfb-flowers{transform-box:view-box;transform-origin:50% 65%}
.ecard-player[data-sf-delivery=butterfly] .is-running .sfb-flowers-left{animation:sfb-flowers-left 12.5s cubic-bezier(.32,0,.22,1) both}
.ecard-player[data-sf-delivery=butterfly] .is-running .sfb-flowers-right{animation:sfb-flowers-right 12.5s cubic-bezier(.32,0,.22,1) both}
.ecard-player[data-sf-delivery=butterfly] .is-running .sfb-flowers-bottom{animation:sfb-flowers-bottom 12.5s cubic-bezier(.32,0,.22,1) both}
.sfb-butterfly{transform-origin:0 0}
.sfb-wing{transform-origin:0 0}
.ecard-player[data-sf-delivery=butterfly] .is-running .sfb-wing{animation:sfb-wingbeat .8s ease-in-out 15 alternate}
.ecard-player[data-sf-delivery=butterfly] .is-running .sfb-butterfly{animation:sfb-fly-away 12.5s cubic-bezier(.3,.1,.25,1) both;animation-delay:var(--delay)}
.ecard-player.sf-soul-reveal[data-sf-delivery=butterfly] .journey-object.sf-emerging-envelope:not(.is-opening){z-index:31;opacity:0;clip-path:none;animation:sfb-uncover-envelope 12.5s ease both}
@keyframes sfb-uncover-envelope{0%,49%{opacity:0;transform:translate(-50%,-48%) scale(.97)}66%{opacity:.65}88%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.ecard-player.sf-soul-reveal[data-sf-delivery=butterfly] .delivery-caption{bottom:7%;z-index:40;color:#65516d;font-family:Georgia,serif;font-style:italic;text-shadow:0 1px 8px #fffcf7}
@keyframes sfb-fly-away{0%,18%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}29%{opacity:1;transform:translate(var(--hover-x),-45px) rotate(var(--turn)) scale(.95)}35%{opacity:1;transform:translate(var(--mid-x),-220px) rotate(var(--turn)) scale(.85)}48%,100%{opacity:0;transform:translate(var(--fly-x),-850px) rotate(var(--turn)) scale(.55)}}
@keyframes sfb-wingbeat{from{transform:scaleX(1)}to{transform:scaleX(.28)}}
@keyframes sfb-flowers-left{0%,51%{opacity:1;transform:translate(0,0) rotate(0)}78%{opacity:.95;transform:translate(-430px,95px) rotate(-18deg)}100%{opacity:0;transform:translate(-700px,210px) rotate(-26deg)}}
@keyframes sfb-flowers-right{0%,53%{opacity:1;transform:translate(0,0) rotate(0)}81%{opacity:.95;transform:translate(430px,95px) rotate(18deg)}100%{opacity:0;transform:translate(700px,210px) rotate(26deg)}}
@keyframes sfb-flowers-bottom{0%,52%{opacity:1;transform:translateY(0)}83%{opacity:.6;transform:translateY(420px)}100%{opacity:0;transform:translateY(650px)}}
@keyframes sfb-uncover-card{0%,51%{opacity:0;transform:translate(-50%,-50%) scale(.97)}65%{opacity:.5}81%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-height:520px) and (orientation:landscape){.ecard-player.sf-soul-reveal[data-sf-delivery=butterfly] .sfb-garden{width:min(80vw,68dvh,30rem)}}
@media(prefers-reduced-motion:reduce){.ecard-player.sf-soul-reveal[data-sf-delivery=butterfly]:not(.motion-enabled) .sfb-garden{display:none}.ecard-player.sf-soul-reveal[data-sf-delivery=butterfly]:not(.motion-enabled) .sfb-garden *{animation:none!important}}
