:root{
  --bg:#f5f8fc;
  --surface:#ffffff;
  --surface-alt:#eef3f9;
  --text:#10284d;
  --muted:#4f6783;
  --line:#d6e0ed;
  --brand:#2f6fd6;
  --brand-dark:#214f9b;
  --max:920px;
  --radius:24px;
  --shadow:0 18px 50px rgba(16,40,77,.08);
  --font-heading:'Plus Jakarta Sans','Inter',sans-serif;
  --font-body:'Inter',sans-serif;
}

*,
*::before,
*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--text);
  background:
    radial-gradient(circle at top right,rgba(87,149,255,.10),transparent 28%),
    linear-gradient(180deg,#f8fbff 0%,#f5f8fc 100%);
  line-height:1.75;
}

a{color:var(--brand-dark)}

img{max-width:100%;display:block}

.legal-shell{
  width:min(calc(100% - 32px),var(--max));
  margin:0 auto;
}

.legal-top{
  padding:28px 0 20px;
}

.legal-top a{
  text-decoration:none;
  font-weight:600;
}

.legal-hero{
  padding:12px 0 26px;
}

.legal-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:clamp(24px,4vw,44px);
}

.legal-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(47,111,214,.10);
  color:var(--brand-dark);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

h1,h2,h3{
  font-family:var(--font-heading);
  line-height:1.2;
  margin:0;
}

h1{
  margin-top:18px;
  font-size:clamp(2rem,4vw,3.2rem);
}

h2{
  margin-top:34px;
  font-size:clamp(1.25rem,3vw,1.8rem);
}

h3{
  margin-top:22px;
  font-size:1.05rem;
}

p,li{
  color:var(--muted);
  font-size:1rem;
}

ul{
  margin:14px 0 0 20px;
  padding:0;
}

.lead{
  margin:18px 0 0;
  max-width:64ch;
  font-size:1.06rem;
}

.meta{
  margin-top:18px;
  display:grid;
  gap:10px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface-alt);
}

.meta strong{color:var(--text)}

.legal-section + .legal-section{
  margin-top:8px;
}

.legal-note,
.legal-warning{
  margin-top:20px;
  padding:16px 18px;
  border-radius:18px;
}

.legal-note{
  background:#eef5ff;
  border:1px solid #cddcf4;
}

.legal-warning{
  background:#fff7e8;
  border:1px solid #f1ddb0;
}

.legal-footer{
  padding:26px 0 42px;
}

.legal-footer .legal-card{
  display:flex;
  flex-wrap:wrap;
  gap:14px 24px;
  align-items:center;
  justify-content:space-between;
}

.legal-nav{
  display:flex;
  flex-wrap:wrap;
  gap:14px 18px;
}

.legal-nav a{
  text-decoration:none;
  font-weight:600;
}

.muted{color:var(--muted)}

code{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  background:#eff4fb;
  padding:2px 6px;
  border-radius:8px;
}

@media (max-width: 640px){
  .legal-shell{width:min(calc(100% - 20px),var(--max))}
  .legal-top{padding-top:20px}
  .legal-footer .legal-card{align-items:flex-start}
}
