/* Liz Méndez — UX motion layer. Subtle by design; honors reduced motion. */
:root{--ux-ease:cubic-bezier(.16,1,.3,1)}
:focus-visible{outline:2px solid #8BA9D3!important;outline-offset:4px}
.btn,.nav-cta,.hero-cta,.property-action,.mobile-menu-cta,.listing-submit button,.seller-submit button,.shortlist-submit button,[data-wa-message],button{
  -webkit-tap-highlight-color:transparent;
}
.btn,.nav-cta,.hero-cta,.property-action,.mobile-menu-cta,.listing-submit button,.seller-submit button,.shortlist-submit button{
  position:relative;isolation:isolate;overflow:hidden;transition:transform .28s var(--ux-ease),box-shadow .28s var(--ux-ease),border-color .28s ease,background-color .28s ease,opacity .28s ease!important;
}
.btn::after,.nav-cta::after,.hero-cta::after,.property-action::after,.mobile-menu-cta::after,.listing-submit button::after,.seller-submit button::after,.shortlist-submit button::after{
  content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.22) 46%,transparent 72%);transform:translateX(-130%);transition:transform .65s var(--ux-ease);pointer-events:none;
}
.btn:hover::after,.nav-cta:hover::after,.hero-cta:hover::after,.property-action:hover::after,.mobile-menu-cta:hover::after,.listing-submit button:hover::after,.seller-submit button:hover::after,.shortlist-submit button:hover::after{transform:translateX(130%)}
.btn:hover,.nav-cta:hover,.hero-cta:hover,.property-action:hover,.mobile-menu-cta:hover,.listing-submit button:hover,.seller-submit button:hover,.shortlist-submit button:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(9,20,44,.16)}
.btn:active,.nav-cta:active,.hero-cta:active,.property-action:active,.mobile-menu-cta:active,.listing-submit button:active,.seller-submit button:active,.shortlist-submit button:active{transform:translateY(0) scale(.985)}
.site-nav>a:not(.nav-cta),.nav-parent-link{position:relative}
.site-nav>a:not(.nav-cta)::after,.nav-parent-link::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ux-ease);opacity:.65}
.site-nav>a:not(.nav-cta):hover::after,.nav-parent-link:hover::after,.site-nav>a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.property-card,.intent-card,.market-card,.course-card,.alliance-card,.service-card,.timeline-card,.gallery-card{will-change:transform;transition:transform .45s var(--ux-ease),box-shadow .45s var(--ux-ease),border-color .3s ease}
.property-card:hover,.market-card:hover,.course-card:hover,.alliance-card:hover,.service-card:hover,.gallery-card:hover{transform:translateY(-7px)}
.property-image img,.gallery-card img,.carousel-thumb img{transition:transform .75s var(--ux-ease),filter .45s ease}
.property-card:hover .property-image img,.gallery-card:hover img{transform:scale(1.035)}
.ux-reveal{opacity:0;transform:translateY(22px);transition:opacity .75s var(--ux-ease),transform .75s var(--ux-ease)}
.ux-reveal.ux-in{opacity:1;transform:none}
.ux-reveal[data-ux-delay="1"]{transition-delay:.06s}.ux-reveal[data-ux-delay="2"]{transition-delay:.12s}.ux-reveal[data-ux-delay="3"]{transition-delay:.18s}
.carousel-thumb:hover{transform:translateY(-2px)}
.carousel-arrow,.lightbox-arrow,.carousel-thumb{transition:transform .25s var(--ux-ease),background-color .25s ease,opacity .25s ease,border-color .25s ease!important}
.carousel-arrow:hover,.lightbox-arrow:hover{transform:translateY(-50%) scale(1.06)}
.carousel-thumb:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}.ux-reveal{opacity:1!important;transform:none!important;transition:none!important}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
