:root {
  --bg:#f7f8fa; --card:#fff; --border:#dde1e6; --primary:#4B9CD3;
  --primary-dark:#2176AE; --text:#1d2129; --muted:#5f6368;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif; line-height:1.65; }
.legal-header { background:#fff; border-bottom:1px solid var(--border); }
.legal-header-inner { max-width:920px; margin:0 auto; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.legal-brand { color:var(--text); font-weight:800; font-size:20px; text-decoration:none; }
.legal-brand span { color:var(--primary); }
.back-link { color:var(--primary-dark); font-size:14px; text-decoration:none; font-weight:600; }
.back-link:hover { text-decoration:underline; }
.non-affiliation { background:#eaf4fc; border-bottom:1px solid #b8d8ee; color:#23465e; font-size:13px; }
.non-affiliation div { max-width:920px; margin:0 auto; padding:11px 22px; }
main { max-width:860px; margin:36px auto 64px; padding:0 22px; }
.legal-card { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:34px 38px; box-shadow:0 3px 16px rgba(20,40,60,.04); }
h1 { margin:0 0 4px; font-size:32px; line-height:1.2; }
.updated { margin:0 0 28px; color:var(--muted); font-size:13px; }
h2 { margin:30px 0 8px; font-size:19px; line-height:1.35; }
h3 { margin:20px 0 6px; font-size:15px; }
p, li { font-size:15px; }
ul { padding-left:23px; }
.callout { margin:22px 0; padding:15px 17px; border-left:4px solid var(--primary); background:#f1f7fc; border-radius:5px; }
.warning { border-left-color:#c5221f; background:#fff4f2; }
a { color:var(--primary-dark); }
.legal-footer { background:#152d3e; color:rgba(255,255,255,.82); text-align:center; padding:28px 18px; font-size:12px; }
.legal-footer a { color:#fff; margin:0 8px; }
.legal-footer .notice { max-width:850px; margin:14px auto 0; line-height:1.55; }
@media(max-width:640px){
  .legal-header-inner { align-items:flex-start; flex-direction:column; gap:5px; }
  main { margin-top:22px; padding:0 12px; }
  .legal-card { padding:24px 19px; }
  h1 { font-size:27px; }
}
