.video-bg-layer{position:fixed;inset:0;z-index:0;pointer-events:none}.video-bg,.video-bg-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.video-bg{opacity:0;transition:opacity .8s ease;background:var(--color-bg,#000)}.video-bg-layer.is-playing .video-bg{opacity:1}.invitation-content{position:relative;z-index:1}@media (prefers-reduced-motion:reduce){.video-bg{transition:none}}.deco{pointer-events:none!important}.deco-overlay{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.deco-content{position:relative}@keyframes deco-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes deco-spin{to{transform:rotate(1turn)}}@keyframes deco-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes deco-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.78}}@keyframes deco-wiggle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes deco-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes deco-marquee-left{to{transform:translateX(-50%)}}@keyframes deco-marquee-right{0%{transform:translateX(-50%)}to{transform:translateX(0)}}.deco-anim-float{animation:deco-float 3s ease-in-out infinite}.deco-anim-spin{animation:deco-spin 8s linear infinite}.deco-anim-bounce{animation:deco-bounce 1.6s ease-in-out infinite}.deco-anim-pulse{animation:deco-pulse 2s ease-in-out infinite}.deco-anim-wiggle{animation:deco-wiggle 1.2s ease-in-out infinite}.deco-anim-pop{animation:deco-pop .6s cubic-bezier(.22,1,.36,1) both}.deco-marquee{position:relative;width:100%;overflow:hidden;white-space:nowrap;pointer-events:none}.deco-marquee__track{display:inline-flex;gap:2rem;padding-right:2rem;white-space:nowrap;will-change:transform}.deco-marquee[data-direction=left] .deco-marquee__track{animation:deco-marquee-left 18s linear infinite}.deco-marquee[data-direction=right] .deco-marquee__track{animation:deco-marquee-right 18s linear infinite}.deco-marquee[data-speed=slow] .deco-marquee__track{animation-duration:30s}.deco-marquee[data-speed=normal] .deco-marquee__track{animation-duration:18s}.deco-marquee[data-speed=fast] .deco-marquee__track{animation-duration:10s}.deco-divider{display:block;width:100%;height:0;border:none;margin:0;color:currentColor}.deco-divider[data-style=solid]{border-top:3px solid}.deco-divider[data-style=dashed]{border-top:3px dashed}.deco-divider[data-style=dotted]{border-top:3px dotted}.deco-divider[data-style=zigzag]{height:12px;background:linear-gradient(-45deg,transparent 33.33%,currentColor 0,currentColor 66.66%,transparent 0) 0 0 /16px 12px repeat-x}.deco-divider[data-style=wave]{height:14px;background:radial-gradient(circle at 8px -6px,transparent 8px,currentColor 8.5px,currentColor 9px,transparent 9.5px) 0 0 /16px 14px repeat-x}.deco-shape{display:block;background:currentColor}.deco-shape[data-shape=circle]{border-radius:50%}.deco-shape[data-shape=square]{border-radius:0}.deco-shape[data-shape=blob]{border-radius:42% 58% 60% 40%/50% 45% 55% 50%}.deco-shape[data-shape=ring]{background:transparent;border:6px solid;border-radius:50%}.deco-shape[data-shape=triangle]{clip-path:polygon(50% 0,0 100%,100% 100%)}.deco-shape[data-shape=star]{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.deco-shape[data-shape=sparkle]{clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}.deco-pattern{position:absolute;inset:0;color:currentColor}.deco-pattern[data-pattern=halftone]{background-image:radial-gradient(currentColor 2px,transparent 2.5px);background-size:22px 22px}.deco-pattern[data-pattern=dots]{background-image:radial-gradient(currentColor 1.5px,transparent 2px);background-size:14px 14px}.deco-pattern[data-pattern=grid]{background-image:linear-gradient(currentColor 1px,transparent 0),linear-gradient(90deg,currentColor 1px,transparent 0);background-size:24px 24px}.deco-pattern[data-pattern=diagonal]{background-image:repeating-linear-gradient(45deg,currentColor 0 2px,transparent 2px 12px)}.deco-pattern[data-pattern=zigzag]{background-image:repeating-linear-gradient(45deg,currentColor 0 8px,transparent 8px 16px)}@media (prefers-reduced-motion:reduce){.deco-anim-bounce,.deco-anim-float,.deco-anim-pop,.deco-anim-pulse,.deco-anim-spin,.deco-anim-wiggle,.deco-marquee__track{animation:none!important}}