

/* Presentation-style scenes; controls and accessible copy remain in the DOM. */
.landing-art {
  display: block;
  width: 100%;
  height: 100%;
}
.hero-slide > .landing-art {
  position: absolute;
  inset: 0;
}
.showcase__visual--presentation { position: relative; }
.showcase__visual--presentation > .landing-art {
  position: absolute;
  inset: 0;
}
.landing-art--interface img { object-fit: contain; }

/* Every slide shares an action baseline, including the injected supplier slide. */
.landing-page .hero-slider {
  height: max(calc(100vh - var(--landing-header-h, 90px)), var(--landing-hero-copy-height, 0px));
  height: max(calc(100svh - var(--landing-header-h, 90px)), var(--landing-hero-copy-height, 0px));
  max-height: none;
}
.landing-page .hero-slide::after {
  background: var(--aidc-media-hero-copy-gradient);
}
.landing-page .hero-slide .hero-slide__content {
  top: auto;
  bottom: 0;
  box-sizing: border-box;
  max-width: none;
  padding-top: clamp(40px, 6vw, 100px);
  padding-bottom: clamp(40px, 6vw, 100px);
}
.landing-page .hero-slide .hero-slide__desc { color: var(--aidc-text-on-media); }
.landing-page .hero-slider__nav {
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--aidc-media-badge-bg);
}
.landing-page .hero-slide .hero-slide__actions {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  grid-template-rows: 48px;
  align-items: stretch;
  gap: 14px;
  flex-wrap: nowrap;
}
.landing-page .hero-slide .hero-slide__label {
  color: var(--aidc-text-on-media);
  background: var(--aidc-media-badge-bg);
  border: 1px solid var(--aidc-media-badge-border);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
  letter-spacing: .1em;
}
body.landing-page .l-badge {
  align-self: flex-start;
  width: fit-content;
  color: var(--aidc-text-primary);
  border-color: var(--aidc-border-strong);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .1em;
}
/* Boutique signs are part of the continuous scene. Keep their names available
   to assistive technology without duplicating floating cards over the image. */
.hero-slide__domains {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.hero-slide--domains > .landing-art img { object-position: right center; }

@media (min-width: 768px) and (orientation: landscape) {
  .landing-page .hero-slide::after { background: var(--aidc-media-hero-wide-gradient); }
  .landing-page .hero-slide--open-scene::after { background: var(--aidc-media-hero-open-gradient); }
  .landing-page .hero-slide--canvas::after { background: var(--aidc-media-hero-canvas-gradient); }
  .landing-page .hero-slide .hero-slide__content {
    right: auto;
    width: 60%;
    max-width: 900px;
    padding-right: 0;
  }
}
@media (max-width: 1024px) {
  .showcase__visual--presentation {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }
}
@media (max-width: 767px) {
  .landing-page .hero-slide::after { background: var(--aidc-media-hero-copy-gradient); }
  /* The actual illustration slot is 4:5; do not stretch a wallpaper beneath
     the copy. Every scene, including the editor, fills this same frame. */
  .hero-slide > .landing-art {
    aspect-ratio: 4 / 5;
    height: auto;
    bottom: auto;
  }
  .hero-slide > .landing-art img { object-fit: cover; object-position: center; }
  .landing-page .hero-slide .hero-slide__content {
    width: 100%;
    max-width: none;
    padding: 20px 20px 64px;
    gap: 12px;
  }
  .landing-page .hero-slide .hero-slide__actions {
    grid-template-columns: max-content;
    grid-template-rows: 44px 44px;
    gap: 10px;
    margin-top: 8px;
  }
  .landing-page .hero-slide .hero-slide__actions > .l-btn {
    box-sizing: border-box;
    height: 44px;
    min-height: 44px;
    max-width: 100%;
    margin: 0;
    grid-column: 1;
  }
  .landing-page .hero-slide .supplier-title__nowrap { white-space: normal; }
}
