.legal-shell{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.legal-hero{border-radius:34px;padding:34px;margin-bottom:22px;position:relative;overflow:hidden}
.legal-hero:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,var(--rose),var(--cyan),var(--yellow),var(--violet))}
.legal-kicker{display:inline-flex;gap:8px;align-items:center;color:var(--muted);font-weight:950;margin-bottom:14px}
.legal-hero h1{font-size:clamp(34px,5vw,62px);line-height:.95;letter-spacing:-.06em;margin-bottom:16px}
.legal-hero p{max-width:760px;color:var(--muted);font-size:18px;line-height:1.65}
.legal-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;color:var(--muted);font-weight:850}
.legal-meta span{border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:9px 12px}
.legal-card{border-radius:34px;padding:30px}
.legal-content{display:grid;gap:26px}
.legal-content section{scroll-margin-top:92px}
.legal-content h2{font-size:clamp(24px,3vw,34px);letter-spacing:-.04em;margin-bottom:12px}
.legal-content h3{font-size:20px;letter-spacing:-.02em;margin:18px 0 8px}
.legal-content p,.legal-content li{color:var(--muted);line-height:1.8;font-size:16px}
.legal-content p+p{margin-top:10px}
.legal-content ul,.legal-content ol{padding-left:22px;display:grid;gap:8px;margin-top:10px}
.legal-note{border:1px solid var(--line);background:linear-gradient(135deg,rgba(6,182,212,.10),rgba(236,72,153,.08),rgba(132,204,22,.08));border-radius:24px;padding:18px;color:var(--ink)!important;font-weight:850}
.legal-sidebar{position:sticky;top:88px;display:grid;gap:14px}
.legal-toc,.legal-help{border-radius:28px;padding:20px}
.legal-toc h2,.legal-help h2{font-size:18px;margin-bottom:12px;letter-spacing:-.02em}
.legal-toc nav{display:grid;gap:8px}
.legal-toc a{color:var(--muted);font-weight:850;padding:10px 12px;border-radius:16px;border:1px solid transparent}
.legal-toc a:hover{color:var(--ink);background:var(--soft);border-color:var(--line)}
.legal-help p{color:var(--muted);line-height:1.65;margin-bottom:14px}
.legal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
@media(max-width:960px){.legal-shell{grid-template-columns:1fr}.legal-sidebar{position:static;order:-1}.legal-toc nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.legal-hero,.legal-card{border-radius:26px;padding:22px}.legal-toc nav{grid-template-columns:1fr}.legal-actions .btn{width:100%}}

.legal-page {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 48px 20px 80px;
  box-sizing: border-box;
}

.legal-container {
  max-width: 980px;
  margin: 0 auto;
  padding: 36px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 24px 80px rgba(15, 23, 42, 0.12);
  backdrop-filter: blur(18px);
  box-sizing: border-box;
}

.legal-container h1 {
  margin: 0 0 10px;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.1;
}

.legal-container h2 {
  margin: 32px 0 12px;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.2;
}

.legal-container h3 {
  margin: 24px 0 10px;
}

.legal-container p,
.legal-container li {
  font-size: 16px;
  line-height: 1.7;
}

.legal-container ul {
  padding-left: 22px;
  margin: 12px 0;
}

.legal-container .date {
  color: rgba(15, 23, 42, 0.62);
  margin-bottom: 28px;
}

.legal-container table {
  width: 100%;
  border-collapse: collapse;
  margin: 18px 0;
  overflow: hidden;
}

.legal-container th,
.legal-container td {
  border: 1px solid rgba(15, 23, 42, 0.14);
  padding: 12px;
  text-align: left;
  vertical-align: top;
}

.legal-container th {
  background: rgba(15, 23, 42, 0.06);
}

@media (max-width: 700px) {
  .legal-page {
    padding: 28px 12px 56px;
  }

  .legal-container {
    padding: 24px 18px;
    border-radius: 22px;
  }

  .legal-container p,
  .legal-container li {
    font-size: 15px;
  }
}