:root { color-scheme: dark; }
html { scroll-behavior: smooth; }
body { background-color: #131319; -webkit-font-smoothing: antialiased; overflow-x: hidden; }

/* atomic starburst backdrop */
.bg-stars {
  background-image:
    radial-gradient(circle at 12% 18%, rgba(255,90,44,0.10), transparent 28%),
    radial-gradient(circle at 88% 12%, rgba(31,199,192,0.10), transparent 26%),
    radial-gradient(circle at 75% 80%, rgba(242,179,61,0.07), transparent 30%);
}

/* marquee */
.marquee { overflow: hidden; }
.marquee-track { display: inline-flex; white-space: nowrap; animation: marquee 26s linear infinite; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* reviews carousel */
.carousel-mask { overflow: hidden; }
.carousel-track { animation: scrollx 60s linear infinite; }
.carousel-mask:hover .carousel-track { animation-play-state: paused; }
@keyframes scrollx { from { transform: translateX(0); } to { transform: translateX(-50%); } }

@media (prefers-reduced-motion: reduce) {
  .marquee-track, .carousel-track { animation: none; }
}

/* hero glow ring */
.ring-orbit::before {
  content: ""; position: absolute; inset: -10%;
  border: 1px dashed rgba(31,199,192,0.35); border-radius: 9999px;
  pointer-events: none;
}

.fade-edge-l, .fade-edge-r { position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none; }
.fade-edge-l { left: 0; background: linear-gradient(90deg, #131319, transparent); }
.fade-edge-r { right: 0; background: linear-gradient(270deg, #131319, transparent); }

.link-underline { background-image: linear-gradient(currentColor,currentColor); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .25s; }
.link-underline:hover { background-size: 100% 2px; }
