/* RS WebLabs motion layer: lightweight, transform/opacity only, respects reduced-motion */
@keyframes rw-rise{from{transform:translateY(14px)}to{transform:none}}
@keyframes rw-glow{from{opacity:.55}to{opacity:1}}
@keyframes rw-pulse{0%{box-shadow:0 0 0 0 rgba(184,251,105,.55)}70%{box-shadow:0 0 0 8px rgba(184,251,105,0)}100%{box-shadow:0 0 0 0 rgba(184,251,105,0)}}
.inner-hero-copy,.editorial-copy{animation:rw-rise .7s cubic-bezier(.2,.7,.2,1) both}
.cta-glow{animation:rw-glow 5s ease-in-out infinite alternate}
.announce-dot,.dot{animation:rw-pulse 2.2s ease-out infinite}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}
.service-card,.benefit,.platform-feature,.lux-platform-card,.project-card,.platform-hub-card,.btn{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
@media (hover:hover){
.service-card:hover,.benefit:hover,.platform-feature:hover,.lux-platform-card:hover,.project-card:hover,.platform-hub-card:hover{transform:translateY(-4px)}
.btn:hover{transform:translateY(-2px)}
}
.wa-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:#b8fb69;color:#071322;font:700 14px/1 'DM Sans',Arial,sans-serif;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s ease}
.wa-float:hover{transform:translateY(-2px)}
.wa-float svg{width:18px;height:18px}
@media (max-width:560px){.wa-float span{display:none}.wa-float{padding:14px}.wa-float svg{width:22px;height:22px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}
