:root{
  --c-primary: #14b8c4;
  --c-primary-dark: #14b8c4;
  --font: 'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#1e1b4b;--ink:#e7e9f7;--muted:#a9a6cf;--c-primary:#14b8c4;--accent2:#3a2f8f;--surface:#26225e;--border:#3a3478;
--light:#2a2668;--herobg:#1e1b4b;--heroink:#e7e9f7;--navbg:#1e1b4b;--navink:#e7e9f7;--footbg:#100e2e;--footink:#b6b2e0;--btn-ink:#1e1b4b;--radius:20px}
*: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 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: indigo */
.hero{background:radial-gradient(110% 120% at 20% 0,var(--accent2) 0,transparent 50%),var(--herobg);color:var(--heroink);padding:clamp(70px,9vw,120px) 0;text-align:center;position:relative}.hero-in{width:min(880px,90%);margin-inline:auto}.hero h1{font-size:clamp(34px,5.6vw,66px);line-height:1.05}.hero p{margin:18px auto 28px;opacity:.85;font-size:18px;max-width:48ch}.curve{display:block;width:100%;height:60px}.float{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.fcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:30px;transition:.3s}.fcard:hover{transform:translateY(-12px);box-shadow:0 24px 50px rgba(20,184,196,.25)}.fcard h3{font-size:20px;margin:6px 0}.fcard p{color:var(--muted);font-size:14px}@media(max-width:960px){.float{grid-template-columns:1fr}}
/* ===== 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;}
