:root{
  --c-primary: #b7410e;
  --accent:var(--c-primary);      /* 主色别名（跟随后台主色） */
  --c-primary-dark: #b7410e;
  --font: 'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#efe7d8;--ink:#2a1d14;--muted:#6b5a47;--c-primary:#b7410e;--accent2:#7a3b16;--surface:#f7f1e4;--border:#d8c7a8;
--light:#fbf6ea;--herobg:#2a1d14;--heroink:#efe7d8;--navbg:#2a1d14;--navink:#efe7d8;--footbg:#2a1d14;--footink:#cbb89a;--btn-ink:#efe7d8;--radius:4px}
*:where(*){box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
 background:var(--bg);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,92%);margin-inline:auto}
.eyebrow{display:inline-block;font-size:13px;letter-spacing:.18em;text-transform:uppercase;
 color:var(--accent);font-weight:700;margin-bottom:10px}
.sec-h h2{font-size:clamp(26px,3.4vw,40px);line-height:1.2;letter-spacing:-.01em}
.sec-h{margin-bottom:34px}
.sec-h p{color:var(--muted);margin-top:10px;max-width:62ch}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--btn-ink);
 font-weight:700;padding:13px 26px;border-radius:var(--radius);border:0;cursor:pointer;
 transition:transform .2s,filter .2s}
.btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--border)}
.more{color:var(--accent);font-weight:700}
.more:hover{text-decoration:underline}
section{padding:clamp(56px,7vw,96px) 0}
/* nav */
.nav{position:sticky;top:0;z-index:50;background:var(--navbg);color:var(--navink);
 box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nav-in{width:min(1180px,92%);margin-inline:auto;display:flex;align-items:center;
 justify-content:space-between;padding:14px 0;position:relative}
.brand{display:flex;align-items:center;gap:10px;color:var(--navink)}
.brand-txt{display:flex;flex-direction:column;line-height:1.1}
.brand-txt b{font-size:16px}.brand-txt i{font-style:normal;font-size:11px;opacity:.7;letter-spacing:.12em}
.nav nav ul{list-style:none;display:flex;gap:6px}
.nav nav a{display:block;padding:9px 15px;border-radius:10px;font-weight:600;font-size:15px;
 color:var(--navink);opacity:.82;transition:.2s}
.nav nav a:hover,.nav nav a.active{opacity:1;background:rgba(255,255,255,.12)}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{width:26px;height:3px;background:var(--navink);border-radius:3px}
/* footer */
.foot{background:var(--footbg);color:var(--footink);padding:54px 0 30px;margin-top:0}
.foot-in{width:min(1180px,92%);margin-inline:auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px}
.foot-in b{font-size:18px;color:var(--footink)}.foot-in p{margin-top:8px;font-size:14px}
.foot-in h4{color:var(--footink);margin-bottom:12px;font-size:14px;letter-spacing:.1em}
.foot-in a{display:block;font-size:14px;opacity:.8;padding:3px 0}.foot-in a:hover{opacity:1;color:var(--accent)}
.copy{width:min(1180px,92%);margin:30px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);
 font-size:13px;opacity:.7}
/* products page */
.pfilter{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 30px}
.pfilter button{background:var(--surface);color:var(--ink);border:1px solid var(--border);
 padding:9px 18px;border-radius:30px;cursor:pointer;font-weight:600;transition:.2s}
.pfilter button.on{background:var(--accent);color:var(--herobg);border-color:var(--accent)}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.pcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;
 transition:transform .25s,box-shadow .25s}
.pcard:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.16)}
.pcard img{height:190px;width:100%;object-fit:cover}
.pc-body{padding:20px}.pc-body h3{font-size:19px}.pc-body i{font-style:normal;color:var(--muted);font-size:13px}
.pc-body p{color:var(--muted);font-size:14px;margin:10px 0 14px}.tag{display:inline-block;background:var(--accent);
 color:var(--btn-ink);font-weight:800;font-size:12px;padding:2px 9px;border-radius:6px;margin-bottom:8px}
/* news page */
.ngrid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.ncard{display:flex;gap:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
 overflow:hidden}.ncard img{width:150px;height:140px;object-fit:cover;flex:none}
.n-body{padding:18px}.date{color:var(--accent);font-weight:700;font-size:13px}
.n-body h3{font-size:18px;margin:6px 0}.n-body p{color:var(--muted);font-size:14px}
/* about */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.about-grid img{height:380px;width:100%;object-fit:cover;border-radius:var(--radius)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;text-align:center}
.stat b{display:block;font-size:34px;color:var(--accent)}.stat span{color:var(--muted);font-size:14px}
/* contact */
.cwrap{display:grid;grid-template-columns:1fr 1fr;gap:46px}
.cinfo p{margin:8px 0;color:var(--muted)}
.cform{display:flex;flex-direction:column;gap:14px}
.cform label{font-weight:600;font-size:14px}.cform input,.cform textarea{
 background:var(--surface);border:1px solid var(--border);color:var(--ink);border-radius:10px;padding:12px 14px;font:inherit}
