:root{
  --ink:#0D0D0E; --paper:#EFEDE8; --paper-2:#E3E0D9;
  --text:#EDEAE4; --text-dk:#121213;
  --muted:#8B8781; --muted-dk:#6E6A63; --dim:#8B8781;
  --amber:#C9A24D; --amber-dk:#735A1E; --line:#26262B; --line-lt:#D4D0C7;
  --cn:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  --sans:"Archivo",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --pad:clamp(20px,5vw,64px);
  --wrap:min(1180px,92vw);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text-dk);
  font-family:var(--sans),var(--cn);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
html:not([data-lang="zh"]) [data-l="zh"]{display:none}
html[data-lang="zh"] [data-l="en"]{display:none}
.skip{position:absolute;left:-9999px}

/* ---------- nav ---------- */
.nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:16px var(--pad);background:var(--ink);color:var(--text);border-bottom:1px solid var(--line)}
.nav .ident{text-decoration:none;line-height:1.15}
.nav .ident b{display:block;font-weight:800;font-stretch:88%;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.nav .ident span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.nav menu{display:flex;align-items:center;gap:10px;margin:0;padding:0;list-style:none}
.nav a,.nav button{font-family:var(--mono);font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;background:none;border:0;cursor:pointer;padding:7px 10px;transition:color .2s}
.nav a:hover,.nav button:hover{color:var(--text)}
.nav .go{background:var(--amber);color:var(--ink);border-radius:2px;font-weight:700;padding:7px 12px}
.nav .lang{border:1px solid var(--line);border-radius:99px;padding:7px 12px}
@media (max-width:640px){ .nav menu li:nth-child(-n+3){display:none} }

/* ---------- page head ---------- */
.masthead{background:var(--ink);color:var(--text);padding:66px var(--pad) 74px}
.masthead .in{max-width:var(--wrap);margin:0 auto}
.crumbs{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-dk);margin:0 0 26px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--amber)}
h1{--fs:72%;font-weight:900;font-stretch:var(--fs);font-size:clamp(36px,6.4vw,88px);line-height:.9;
  letter-spacing:-.035em;text-transform:uppercase;margin:0 0 22px}
h1 em{font-style:normal;color:var(--amber)}
.lede{font-size:clamp(16px,1.5vw,20px);line-height:1.65;max-width:56ch;margin:0 0 8px;color:#D8D4CC}
.lede-zh{font-size:14.5px;line-height:1.8;color:var(--muted);max-width:52ch;margin:0}

/* ---------- body ---------- */
main{background:var(--paper);padding:72px var(--pad) 84px}
.in{max-width:var(--wrap);margin:0 auto}
section+section{margin-top:64px}
h2{--fs:74%;font-weight:900;font-stretch:var(--fs);font-size:clamp(26px,3.4vw,42px);line-height:.98;
  letter-spacing:-.03em;text-transform:uppercase;margin:0 0 20px}
h3{font-weight:800;font-stretch:88%;font-size:19px;letter-spacing:-.01em;margin:0 0 8px}
p{margin:0 0 16px;max-width:70ch;color:#31302C}
p b,strong{color:var(--text-dk);font-weight:700}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-dk);margin:0 0 18px}
.zh{color:#57534C;font-size:14.5px}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px;margin-top:8px}
.card{background:var(--paper-2);border:1px solid var(--line-lt);border-radius:4px;padding:26px}
.card p{margin:0;font-size:14.5px}
.card p+p{margin-top:10px}

ul.ticks{list-style:none;margin:0;padding:0}
ul.ticks li{position:relative;padding-left:22px;margin-bottom:10px;font-size:15px;color:#31302C;max-width:66ch}
ul.ticks li::before{content:"+";position:absolute;left:0;color:var(--amber-dk);font-weight:800}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;background:var(--line-lt);
  border:1px solid var(--line-lt);border-radius:4px;overflow:hidden;margin-top:8px}
.facts div{background:var(--paper);padding:20px}
.facts dt{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-dk);margin:0 0 8px}
.facts dd{margin:0;font-weight:800;font-stretch:88%;font-size:19px;letter-spacing:-.01em}

dl.qa{margin:0;border-top:1px solid var(--line-lt)}
dl.qa .q{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line-lt)}
dl.qa dt{font-weight:800;font-stretch:86%;font-size:17px;letter-spacing:-.012em;margin:0;line-height:1.3}
dl.qa dd{margin:0;font-size:14.5px;line-height:1.75;color:#4A4741}
@media (max-width:720px){ dl.qa .q{grid-template-columns:1fr;gap:8px} }

.related{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;padding:0;list-style:none}
.related a{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  border:1px solid var(--line-lt);border-radius:99px;padding:9px 16px;text-decoration:none;color:#4A4741;transition:border-color .2s,color .2s}
.related a:hover{border-color:var(--amber);color:var(--amber)}

/* ---------- close ---------- */
.end{background:var(--ink);color:var(--text);padding:70px var(--pad) 74px}
.end .in{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end}
.end h2{color:var(--text);font-size:clamp(28px,4.4vw,56px);margin-bottom:14px}
.end p{color:var(--muted);max-width:44ch}
.end .side{text-align:right;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-dk);line-height:2}
.btn{display:inline-block;background:var(--amber);color:var(--ink);text-decoration:none;font-family:var(--mono);
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:15px 24px;border-radius:2px;margin-top:8px}
@media (max-width:720px){ .end .in{grid-template-columns:1fr} .end .side{text-align:left} }

footer.legal{background:var(--ink);color:var(--dim);border-top:1px solid var(--line);
  padding:22px var(--pad);display:flex;flex-wrap:wrap;gap:14px 26px;justify-content:space-between;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
footer.legal a{color:var(--muted-dk);text-decoration:none}
footer.legal a:hover{color:var(--amber)}

/* ---------- legal pages ---------- */
.legaltext section,.legaltext hr{max-width:760px}
.nav .ident b{font-family:var(--sans);color:var(--text)}
.legaltext h2{font-size:clamp(20px,2.2vw,26px);margin:44px 0 14px}
.legaltext section>h2:first-child{margin-top:0}
.legaltext h3{margin-top:30px}
.legaltext a{color:var(--amber-dk)}
.legaltext hr{border:0;border-top:1px solid var(--line-lt);margin:72px 0}
.masthead .lede-zh a{color:var(--amber)}
body.lost{background:var(--ink)}
body.lost .masthead{min-height:100vh;display:grid;align-items:center}

/* contact lines read like an address, same as the home page */
.end .side a{font-family:var(--sans);font-size:clamp(16px,1.2vw,22px);font-weight:600;letter-spacing:0;text-transform:none;color:var(--text);text-decoration:none;line-height:1.6}
@media (max-width:560px){ .nav .ident span{display:none} }
.nav .lang,.nav .go{white-space:nowrap}
