.cp-legal--terms-clean{
  padding: 32px 0 64px;
}

.cp-legal__shell{
  max-width: 980px;
  margin: 0 auto;
  padding: 0 24px;
}

.cp-legal__hero{
  margin-bottom: 28px;
}

.cp-legal__title{
  margin: 10px 0 16px;
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--c-text-strong);
}

.cp-legal__lead{
  max-width: 860px;
  font-size: 1.08rem;
  line-height: 1.9;
  color: var(--c-text-soft);
}

.cp-legal__updated{
  margin-top: 18px;
  color: var(--c-muted);
  font-size: .98rem;
}

.cp-legal__block,
.cp-legal__notice{
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 20px;
  padding: 28px;
  margin-top: 20px;
  box-shadow: 0 1px 2px rgba(16,24,40,.04);
}

.cp-legal__block h2,
.cp-legal__notice h2{
  margin: 0 0 14px;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.2;
  color: var(--c-text-strong);
}

.cp-legal__block p,
.cp-legal__notice p{
  margin: 0 0 14px;
  font-size: 1.04rem;
  line-height: 1.9;
  color: var(--c-text);
}

.cp-legal__block p:last-child,
.cp-legal__notice p:last-child{
  margin-bottom: 0;
}

.cp-legal__notice--warning{
  background: #fffaf0;
  border-color: #f2d9a6;
}

.cp-legal__notice--danger{
  background: #fff4f5;
  border-color: #efc2c8;
}

@media (max-width: 768px){
  .cp-legal__shell{
    padding: 0 18px;
  }

  .cp-legal__block,
  .cp-legal__notice{
    padding: 22px 18px;
  }

  .cp-legal__lead,
  .cp-legal__block p,
  .cp-legal__notice p{
    line-height: 1.8;
  }
}