.cform textarea{min-height:130px;resize:vertical}
.cform button{justify-content:center}
/* responsive */
@media(max-width:960px){
 .nav-toggle{display:flex}.nav nav{position:absolute;top:100%;left:0;right:0;background:var(--navbg);
  max-height:0;overflow:hidden;transition:max-height .3s}.nav-in.open nav{max-height:340px}
 .nav nav ul{flex-direction:column;padding:10px}.pgrid,.ngrid,.about-grid,.cwrap{grid-template-columns:1fr}
 .stats{grid-template-columns:repeat(2,1fr)}.ncard{flex-direction:column}.ncard img{width:100%;height:170px}
 .foot-in{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}}

/* layout: rust */
.hero{background:var(--herobg);color:var(--heroink);padding:clamp(60px,8vw,100px) 0;position:relative}.hero-in{width:min(1180px,92%);margin-inline:auto}.hero h1{font-size:clamp(32px,5vw,60px);line-height:1.06;border-left:6px solid var(--accent);padding-left:18px}.hero p{margin:18px 0 26px;opacity:.88;max-width:46ch;font-size:17px}.sticker{position:absolute;top:26px;right:6%;background:var(--accent);color:var(--btn-ink);font-weight:800;font-size:13px;padding:8px 14px;transform:rotate(8deg);border:2px dashed var(--btn-ink);border-radius:6px}.notch{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.ncard2{background:var(--surface);border:3px solid var(--ink);border-radius:0;padding:24px;position:relative;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}.ncard2 h3{font-size:20px;margin-bottom:8px}.ncard2 p{color:var(--muted);font-size:14px}.ncard2 .bolt{position:absolute;top:10px;right:10px;width:14px;height:14px;border-radius:50%;background:var(--accent)}@media(max-width:960px){.notch{grid-template-columns:1fr}.sticker{display:none}}
/* ===== CMS 共享：列表 / 详情 / 分页 / 表单 ===== */
.cms-page{padding:72px 0;}
.cms-page .container{max-width:1200px;margin:0 auto;padding:0 20px;}
.cms-page .cms-title{font-size:34px;font-weight:800;text-align:center;margin-bottom:8px;}
.cms-page .cms-subtitle{text-align:center;color:#888;margin-bottom:36px;}
.cms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px;}
.cms-card{display:block;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.07);transition:.25s;text-decoration:none;color:inherit;}
.cms-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.12);}
.cms-card img{width:100%;height:200px;object-fit:cover;display:block;}
.cms-card h3{margin:0;padding:18px 18px 4px;font-size:18px;}
.cms-card p{padding:0 18px 18px;color:#777;font-size:14px;margin:0;}
.cms-detail{max-width:860px;margin:0 auto;padding:0 20px;}
.cms-detail img{max-width:100%;border-radius:14px;margin:18px 0;}
.cms-detail h1{font-size:34px;margin:10px 0 6px;}
.cms-detail .lead{color:#888;font-size:16px;}
.cms-content{line-height:1.9;color:#444;margin-top:18px;}
.cms-content img{max-width:100%;}
.cms-back{display:inline-block;margin:8px 0 18px;color:var(--c-primary,#e11d2e);text-decoration:none;font-weight:600;}
.cms-pager{margin:34px 0;text-align:center;}
.cms-pager a,.cms-pager span{padding:8px 14px;margin:0 3px;border-radius:8px;background:#fff;color:#444;text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.cms-pager .active{background:var(--c-primary,#e11d2e);color:#fff;}
.contact-form{max-width:640px;margin:18px auto 0;display:grid;gap:14px;}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;padding:12px 14px;border:1px solid #e3e3e3;border-radius:10px;font-size:15px;font-family:inherit;}
.contact-form textarea{min-height:120px;resize:vertical;}
.btn-primary{background:var(--c-primary,#e11d2e);color:#fff;padding:12px 22px;border-radius:10px;font-weight:700;border:none;cursor:pointer;}
.form-alert{padding:12px 14px;border-radius:10px;margin-bottom:12px;font-size:14px;}
.form-alert-ok{background:#eafaf0;color:#1c7a43;}
.form-alert-err{background:#fdecea;color:#b42318;}
.form-alert-err ul{margin:6px 0 0;padding-left:18px;}
.ve-editable-bg{cursor:pointer;}
