.legal-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.legal-top {
  padding: 20px 18px 0;
  text-align: center;
}

.legal-top .logo {
  display: inline-block;
  max-width: min(240px, 70vw);
  height: auto;
}

.legal-main {
  flex: 1;
  width: min(720px, 100%);
  margin: 0 auto;
  padding: 24px 18px 40px;
}

.legal-doc {
  background: #f7f3ef;
  color: #071428;
  border: 2px solid #000;
  border-radius: 18px;
  padding: 24px 22px;
  box-shadow: 6px 8px 0 #000;
}

.legal-doc h1 {
  margin: 0 0 8px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(1.5rem, 4vw, 2rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.1;
}

.legal-doc .legal-updated {
  margin: 0 0 20px;
  color: #444;
  font-weight: 600;
}

.legal-doc h2 {
  margin: 22px 0 8px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.15rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #0b1f4b;
}

.legal-doc p,
.legal-doc li {
  color: #333;
  line-height: 1.55;
}

.legal-doc ul {
  margin: 8px 0 12px;
  padding-left: 1.25rem;
}

.legal-doc a {
  color: #0b1f4b;
  font-weight: 600;
}

.legal-doc a:hover {
  color: #1e6fe8;
}

.legal-back {
  display: inline-block;
  margin-top: 18px;
  font-weight: 700;
}

.hub-footer .footer-legal {
  margin: 16px 0 0;
  text-align: center;
  font-weight: 600;
}

.hub-footer .footer-legal a {
  color: var(--green);
}

.hub-footer .footer-legal a:hover {
  color: #fff;
}
