:root{
  color-scheme:light;
  --navy:#071a33;
  --blue:#0879c9;
  --ink:#16263d;
  --muted:#61748b;
  --border:#dfe7f1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#f4f7fb;
  color:var(--ink);
  font-family:Inter,system-ui,-apple-system,
    BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.75;
}
.legal-header{
  background:var(--navy);
  color:white;
  border-bottom:3px solid var(--blue);
}
.legal-header-inner{
  max-width:1180px;
  margin:auto;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.legal-brand{
  color:white;
  text-decoration:none;
  font-size:23px;
  font-weight:800;
  letter-spacing:.4px;
}
.legal-header nav{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}
.legal-header nav a{
  color:#d6e7fa;
  text-decoration:none;
  font-size:14px;
}
.legal-header nav a:hover{
  color:white;
  text-decoration:underline;
}
main{
  max-width:1180px;
  margin:40px auto 70px;
  padding:0 24px;
}
.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:clamp(24px,4vw,52px);
  box-shadow:0 12px 35px rgba(20,40,70,.05);
}
.card>a:first-child{
  display:inline-block;
  margin-bottom:15px;
}
h1{
  color:var(--navy);
  font-size:clamp(30px,4vw,43px);
  line-height:1.2;
  margin:12px 0 14px;
}
h2{
  color:var(--navy);
  font-size:clamp(19px,2vw,23px);
  line-height:1.4;
  margin-top:38px;
  padding-top:14px;
  border-top:1px solid var(--border);
  scroll-margin-top:24px;
}
p{max-width:850px;margin:14px 0 20px}
small{color:var(--muted);font-size:13px}
a{color:#075ca4}
a:hover{text-decoration:underline}
.legal-index{
  margin:32px 0;
  padding:22px;
  background:#f2f7fd;
  border:1px solid #dbe8f5;
  border-radius:14px;
}
.legal-index strong{
  display:block;
  margin-bottom:12px;
}
.legal-index ul{
  margin:0;
  padding-left:20px;
  columns:2;
}
.legal-index li{
  margin:5px 0;
  break-inside:avoid;
}
.legal-footer{
  max-width:1180px;
  margin:0 auto 30px;
  padding:0 24px;
  color:var(--muted);
  font-size:13px;
  text-align:center;
}
@media(max-width:650px){
  main{margin:22px auto 45px;padding:0 14px}
  .legal-header-inner{padding:15px}
  .legal-header nav{gap:12px}
  .legal-index ul{columns:1}
}
