.legal-hero {
  padding: 68px 0 36px;
  border-bottom: 1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(180deg, rgba(5,7,13,.35), #070912),
    url("../images/bg.webp") center 32%/cover no-repeat;
}
.legal-hero h1 { font-size: clamp(2.1rem, 5vw, 4rem); }
.legal-hero p { max-width: 760px; color: #d2cbc1; }
.legal-main { padding: 46px 0 90px; }
.legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 44px;
  align-items: start;
}
.legal-content {
  min-width: 0;
  padding: clamp(22px, 5vw, 44px);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 20px;
  background: rgba(12,15,26,.92);
  box-shadow: 0 24px 70px rgba(0,0,0,.3);
}
.legal-content h2 {
  margin: 2.1em 0 .65em;
  color: #ffe18a;
  font-size: clamp(1.35rem, 2.6vw, 1.9rem);
}
.legal-content h2:first-child { margin-top: 0; }
.legal-content h3 { color: #fff0b6; font-size: 1.1rem; margin-top: 1.5em; }
.legal-content p, .legal-content li { color: #c9c4bb; }
.legal-content ul, .legal-content ol { padding-left: 1.25rem; }
.legal-content a { color: #f6d56b; text-decoration: underline; text-underline-offset: 3px; }
.legal-content code { color: #ffe39b; background: #171a26; padding: 2px 5px; border-radius: 5px; }
.legal-aside {
  position: sticky;
  top: 94px;
  padding: 20px;
  border: 1px solid rgba(245,197,66,.18);
  border-radius: 16px;
  background: #0c0f19;
}
.legal-aside h2 { margin: 0 0 12px; font-size: 1rem; color: #ffe18a; font-family: inherit; }
.legal-aside nav { display: grid; gap: 8px; }
.legal-aside a { color: #bdb8af; font-size: .9rem; }
.legal-aside a:hover { color: #ffe18a; }
.legal-callout { padding: 18px; margin: 22px 0; box-shadow: none; }
.legal-callout strong { color: #ffe18a; }
@media (max-width: 900px) {
  .legal-layout { grid-template-columns: 1fr; }
  .legal-aside { position: static; order: -1; }
}
