*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:Georgia,"Noto Serif SC","PingFang SC",serif;color:#2a2a2a;background:#fff;line-height:1.8}
.sans{font-family:"PingFang SC","Microsoft YaHei",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:#5a3d8a;text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1080px,calc(100% - 36px));margin:0 auto}

.masthead{border-bottom:3px double #ddd;padding:20px 0 16px}
.masthead-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo-row{display:flex;align-items:center;gap:12px}
.logo-row img{width:48px;border-radius:8px}
.logo-row h1{font-size:22px;margin:0;font-weight:700;letter-spacing:.06em}
.logo-row p{margin:2px 0 0;font-size:11px;color:#888;letter-spacing:.2em}
.menu-btn{display:none;border:1px solid #ccc;background:#fff;padding:8px 12px;border-radius:6px}
.main-nav{display:flex;gap:20px;flex-wrap:wrap}
.main-nav a{color:#444;font-size:14px;font-weight:600}
.mobile-nav{display:none;flex-direction:column;padding:12px 0;border-top:1px solid #eee}
.mobile-nav.open{display:flex}
.mobile-nav a{padding:10px 0;border-bottom:1px solid #f5f5f5;color:#444}

.hero-banner{margin:32px 0;border-radius:4px;overflow:hidden;border:1px solid #e8e8e8}
.hero-banner img{width:100%;max-height:320px;object-fit:cover}
.lead{font-size:20px;line-height:1.65;color:#333;margin:24px 0}
.meta{font-size:13px;color:#888;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid #eee}

.layout{display:grid;grid-template-columns:1fr 300px;gap:40px;margin:40px 0}
article h2{font-size:24px;margin:32px 0 12px;color:#111}
article p,article li{font-size:16px;color:#444}
article ul{padding-left:20px}

.sidebar .box{border:1px solid #e8e8e8;padding:20px;margin-bottom:20px;background:#fafafa}
.sidebar h3{margin:0 0 12px;font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:#666}
.sidebar ul{list-style:none;padding:0;margin:0}
.sidebar li{padding:8px 0;border-bottom:1px solid #eee;font-size:14px}
.sidebar li:last-child{border:none}

.cover-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}
.cover-card{border:1px solid #e8e8e8;background:#fff}
.cover-card img{aspect-ratio:2/3;object-fit:cover;width:100%}
.cover-card .cap{padding:12px;font-size:13px}
.cover-card .cap strong{display:block;font-size:14px;color:#111;margin-bottom:4px}

.quote-block{margin:32px 0;padding:24px 28px;background:#f7f5fb;border-left:4px solid #5a3d8a;font-style:italic;color:#444}

.faq{margin:40px 0}
.faq h2{font-size:22px;margin-bottom:16px}
.faq details{border-top:1px solid #ddd;padding:14px 0}
.faq summary{cursor:pointer;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}

.footer{margin-top:60px;padding:32px 0;border-top:1px solid #ddd;font-size:13px;color:#888}
.footer a{color:#666;margin-right:14px}

.prose-page{padding:40px 0;max-width:720px;margin:0 auto}
.prose-page h1{font-size:32px;margin-bottom:20px}

@media(max-width:800px){
  .layout{grid-template-columns:1fr}
  .cover-grid{grid-template-columns:1fr 1fr}
  .menu-btn{display:inline-block}.main-nav{display:none}
}
@media(max-width:480px){.cover-grid{grid-template-columns:1fr}}
