*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Georgia,"Noto Serif SC","Songti SC",serif;
  color:#161616;
  background:#fff;
  line-height:1.88;
  -webkit-font-smoothing:antialiased;
  font-size:18px;
}
.sans{font-family:"Helvetica Neue","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:#111;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#555}

.col{width:min(700px,calc(100% - 40px));margin:0 auto}

/* MINIMAL TYPOGRAPHY — sans headlines, serif body, numbered sections */
.site-head{padding:48px 0 0;border-bottom:1px solid #eee}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:20px}
.brand{display:flex;align-items:center;gap:12px;color:#111;font-weight:700;font-size:13px;font-family:"Helvetica Neue","PingFang SC",sans-serif;letter-spacing:.06em;text-decoration:none}
.brand:hover{color:#444;text-decoration:none}
.brand img{width:34px;border-radius:8px}
.menu-btn{display:none;border:1px solid #ddd;background:#fff;padding:8px 14px;font-size:12px;cursor:pointer;font-family:inherit;color:#333;letter-spacing:.04em;border-radius:4px}
.top-nav{display:flex;gap:24px;flex-wrap:wrap;font-family:"Helvetica Neue","PingFang SC",sans-serif}
.top-nav a{color:#666;font-size:12px;font-weight:600;letter-spacing:.04em;text-decoration:none}
.top-nav a:hover{color:#111}
.mnav{display:none;flex-direction:column;padding:16px 0 8px;font-family:"Helvetica Neue","PingFang SC",sans-serif}
.mnav.open{display:flex}
.mnav a{padding:12px 0;color:#333;font-size:14px;text-decoration:none;border-bottom:1px solid #f0f0f0}
.mnav a:last-child{border:none}

.hero-block{text-align:center;padding:88px 0 72px}
.hero-block .meta{
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:11px;
  color:#aaa;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin:0 0 36px;
}
.hero-block h1{
  font-family:"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:clamp(48px,11vw,88px);
  line-height:1.02;
  font-weight:800;
  margin:0 0 40px;
  color:#0a0a0a;
  letter-spacing:-.03em;
}
.hero-block .lead{
  font-size:clamp(20px,3.5vw,26px);
  line-height:1.5;
  color:#333;
  margin:0 auto;
  max-width:540px;
  font-weight:400;
}

.landing{padding:0 0 100px}
.section{margin:0;padding:72px 0 0;border-top:1px solid #eee}
.section:first-of-type{border-top:none;padding-top:48px}
.section-num{
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:11px;
  font-weight:700;
  color:#ccc;
  letter-spacing:.16em;
  margin:0 0 20px;
}
.landing h2{
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:clamp(32px,6vw,52px);
  line-height:1.12;
  font-weight:800;
  margin:0 0 28px;
  color:#0a0a0a;
  letter-spacing:-.02em;
}
.landing p{margin:0 0 24px;color:#2a2a2a;font-size:18px}
.landing ul,.landing ol{margin:0 0 24px;padding-left:0;list-style:none;color:#2a2a2a}
.landing li{margin-bottom:14px;padding-left:1.4em;text-indent:-1.4em;font-size:18px}
.landing li::before{content:"·";color:#ccc;margin-right:.8em;font-size:22px;line-height:1}

.pull-right{
  float:right;
  width:min(280px,45%);
  margin:0 0 24px 32px;
  padding:24px 0 0;
  border-top:2px solid #111;
  font-size:clamp(18px,3vw,22px);
  line-height:1.45;
  color:#222;
  font-style:italic;
}
.pull-right cite{
  display:block;
  margin-top:14px;
  font-size:11px;
  font-style:normal;
  color:#aaa;
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.landing::after{content:"";display:table;clear:both}

.fig{margin:56px 0;text-align:center}
.fig img{margin:0 auto;opacity:.97;border-radius:2px}
.fig figcaption{
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:11px;
  color:#999;
  margin-top:14px;
  letter-spacing:.06em;
  line-height:1.6;
}
.fig-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:56px 0}
.fig-row figure{margin:0}
.fig-row figcaption{font-size:11px;color:#999;margin-top:10px;font-family:"Helvetica Neue","PingFang SC",sans-serif;text-align:center}

.link-strip{
  margin:64px 0 0;
  padding:32px 0;
  border-top:1px solid #eee;
  border-bottom:1px solid #eee;
  text-align:center;
}
.link-strip p{
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:11px;
  color:#aaa;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin:0 0 20px;
}
.link-strip ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:28px 40px}
.link-strip li{margin:0;padding:0;text-indent:0}
.link-strip li::before{content:none}
.link-strip a{font-size:16px;font-weight:600;text-decoration:none;font-family:"Helvetica Neue","PingFang SC",sans-serif}
.link-strip a:hover{text-decoration:underline}

.faq-plain{margin:72px 0 0;padding-top:48px;border-top:1px solid #eee}
.faq-plain h2{margin-bottom:36px}
.faq-item{margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid #f0f0f0}
.faq-item:last-child{border-bottom:none;padding-bottom:0}
.faq-item h3{
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:18px;
  font-weight:700;
  margin:0 0 10px;
  color:#111;
  line-height:1.35;
}
.faq-item p{font-size:17px;color:#444;margin:0;line-height:1.72}

.prose-page{padding:64px 0 88px}
.prose-page h1{
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:clamp(36px,6vw,56px);
  line-height:1.1;
  font-weight:800;
  margin:0 0 32px;
  letter-spacing:-.02em;
}
.prose-page h2{
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:24px;
  line-height:1.25;
  margin:48px 0 20px;
  font-weight:700;
  color:#111;
}
.prose-page p,.prose-page li{font-size:17px;color:#2a2a2a;margin-bottom:20px}
.prose-page ul,.prose-page ol{padding-left:0;list-style:none}
.prose-page li{margin-bottom:12px;padding-left:1.4em;text-indent:-1.4em}
.prose-page li::before{content:"·";color:#ccc;margin-right:.8em}

.ads-wrap{margin:28px 0}

.site-foot{
  padding:48px 0 72px;
  border-top:1px solid #eee;
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:12px;
  color:#aaa;
}
.site-foot a{color:#888;margin-right:18px;text-decoration:none}
.site-foot a:hover{color:#333}
.site-foot p{margin:16px 0 0;line-height:1.7}

.err-page{min-height:60vh;display:grid;place-items:center;text-align:center;padding:80px 24px}
.err-page h1{
  font-family:"Helvetica Neue","PingFang SC",sans-serif;
  font-size:clamp(72px,14vw,140px);
  margin:0 0 20px;
  color:#eee;
  font-weight:800;
  line-height:1;
  letter-spacing:-.04em;
}
.err-page p{font-size:17px;color:#888;font-family:"Helvetica Neue","PingFang SC",sans-serif;margin:0 0 12px}
.err-page a{color:#333}

@media(max-width:640px){
  body{font-size:17px}
  .hero-block{padding:56px 0 48px}
  .section{padding-top:56px}
  .landing p,.landing li{font-size:17px}
  .pull-right{float:none;width:100%;margin:0 0 28px}
  .fig-row{grid-template-columns:1fr;gap:32px}
  .menu-btn{display:inline-block}
  .top-nav{display:none}
  .link-strip ul{flex-direction:column;gap:16px}
}
