.legal-body { color:var(--ink); background:#f7f8f2; }
.legal-header { position:sticky; z-index:50; top:0; border-bottom:1px solid var(--line); background:rgba(247,248,242,.95); backdrop-filter:blur(18px); }
.legal-header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.legal-home-link { color:#66716d; font-size:12px; font-weight:800; text-decoration:none; }
.legal-home-link:hover { color:var(--ink); }
.legal-main { padding:58px 0 90px; }
.legal-layout { display:grid; grid-template-columns:245px minmax(0,860px); align-items:start; justify-content:center; gap:42px; }
.legal-nav { position:sticky; top:108px; padding:21px; display:grid; gap:5px; border:1px solid var(--line); border-radius:20px; background:white; }
.legal-nav>span { margin:0 10px 10px; color:#8a9490; font-size:9px; font-weight:900; letter-spacing:1px; text-transform:uppercase; }
.legal-nav a { padding:11px 12px; border-radius:10px; color:#63706a; font-size:11px; font-weight:750; line-height:1.35; text-decoration:none; }
.legal-nav a:hover { color:var(--ink); background:#f1f3ee; }
.legal-nav a.active { color:#5447bb; background:var(--purple-soft); }
.legal-document { overflow:hidden; border:1px solid var(--line); border-radius:29px; background:white; }
.legal-document-head { padding:46px 52px 38px; border-bottom:1px solid var(--line); background:radial-gradient(circle at 90% 10%,rgba(188,244,83,.32),transparent 25%),linear-gradient(135deg,#fbfff8,#f5f3ff); }
.legal-document-head>span { color:var(--purple); font-size:9px; font-weight:900; letter-spacing:1px; text-transform:uppercase; }
.legal-document-head h1 { max-width:720px; margin:14px 0 12px; font-size:clamp(40px,5vw,62px); line-height:.98; letter-spacing:-3px; }
.legal-document-head p { margin:0; color:var(--muted); font-size:11px; }
.legal-document>section { padding:30px 52px; border-bottom:1px solid #e8ece5; }
.legal-document>section h2 { margin:0 0 14px; font-size:21px; letter-spacing:-.6px; }
.legal-document>section p { margin:0 0 11px; color:#56635d; font-size:13px; line-height:1.78; }
.legal-document>section p:last-child { margin-bottom:0; }
.legal-document>section ul { margin:0; padding-left:20px; color:#56635d; font-size:13px; line-height:1.78; }
.legal-document>section a,.legal-document-footer a { color:#574ac1; font-weight:750; text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-document>section b { color:var(--ink); }
.legal-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; background:#fbfcf9; }
.legal-summary div { padding:18px; border:1px solid var(--line); border-radius:14px; background:white; }
.legal-summary span,.legal-summary b { display:block; }
.legal-summary span { color:#84908a; font-size:9px; font-weight:800; text-transform:uppercase; }
.legal-summary b { margin-top:8px; font-size:18px; }
.legal-document-footer { padding:34px 52px 40px; background:#132720; color:white; }
.legal-document-footer>b { color:var(--lime); font-size:10px; letter-spacing:.8px; text-transform:uppercase; }
.legal-document-footer p { margin:13px 0 0; color:rgba(255,255,255,.72); font-size:12px; line-height:1.75; }
.legal-site-footer .footer-top { grid-template-columns:.8fr .8fr 1.8fr; }
.legal-site-footer .footer-links { flex-wrap:wrap; row-gap:10px; }

@media (max-width:900px) {
  .legal-layout { grid-template-columns:1fr; }
  .legal-nav { position:static; grid-template-columns:repeat(2,1fr); }
  .legal-nav>span { grid-column:1/-1; }
  .legal-site-footer .footer-top { grid-template-columns:1fr; }
  .legal-site-footer .footer-links { justify-content:flex-start; }
}

@media (max-width:620px) {
  .legal-header-inner { min-height:68px; }
  .legal-main { padding:28px 0 55px; }
  .legal-nav { padding:13px; }
  .legal-nav a { padding:10px 9px; font-size:9px; }
  .legal-document { border-radius:22px; }
  .legal-document-head { padding:34px 24px 29px; }
  .legal-document-head h1 { font-size:39px; letter-spacing:-2px; }
  .legal-document>section { padding:26px 24px; }
  .legal-document>section h2 { font-size:18px; }
  .legal-document>section p,.legal-document>section ul { font-size:12px; }
  .legal-summary { grid-template-columns:1fr; }
  .legal-document-footer { padding:29px 24px 34px; }
}
