/* MCT premium cursor and interaction polish. Kept separate from site layout. */
.mct-cursor-glow {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(112, 157, 255, .42);
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(circle, rgba(65, 119, 255, .19), rgba(65, 119, 255, .05) 52%, transparent 72%);
  box-shadow: 0 0 28px rgba(29, 93, 255, .2);
  transition: width 180ms ease, height 180ms ease, border-color 180ms ease, background 180ms ease, opacity 160ms ease;
  will-change: transform;
}
.mct-cursor-glow.is-interactive {
  width: 48px;
  height: 48px;
  border-color: rgba(143, 178, 255, .8);
  background: radial-gradient(circle, rgba(65, 119, 255, .24), rgba(65, 119, 255, .07) 56%, transparent 74%);
}
.mct-cursor-glow.is-pressed {
  width: 27px;
  height: 27px;
}
.mct-cursor-particle {
  position: fixed;
  z-index: 9998;
  width: 4px;
  height: 4px;
  margin: -2px 0 0 -2px;
  border-radius: 50%;
  background: #7fa8ff;
  box-shadow: 0 0 10px rgba(91, 139, 255, .85);
  pointer-events: none;
  animation: mct-cursor-particle-fade 420ms ease-out forwards;
}
@keyframes mct-cursor-particle-fade {
  from { opacity: .8; transform: scale(1); }
  to { opacity: 0; transform: scale(.15) translateY(8px); }
}
@media (hover: hover) and (pointer: fine) {
  .mct-site-header a,
  .mct-site-links a,
  .mct-mobile-menu a,
  .hero-actions .button,
  .service-card a,
  .channel-link,
  .apps-actions a,
  .contact-panel a,
  footer a {
    transition: color 220ms ease, border-color 220ms ease, background-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
  }
  .hero-actions .button:hover,
  .apps-actions a:hover {
    box-shadow: 0 10px 28px rgba(29, 93, 255, .2);
  }
  .service-card:hover {
    border-color: rgba(127, 168, 255, .45);
  }
}
@media (prefers-reduced-motion: reduce) {
  .mct-cursor-glow,
  .mct-cursor-particle { display: none !important; animation: none !important; transition: none !important; }
}
