/* Mobile viewport guard: decorative artwork must not create horizontal scroll. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* Keep the soft color glows out of document layout at every viewport size.
   They may extend beyond the edge visually, but can never create a blank
   horizontal canvas when a visitor zooms out. */
.nebula {
  position: fixed;
}

@media (max-width: 800px) {
  .stars {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100vw;
    max-width: 100vw;
    height: 100%;
    overflow: hidden;
  }

  .nebula {
    display: none;
  }

  .shell {
    width: min(calc(100% - 38px), 620px);
  }

  /* The original mobile override still clipped these absolutely-positioned
     cards. Keep their containing box at the hero width, while body-level
     overflow protection handles decorative artwork. */
  .hero,
  .hero-logo-wrap {
    overflow: visible;
  }

  .hero-logo-wrap {
    width: 100%;
    margin-inline: 0;
  }

  .signal-card {
    max-width: calc(100% - 24px);
  }

  .signal-card > span:last-child {
    min-width: 0;
  }

  .signal-card b,
  .signal-card small {
    overflow-wrap: anywhere;
  }

  /* Keep both trust cards entirely inside the visible hero, not merely less
     far outside it. */
  .signal-verified {
    left: 12px;
  }

  .signal-match {
    right: 12px;
  }
}

@media (max-width: 460px) {
  .signal-card {
    max-width: calc(100% - 20px);
  }

  .signal-verified {
    left: 10px;
    transform-origin: left center;
  }

  .signal-match {
    right: 10px;
    transform-origin: right center;
  }
}
