:root{
  --mkr-cyan:#00ccff;
  --cursor-dot:8px;
  --cursor-ring:36px;
  --cursor-z:9999;
}

/* curseur natif caché (sauf reduced motion) */
html,body{ cursor:none !important; }
@media (prefers-reduced-motion: reduce){
  html,body{ cursor:auto !important; }
  .mkr-cursor,.mkr-cursor-ring{ display:none !important; }
  .reveal{ opacity:1; transform:none; }
}

/* curseur dot + ring */
.mkr-cursor{
  position:fixed; width:var(--cursor-dot); height:var(--cursor-dot);
  border-radius:50%; background:var(--mkr-cyan);
  box-shadow:0 0 12px rgba(0,204,255,.9),0 0 28px rgba(0,204,255,.35);
  pointer-events:none; z-index:var(--cursor-z);
  transform:translate(-50%,-50%); transition:transform .08s linear, opacity .25s ease;
}
.mkr-cursor-ring{
  position:fixed; width:var(--cursor-ring); height:var(--cursor-ring);
  border-radius:50%; border:2px solid rgba(0,204,255,.7);
  box-shadow:0 0 22px rgba(0,204,255,.35);
  pointer-events:none; z-index:calc(var(--cursor-z) - 1);
  transform:translate(-50%,-50%); transition:width .2s ease,height .2s ease,opacity .25s ease,border-color .2s ease;
}
.mkr-hover .mkr-cursor-ring{
  width:56px; height:56px; border-color:rgba(255,255,255,.9);
  box-shadow:0 0 28px rgba(255,255,255,.35),0 0 48px rgba(0,204,255,.35);
}

/* clic ripple */
.mkr-ripple{
  position:fixed;width:10px;height:10px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.9),rgba(0,204,255,.6) 45%,transparent 70%);
  pointer-events:none; z-index:var(--cursor-z);
  transform:translate(-50%,-50%) scale(1); animation:mkrRipple .45s ease-out forwards;
}
@keyframes mkrRipple{ to{ transform:translate(-50%,-50%) scale(9); opacity:0; } }

/* reveal */
.reveal{ opacity:0; transform:translateY(16px) scale(.98); transition:opacity .6s ease,transform .6s ease; }
.reveal.is-in{ opacity:1; transform:none; }

/* header simple si besoin (optionnel, si ton style.css n’en a pas) */
.site-header{
  position:sticky; top:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 16px; background:rgba(6,10,15,.65); backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(0,204,255,.12);
}
.site-header .brand-link{
  color:#e8f3ff; text-decoration:none; font-weight:800; letter-spacing:.2px;
  text-shadow:0 0 12px rgba(0,204,255,.2);
}
.site-nav a{
  color:#e8f3ff; text-decoration:none; margin-left:16px; padding:6px 10px; border-radius:8px;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.site-nav a:hover{ background:rgba(0,204,255,.12); transform:translateY(-1px); }
.site-nav a.active{ background:linear-gradient(135deg,#00ccff,#00a9d8); color:#07121a; font-weight:800; }
