:root {
  --bg0: #070a12;
  --bg1: #070c19;
  --card: rgba(255, 255, 255, 0.06);
  --card2: rgba(255, 255, 255, 0.09);
  --stroke: rgba(255, 255, 255, 0.12);
  --text: rgba(255, 255, 255, 0.92);
  --muted: rgba(255, 255, 255, 0.7);
  --faint: rgba(255, 255, 255, 0.55);
  --brandA: #61f5ff;
  --brandB: #a875ff;
  --brandC: #14ffa4;
  --danger: #ff4d6d;
  --shadow: 0 20px 60px rgba(0, 0, 0, 0.55);
  --shadow2: 0 14px 38px rgba(0, 0, 0, 0.5);
  --radius: 18px;
  --radius2: 26px;
  --max: 1120px;
}

* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
}

body {
  margin: 0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto,
    Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color: var(--text);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: radial-gradient(
      1200px 800px at 20% 10%,
      rgba(97, 245, 255, 0.12),
      transparent 50%
    ),
    radial-gradient(
      900px 700px at 80% 20%,
      rgba(168, 117, 255, 0.14),
      transparent 55%
    ),
    radial-gradient(
      900px 700px at 60% 95%,
      rgba(20, 255, 164, 0.11),
      transparent 55%
    ),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

.noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.085;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}

.grid {
  position: fixed;
  inset: -2px;
  pointer-events: none;
  opacity: 0.16;
  background-image: linear-gradient(
      rgba(255, 255, 255, 0.08) 1px,
      transparent 1px
    ),
    linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: radial-gradient(
    circle at 50% 20%,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0.4) 55%,
    rgba(0, 0, 0, 0) 76%
  );
}

.wrap {
  width: min(var(--max), calc(100% - 44px));
  margin: 0 auto;
}

.reveal {
  opacity: 0;
  transform: translateY(10px);
  transition: 520ms cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.show {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .carousel-track {
    transition: none !important;
  }
  .btn {
    transition: none !important;
  }
}
