/* Legal documents: title and text on the left, character and contents on the right. */
html body#nw-web .document-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  column-gap: 64px;row-gap:0;
  align-items: start;
  margin: 48px 0 90px;
}
html body#nw-web .document-intro { padding: 0 0 40px; }
.document-reading { display:contents; }
html body#nw-web .document-intro { grid-column:1;grid-row:1; }
.document-reading > .legal-content { grid-column:1;grid-row:2; }
.document-intro h1 { margin-bottom: 0; }
.document-reading, .document-reading > .legal-content { min-width: 0; max-width: none; }
.legal-content { display: grid; gap: 32px; line-height: 1.85; }
.legal-content .legal-section { display: grid; gap: 16px; min-width: 0; }
.legal-content .legal-section > * { margin-block: 0; }
.legal-content .legal-section > h2 { margin: 0 0 4px; }
.legal-content .legal-list { display: grid; gap: 8px; }
.legal-content .legal-list-item { display: grid; grid-template-columns: 20px minmax(0,1fr); gap: 10px; align-items: start; }
.legal-content .legal-list-item > svg { width: 20px; height: 20px; margin-top: 3px; }
.document-sidebar { grid-column:2;grid-row:2;min-width: 0; align-self: stretch; }
.document-figure { margin: 0; }
.document-art {
  display: block;
  width: 120%;
  max-width: none;
  margin-left: -20%;
  height: 650px;
  object-fit: contain;
  object-position: center top;
}
.document-toc { display:grid;grid-template-columns:minmax(0,1fr);gap:2px;position:sticky;top:96px;margin:24px 0 0;max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain; }
.document-toc a { padding: 7px 0; font-size: 13px; }
.document-toc a:hover { text-decoration: underline; text-underline-offset: 5px; }
@media(max-width:900px){.document-toc{display:none}}
@media (max-width: 1100px) {
  html body#nw-web .document-layout { grid-template-columns: minmax(0, 1fr) 260px; column-gap: 32px; }
  .document-art { height: 540px; }
}
@media (max-width: 700px) {
  .legal-content { gap: 24px; }
  .legal-content .legal-section { gap: 14px; }
  html body#nw-web .document-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 28px; }
  .document-reading { display: contents; }
  html body#nw-web .document-intro { grid-row: 1; padding: 0; }
  .document-sidebar { grid-column:1;grid-row:2; }
  .document-toc { display:none; }
  .document-reading > .legal-content { grid-row:3; }
  .document-art { height: 336px; width: 100%; margin-left: 0; }
}
