/* Decorative home motion: keep copy upright and preserve the existing layout. */
.connection-ring{--orbit-radius:175px}
.connection-ring .orbit-node{top:calc(50% - 10px);left:calc(50% - 10px);right:auto;transform:rotate(62deg) translateY(calc(-1 * var(--orbit-radius))) rotate(-62deg);animation:esb-connection-orbit 32s linear infinite;animation-delay:-5.5s}
.connection-ring .orbit-node.second{top:calc(50% - 10px);left:calc(50% - 10px);right:auto;transform:rotate(-62deg) translateY(calc(-1 * var(--orbit-radius))) rotate(62deg);animation-delay:-26.5s}
.connection-ring .orbit-pill{--pill-x:0px;animation:esb-connection-label 7s ease-in-out infinite}
.connection-ring .orbit-pill.top{--pill-x:-50%}
.connection-ring .orbit-pill.left{animation-delay:-2.3s}
.connection-ring .orbit-pill.right{animation-delay:-4.6s}
@keyframes esb-connection-orbit{from{transform:rotate(0deg) translateY(calc(-1 * var(--orbit-radius))) rotate(0deg)}to{transform:rotate(360deg) translateY(calc(-1 * var(--orbit-radius))) rotate(-360deg)}}
@keyframes esb-connection-label{0%,100%{transform:translate(var(--pill-x),0)}50%{transform:translate(var(--pill-x),-3px)}}
.app-promo-art{--phone-lift:5px;--deal-lift:4px}
.app-promo-phone{animation:esb-app-phone-float 8s ease-in-out infinite}
.app-deal-hot{--deal-angle:-4deg;animation:esb-app-deal-float 7s ease-in-out infinite;animation-delay:-1.6s}
.app-deal-big{--deal-angle:3deg;animation:esb-app-deal-float 8.5s ease-in-out infinite;animation-delay:-4s}
@keyframes esb-app-phone-float{0%,100%{transform:translateX(-50%) translateY(0) rotate(7deg)}50%{transform:translateX(-50%) translateY(var(--phone-lift)) rotate(7deg)}}
@keyframes esb-app-deal-float{0%,100%{transform:translateY(0) rotate(var(--deal-angle))}50%{transform:translateY(calc(-1 * var(--deal-lift))) rotate(var(--deal-angle))}}
@media(max-width:1000px){.connection-ring{--orbit-radius:150px}}
@media(max-width:760px){.connection-ring{--orbit-radius:142.5px}.app-promo-art{--phone-lift:3px;--deal-lift:3px}}
/* Share the existing motion control with all decorative home animations. */
body:has(.luna-visual.motion-paused) :is(.connection-ring .orbit-node,.connection-ring .orbit-pill,.app-promo-phone,.app-deal){animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.connection-ring .orbit-node,.connection-ring .orbit-pill,.app-promo-phone,.app-deal{animation:none!important}}
