.vpp-page-privacy,.vpp-page-terms{background:var(--bg)}
.vpp-page-privacy .app-shell,.vpp-page-terms .app-shell{background:var(--bg)}
.legal-page{width:min(960px,calc(100% - 28px));margin:0 auto;padding:34px 0 60px;position:relative;z-index:1}
.vpp-page-privacy .legal-page::before,.vpp-page-terms .legal-page::before{content:"";position:fixed;inset:0;background:var(--bg);z-index:-2}
.vpp-page-privacy .legal-page::after,.vpp-page-terms .legal-page::after{content:"";position:fixed;inset:0;background:radial-gradient(circle at 14% 18%,rgba(20,138,91,.1),transparent 30%),radial-gradient(circle at 84% 12%,rgba(242,184,75,.1),transparent 28%);z-index:-1;pointer-events:none}
.vpp-page-privacy .site-footer,.vpp-page-terms .site-footer{position:relative;z-index:3;margin-top:40px}

.legal-hero{padding:clamp(24px,5vw,40px);margin-bottom:20px;background:radial-gradient(circle at 88% 10%,rgba(242,184,75,.16),transparent 38%),radial-gradient(circle at 8% 20%,rgba(20,138,91,.14),transparent 38%),linear-gradient(132deg,var(--surface) 0%,var(--surface-alt) 100%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.legal-hero h1{margin:6px 0 0;font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.1}
.legal-meta{margin:10px 0 0;color:var(--primary-dark);font-weight:800;font-size:.88rem;letter-spacing:.02em}
.legal-hero>p:last-child{margin:12px 0 0;max-width:680px;color:var(--muted);line-height:1.65}

.legal-layout{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}

.legal-toc{position:sticky;top:20px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:grid;gap:4px}
.legal-toc-title{margin:0 0 6px;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.legal-toc a{display:block;padding:7px 8px;border-radius:calc(var(--radius) - 4px);color:var(--muted);font-size:.86rem;font-weight:700;line-height:1.35;transition:background 150ms ease,color 150ms ease}
.legal-toc a:hover,.legal-toc a:focus-visible{background:var(--primary-soft);color:var(--primary-dark)}

.legal-content{padding:clamp(22px,4vw,36px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:30px}
.legal-content section{scroll-margin-top:20px}
.legal-content h2{margin:0 0 4px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:clamp(1.15rem,2.4vw,1.4rem)}
.legal-content h3{margin:16px 0 0;color:var(--primary-dark);font-size:1rem}
.legal-content p{margin:10px 0 0;color:var(--muted);line-height:1.7}
.legal-content section>p:first-of-type{margin-top:12px}
.legal-content strong{color:var(--text)}
.legal-content a{color:var(--primary-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.legal-content ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:9px}
.legal-content li{position:relative;padding-left:20px;color:var(--muted);line-height:1.6}
.legal-content li::before{content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:99px;background:var(--primary)}

@media (max-width:860px){
  .legal-layout{grid-template-columns:1fr}
  .legal-toc{position:static;display:flex;flex-wrap:wrap;gap:8px}
  .legal-toc-title{width:100%}
  .legal-toc a{padding:6px 10px;background:var(--surface-soft)}
}

@media (max-width:640px){
  .legal-page{padding-top:18px}
  .legal-content{padding:20px}
}
