:root{
  --navy:#0a3161;--navy-deep:#062447;--red:#b22234;--white:#fffefd;
  --paper:#f5f3ee;--ink:#1d2a37;--muted:#607080;--line:#dce1e6;
  --serif:'Songti SC','STSong','Source Han Serif SC',serif;
  --sans:'PingFang SC','Hiragino Sans GB','Microsoft YaHei',sans-serif;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);line-height:1.85;-webkit-font-smoothing:antialiased;
}
a{color:inherit}
.legal-header{
  padding:0 5vw;height:76px;display:flex;align-items:center;
  justify-content:space-between;color:var(--navy);
  background:var(--white);border-bottom:1px solid var(--line);
}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{
  width:31px;height:31px;display:grid;place-items:center;border-radius:3px;
  color:#fff;background:var(--navy);font-family:var(--serif);
  font-size:18px;font-weight:700;
}
.brand strong{display:block;font-size:13px;letter-spacing:.04em}
.brand small{
  display:block;margin-top:2px;color:#8290a0;font-family:var(--serif);
  font-size:10px;letter-spacing:.16em;
}
.legal-header nav{display:flex;gap:22px;font-size:14px}
.legal-header nav a{color:#5f6d7c;text-decoration:none}
.legal-header nav a:hover{color:var(--red)}

main{width:min(820px,89vw);margin:0 auto;padding:64px 0 96px}
.eyebrow{
  margin:0 0 12px;color:var(--red);font-size:12px;
  font-weight:650;letter-spacing:.09em;
}
h1{
  margin:0 0 14px;color:var(--navy);font-family:var(--serif);
  font-size:clamp(32px,4vw,44px);font-weight:600;
  letter-spacing:-.05em;line-height:1.3;
}
.meta{margin:0 0 40px;color:var(--muted);font-size:13px}
h2{
  margin:44px 0 12px;padding-top:22px;color:var(--navy);
  border-top:1px solid var(--line);font-family:var(--serif);
  font-size:22px;font-weight:600;letter-spacing:-.03em;
}
h3{margin:24px 0 8px;color:var(--navy);font-size:16px}
p,li{font-size:15px;color:#3c4a58}
ul{padding-left:20px}
li{margin-bottom:6px}
.notice{
  margin:0 0 32px;padding:18px 20px;background:#fff;
  border-left:4px solid var(--red);font-size:14px;color:#3c4a58;
}
.placeholder{
  background:#fff3cd;padding:1px 6px;border-radius:3px;
  font-weight:600;color:#8a6100;
}
.fill-hint{
  margin-top:8px;padding:14px 16px;background:#fff8e6;
  border:1px dashed #e0c07a;border-radius:4px;
  font-size:13px;color:#7a5a10;
}
footer{
  padding:30px 5vw;color:#9aabba;background:var(--navy-deep);
  font-size:12px;text-align:center;
}
footer a{color:#b8c4cf;text-decoration:none;margin:0 8px}
@media(max-width:760px){
  .legal-header{height:64px}
  .legal-header nav{display:none}
  main{padding:40px 0 64px}
}
