.legal::before {
  content: ""; position: absolute; z-index: 3;
  top: 22px; left: 12px; width: 30px; height: 5px;
  background: #a3a8ab;
  border: 1px solid #5f6468; border-radius: 1px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 1px 0 rgba(0, 0, 0, 0.3), 0 2px 3px rgba(0, 0, 0, 0.2);
  transform: rotate(-36deg);
  pointer-events: none;
}

@media (min-width: 761px) {
  .legal { padding-inline: clamp(68px, 4vw + 30px, 86px); }
}

.legal .doc-tete > h1 { grid-column: 1 / -1; }
.legal .doc-tete > .tampon-tete {
  grid-column: 2; grid-row: 2; align-self: center; justify-self: end;
  margin: 0 4px 0 0;
}

.prose .lignes { margin-top: 10px; border-top: 0; }
.prose .lignes > div { grid-template-columns: fit-content(min(10em, 28%)) minmax(20px, 1fr) minmax(0, 64%); }
.prose .lignes > div:first-child { padding-top: 6px; }

@media (max-width: 600px) {
  .legal .doc-tete > .tampon-tete { display: none; }
  .legal::before { top: 12px; left: 6px; width: 24px; }
  .prose .lignes > div { grid-template-columns: 1fr; }
}

@media print {
  .legal::before, .tampon { display: none; }
}
