/* Le dessin dispose de sa propre place : aucune superposition au contenu. */
.is-home .hero__grid { width: calc(100% - 240px); max-width: 1140px; margin-inline: auto; }
.is-home .hero > .hero__obelisk { left: max(8px, calc((100% - 1440px) / 2 + 8px)); top: 145px; bottom: 0; width: clamp(86px,9vw,130px); height: calc(100% - 145px); opacity: .78; overflow: hidden; }
.hero__artwork { width: 100%; min-width: 0; }
.hero__mobile-obelisk { display: none; }
@media (max-width: 1100px) and (min-width: 1001px) {
  .is-home .hero__grid { width: calc(100% - 200px); gap: 28px; }
  .is-home .hero__identity-row { gap: 15px; }
  .is-home .hero__identity-row .hero__logo { width: 130px; height: 130px; }
  .is-home .hero__portrait { width: 150px; }
}
@media (max-width: 1000px) {
  .is-home .hero > .hero__obelisk { display: none; }
  .is-home .hero__grid { width: calc(100% - 40px); max-width: 600px; grid-template-columns: minmax(0,1fr); gap: 46px; min-height: 0; }
  .is-home .hero__intro { width: 100%; max-width: 520px; margin-inline: auto; }
  .is-home .hero__visual { width: 100%; max-width: 520px; margin-inline: auto; }
  .is-home .hero__artwork { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 20px; align-items: stretch; }
  .hero__mobile-obelisk { display: block; width: 42px; height: 100%; opacity: .9; overflow: hidden; transform: scaleY(1.16); transform-origin: top; }
  .is-home .heart-scene { width: 100%; min-width: 0; height: clamp(310px,95vw,460px); }
  .is-home .heart-sculpture { width: clamp(190px,67vw,310px); max-width: 100%; }
  .is-home .heart-scene__orbit--one { width: min(100%,380px); height: 88%; top: 5%; }
  .is-home .heart-scene__light { max-width: 110px; right: 0; }
  .is-home .hero__quote { margin-bottom: 32px; }
}
@media (max-width: 380px) {
  .is-home .hero__grid { width: calc(100% - 32px); }
  .is-home .hero__identity-row { gap: 14px; }
  .is-home .hero__identity-row .hero__logo { width: 118px; height: 118px; }
  .is-home .hero__portrait { width: 140px; }
  .is-home .hero__artwork { grid-template-columns: 34px minmax(0,1fr); gap: 17px; }
  .hero__mobile-obelisk { width: 34px; }
  .is-home .hero__cv { gap: 10px; padding-inline: 16px; white-space: normal; }
}

/* Sur téléphone, l'identité et le cœur partagent l'axe central de la page. */
@media (max-width: 1000px) {
  .is-home .hero__intro { min-width: 0; text-align: center; }
  .is-home .hero__signature { align-items: center; }
  .is-home .hero__identity-row { width: 100%; justify-content: center; gap: clamp(14px, 5vw, 28px); }
  .is-home .hero__identity-row .hero__logo { margin: 0; width: clamp(108px, 34vw, 170px); height: auto; }
  .is-home .hero__portrait { width: clamp(130px, 40vw, 190px); max-width: 47%; }
  .is-home .heartmath-badge { margin-inline: auto; }
  .is-home .hero__intro .credentials-list p { text-align: center; }
  .is-home .hero__cv { max-width: 100%; white-space: normal; }
  .is-home .hero__artwork { grid-template-columns: 48px minmax(0,1fr) 48px; gap: 8px; }
  .is-home .hero__mobile-obelisk { width: 64px; justify-self: center; grid-column: 1; grid-row: 1; }
  .is-home .heart-scene { grid-column: 2; grid-row: 1; height: clamp(310px, 90vw, 460px); }
  .is-home .heart-sculpture { width: 100%; max-width: 310px; }
  .is-home .hero__quote p { text-align: center; }
  .is-home .coherence-intro__inner { min-width: 0; }
  .is-home .coherence-intro__copy { min-width: 0; width: 100%; }
  .is-home .coherence-intro__inner.reveal { opacity: 1; transform: none; }
}

@media (max-width: 1000px) {
  .hero__mobile-obelisk path[stroke] { vector-effect: non-scaling-stroke; stroke-width: 1.1px; }
}
