/* Closed-loop demo banner page — matches the live banner layout, without a quote. */
.demo-banner-page {
  min-height: 100vh;
  min-height: 100svh;
}

.demo-banner-page .banner-home {
  display: flex;
  min-height: calc(100vh - 96px);
  min-height: calc(100svh - 96px);
  flex-direction: column;
  align-items: center;
  padding: 24px 0 40px;
}

.demo-banner-page .banner-home-image-frame {
  position: relative;
  display: grid;
  width: 100%;
  height: 56vh;
  height: clamp(300px, 56svh, 580px);
  place-items: center;
  overflow: hidden;
  background: #ffffff;
}

.demo-banner-page .banner-home-image {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  object-position: center center;
}

.demo-banner-page .demo-banner-status {
  margin: 24px 20px 0;
}

/* Prevent any quote or old Continue control from appearing on this demo page. */
.demo-banner-page .banner-quote,
.demo-banner-page .banner-home-quote,
.demo-banner-page .banner-continue-link,
.demo-banner-page .banner-home-title {
  display: none !important;
}

@media (min-width: 680px) {
  .demo-banner-page .banner-home {
    min-height: calc(100vh - 88px);
    min-height: calc(100svh - 88px);
    padding-top: 30px;
  }

  .demo-banner-page .banner-home-image-frame {
    height: 64vh;
    height: clamp(400px, 64svh, 760px);
  }
}

@media (min-width: 1024px) {
  .demo-banner-page .banner-home {
    padding-top: 34px;
  }

  .demo-banner-page .banner-home-image-frame {
    height: 68vh;
    height: clamp(480px, 68svh, 880px);
  }

  .demo-banner-page .banner-home-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 112%;
    height: 112%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
    will-change: top, left;
  }
}
