/* Michel Rénovation · avant / après des pages métier : comparateur .cmp + repères (cm.css) + encart */
.ba { position: relative; z-index: 2; padding: clamp(5.5rem, 10vw, 8.5rem) 0; }
.ba__head { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.5rem var(--gutter); align-items: end; }
.ba__head .lede { margin-top: 0; }
.ba__panel { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1.6rem; margin-top: clamp(2rem, 4vw, 3rem); align-items: start; }
.ba__fig { margin: 0; }
.ba__cmp { --ar: 16 / 9; background: #d9d1c4; box-shadow: 0 50px 90px -50px rgba(23, 24, 26, .55); }
.ba__fig figcaption { display: flex; align-items: center; gap: .9rem; margin-top: 1rem; font-size: .86rem; color: var(--soft); }
.ba__ill { background: var(--slate); color: var(--bone); border-color: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.ba__card { position: relative; display: grid; gap: 1rem; padding: clamp(1.4rem, 2.4vw, 2rem); background: var(--slate-bg); background-size: 256px 256px, 1200px 800px; color: var(--bone); }
.ba__card::before { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(247, 181, 0, .3); pointer-events: none; }
.ba__card .kicker { color: var(--zinc); margin-bottom: 0; }
.ba__card h3 { margin: 0; font-family: var(--f-display); font-weight: 600; font-size: clamp(1.15rem, .95rem + .7vw, 1.5rem); letter-spacing: .04em; line-height: 1.2; }
.ba__states { margin: 0; display: grid; gap: .8rem; }
.ba__states div { display: grid; grid-template-columns: 4.2rem 1fr; gap: .8rem; padding-top: .8rem; border-top: 1px solid var(--line-d); }
.ba__states dt { font-family: var(--f-mono); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--zinc); padding-top: .25rem; }
.ba__states div + div dt { color: var(--flame); }
.ba__states dd { margin: 0; font-size: .95rem; color: rgba(243, 240, 232, .86); line-height: 1.5; }
.ba__k { margin: .4rem 0 0; font-family: var(--f-mono); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--zinc); }
.ba__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; counter-reset: ba; }
.ba__steps li { counter-increment: ba; display: grid; grid-template-columns: 2.2rem 1fr; gap: .6rem; align-items: baseline; font-weight: 550; font-size: .95rem; line-height: 1.4; }
.ba__steps li::before { content: counter(ba, upper-roman); font-family: var(--f-display); font-size: .8rem; letter-spacing: .1em; color: var(--flame); }
.ba__ctas { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .6rem; }
.ba__ph { width: 1.05rem; height: 1.05rem; margin-right: .1rem; }
@media (max-width: 860px) {
  .ba__head, .ba__panel { grid-template-columns: 1fr; }
  .ba__cmp .cmp__knob { width: 3.2rem; height: 3.2rem; margin: -1.6rem 0 0 -1.6rem; }
}
