.audience-section {
  overflow: clip;
  isolation: isolate;
}

.audience-flow-map {
  position: absolute;
  z-index: -1;
  width: min(1200px, 105vw);
  height: auto;
  right: -28%;
  top: -3%;
  pointer-events: none;
  opacity: .22;
  filter: saturate(115%);
  mask-image: linear-gradient(90deg, transparent 2%, #000 38%, #000 82%, transparent);
}

.audience-section .commercial-heading,
.audience-section .audience-grid {
  position: relative;
  z-index: 1;
}

.proof {
  position: relative;
  overflow: hidden;
  background-image: linear-gradient(rgba(8, 16, 24, .76), rgba(8, 16, 24, .76)), url("/assets/brand-pattern.svg");
  background-size: auto, 320px 320px;
}

.proof::after {
  position: absolute;
  width: 180px;
  height: 1px;
  left: 50%;
  bottom: -1px;
  content: "";
  background: linear-gradient(90deg, transparent, rgba(128, 109, 255, .75), transparent);
  transform: translateX(-50%);
}

.value-brand-mark,
.final-orbit > span {
  color: transparent;
  background-color: transparent;
  background-image: url("/assets/brand-mark.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  box-shadow: none;
  font-size: 0;
}

.auth-shell {
  position: relative;
  isolation: isolate;
}

.auth-brand-scene {
  position: absolute;
  z-index: -1;
  width: 850px;
  height: auto;
  right: -340px;
  top: -55px;
  pointer-events: none;
  opacity: .34;
  filter: saturate(115%);
  mask-image: radial-gradient(ellipse at 55% 45%, #000 10%, transparent 70%);
}

.auth-shell::before {
  position: absolute;
  z-index: -2;
  width: 100vw;
  height: 100%;
  left: 50%;
  top: 0;
  content: "";
  pointer-events: none;
  background-image: linear-gradient(rgba(11, 16, 24, .83), rgba(11, 16, 24, .93)), url("/assets/brand-pattern.svg");
  background-position: center, center top;
  background-size: auto, 320px 320px;
  opacity: .42;
  transform: translateX(-50%);
  mask-image: linear-gradient(to bottom, #000, transparent 82%);
}

.dashboard-welcome {
  position: relative;
  overflow: hidden;
}

.dashboard-welcome::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background-image: url("/assets/brand-pattern.svg");
  background-position: right top;
  background-size: 320px 320px;
  opacity: .16;
  mask-image: linear-gradient(90deg, transparent 30%, #000);
}

.dashboard-welcome > * {
  position: relative;
  z-index: 1;
}

.empty-brand-state {
  position: relative;
  display: grid;
  min-height: 330px;
  grid-column: 1 / -1;
  overflow: hidden;
  place-items: center;
  align-content: center;
  padding: 30px;
  border: 1px dashed #35465f;
  border-radius: 20px;
  background:
    linear-gradient(rgba(13, 22, 32, .84), rgba(13, 22, 32, .94)),
    url("/assets/brand-pattern.svg") center / 320px 320px;
  text-align: center;
}

.empty-brand-state::after {
  position: absolute;
  width: 360px;
  height: 180px;
  left: 50%;
  top: 10px;
  content: "";
  pointer-events: none;
  border-radius: 50%;
  background: rgba(128, 109, 255, .085);
  filter: blur(55px);
  transform: translateX(-50%);
}

.empty-brand-state img {
  position: relative;
  z-index: 1;
  width: min(280px, 78%);
  height: auto;
  margin: -30px 0 -18px;
}

.empty-brand-state h3,
.empty-brand-state p {
  position: relative;
  z-index: 1;
}

.empty-brand-state h3 {
  margin: 0 0 5px;
  font-size: 20px;
  letter-spacing: -.02em;
}

.empty-brand-state p {
  max-width: 470px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.project-grid > .empty-brand-state {
  min-height: 300px;
  margin: 0;
}

.library-grid > .empty-brand-state,
.documents-grid > .empty-brand-state {
  margin-top: 4px;
}

@media (max-width: 850px) {
  .audience-flow-map { width: 980px; right: -58%; opacity: .16; }
  .auth-brand-scene { right: -460px; opacity: .2; }
}

@media (max-width: 720px) {
  .auth-brand-scene { display: none; }
  .empty-brand-state { min-height: 290px; padding-inline: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .audience-flow-map,
  .auth-brand-scene { animation: none; }
}
