/* Stage 2: movement and feedback, preserving the accepted Stage 1 composition. */
.motion-reveal{backface-visibility:hidden}
.motion-image{translate:0 var(--lux-pan,0px);scale:1.035}
.offer-image{overflow:hidden}
[data-main-image].motion-image{scale:1;translate:0 calc(var(--lux-pan,0px)*.35)}
.motion-surface{position:relative;isolation:isolate}
.motion-glow{position:absolute;left:0;top:0;width:320px;height:320px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#d7bd8938 0%,#dce8f00c 33%,transparent 68%);opacity:0;z-index:-1;transition:opacity .7s;transform:translate3d(20px,0,0)}
.motion-pointer>.motion-glow{opacity:1}
.contact-band.motion-in-view:after{animation:lux-motion-reflection 2.7s cubic-bezier(.2,.6,.2,1) both}
@keyframes lux-motion-reflection{from{opacity:0;transform:translate3d(-6%,0,0)}55%{opacity:.85}to{opacity:.5;transform:translate3d(3%,0,0)}}
.motion-control{position:relative;overflow:hidden}
.button.motion-control:after{content:'';position:absolute;inset:-50% auto -50% -45%;width:30%;background:linear-gradient(90deg,transparent,#fff4,transparent);transform:skewX(-20deg);pointer-events:none;transition:left .75s cubic-bezier(.2,.6,.2,1)}
.button.motion-control:hover:after,.button.motion-control:focus-visible:after{left:140%}
.motion-control:active{transform:translateY(1px)}
.gallery-thumbs button{transition:transform .35s,border-color .35s,opacity .35s}
.gallery-thumbs button[aria-pressed=true]{border-color:#dbba80;opacity:1}
.gallery-thumbs button[aria-pressed=false]{opacity:.65}
.gallery-thumbs button:hover,.gallery-thumbs button:focus-visible{transform:translateY(-3px);opacity:1}
[data-main-image][aria-busy=true]{cursor:progress}
.text-link:not(.hero .text-link){transition:color .25s,border-color .25s}
.text-link:not(.hero .text-link):hover{color:#f0dcb7;border-bottom-color:#f0dcb7}
.favorite{transition:transform .3s,color .3s,background .3s}
.favorite[aria-pressed=true]{color:#e4c994}
.favorite:hover{transform:scale(1.08)}
#contact-form input,#contact-form textarea,#contact-form select{transition:border-color .25s,box-shadow .25s,background .25s}
#contact-form input:focus,#contact-form textarea:focus,#contact-form select:focus{border-color:#dbc39a;box-shadow:0 0 0 3px #dbc39a15}
.compare-dialog[open],.inquiry-review[open]{animation:lux-dialog-arrival .4s cubic-bezier(.16,1,.3,1) both}
@keyframes lux-dialog-arrival{from{opacity:.1;transform:translate3d(0,15px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(hover:hover) and (pointer:fine){
 .offer-card{transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .55s,border-color .55s}
 .offer-card:hover{transform:translateY(-6px);border-bottom-color:#dbc39a88;box-shadow:0 22px 45px #0003}
 .offer-image img{transition:transform 1.2s cubic-bezier(.16,1,.3,1),filter .8s}
}
@media(max-width:700px){
 .header nav.open{animation:lux-menu-arrival .4s cubic-bezier(.16,1,.3,1) both}
 .menu-toggle{transition:color .25s,border-color .25s,background .25s}
 .motion-menu-open .menu-toggle{background:#dbc39a15;border-color:#dbc39a;color:#efe4d0}
 .motion-glow{display:none}
}
@keyframes lux-menu-arrival{from{opacity:.1;transform:translate3d(0,-10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:reduce){
 .motion-image{translate:none!important;scale:1!important}
 .motion-glow{display:none}
 .motion-reveal,.motion-control,.motion-surface,.gallery-thumbs button,.offer-image img,.favorite,.menu-toggle,.text-link,#contact-form input,#contact-form textarea,#contact-form select{animation:none!important;transition:none!important}
 .contact-band.motion-in-view:after,.button.motion-control:after,.header nav.open,.compare-dialog[open],.inquiry-review[open]{animation:none!important;transition:none!important}
 .offer-card:hover,.gallery-thumbs button:hover,.motion-control:active{transform:none}
 html{scroll-behavior:auto}
}
