/* Scènes éditoriales dans les sections existantes. */
.section-heading.illustrated-heading { position: relative; padding-right: 146px; min-height: 82px; }
.section-illustration { position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 132px; height: 88px; object-fit: contain; pointer-events: none; }
.illustrated-heading .section-pictogram { display: none; }
.illustrated-heading .section-title-with-icon { display: block; }
.calculator-copy .copy-illustration { float: right; width: 112px; height: 75px; margin: 0 0 8px 16px; object-fit: contain; }
.immobilier-page .hero-route { position: relative; padding-top: 136px; }
.hero-route .property-illustration { position: absolute; width: 204px; height: 136px; top: 0; left: 20px; object-fit: contain; }
/* Géométrie fonctionnelle : aplats SVG transparents, sans cadre d'image. */
#comparateur .section-heading.editorial-comparison { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,.5fr); gap: 12px 28px; padding-right: 0; align-items: center; }
.editorial-comparison-image { grid-column: 2; grid-row: 1/3; display: block; width: 100%; max-width: 320px; height: auto; justify-self: end; }
.editorial-comparison>div { grid-column: 1; grid-row: 1; }
.editorial-comparison>.comparison-limit { grid-column: 1; justify-self: start; }
.editorial-comparison .section-pictogram { display: none; }
.editorial-comparison .section-title-with-icon { display: block; }
#fonctionnement.integrated-process { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 20px 40px; align-items: center; }
#fonctionnement.integrated-process .section-heading { grid-column: 1; margin: 0; }
.process-illustration { grid-column: 2; grid-row: 1/4; margin: 0; align-self: center; }
.process-image { display: block; width: 100%; max-width: 360px; height: auto; margin-left: auto; }
#fonctionnement.integrated-process .compact-steps { grid-column: 1; grid-template-columns: 1fr 1fr; margin: 0; gap: 24px; }
#fonctionnement.integrated-process .form-note { grid-column: 1; margin: 0; }
#contrat.integrated-agreement { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 20px 40px; align-items: start; }
#contrat.integrated-agreement .section-heading { grid-column: 1; grid-row: 1; margin: 0; padding: 0; }
#contrat.integrated-agreement .definition-copy { grid-column: 1; grid-row: 2; }
.agreement-image { grid-column: 2; grid-row: 1/3; display: block; width: 100%; max-width: 320px; height: auto; justify-self: end; align-self: center; }
.immobilier-page #definition.illustrated-role { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.65fr); column-gap: 32px; row-gap: 22px; padding: 30px; }
.immobilier-page #definition.illustrated-role .section-heading { grid-column: 1/-1; grid-row: auto; margin: 0; }
.immobilier-page #definition.illustrated-role .section-heading h2 { font-size: clamp(25px, 2.2vw, 32px); }
.immobilier-page #definition.illustrated-role .role-diagram { grid-column: 2; grid-row: 2/4; align-self: center; margin: 0; }
.property-role-image { display: block; width: 100%; height: auto; max-width: 360px; margin-left: auto; }
.immobilier-page #definition.illustrated-role .definition-intro { grid-column: 1; grid-row: 2; margin: 0; font-size: 15px; }
.immobilier-page #definition.illustrated-role .definition-facts { grid-column: 1; grid-row: 3; grid-template-columns: 1fr; gap: 16px; }
/* Les colonnes éditoriales possèdent déjà l'espace nécessaire sous le titre. */
@media(min-width:1100px) {
  #definition .illustrated-heading, #contrat .illustrated-heading { padding-right: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 14px; }
  #definition .section-illustration, #contrat .section-illustration { position: static; transform: none; width: 144px; height: 96px; order: 2; }
}
@media(max-width:700px) {
  #comparateur .section-heading.editorial-comparison { grid-template-columns: minmax(0,1fr) 104px; gap: 12px; }
  .editorial-comparison-image { grid-row: 1; align-self: start; margin-top: 18px; }
  .editorial-comparison>div { display: contents; }
  .editorial-comparison>div>.eyebrow { grid-column: 1/-1; grid-row: 1; }
  .editorial-comparison>div>h2 { grid-column: 1; grid-row: 2; }
  .editorial-comparison>div>p:not(.eyebrow) { grid-column: 1/-1; grid-row: 3; }
  .editorial-comparison-image { grid-column: 2; grid-row: 2; }
  #fonctionnement.integrated-process { grid-template-columns: minmax(0,1fr) 112px; gap: 18px 14px; }
  #fonctionnement.integrated-process .section-heading { grid-column: 1/-1; }
  #fonctionnement.integrated-process .compact-steps { grid-column: 1; grid-template-columns: 1fr; gap: 16px; }
  #fonctionnement.integrated-process .process-illustration { grid-column: 2; grid-row: 2; align-self: center; }
  #fonctionnement.integrated-process .form-note { grid-column: 1/-1; }
  #contrat.integrated-agreement { grid-template-columns: minmax(0,1fr) 112px; gap: 18px 14px; }
  #contrat.integrated-agreement .agreement-image { grid-column: 2; grid-row: 1; align-self: center; }
  #contrat.integrated-agreement .definition-copy { grid-column: 1/-1; grid-row: 2; }
  .immobilier-page #definition.illustrated-role { padding: 22px 18px; gap: 18px; }
  .immobilier-page #definition.illustrated-role { grid-template-columns: minmax(0,1fr) 96px; }
  .immobilier-page #definition.illustrated-role .section-heading { grid-column: 1; grid-row: 1; }
  .immobilier-page #definition.illustrated-role .role-diagram { grid-column: 2; grid-row: 1; }
  .immobilier-page #definition.illustrated-role .definition-intro { grid-column: 1/-1; grid-row: 2; }
  .immobilier-page #definition.illustrated-role .definition-facts { grid-column: 1/-1; grid-row: 3; }
  .immobilier-page #definition.illustrated-role .definition-facts { grid-template-columns: 1fr; }
  .section-heading.illustrated-heading { padding-right: 66px; min-height: 48px; }
  .section-illustration { width: 66px; height: 44px; top: 0; transform: none; }
  .calculator-copy .copy-illustration { width: 72px; height: 48px; margin-left: 10px; }
}

/* Bandeaux illustrés en tête de bande (essai sur « Les programmes », 22 octobre 2026) : traits fins, peu de couleurs, beaucoup d’air. */
.band-illustration { margin: 8px 0 56px; }
.band-illustration img { display: block; width: 100%; height: auto; max-height: 220px; }
@media (max-width: 700px) { .band-illustration { margin: 0 0 32px; } }
