/* ==========================================================================
   Cursor customizado — círculo azul-marinho (--navy) que segue o rato e
   revela azul-claro (--teal-2) de forma proporcional exatamente onde se
   sobrepõe a secções de fundo escuro ou a título/texto escuro do site.
   Ver assets/js/cursor.js para a lista de seletores marcados como "escuros".
   ========================================================================== */

html.has-custom-cursor{ cursor:none; }
html.has-custom-cursor a, html.has-custom-cursor button{ cursor:none; }

.cc-dot{
  position:fixed; top:0; left:0; width:0; height:0;
  pointer-events:none; z-index:99999; display:none;
}
html.has-custom-cursor .cc-dot{ display:block; }

.cc-dot i{
  position:absolute; display:block; width:18px; height:18px; margin:-9px 0 0 -9px;
  border-radius:50%;
  animation:cc-pulse 2.4s ease-in-out infinite;
  will-change:transform;
}

.cc-base{ background:var(--navy); }
.cc-fill{ background:var(--teal-2); clip-path:circle(0px at 50% 50%); }

@keyframes cc-pulse{
  0%, 100% { transform:scale(1); }
  50%      { transform:scale(1.15); }
}

@media (prefers-reduced-motion: reduce){
  .cc-dot i{ animation:none; }
}
@media (pointer: coarse){
  .cc-dot{ display:none !important; }
}
