.cp-legal-hero{
  padding:32px 0 40px;
  border-bottom:1px solid var(--line);
}
.cp-legal-hero h1{
  font-size:clamp(1.9rem, 1.5rem + 1.5vw, 2.8rem);
  max-width:18ch;
  line-height:1.1;
}
.cp-legal-hero p{
  font-size:1.05rem;
  max-width:56ch;
  margin:0;
}

.cp-legal-disclaimer{
  margin:28px 0 0;
  padding:16px 20px;
  background:var(--parchment-2);
  border-left:3px solid var(--gold);
  border-radius:0 var(--radius) var(--radius) 0;
  font-size:0.9rem;
}
.cp-legal-disclaimer p{ margin:0; }

.cp-legal-wrap{
  padding:48px 0 80px;
}
.cp-legal-content{
  max-width:760px;
}
.cp-legal-content section{
  margin-bottom:40px;
}
.cp-legal-content h2{
  font-size:1.25rem;
  margin-bottom:14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
.cp-legal-content h3{
  font-size:1rem;
  margin:18px 0 8px;
  color:var(--ink);
}
.cp-legal-content p,
.cp-legal-content li{
  font-size:0.95rem;
  color:var(--muted);
}
.cp-legal-content ul{
  margin:0 0 1em;
  padding-left:1.2em;
}
.cp-legal-content li{ margin-bottom:0.4em; }
.cp-legal-content a{
  color:var(--ink);
  border-bottom:1px solid var(--gold);
  transition:color 0.18s ease;
}
.cp-legal-content a:hover{ color:var(--gold); }

.cp-legal-box{
  margin:16px 0;
  padding:18px 20px;
  background:var(--parchment-2);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.cp-legal-box p{ margin:0 0 6px; }
.cp-legal-box p:last-child{ margin:0; }

.cp-legal-alert{
  margin-top:32px;
  padding:18px 20px;
  background:rgba(181,80,46,0.08);
  border:1px solid rgba(181,80,46,0.25);
  border-radius:var(--radius);
  font-size:0.9rem;
}
.cp-legal-alert p{ margin:0; color:var(--text); }

.cp-legal-updated{
  font-family:var(--font-mono);
  font-size:0.78rem;
  color:var(--muted-light);
  margin:32px 0 0;
}
