.business-continuity-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.business-continuity-page > main {
  flex: 1 0 auto;
}

.business-continuity-page > site-footer {
  flex: 0 0 auto;
}

.business-continuity-process {
  width: min(calc(100% - 48px), 1160px);
  margin: 0 auto;
  padding: 56px 24px;
}

.business-continuity-process > h1 {
  width: min(100%, 1112px);
  margin: 0 auto 40px;
  color: rgb(27, 27, 27);
  font-size: 32px;
  font-weight: 400;
  line-height: 1.25;
}

.business-continuity-process-list {
  /* Match the Audit des Risques list: it spans the full section between
     the shared 24px left and right gutters. */
  width: 100%;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.business-continuity-process-row {
  min-height: 266px;
  margin-bottom: 48px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 48px;
  align-items: center;
}

.business-continuity-process-row:last-child { margin-bottom: 0; }

/* Reverse the alternating image direction while keeping the same list rhythm. */
.business-continuity-process-row:nth-child(odd) > div { order: 1; }
.business-continuity-process-row:nth-child(odd) > img { order: 2; }
.business-continuity-process-row:nth-child(even) > img { order: 1; }
.business-continuity-process-row:nth-child(even) > div { order: 2; }

.business-continuity-process-row img {
  width: 100%;
  height: 266px;
  object-fit: cover;
}

.business-continuity-process-row h2 {
  margin: 0 0 16px;
  color: rgb(27, 27, 27);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.25;
}

.business-continuity-process-row p {
  margin: 0;
  color: #252525;
  font-size: 16px;
  line-height: 1.55;
}

@media (max-width: 767px) {
  .business-continuity-process { width: 100%; padding: 40px 24px 64px; }
  .business-continuity-process > h1 { margin-bottom: 40px; font-size: clamp(1.25rem, 5vw, 1.5rem); }
  .business-continuity-process-row { min-height: 0; margin-bottom: 48px; display: flex; flex-direction: column !important; align-items: stretch; gap: 24px; }
  .business-continuity-process-row > img { order: 1 !important; width: 100%; }
  .business-continuity-process-row > div { order: 2 !important; width: 100%; }
  .business-continuity-process-row img { height: auto; aspect-ratio: 2 / 1; }
  .business-continuity-process-row h2 { font-size: clamp(1.125rem, 4vw + .2rem, 1.375rem); }
  .business-continuity-process-row p { font-size: clamp(1rem, 2.5vw + .5rem, 1.125rem); }
}

@media (min-width: 768px) and (max-width: 1100px) {
  .business-continuity-process-row { min-height: 0; }
  .business-continuity-process-row img { height: auto; aspect-ratio: 2 / 1; }
}
