:root{
  --bg:#ffffff;
  --ink:#1c1c1e;
  --muted:#8e8e93;
  --brand:#003b95;
  --line:rgba(0,0,0,.06);
}
*{ box-sizing:border-box; }
body{
  margin:0;
  font-family:"Noto Sans",-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",system-ui,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  padding:28px 22px 56px;
  padding-bottom:max(56px, env(safe-area-inset-bottom, 0px));
}
.legal-wrap{
  max-width:720px;
  margin:0 auto;
}
.legal-top{
  margin-bottom:36px;
}
.legal-top a{
  color:var(--brand);
  font-weight:700;
  font-size:15px;
  text-decoration:none;
}
.legal-top a:hover{
  text-decoration:underline;
}
h1{
  margin:0 0 8px;
  font-size:clamp(1.35rem, 4vw, 1.85rem);
  font-weight:900;
  letter-spacing:-.02em;
}
.legal-updated{
  margin:0 0 28px;
  font-size:14px;
  color:var(--muted);
}
h2{
  margin:28px 0 10px;
  font-size:1.05rem;
  font-weight:800;
}
p, li{
  margin:0 0 12px;
  font-size:15px;
}
ul{
  padding-left:1.25rem;
  margin:0 0 16px;
}
.legal-wrap p a,
.legal-wrap li a{
  color:var(--brand);
  font-weight:650;
  text-decoration:none;
}
.legal-wrap p a:hover,
.legal-wrap li a:hover{
  text-decoration:underline;
}
.legal-note{
  font-size:14px;
  color:var(--muted);
  padding:14px 16px;
  background:rgba(0,59,149,.06);
  border-radius:12px;
  margin:0 0 20px;
}
.legal-footer{
  margin-top:48px;
  padding-top:0;
  border-top:none;
  font-size:13px;
  color:var(--muted);
}
.legal-footer nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-bottom:12px;
}
.legal-footer a{
  color:var(--muted);
  font-weight:600;
  text-decoration:none;
}
.legal-footer a:hover{
  color:#636366;
  text-decoration:underline;
}
