/* mcarva · Cursor editorial de portada
   Se activa únicamente cuando JavaScript confirma mouse preciso,
   hover real y ausencia de reducción de movimiento. */

.mcarva-cursor,
.mcarva-cursor-dot{
  position:fixed;
  top:0;
  left:0;
  z-index:1100;
  pointer-events:none;
  opacity:0;
  transform:translate3d(-120px,-120px,0) translate(-50%,-50%);
  will-change:transform,width,height,opacity;
}

.mcarva-cursor{
  --cursor-accent:rgba(245,242,236,.86);
  --cursor-fill:rgba(245,242,236,.08);
  --cursor-label:#191a1c;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid var(--cursor-accent);
  border-radius:50%;
  background:transparent;
  color:var(--cursor-label);
  mix-blend-mode:difference;
  transition:
    width .28s cubic-bezier(.22,1,.36,1),
    height .28s cubic-bezier(.22,1,.36,1),
    border-color .24s ease,
    background-color .24s ease,
    opacity .16s ease;
}

.mcarva-cursor-dot{
  width:4px;
  height:4px;
  border-radius:50%;
  background:#c9a76a;
  transition:opacity .16s ease,background-color .2s ease;
}

.mcarva-cursor-label{
  opacity:0;
  font-size:9px;
  font-weight:650;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
  transition:opacity .18s ease;
}

.mcarva-cursor.is-visible,
.mcarva-cursor-dot.is-visible{opacity:1}

.mcarva-cursor.is-interactive{
  width:58px;
  height:58px;
  background:var(--cursor-fill);
}

.mcarva-cursor.is-project,
.mcarva-cursor.is-lab{
  width:82px;
  height:82px;
  mix-blend-mode:normal;
}

.mcarva-cursor.is-project{
  --cursor-accent:#ece6dc;
  --cursor-label:#1b1b1a;
  border-color:#ece6dc;
  background:#ece6dc;
}

.mcarva-cursor.is-lab{
  --cursor-accent:#c9a76a;
  --cursor-label:#191816;
  border-color:#c9a76a;
  background:#c9a76a;
}

.mcarva-cursor.is-project .mcarva-cursor-label,
.mcarva-cursor.is-lab .mcarva-cursor-label{opacity:1}

.mcarva-cursor-dot.is-contextual{opacity:0}

.mcarva-cursor.is-suspended,
.mcarva-cursor-dot.is-suspended{opacity:0!important}

@media (hover:hover) and (pointer:fine) and (min-width:901px) and (prefers-reduced-motion:no-preference){
  html.mcarva-cursor-ready body:not(.visual-lightbox-open),
  html.mcarva-cursor-ready body:not(.visual-lightbox-open) a,
  html.mcarva-cursor-ready body:not(.visual-lightbox-open) button,
  html.mcarva-cursor-ready body:not(.visual-lightbox-open) [role="button"],
  html.mcarva-cursor-ready body:not(.visual-lightbox-open) .visual-rail-item{
    cursor:none!important;
  }
}

@media (hover:none),(pointer:coarse),(max-width:900px),(prefers-reduced-motion:reduce){
  .mcarva-cursor,
  .mcarva-cursor-dot{display:none!important}
}
