.legal-shell {
  width: min(920px, calc(100% - 32px));
  flex: 1;
  margin: 38px auto 54px;
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: var(--shadow);
}

.legal-shell h1 {
  margin: 20px 0 16px;
  font-size: clamp(2.4rem, 6vw, 4.6rem);
}

.legal-lead {
  max-width: 760px;
  color: #33424a;
  font-size: 1.16rem;
}

.legal-version {
  color: var(--muted);
  font-size: .88rem;
  font-weight: 700;
}

.privacy-summary {
  margin: 34px 0;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid rgba(15,118,110,.18);
  border-radius: 18px;
  background: #eaf6f3;
}

.privacy-summary h2,
.legal-sections h2 { margin-top: 0; }

.privacy-summary dl { margin: 0; }

.privacy-summary dl div {
  display: grid;
  grid-template-columns: minmax(120px, 180px) 1fr;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(15,118,110,.12);
}

.privacy-summary dl div:last-child { border-bottom: 0; }
.privacy-summary dt { font-weight: 850; }
.privacy-summary dd { margin: 0; }
.privacy-summary a { color: var(--primary-dark); font-weight: 800; }

.legal-sections {
  display: grid;
  gap: 16px;
}

.legal-sections section {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.legal-sections h2 { font-size: 1.35rem; }
.legal-sections p { margin-bottom: 0; color: #33424a; }

.legal-external {
  display: inline-flex;
  gap: 7px;
  margin-top: 14px;
  color: var(--primary-dark);
  font-weight: 850;
  text-decoration: none;
}

.legal-back { margin-top: 30px; }

@media (max-width: 620px) {
  .privacy-summary dl div { grid-template-columns: 1fr; gap: 3px; }
  .legal-shell { border-radius: 18px; }
}
