
:root{--paper:#f8f4ec;--sheet:#fffdf8;--sand:#e2d9c8;--ink:#1f2420;--muted:#4a524d;--pine:#1f3b34;--red:#9E1B2C;--gold:#b8862b;
--serif:"Noto Serif","Noto Serif SC","Songti SC","STSong","Source Han Serif SC",Georgia,serif;
--sans:system-ui,-apple-system,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--max:1120px;--read:720px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 var(--sans)}
a{color:var(--pine);text-underline-offset:3px}a:hover{color:var(--red)}
img,video{max-width:100%;height:auto;display:block}
figure img{max-height:560px;width:100%;object-fit:cover}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
header.top{background:var(--sheet);border-bottom:1px solid var(--sand)}
header.top .wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.brand{font:700 20px/1 var(--serif);letter-spacing:.14em;color:var(--red);text-decoration:none;white-space:nowrap}
.brand small{display:block;font:500 11px/1.4 var(--sans);letter-spacing:.08em;color:var(--muted);margin-top:4px}
nav.main{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:15px;flex:1}
nav.main a{text-decoration:none;color:var(--ink)}nav.main a:hover{color:var(--red)}
.lang{font-size:14px}
main{padding:40px 0 64px}
.read{max-width:var(--read);margin:0 auto}
h1{font:700 clamp(28px,2.2vw + 18px,42px)/1.25 var(--serif);margin:.2em 0 .5em;color:var(--ink)}
h2{font:700 clamp(22px,1vw + 16px,28px)/1.3 var(--serif);margin:2em 0 .6em}
h3{font:700 19px/1.4 var(--serif);margin:1.6em 0 .4em}
p{margin:0 0 1em}
.lede{font-size:19px;color:var(--ink)}
.slogan{font:600 20px/1.5 var(--serif);color:var(--red);margin:.2em 0 1em}
.slogan span{display:block}.slogan small{display:block;font:500 15px/1.6 var(--sans);color:var(--muted)}
.op{color:var(--muted)}
table{border-collapse:collapse;width:100%;margin:1em 0 1.5em;font-size:15.5px;background:var(--sheet)}
th,td{border:1px solid var(--sand);padding:8px 10px;text-align:left;vertical-align:top}
th{background:#f1eadc}
figure{margin:1.5em 0}figcaption{font-size:14px;color:var(--muted);margin-top:6px}
.ph{background:linear-gradient(135deg,#efe6d6,#e2d6c0);border:1px solid var(--sand);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
color:var(--muted);font-size:14px;text-align:center;padding:12px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:1.5em 0}
.card{background:var(--sheet);border:1px solid var(--sand);padding:22px;display:flex;flex-direction:column;gap:8px}
.card h3{margin:0}.card .btn{margin-top:auto}
.btn{display:inline-block;background:var(--pine);color:#fff;text-decoration:none;padding:10px 16px;font-size:15px}
.btn:hover{background:var(--red);color:#fff}
.zhline{font-size:15px;color:var(--muted);border-left:3px solid var(--red);padding-left:12px}
.crumb{font-size:14px;color:var(--muted);margin-bottom:8px}.crumb a{color:var(--muted)}
footer.site{background:var(--pine);color:#e9e4d8;font-size:15px;padding:36px 0}
footer.site a{color:#fff}footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
footer.site h4{margin:0 0 8px;font:700 15px/1.4 var(--sans);color:#fff;letter-spacing:.04em}
footer.site ul{list-style:none;margin:0;padding:0}footer.site li{margin:4px 0}
footer.site .small{color:#c9c2b4;font-size:13.5px;margin-top:20px}
@media (max-width:640px){body{font-size:16.5px}nav.main{gap:2px 12px;font-size:14px}main{padding-top:24px}}
