/* Shared by the four policy pages. Same tokens as index.html — keep the two in
   step, since index.html carries its own copy inline. */
:root{
  --paper:#FAF9F6;
  --surface:#FFFFFF;
  --sunk:#F4F2ED;
  --ink:#15171C;
  --muted:#565C65;
  --faint:#8B9099;
  --accent:#1B3A5B;
  --accent-soft:#EDF2F7;
  --line:#E7E3DB;
}
*,*::before,*::after{ box-sizing:border-box; }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:15px; line-height:1.7; -webkit-font-smoothing:antialiased;
}
a{ color:var(--accent); }

header{ background:var(--surface); border-bottom:1px solid var(--line); }
.head{
  max-width:820px; margin:0 auto; padding:16px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.mark{ font-size:16.5px; font-weight:700; letter-spacing:-0.01em; white-space:nowrap; color:var(--ink); text-decoration:none; }
.mark span{ font-weight:500; color:var(--muted); }
.back{ font-size:13.5px; font-weight:500; color:var(--muted); text-decoration:none; }
.back:hover{ color:var(--accent); }

main{ max-width:820px; margin:0 auto; padding:40px 28px 56px; }
h1{ margin:0; font-size:clamp(24px,3.2vw,30px); font-weight:700; letter-spacing:-0.015em; }
.meta{ margin:8px 0 26px; font-size:13px; color:var(--faint); }
.lead p{ margin:0 0 12px; color:var(--muted); }

h2{ margin:34px 0 10px; font-size:17px; font-weight:700; letter-spacing:-0.01em;
  padding-top:22px; border-top:1px solid var(--line); }
h3{ margin:18px 0 6px; font-size:14.5px; font-weight:600; }
p{ margin:0 0 12px; }
ul,ol{ margin:0 0 12px; padding-left:22px; }
li{ margin-bottom:6px; }
strong{ font-weight:600; }

table{ width:100%; border-collapse:collapse; background:var(--surface);
  border:1px solid var(--line); border-radius:10px; overflow:hidden; margin:6px 0 14px; }
th,td{ text-align:left; padding:10px 14px; border-top:1px solid var(--line); font-size:14px; vertical-align:top; }
thead th{ border-top:0; background:var(--sunk); font-weight:600; color:var(--ink); }
tbody tr:first-child td{ border-top:1px solid var(--line); }
.box{ background:var(--surface); border:1px solid var(--line); border-radius:10px; padding:14px 18px; margin:6px 0 14px; }
.note{ font-size:13px; color:var(--muted); background:var(--accent-soft); border-radius:8px; padding:10px 14px; margin:6px 0 14px; }

footer{ border-top:1px solid var(--line); }
.foot{ max-width:820px; margin:0 auto; padding:22px 28px 36px; font-size:12.5px; color:var(--faint); }
.foot a{ color:var(--muted); }
.foot nav{ margin-bottom:10px; display:flex; flex-wrap:wrap; gap:6px 18px; }

@media(max-width:720px){
  .head, main, .foot{ padding-left:16px; padding-right:16px; }
  main{ padding-top:28px; }
  .wide{ display:block; overflow-x:auto; }
}
