/* Five small blessings. Decorative only: no copy moves and nothing loops. */
.wb-pair{display:block;width:164px;height:78px;margin:0 0 18px;overflow:hidden;pointer-events:none;color:#947c5d}
.wb-pair svg{display:block;width:100%;height:100%;overflow:visible}
.wb-bird{transform-box:fill-box;transform-origin:center}
.wb-wing{transform-box:fill-box;transform-origin:85% 85%}
.wb-heart-divider{display:block;width:144px;height:30px;max-width:100%;margin:0 auto 22px;overflow:hidden;pointer-events:none;color:#a18564}
.wb-heart-divider svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.wb-heart-divider path{stroke-dasharray:1;stroke-dashoffset:0}
.wb-guide-seal{display:block;width:52px;height:42px;margin:0 0 14px;pointer-events:none;color:#9a7c57;overflow:hidden}
.wb-guide-seal svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.wb-guide-seal path{stroke-dasharray:1;stroke-dashoffset:0}
.wb-playing .wb-bird:first-child{animation:wb-flight-left 1800ms cubic-bezier(.2,.65,.35,1) both}
.wb-playing .wb-bird:nth-child(2){animation:wb-flight-right 1800ms cubic-bezier(.2,.65,.35,1) both}
.wb-playing .wb-wing{animation:wb-wingbeat 700ms ease-in-out 2}
.wb-playing.wb-heart-divider path{animation:wb-heart-ink 1300ms ease-out both}
.wb-playing.wb-guide-seal path{animation:wb-heart-ink 950ms ease-out both}
.wb-playing.chapter-vignette .chapter-ornament{animation:wb-chapter 1400ms ease-out both!important}
.wb-playing.wedding-scene .dove-one{animation:wb-scene-left 1700ms ease-out both!important}
.wb-playing.wedding-scene .dove-two{animation:wb-scene-right 1700ms ease-out both!important}
@keyframes wb-flight-left{0%{transform:translate(-12px,7px) rotate(-5deg)}55%{transform:translate(2px,-3px) rotate(2deg)}100%{transform:none}}
@keyframes wb-flight-right{0%{transform:translate(12px,9px) rotate(5deg)}55%{transform:translate(-2px,-2px) rotate(-2deg)}100%{transform:none}}
@keyframes wb-wingbeat{0%,100%{transform:rotate(0)}50%{transform:rotate(-9deg)}}
@keyframes wb-heart-ink{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes wb-chapter{0%{transform:translateY(5px) rotate(-2deg)}60%{transform:translateY(-1px) rotate(.6deg)}100%{transform:none}}
@keyframes wb-scene-left{0%{transform:translate(-7px,6px) rotate(-4deg)}60%{transform:translate(3px,-2px)}100%{transform:none}}
@keyframes wb-scene-right{0%{transform:translate(7px,6px) scaleX(-1) rotate(-4deg)}60%{transform:translate(-3px,-2px) scaleX(-1)}100%{transform:scaleX(-1)}}
@media(max-width:760px){.wb-pair{width:140px;height:66px;margin-bottom:15px}.wb-heart-divider{margin-bottom:18px}}
/* These declarations deliberately follow the finite-motion selectors. */
.motion-off .wb-playing *,.wd-reduced .wb-playing *,html.wb-motion-off .wb-playing *{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.wb-playing *{animation:none!important;transition:none!important}}
@media print{.wb-playing *{animation:none!important}}
