* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

.hero {
  position: relative;
  width: 100vw;
  min-height: 100svh;

  display: flex;
  align-items: center;
  justify-content: center;
  color: white;

  /* solid fill instead of blur */
  background-color: #494543;
  overflow: hidden;
}

/* Sharp image layer (no bleed) */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;

  background-image: url("pc-background.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  z-index: 1;
}

/* Mobile swaps only the image */
@media (max-width: 768px) {
  .hero::after {
    background-image: url("mobile-background.jpg");
  }
}

/* Content above background */
.hero > * {
  position: relative;
  z-index: 2;
}
