.legal-top {
  background: var(--boudu-deep);
  color: #fff;
  padding: 34px 0 30px;
}
.legal-top__inner { width: 100%; }
.legal-kicker {
  font-family: var(--display-face);
  font-size: 11.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #7ea8cf;
  margin: 0 0 10px;
}
.legal-top h1 {
  color: #fff;
  margin: 0 0 10px;
  font-size: 31px;
}
.legal-stamp {
  margin: 0;
  font-size: 13px;
  color: #a9bccb;
}

.legal-body {
  width: 100%;
  padding: 30px 0 46px;
}
.legal-body__inner { width: 100%; }
.legal-body h2 {
  font-size: 20px;
  margin: 28px 0 10px;
  padding-top: 18px;
  border-top: 1px solid var(--boudu-line);
}
.legal-body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.legal-body p { max-width: none; }

.legal-list { margin: 0 0 16px; padding-left: 18px; }
.legal-list li { margin-bottom: 7px; }

.legal-table {
  margin: 4px 0 18px;
  padding: 0;
  border-top: 1px solid var(--boudu-line);
}
.legal-table dt {
  font-family: var(--display-face);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--boudu-mute);
  padding: 12px 0 2px;
}
.legal-table dd {
  margin: 0;
  padding: 0 0 12px;
  border-bottom: 1px solid #ecebe7;
}

@media (min-width: 700px) {
  .legal-top { padding: 52px 0 46px; }
  .legal-top h1 { font-size: 42px; }
  .legal-body { padding: 42px 0 62px; }
  .legal-body h2 { font-size: 23px; }
  .legal-table { display: grid; grid-template-columns: minmax(0, 250px) minmax(0, 1fr); }
  .legal-table dt { padding: 13px 20px 13px 0; border-bottom: 1px solid #ecebe7; }
  .legal-table dd { padding: 13px 0; }
}

@media (min-width: 1000px) {
  .legal-top { padding: 66px 0 56px; }
  .legal-top h1 { font-size: 52px; }
  .legal-body { padding: 54px 0 78px; }
  .legal-body h2 { margin-top: 36px; padding-top: 24px; }
  .legal-table { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); }
}
