:root{
  --bg:#f4f3ef;
  --panel:#ffffff;
  --ink:#1b1b1b;
  --muted:#5f5b55;
  --line:#e4e0d8;
  --brand:#b51224;
  --brand-dark:#8f0f1d;
  --radius:14px;
  --shadow:0 8px 24px rgba(24,24,24,.06);
}
*{box-sizing:border-box}
body{margin:0;font-family:"Avenir Next",Avenir,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#f8f7f3 0%,#f1efe8 100%);color:var(--ink)}
.container{max-width:1120px;margin:0 auto;padding:28px 20px 48px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0}
.brand{font-weight:800;letter-spacing:.4px}
.nav a{color:var(--muted);text-decoration:none;margin-left:16px}
.hero{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);margin:10px 0 22px}
.hero h1{margin:0 0 8px;font-size:30px}
.hero p{margin:0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.card{grid-column:span 6;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.card h2{margin:0 0 6px;font-size:21px}
.meta{font-size:14px;color:var(--muted);margin-bottom:14px}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.btn{display:inline-block;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:700}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dark)}
.btn-ghost{border:1px solid var(--line);color:var(--ink);background:#fff}
.section{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:16px}
.section h2{margin:0 0 10px}
.section p,.section li{line-height:1.55}
kbd,code{background:#f1efea;border:1px solid #e2ddd3;padding:2px 6px;border-radius:6px}
.footer{margin-top:22px;color:var(--muted);font-size:14px}
@media (max-width:900px){.card{grid-column:span 12}.hero h1{font-size:26px}}
