/* Hero and body content layout: at most two columns, with readable nested groups.
   Application tables/charts retain their data structure. */
.sav-grid, .ed-seq-row, .team-grid, .impl-timeline,
.dep-grid, .cloud-principles, .sec-control-grid, .security-proof-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.sav-grid > :last-child:nth-child(odd),
.ed-seq-row > :last-child:nth-child(odd),
.cloud-principles > :last-child:nth-child(odd),
.sec-control-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
/* A card group beside hero copy must not create extra narrow columns. */
.why-brief-grid { grid-template-columns: minmax(0, 1fr); }
.why-brief-grid > div { min-height: 0; padding: 20px 24px; }
.why-brief-num:empty { display: none; }
.why-detail-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.why-detail-copy { max-width: none; columns: 2; column-gap: clamp(32px, 5vw, 72px); }
/* The heading and cards occupy the section width rather than separate half rows. */
#deployment.sec-controls > .section-inner { display: block; }
.sec-controls h2 { max-width: 22ch; }
/* Process steps read from top to bottom inside an already split hero. */
.dep-flow, .sec-flow { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.dep-flow em, .sec-flow em { display: none; }
@media (max-width: 800px) {
  .sav-grid, .ed-seq-row, .team-grid, .impl-timeline,
  .dep-grid, .cloud-principles, .sec-control-grid, .security-proof-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .why-detail-copy { columns: 1; }
}
