:root { --bg:#161513; --card:#23201c; --ink:#f4efe6; --muted:#b7ab9a; --brass:#d6a15e; }
* { box-sizing:border-box; }
html { background:var(--bg); color:var(--ink); }
body { margin:0; font:17px/1.6 "Avenir Next","PingFang SC","Noto Sans SC",sans-serif; }
a { color:inherit; text-decoration:none; }
header, main, footer { width:min(62rem, calc(100% - 2rem)); margin:0 auto; }
header { display:flex; justify-content:space-between; align-items:center; padding:1.4rem 0; }
.mark { letter-spacing:.18em; font-size:.95rem; }
nav a { margin-left:1.1rem; color:var(--muted); }
nav a:hover { color:var(--ink); }
h1 { font-weight:500; font-size:2.6rem; letter-spacing:-.03em; margin:.4rem 0 0; }
.lede { color:var(--muted); max-width:34rem; }
.grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(16rem, 1fr)); gap:1rem; margin:2rem 0 3rem; }
.card { background:var(--card); padding:1.3rem 1.3rem 1.5rem; min-height:12rem; display:flex; flex-direction:column; justify-content:flex-end; border-top:3px solid var(--brass); }
.card span { color:var(--brass); font-size:.8rem; letter-spacing:.08em; }
.card h2 { margin:.35rem 0 .2rem; font-weight:500; font-size:1.45rem; }
.card p { margin:0; color:var(--muted); }
.sheet { max-width:38rem; padding-bottom:3rem; }
.sheet dt { color:var(--brass); margin-top:1rem; }
.sheet dd { margin:.2rem 0 0; }
footer { color:var(--muted); font-size:.85rem; padding-bottom:2rem; }
