/* First Legacy Realty: scroll animations + hover (from the static site's motion.js / site.css) */
.ag-anim .ag-rv { opacity: 0; transition: opacity .8s ease, transform .9s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
.ag-anim .ag-up { transform: translateY(28px); }
.ag-anim .ag-left { transform: translateX(-48px); }
.ag-anim .ag-right { transform: translateX(48px); }
.ag-anim .ag-rv.ag-in { opacity: 1; transform: none; }
.ag-anim .ag-zoom img { transform: scale(1.1); transition: transform 1.4s cubic-bezier(.2,.7,.2,1); }
.ag-anim .ag-zoom.ag-in img { transform: scale(1); }
.elementor-widget-image img { transition: transform .6s ease; }
.elementor-widget-image:hover img { transform: scale(1.03) !important; }
.elementor-widget-image .elementor-widget-container { overflow: hidden; border-radius: 10px; }
.ag-card { transition: transform .25s ease, box-shadow .25s ease, opacity .8s ease, border-color .25s ease !important; }
.ag-card:hover { transform: translateY(-4px) !important; box-shadow: 0 16px 34px rgba(13,61,107,.12) !important; border-top-color: #eab03c !important; }
.ag-drift { background-size: 115% auto !important; transition: none; }
@media (max-width: 767px) { .ag-drift { background-size: cover !important; } .ag-anim .ag-left, .ag-anim .ag-right { transform: translateY(28px); } }
@media (prefers-reduced-motion: reduce) { .ag-rv { opacity: 1 !important; transform: none !important; } }
