.legal-page{
  padding:4.5rem 0 5rem;
  background:var(--bg);
}

.legal-doc{
  max-width:820px;
  margin:0 auto;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:28px;
  padding:clamp(1.75rem,4vw,3rem);
  box-shadow:var(--shadow);
}

.legal-doc h1{
  font-family:var(--font-display);
  font-size:clamp(2rem,4vw,2.75rem);
  line-height:1.12;
  color:var(--text);
  margin-bottom:1rem;
}

.legal-updated{
  color:var(--muted);
  font-size:.9rem;
  margin-bottom:1.5rem;
}

.legal-doc h2{
  font-family:var(--font-display);
  font-size:1.35rem;
  color:var(--primary);
  margin:2rem 0 .85rem;
}

.legal-doc p,
.legal-doc li{
  color:var(--muted);
  line-height:1.8;
  font-size:1rem;
}

.legal-doc p + p{
  margin-top:1rem;
}

.legal-doc ul,
.legal-doc ol{
  margin:1rem 0 0 1.25rem;
  display:grid;
  gap:.55rem;
}

.legal-doc a{
  color:var(--primary);
  text-decoration:underline;
  text-underline-offset:2px;
}

.legal-highlight{
  background:var(--primary-pale);
  border:1px solid var(--border);
  border-radius:18px;
  padding:1.1rem 1.2rem;
  margin:1.25rem 0;
}

.legal-highlight p{
  color:var(--text);
  margin:0;
}

.legal-nav{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem 1.25rem;
  margin-top:2.5rem;
  padding-top:1.5rem;
  border-top:1px solid var(--border);
}

.legal-nav a{
  font-weight:700;
  text-decoration:none;
}

.legal-nav a:hover{
  text-decoration:underline;
}

@media (max-width: 640px) {
  .legal-page {
    padding: 4rem 0 3.5rem;
  }

  .legal-doc {
    border-radius: 22px;
  }
}
