/* Consistent page rhythm, independent of which module appended a section. */
main#main { display:flex; flex-direction:column; gap:20px; }
main#main > * { margin-block:0!important; min-width:0; }
main#main > .footer { padding-top:20px; }

/* A description belongs to its heading; the following action is a new group. */
.card.pad > .subtitle + :is(.btn, .row) { margin-top:16px; }
.card.pad > :is(h2,h3) + .row { margin-top:16px; }
.card.pad > .row.spread { flex-wrap:wrap; gap:18px; }
.card.pad > .row.spread > div:first-child { flex:1 1 220px; min-width:0; }
.card > .card { border:0; border-radius:0; box-shadow:none; }
.card > .card-head + .card { margin-top:18px; }
.card.pad :is(h2,h3,.subtitle) { overflow-wrap:anywhere; }

@media (max-width:760px) {
  main#main { gap:16px; }
  .card.pad > .row.spread { gap:16px; }
  .card.pad > .row.spread > .btn { max-width:100%; white-space:normal; }
}
