@font-face { font-family:"CF Serif"; src:url("NotoSerifSC-Bold-subset.woff2") format("woff2"); font-weight:700; font-display:swap; }
:root {
  --mo:#1A1613;          /* 墨  encre */
  --mo-deep:#16130F;     /* 墨 profond (pied de page) */
  --zhusha:#DE150A;      /* 朱砂 vermillon du logo : aplats, sceaux */
  --zhusha-text:#C4120A; /* vermillon texte/liens (contraste 5,4) */
  --xuan:#F6F1E7;        /* 宣纸 papier */
  --xuan-2:#EFE8DA;      /* papier ombré */
  --card:#FBF8F1;
  --line:#DCD2BF;
  --daiqing:#2F4858;     /* 黛青 indigo */
  --qingci:#5E8C7A;      /* 青瓷 céladon */
  --jin:#B08D57;         /* 金 or ancien */
  --muted:#6B6259;
  --serif:"CF Serif","Noto Serif SC","Songti SC","STSong","Source Han Serif SC","SimSun",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC","WenQuanYi Zen Hei",system-ui,sans-serif;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--xuan) url("paper-grain.png"); color:var(--mo); font-family:var(--sans); line-height:1.75; font-size:16px; }
a { color:var(--zhusha-text); text-decoration:none; }
h1,h2,h3 { font-family:var(--serif); font-weight:700; letter-spacing:.02em; line-height:1.3; margin:0; }
.wrap { max-width:1180px; margin:0 auto; padding:0 28px; }

/* en-tête */
header { background:rgba(246,241,231,.92); border-bottom:1px solid var(--line); position:relative; }
header::after { content:""; position:absolute; left:0; bottom:-1px; width:120px; height:2px; background:var(--zhusha); }
.top { display:flex; align-items:center; gap:34px; height:76px; }
.top img.logo { height:46px; width:auto; display:block; }
nav { display:flex; gap:6px; flex:1; }
nav a { color:var(--mo); font-size:16px; padding:8px 14px; border-radius:6px; }
nav a:hover, nav a.on { background:var(--xuan-2); color:var(--zhusha-text); }
.btn { display:inline-flex; align-items:center; gap:8px; padding:9px 22px; border-radius:6px; font-weight:600; font-size:15px; border:1.5px solid var(--mo); color:var(--mo); background:transparent; }
.btn.primary { background:var(--zhusha-text); border-color:var(--zhusha-text); color:#fff; box-shadow:0 6px 18px rgba(196,18,10,.22); }

/* sceau (étiquette de rubrique) */
.seal { white-space:nowrap; flex:none; display:inline-flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; color:#fff; background:var(--zhusha); border-radius:4px; padding:1px 8px; font-size:13px; letter-spacing:.08em; line-height:1.6; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.28); }
.seal.line { background:transparent; color:var(--zhusha-text); box-shadow:inset 0 0 0 1.5px var(--zhusha); }
.seal.big { width:52px; height:52px; font-size:26px; border-radius:6px; padding:0; }

/* traits de pinceau et motifs */
.brush { height:10px; background:var(--mo); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 10' preserveAspectRatio='none'%3E%3Cpath d='M0 5 C60 1 120 8 200 5 S340 2 400 5 C340 8 260 9 200 6 S60 9 0 5Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 10' preserveAspectRatio='none'%3E%3Cpath d='M0 5 C60 1 120 8 200 5 S340 2 400 5 C340 8 260 9 200 6 S60 9 0 5Z'/%3E%3C/svg%3E") center/100% 100% no-repeat; opacity:.85; }
.meander { height:14px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14'%3E%3Cpath d='M1 13V1h12v8H5V5h4' fill='none' stroke='%23DCD2BF' stroke-width='1.5'/%3E%3Cpath d='M15 13V1h12v8h-8V5h4' fill='none' stroke='%23DCD2BF' stroke-width='1.5'/%3E%3C/svg%3E") repeat-x; }

.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:22px 24px; box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 8px 24px rgba(60,40,10,.06); }
.meta { color:var(--muted); font-size:14px; }
