:root{--accent:#9c7c4a;--accent-deep:#7a5f38;--ink:#26211c;--text:#463f37;--muted:#8a8073;--bg:#f7f4ef;--surface:#ffffff;--line:#e6ded0;--soft:#efeae1;--maxw:820px;--maxw-wide:1140px;--font:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',system-ui,'Segoe UI',sans-serif;--serif:'Songti SC','STSong','Noto Serif SC',Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);font-size:17px;line-height:1.85;letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent-deep)}
img{max-width:100%;height:auto;display:block}
hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}
::selection{background:var(--accent);color:#fff}
header{position:sticky;top:0;z-index:30;display:flex;flex-wrap:wrap;align-items:center;gap:6px 28px;padding:16px clamp(18px,5vw,56px);background:rgba(247,244,239,.9);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}
.brand{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--ink);letter-spacing:.04em}
header nav{display:flex;flex-wrap:wrap;gap:6px 24px;margin-left:auto;font-size:14.5px;letter-spacing:.02em}
header nav a{color:var(--muted);padding-bottom:2px;border-bottom:1.5px solid transparent}
header nav a:hover,header nav a[aria-current]{color:var(--ink);border-bottom-color:var(--accent)}
.hero{text-align:center;padding:clamp(48px,9vw,108px) clamp(18px,5vw,56px) clamp(34px,6vw,68px);background:linear-gradient(180deg,var(--soft),var(--bg))}
.hero .eyebrow{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}
.hero h1{font-family:var(--serif);font-size:clamp(32px,6vw,58px);line-height:1.16;letter-spacing:.01em;font-weight:600;color:var(--ink);margin:0 auto .45em;max-width:20ch}
.hero p{font-size:clamp(16px,2.2vw,20px);color:var(--muted);max-width:48ch;margin:0 auto;line-height:1.7}
main{max-width:var(--maxw);margin:0 auto;padding:0 clamp(18px,5vw,56px) 96px}
body[data-page="home"] main,body[data-wide] main{max-width:var(--maxw-wide)}
.breadcrumb{font-size:12.5px;color:var(--muted);margin:30px 0 6px;letter-spacing:.04em}
.breadcrumb a{color:var(--muted)}
article h1{font-family:var(--serif);font-size:clamp(28px,5vw,44px);line-height:1.2;letter-spacing:.01em;font-weight:600;color:var(--ink);margin:.3em 0 .7em}
article h2{font-family:var(--serif);font-size:clamp(22px,3vw,29px);font-weight:600;color:var(--ink);margin:2.4em 0 .7em;letter-spacing:.01em}
article h2::after{content:"";display:block;width:42px;height:2px;background:var(--accent);margin-top:.5em}
article h3{font-size:19px;font-weight:600;color:var(--ink);margin:2em 0 .5em}
article p{margin:0 0 1.2em}
article ul{margin:0 0 1.3em;padding-left:0;list-style:none}
article li{margin:.55em 0;position:relative;padding-left:1.15em}
article li::before{content:"—";position:absolute;left:0;color:var(--accent)}
article strong{color:var(--ink);font-weight:600}
article blockquote{font-family:var(--serif);font-size:clamp(19px,2.6vw,24px);line-height:1.5;color:var(--ink);margin:1.8em 0;padding-left:1em;border-left:3px solid var(--accent);font-style:italic}
article figure{margin:1.9em 0}
article figure img{width:100%;border-radius:5px;box-shadow:0 6px 28px rgba(40,33,25,.1)}
article figure figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:.7em;letter-spacing:.02em}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;margin:1.7em 0}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px;box-shadow:0 4px 18px rgba(40,33,25,.09);transition:transform .35s,box-shadow .35s}
.gallery figure:hover img,.gallery a:hover img{transform:translateY(-3px) scale(1.012);box-shadow:0 10px 30px rgba(40,33,25,.16)}
.gallery figcaption{font-size:12.5px;color:var(--muted);margin-top:.5em;text-align:center}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:22px;margin:1.7em 0}
.card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(40,33,25,.13)}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card .cbody{padding:15px 18px 20px}
.card .ctitle{font-family:var(--serif);font-size:19px;color:var(--ink);margin:0 0 4px}
.card .cmeta{font-size:13px;color:var(--muted);line-height:1.6}
.placeholder{color:var(--muted);font-style:italic;background:var(--surface);border:1px dashed var(--line);border-radius:4px;padding:16px 18px}
.sitemap-tree{list-style:none;padding-left:0}
.sitemap-tree li{margin:.4em 0;padding-left:0}
.sitemap-tree li::before{content:none}
.sitemap-tree>li>a{font-weight:600;color:var(--ink)}
.sitemap-tree ul{list-style:none;margin:.4em 0 .6em;padding-left:1.1em;border-left:1px solid var(--line)}
.sitemap-tree ul li{margin:.3em 0}
.sitemap-tree ul a{color:var(--accent)}
.sm-desc{color:var(--muted);font-size:.86em}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:13px;padding:36px clamp(18px,5vw,56px);text-align:center;letter-spacing:.04em;background:var(--soft)}
footer .brand{display:block;margin-bottom:6px;font-size:17px}
@media(max-width:600px){header{gap:6px 14px;padding:13px 16px}header nav{width:100%;margin-left:0;gap:6px 16px;font-size:13.5px}body{font-size:16px}}
