body.site-page {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

body.site-page .site-footer {
  margin-top: auto;
}

.legal-doc {
  position: relative;
  z-index: 1;
  flex: 1;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: calc(max(env(safe-area-inset-top), 12px) + 56px) 20px 32px;
}

.legal-doc h1 {
  font-family: 'Syne', sans-serif;
  font-size: clamp(26px, 6vw, 32px);
  font-weight: 800;
  color: var(--txt);
  margin-bottom: 8px;
}

.legal-doc .legal-updated {
  font-size: 13px;
  color: var(--txt3);
  margin-bottom: 28px;
}

.legal-doc h3 {
  font-family: 'Syne', sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--teal);
  margin: 24px 0 8px;
}

.legal-doc p {
  font-size: 15px;
  line-height: 1.65;
  color: var(--txt2);
  margin-bottom: 12px;
}

.legal-doc a {
  color: var(--accent);
}

.legal-doc ul {
  margin: 0 0 12px 1.2em;
  color: var(--txt2);
  font-size: 15px;
  line-height: 1.6;
}

.legal-doc .legal-back {
  text-align: left;
  margin-bottom: 20px;
}

.legal-back {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--txt2);
  text-decoration: none;
}

.legal-back:hover {
  color: var(--txt);
}
