/* RoamyHomey public motion enhancement — reduced-motion friendly */
@keyframes rhRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes rhFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes rhGlow{0%,100%{box-shadow:0 10px 24px rgba(255,124,24,.12)}50%{box-shadow:0 14px 32px rgba(255,124,24,.24)}}
body.rh-motion .hero-copy>*{animation:rhRise .72s both;animation-delay:calc(var(--rh-order,0)*110ms)}
body.rh-motion .collage img{animation:rhRise .9s both;animation-delay:.3s;transition:transform .6s ease,filter .6s ease}
body.rh-motion .collage img:hover{transform:scale(1.035);filter:saturate(1.1)}
body.rh-motion .button,body.rh-motion button{transition:transform .22s ease,box-shadow .22s ease,filter .22s ease}
body.rh-motion .button:hover,body.rh-motion button:hover{transform:translateY(-2px);filter:brightness(1.04)}
body.rh-motion .button:active,body.rh-motion button:active{transform:translateY(0)}
body.rh-motion .rh-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.2,1)}
body.rh-motion .rh-reveal.rh-visible{opacity:1;transform:none}
body.rh-motion .services article,body.rh-motion .places article,body.rh-motion .testimonial-grid article,body.rh-motion .property-grid>*{transition:transform .28s ease,box-shadow .28s ease}
body.rh-motion .services article:hover,body.rh-motion .places article:hover,body.rh-motion .testimonial-grid article:hover,body.rh-motion .property-grid>*:hover{transform:translateY(-5px);box-shadow:0 16px 32px rgba(9,32,66,.12)}
body.rh-motion .places img{transition:transform .55s ease}
body.rh-motion .places article:hover img{transform:scale(1.035)}
body.rh-motion .search-panel{animation:rhRise .7s .35s both}
@media(prefers-reduced-motion:reduce){body.rh-motion *,body.rh-motion *::before,body.rh-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.rh-motion .rh-reveal{opacity:1;transform:none}}
