/* Existing footer layout supplies the background's size and stacking context. */
.outro__fx[data-black-hole] {
  overflow: hidden;
  background: #000;
}

/* Remove the old mobile wash so the supplied default shader keeps its contrast. */
.outro__fx[data-black-hole]::after {
  content: none;
}

.outro__fx[data-black-hole],
.outro__fx[data-black-hole] * {
  pointer-events: none !important;
}

.outro__fx[data-black-hole] canvas {
  display: block;
}

/* Keep white contact text legible as the default shader's bright arcs pass by. */
.outro:has(> [data-black-hole]) .outro__title,
.outro:has(> [data-black-hole]) .outro__social,
.outro:has(> [data-black-hole]) .outro__mail {
  text-shadow: 0 2px 4px #000, 0 0 20px #000;
}

@media (min-width: 48.0625rem) {
  .outro:has(> [data-black-hole]) .outro__title span {
    font-size: clamp(2.25rem, 7vw, 7.5rem);
  }
}

@media (max-width: 48rem) {
  .outro:has(> [data-black-hole]) .outro__title span {
    font-size: clamp(2rem, 13vw, 4rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .outro__fx[data-black-hole] {
    display: none;
  }
}
