/* Scènes validées : décor et mascotte restent solidaires, sans déformation.
   Cette feuille est chargée uniquement sur l'accueil et le serrurier. */
.hero.hero-scene,
.sr-hero.hero-scene {
  isolation: isolate;
  background: #edf8ff;
  min-height: 54vw;
}

.hero-scene-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center bottom;
  pointer-events: none;
  z-index: 0;
}

.hero-scene .hero-overlay,
.sr-hero.hero-scene::after {
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, #edf8ff 0%, rgba(237,248,255,.97) 25%, rgba(237,248,255,.87) 40%, rgba(237,248,255,.2) 52%, transparent 60%);
}

.hero-scene .hero-inner,
.hero-scene .sr-hero-inner {
  z-index: 2;
}

/* Sur tablette et mobile, la scène garde son espace sous le formulaire. */
@media (max-width: 1100px) {
  .hero.hero-scene,
  .sr-hero.hero-scene {
    --scene-height: max(300px, 56.28vw);
    min-height: 0;
    padding-bottom: var(--scene-height);
  }

  .hero-scene-image {
    top: auto;
    height: var(--scene-height);
    object-position: right bottom;
  }

  .hero-scene .hero-overlay,
  .sr-hero.hero-scene::after {
    top: auto;
    height: var(--scene-height);
    background: linear-gradient(180deg, #edf8ff, rgba(237,248,255,.5) 8%, transparent 24%);
  }

  .hero-scene .hero-inner,
  .hero-scene .sr-hero-inner {
    display: block;
    min-height: 0;
  }

  .hero-scene .hero-left {
    max-width: 620px;
    margin: 0 auto;
  }

  .hero-scene .service-picker {
    width: 100%;
  }

  .hero-scene .hero-visual {
    height: auto;
    max-width: 620px;
    margin: 18px auto 0;
  }

  .hero-scene .call-card {
    position: relative;
    inset: auto;
    margin-left: auto;
  }

  .hero-scene .sr-hero-copy {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
  }

  .hero-scene .sr-lead,
  .hero-scene .sr-note {
    margin-left: auto;
    margin-right: auto;
  }

  .hero-scene .sr-wizard {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
  }
}
