:root{
  --bg-1:#07111f;
  --bg-2:#163985;
  --card:rgba(255,255,255,.88);
  --line:rgba(15,23,42,.08);
  --text:#0f172a;
  --muted:#475569;
  --link:#1d4ed8;
  --shadow:0 22px 60px rgba(2,8,23,.22);
}

*{box-sizing:border-box;}
html,body{margin:0;min-height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#07111f;color:#fff;}
a{text-decoration:none;color:inherit;}

body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 15% 15%, rgba(96,165,250,.3), transparent 22%),
    radial-gradient(circle at 80% 18%, rgba(34,197,94,.16), transparent 20%),
    linear-gradient(135deg, var(--bg-1) 0%, var(--bg-2) 100%);
}

.container{
  width:min(920px, calc(100vw - 32px));
  margin:0 auto;
}

.legal-shell{
  padding:32px 0 56px;
}

.back-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border-radius:14px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  font-weight:700;
  margin-bottom:20px;
}

.legal-card{
  padding:28px;
  border-radius:30px;
  background:var(--card);
  color:var(--text);
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.2);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.legal-card h1{
  margin:0 0 10px;
  font-size:clamp(34px,4vw,48px);
  line-height:.96;
  letter-spacing:-.05em;
}

.legal-card h2{
  margin:28px 0 10px;
  font-size:24px;
  line-height:1.1;
  letter-spacing:-.03em;
}

.legal-card h3{
  margin:18px 0 8px;
  font-size:18px;
  color:var(--text);
}

.legal-card p,
.legal-card li{
  color:var(--muted);
  line-height:1.74;
}

.legal-card a{
  color:var(--link);
  font-weight:700;
}

.legal-card ul{
  margin:12px 0;
  padding-left:20px;
}

.legal-meta{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.7;
}

.legal-footer{
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.legal-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 16px;
  border-radius:14px;
  background:#0f172a;
  color:#fff;
  font-weight:800;
  border:0;
  cursor:pointer;
}

.legal-button.secondary{
  background:#e2e8f0;
  color:#0f172a;
}

.legal-button:focus-visible,
.back-link:focus-visible,
.legal-card a:focus-visible{
  outline:2px solid #2563eb;
  outline-offset:4px;
}

@media (max-width:700px){
  .legal-shell{padding:20px 0 40px;}
  .legal-card{padding:22px;}
}
