/* Hero mobile : pile verticale + immeuble sous le texte, collé aux bords */

.hero-building {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 1;
  /* Mobile : pleine largeur viewport, bord droit + bas pixel-perfect */
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  transform: none;
  line-height: 0;
}

.hero-building img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  object-fit: contain;
  object-position: right bottom;
  margin-left: auto;
}

.hero-building .wifi-svg-wrap {
  opacity: 1;
}

@supports (width: 100dvw) {
  .hero-building {
    width: 100dvw;
    max-width: 100dvw;
  }
}

/* Contenu au-dessus de l’immeuble */
#hero-stage #hero,
#hero-stage .hero-copy,
#hero-stage .hero-brand,
#hero-stage .hero-actions {
  position: relative;
  z-index: 10;
}

/* ——— Mobile : stack vertical ——— */
@media (max-width: 767.98px) {
  #hero-stage #hero {
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 5.25rem;
    padding-bottom: 2.5rem;
    min-height: calc(100vh - 3.5rem);
  }

  #hero-stage .hero-copy {
    width: 100%;
    align-items: center;
    text-align: center;
    padding-bottom: 42vw;
    gap: 1.25rem;
  }

  .hero-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 100%;
  }

  .hero-image__img {
    width: 5.5rem;
    height: 5.5rem;
    object-fit: cover;
  }

  .hero-title {
    width: 100%;
    max-width: 22rem;
    text-align: center;
    font-size: clamp(1.65rem, 7.2vw, 2.15rem);
    line-height: 1.05;
  }

  .hero-title :is(h1, h2, h3, p) {
    font: inherit;
    line-height: inherit;
  }

  .hero-actions {
    width: 100%;
    max-width: 20rem;
    flex-direction: column;
    align-items: stretch;
    gap: 0.7rem;
  }

  .hero-actions__btn {
    width: 100%;
  }

  /* Immeuble ancré en bas, bord droit = bord écran */
  .hero-building {
    width: min(100vw, 100%);
    right: 0;
    bottom: 0;
    left: auto;
  }

  .hero-building img {
    width: min(100vw, 520px);
    max-height: 48vh;
    object-fit: contain;
    object-position: right bottom;
  }

  .hero-building .wifi-svg-wrap {
    width: min(20vw, 72px);
  }
}

/* ——— Tablette / desktop : logo + titre en ligne, immeuble bas droite ——— */
@media (min-width: 768px) {
  #hero-stage .hero-copy {
    align-items: flex-start;
    text-align: left;
    gap: 1.5rem;
    padding-bottom: 6rem;
  }

  .hero-brand {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
    text-align: left;
  }

  .hero-image__img {
    width: 7rem;
    height: 7rem;
    object-fit: cover;
  }

  .hero-title {
    min-width: 0;
    flex: 1;
    max-width: 42rem;
    text-align: left;
    font-size: clamp(2.25rem, 4.5vw, 3.15rem);
    line-height: 0.95;
  }

  .hero-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    max-width: 28rem;
  }

  .hero-building {
    width: auto;
    height: min(64vh, 580px);
    right: 0;
    bottom: 0;
  }

  .hero-building img {
    width: auto;
    height: 100%;
    max-height: none;
  }
}

@media (min-width: 1024px) {
  #hero-stage .hero-copy {
    padding-bottom: 0;
  }

  .hero-image__img {
    width: 240px;
    height: 240px;
  }

  .hero-building {
    height: min(72vh, 780px);
  }
}
