/* base — reset / 排版 / 页面骨架（wrap·header·nav·section·h1-3·p） */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:880px;margin:0 auto;padding:0 var(--s4);}

/* —— 顶部 —— */
header.hero{padding:var(--s8) 0 var(--s6);}
.kicker{font-family:var(--sans);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--accent);font-weight:700;margin-bottom:var(--s3);}
h1{font-family:var(--display);font-weight:900;font-size:clamp(2.4rem,6vw,4rem);line-height:1.05;
  letter-spacing:-.01em;margin-bottom:var(--s4);}
h1 em{font-style:italic;color:var(--accent);}
.lede{font-size:1.18rem;color:var(--ink-2);max-width:36em;line-height:1.7;}
.lede strong{color:var(--ink);font-weight:700;}

/* —— sticky 导航 —— */
nav.toc{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(8px);border-bottom:var(--bw) solid var(--line);
  margin:var(--s6) 0 0;}
nav.toc .wrap{display:flex;gap:var(--s4);overflow-x:auto;padding-top:var(--s3);padding-bottom:var(--s3);
  font-size:.85rem;font-weight:500;scrollbar-width:none;}
nav.toc a{color:var(--ink-2);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;padding-bottom:2px;}
nav.toc a:hover{color:var(--accent);}

/* —— 区块 —— */
section{padding:var(--s8) 0;border-bottom:var(--bw) solid var(--line);}
.sec-num{font-family:var(--display);font-style:italic;font-size:.95rem;color:var(--accent);font-weight:600;}
h2{font-family:var(--display);font-weight:900;font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.15;
  letter-spacing:-.01em;margin:var(--s2) 0 var(--s4);}
h3{font-family:var(--serif);font-weight:700;font-size:1.25rem;margin:var(--s6) 0 var(--s3);
  display:flex;align-items:center;gap:var(--s2);}
h3 .dot{width:9px;height:9px;background:var(--accent);border-radius:50%;flex:none;}
p{margin-bottom:var(--s3);max-width:40em;}
p.muted{color:var(--ink-2);}
strong{font-weight:700;}
.accent{color:var(--accent);font-weight:700;}
