:root {
  --frame-rule: var(--c-page); --frame-marker: var(--c-page);
  --c-dark-text: #2C3E48; }
body { background: var(--c-primary); }
.page--full { padding: 0; }

.legal-page { position: relative; padding: 30px 20px 64px; }
@media (min-width: 700px) { .legal-page { padding-top: calc(var(--frame) + var(--bar) + 40px); } }
.legal-page::before,
.legal-page::after { content: ""; position: absolute; top: 0; bottom: 0; width: 1px; background: var(--c-page); }
.legal-page::before { left: var(--edge); }
.legal-page::after { right: var(--edge); }

.legal-title {
  width: fit-content; padding: 4px 12px 4px 14px; border-radius: 7px; background: var(--c-ink);
  font-family: var(--mono); font-weight: 500; font-size: 26px; letter-spacing: 0.055em; line-height: 1.35;
  color: var(--c-primary);
}

.legal-text {
  margin-top: 28px;
  font-family: var(--sans); font-weight: 400; font-size: 16px; letter-spacing: 0.005em; line-height: 1.35;
  color: var(--c-dark-text);
}
.legal-text :is(p, ul) + :is(p, ul) { margin-top: 0.9em; }
.legal-text h2 {
  margin: 2em 0 0.6em;
  font-family: var(--mono); font-weight: 600; font-size: 1.15em; letter-spacing: 0.045em; line-height: 1.35;
  scroll-margin-top: calc(var(--frame) + var(--bar) + 24px); }
.legal-text ul { padding-left: 1.25em; }
.legal-text li { list-style: disc outside; }
.legal-text li + li { margin-top: 0.35em; }
.legal-text strong { font-weight: 600; }
.legal-text a { text-decoration: underline; text-underline-offset: 0.15em; text-decoration-thickness: 1px; }
.legal-text a:hover { text-decoration-thickness: 2px; }
.legal-updated { font-family: var(--mono); font-weight: 500; font-size: 0.8em; letter-spacing: 0.045em; }
.legal-text .legal-lead { margin-top: 1em; font-size: 1.12em; }

.site-footer--boxed { margin: 0 var(--edge) 20px; border: 1px solid var(--c-page); }


@media (min-width: 700px) and (max-width: 1199px) {
  .legal-title, .legal-text { max-width: 720px; margin-inline: auto; }
  .legal-title { margin-inline: max(0px, (100% - 720px) / 2) auto; }
  .legal-text { font-size: 17px; }
}


@media (min-width: 1200px) {
  .page--full { --u: calc(100cqw / 1728); }

  .legal-page { padding: calc(143 * var(--u)) 0 calc(120 * var(--u)); }
  .legal-page::before { left: calc(20 * var(--u)); }
  .legal-page::after { right: auto; left: calc(1707 * var(--u)); }

  .legal-title {
    height: calc(45 * var(--u)); margin-left: calc(141 * var(--u));
    padding: calc(4 * var(--u)) calc(16 * var(--u)) 0 calc(17.7 * var(--u)); border-radius: calc(7 * var(--u));
    font-size: calc(30 * var(--u)); line-height: calc(40.5 * var(--u));
  }

  .legal-text { width: calc(950 * var(--u)); margin: calc(48 * var(--u)) 0 0 calc(140 * var(--u)); font-size: calc(18 * var(--u)); }

  .site-footer--boxed {
    height: calc(160 * var(--u));
    margin: 0 calc(20 * var(--u)) calc(33 * var(--u));
    padding: calc(48 * var(--u)) 0 0 calc(64 * var(--u));
  }
}
