/* LuxuryLifts front-end eye-candy — additive, safe, opt-in via <body class="fx">.
   Never touches .reveal / layout. Respects prefers-reduced-motion. */

/* gold scroll-progress bar */
.fx-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;
  transform:scaleX(0);transform-origin:0 50%;will-change:transform;
  background:linear-gradient(90deg,#E3C572,#B68F3C,#C7A24A);box-shadow:0 0 10px rgba(182,143,60,.5);}

/* 3D tilt + moving gloss on cards */
.fx-tilt{transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s ease;
  transform-style:preserve-3d;position:relative;will-change:transform;}
.fx-tilt:hover{box-shadow:0 18px 40px rgba(20,22,27,.16);}
.fx-gloss{position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  opacity:0;transition:opacity .2s ease;mix-blend-mode:overlay;}
.fx-tilt:hover .fx-gloss{opacity:1;}

/* magnetic brass buttons (smooth transform) */
.fx-mag{transition:transform .18s cubic-bezier(.2,.7,.2,1);}

@media (prefers-reduced-motion: reduce){
  .fx-tilt,.fx-mag{transition:none;transform:none!important;}
  .fx-gloss{display:none;}
}
@media (hover:none){ /* no tilt/magnet on touch — keep it clean */
  .fx-tilt{transform:none!important;} .fx-gloss{display:none;}
}
