:root{
  --ink:#1f3a2e; --ink-soft:#5a6b62; --ink-mute:#8a978f;
  --green:#23463a; --green-soft:#356a54; --gold:#9a7b4f;
  --bg:#f7f4ee; --card:#fff; --line:#e6e2d9;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.8; font-size:16px;
}
a{color:var(--green); text-decoration:none}
a:hover{color:var(--gold)}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}
.wrap-narrow{max-width:760px}

/* header */
.site-header{background:linear-gradient(135deg,#23463a,#356a54);color:#fff;position:sticky;top:0;z-index:10}
.head-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 24px}
.brand{display:flex;flex-direction:column;color:#fff}
.brand:hover{color:#fff}
.brand-name{font-size:19px;font-weight:700;letter-spacing:.5px}
.brand-sub{font-size:12px;color:#bcd3c8;letter-spacing:.5px}
.site-nav a{color:#e8efe9;font-size:15px;margin-left:20px}
.site-nav a:hover{color:#fff}

/* hero */
.hero{padding:64px 0 56px;text-align:center;background:var(--card);border-bottom:1px solid var(--line)}
.hero h1{font-size:30px;letter-spacing:2px;margin-bottom:14px}
.hero-sub{max-width:700px;margin:0 auto;color:var(--ink-soft);font-size:16px}
.hero-tag{display:inline-block;margin-top:20px;color:var(--gold);border:1px solid var(--gold);border-radius:20px;padding:5px 18px;font-size:14px}

/* section */
.section{padding:52px 0}
.section.alt{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section h2{font-size:23px;text-align:center;letter-spacing:1px}
.sec-sub{text-align:center;color:var(--ink-mute);font-size:14px;margin:8px 0 32px}

/* prose */
.prose{max-width:760px;margin:0 auto;color:#3d4f46}
.prose p{margin:12px 0}
.prose h2{font-size:20px;margin:28px 0 10px;text-align:left;color:var(--ink)}
.prose h3{font-size:17px;margin:22px 0 8px;color:var(--green)}
.prose ul,.prose ol{margin:12px 0 12px 22px}
.prose li{margin:6px 0}
.prose strong{color:var(--ink)}
.prose blockquote{border-left:3px solid var(--gold);padding:6px 0 6px 16px;color:var(--ink-soft);background:#faf8f3;margin:14px 0}

/* grid & cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;display:block;color:inherit;transition:.15s}
.section.alt .card{background:var(--bg)}
.card:hover{border-color:var(--gold);color:inherit;transform:translateY(-2px)}
.card h3{font-size:17px;margin-bottom:10px}
.card p{font-size:14px;color:var(--ink-soft)}
.title-tag{font-size:12px;font-weight:400;color:var(--gold);border:1px solid var(--gold);border-radius:10px;padding:1px 8px;vertical-align:middle;margin-left:6px}
.dept{font-size:13px;color:var(--ink-mute)}
.more{display:inline-block;margin-top:12px;font-size:13px;color:var(--gold)}

/* article list */
.article-list{max-width:760px;margin:0 auto;list-style:none}
.article-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line)}
.article-list a{font-size:15px}
.date{color:var(--ink-mute);font-size:13px;white-space:nowrap}

/* contact */
.contact-box{max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px}
.section.alt .contact-box{background:var(--bg)}
.contact-box p{margin:10px 0;color:var(--ink-soft)}
.lbl{display:inline-block;width:82px;color:var(--ink);font-weight:500}
.addr-full{margin-top:16px!important;padding-top:14px;border-top:1px dashed var(--line);font-size:13px;color:var(--ink-mute)}

/* inner pages */
.page{padding:32px 0 64px}
.crumb{font-size:13px;color:var(--ink-mute);margin-bottom:22px}
.crumb a{color:var(--ink-mute)}
.crumb span{margin:0 8px}
.page-head{margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:26px;letter-spacing:1px}
.page-head .meta{margin-top:10px;font-size:14px;color:var(--ink-mute)}
.page-head .meta .dot{margin:0 8px}
.block{margin:30px 0}
.block h2{font-size:18px;margin-bottom:12px;text-align:left}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.tags li{font-size:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:5px 14px;color:var(--ink-soft)}
.kv{width:100%;border-collapse:collapse;max-width:560px}
.kv th,.kv td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;vertical-align:top}
.kv th{width:96px;color:var(--ink-mute);font-weight:400}
.note{font-size:13px;color:var(--ink-mute);background:#faf8f3;border-left:3px solid var(--gold);padding:10px 14px;margin:14px 0;border-radius:0 6px 6px 0}
.backlink{margin-top:34px;font-size:14px}

/* footer */
.site-footer{background:var(--green);color:#cdd9d1;padding:30px 0;font-size:13px;line-height:1.9;margin-top:20px}
.foot-line{margin:2px 0}
.foot-meta{margin-top:10px;color:#9db3a8;font-size:12px}
.foot-meta a{color:#9db3a8}

@media (max-width:640px){
  .hero{padding:44px 0 38px}
  .hero h1{font-size:24px}
  .section{padding:38px 0}
  .head-inner{padding:12px 18px}
  .site-nav a{margin-left:0;margin-right:16px;font-size:14px}
  .lbl{width:auto;display:block}
  .article-list li{flex-direction:column;gap:4px}
}
