:root{
  --bg:#edf3ff;
  --surface:#ffffff;
  --text:#0f172a;
  --muted:#62708a;
  --line:#e6ebf5;
  --primary:#2563eb;
  --primary-dark:#1d4ed8;
  --shadow-soft:0 12px 40px rgba(15,23,42,.06);
  --shadow-hover:0 24px 60px rgba(15,23,42,.12);
  --radius-xl:32px;
  --container:1180px;
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Inter,Arial,sans-serif;
  color:var(--text);
  line-height:1.6;
  background:var(--bg);
}

a{
  color:var(--primary);
}

a:hover{
  color:var(--primary-dark);
}

.legal-shell{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto;
  padding:72px 0 56px;
}

.legal-topbar{
  display:flex;
  justify-content:flex-start;
  margin-bottom:30px;
}

.legal-back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:0 30px;
  border-radius:15px;
  text-decoration:none;
  color:#fff;
  font-weight:700;
  font-size:1rem;
  letter-spacing:-0.01em;
  background:linear-gradient(180deg,#2f6fed 0%,#2563eb 100%);
  box-shadow:0 10px 24px rgba(37,99,235,.22);
  transition:.25s ease;
}

.legal-back:hover{
  transform:translateY(-1px);
  color:#fff;
  background:linear-gradient(180deg,#2563eb 0%,#1d4ed8 100%);
  box-shadow:0 14px 30px rgba(37,99,235,.28);
}

.legal-card{
  background:var(--surface);
  border:1px solid rgba(37,99,235,.08);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.legal-card:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-hover);
}

.legal-head{
  padding:48px 56px 28px;
  border-bottom:1px solid var(--line);
}

.legal-kicker{
  margin:0 0 12px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--primary);
  font-size:1rem;
  font-weight:700;
  margin-bottom:24px;
}

.legal-head h1{
  margin:0 0 16px;
  font-size:clamp(3rem, 6vw, 5.5rem);
  font-weight:800;
  line-height:.98;
  letter-spacing:-0.045em;
}

.legal-content{
  padding:40px 56px 48px;
}

.legal-content h2,
.legal-content h3,
.legal-content h4,
.legal-content h5{
  color:var(--text);
  line-height:1.2;
}

.legal-content h2{
  margin-top:0;
  font-size:clamp(2rem, 3.5vw, 3rem);
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.05;
}

.legal-content h3{
  margin-top:30px;
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.05;
}

.legal-content h4,
.legal-content h5{
  margin-top:24px;
  font-size:1.05rem;
}

.legal-content p,
.legal-content li{
  color:var(--muted);
  font-size:1.06rem;
  line-height:1.7;
}

.legal-head p{
  margin:0;
  color:#64748b;
  font-size:17px;
  line-height:1.7;
}

.legal-content ul{
  padding-left:22px;
}

.legal-footer{
  padding:24px 16px 36px;
  color:var(--muted);
  border-top:1px solid rgba(15,23,42,.06);
}

.footer-inner{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

.footer-brand{
  font-weight:700;
  color:var(--text);
}

.footer-links{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

.footer-links a{
  text-decoration:none;
  font-weight:600;
  color:var(--muted);
}

.footer-links a:hover{
  color:var(--primary-dark);
}

@media (max-width:720px){
  .legal-shell{
    width:min(var(--container), calc(100% - 20px));
    padding-top:32px;
  }

  .legal-topbar{
    margin-bottom:22px;
  }

  .legal-head{
    padding:28px 22px 22px;
  }

  .legal-content{
    padding:26px 22px 32px;
  }

  .legal-head h1{
    font-size:clamp(2.8rem, 12vw, 4.4rem);
  }

  .legal-footer{
    padding:20px 10px 24px;
  }

  .footer-inner{
    width:min(var(--container), calc(100% - 20px));
    justify-content:center;
    text-align:center;
  }
}
