:root {
  color-scheme: dark;
  --bg: #0b0814;
  --violet: #8b5cf6;
  --mint: #62f6ca;
  --text: #f7f5fb;
}

* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  min-height: 100%;
}

body {
  margin: 0;
  overflow: hidden;
  background: var(--bg);
}

.landing {
  isolation: isolate;
  position: relative;
  display: grid;
  min-height: 100svh;
  place-items: center;
  overflow: hidden;
  background:
    linear-gradient(rgba(139, 92, 246, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(139, 92, 246, .035) 1px, transparent 1px),
    radial-gradient(circle at 50% 48%, #17102d 0, #0b0814 48%, #07050d 100%);
  background-size: 54px 54px, 54px 54px, auto;
}

.landing::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(72vw, 860px);
  aspect-ratio: 1;
  border: 1px solid rgba(139, 92, 246, .09);
  border-radius: 50%;
  box-shadow:
    0 0 0 120px rgba(139, 92, 246, .025),
    0 0 0 260px rgba(98, 246, 202, .012);
}

.landing::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: radial-gradient(circle, transparent 36%, rgba(3, 2, 8, .62) 100%);
}

.ambient {
  position: absolute;
  z-index: -2;
  width: 42vw;
  height: 42vw;
  min-width: 380px;
  min-height: 380px;
  border-radius: 50%;
  filter: blur(110px);
  opacity: .14;
  animation: drift 12s ease-in-out infinite alternate;
}

.ambient-violet {
  top: -25%;
  left: -13%;
  background: var(--violet);
}

.ambient-mint {
  right: -18%;
  bottom: -30%;
  background: var(--mint);
  animation-delay: -6s;
}

.brand-wrap {
  position: relative;
  z-index: 3;
  padding: 44px;
}

.brand-wrap::before {
  content: "";
  position: absolute;
  inset: 16% 4%;
  z-index: -1;
  border-radius: 50%;
  background: rgba(139, 92, 246, .17);
  filter: blur(55px);
}

.brand {
  margin: 0;
  color: var(--text);
  font: clamp(3.4rem, 9.8vw, 8.6rem)/.9 "Archivo Black", sans-serif;
  letter-spacing: clamp(-.38rem, -.52vw, -.12rem);
  text-shadow: 0 10px 50px rgba(0, 0, 0, .48);
  transform: translateY(-.04em);
}

.brand-x {
  color: var(--mint);
  text-shadow:
    0 0 26px rgba(98, 246, 202, .2),
    0 10px 50px rgba(0, 0, 0, .48);
}

@keyframes drift {
  from { transform: translate3d(-2%, -2%, 0) scale(.96); }
  to { transform: translate3d(4%, 4%, 0) scale(1.06); }
}

@media (max-width: 560px) {
  .landing {
    background-size: 38px 38px, 38px 38px, auto;
  }

  .brand-wrap {
    padding: 24px;
  }

  .brand {
    font-size: clamp(2.75rem, 15vw, 4.8rem);
    letter-spacing: -.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ambient {
    animation: none;
  }
}

