/* Fermatiqui — wow layer (v2): award-grade micro-interactions */

/* scroll progress — sits inside the gold frame */
.wow-progress{position:fixed;top:var(--frame,16px);left:var(--frame,16px);height:2px;width:0;background:linear-gradient(90deg,var(--carmine),var(--gold));z-index:1200;transition:width .1s linear;}

/* custom cursor — desktop pointer only */
@media (hover:hover) and (pointer:fine){
  .wow-cursor{position:fixed;top:0;left:0;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:3000;opacity:.75;transition:width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s,opacity .3s;}
  .wow-cursor.hot{width:72px;height:72px;background:var(--gold);border-color:var(--gold);opacity:1;}
  .wow-cursor.hot::after{content:attr(data-label);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--abyss);font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;}
  .wow-dot{position:fixed;top:0;left:0;width:4px;height:4px;background:var(--carmine);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:3001;}
  body.wow-on,body.wow-on *{cursor:none !important;}
}

/* magnetic buttons */
.act,.mast__wa,.submit,.btn-gold{will-change:transform;}

/* property card: photo-first reveal strip */
.pcard__img::after{content:"Ver dossier →";position:absolute;left:0;right:0;bottom:0;padding:15px 18px;color:#fff;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;background:linear-gradient(180deg,transparent,rgba(12,21,38,.86));transform:translateY(100%);transition:transform .5s cubic-bezier(.16,1,.3,1);z-index:2;}
.pcard:hover .pcard__img::after{transform:none;}

/* dossier / tile lift */
.dossier,.tm,.post,.val{transition:transform .5s cubic-bezier(.16,1,.3,1);}
.dossier:hover,.tm:hover,.post:hover{transform:translateY(-6px);}

/* hero grain — subtle cinematic texture */
.hero::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");}

@media (prefers-reduced-motion: reduce){
  .wow-progress,.wow-cursor,.wow-dot{display:none !important;}
  body.wow-on,body.wow-on *{cursor:auto !important;}
}
