:root{
  --c-primary: #7d8c6f;
  --c-primary-dark: #7d8c6f;
  --font: 'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;
}
/* 梯岳机械 SageStep Machinery —— 浅色"苔绿阶梯"风格 */
:root{
  --sage:#7d8c6f;        /* 主色 鼠尾草绿 */
  --sage-deep:#55624a;   /* 深苔绿（用于绿底之上的正文） */
  --ink:#33402c;         /* 深字灰绿 */
  --cream:#f4f3ec;       /* 底米白 */
  --cream2:#e9e8de;      /* 次底 */
  --line:#d6d4c6;
  --maxw:1180px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.7;
  font-size:16px;
  overflow-x:hidden;          /* 防止阶梯错位产生横向滚动条 */
}
a{color:var(--ink);text-decoration:none;}
img{display:block;max-width:100%;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

/* ---------- 顶部导航 ---------- */
.hdr{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:.5px;color:var(--ink);}
.logo small{display:block;font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--sage-deep);}
.logo svg{flex:0 0 auto;}
.nav{display:flex;gap:6px;}
.nav a{padding:8px 16px;border-radius:0;font-weight:600;font-size:15px;position:relative;transition:color .2s;}
.nav a:hover{color:var(--sage-deep);}
.nav a.active{color:var(--sage-deep);}
.nav a.active::after{content:"";position:absolute;left:16px;right:16px;bottom:2px;height:3px;background:var(--sage);}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.burger span{width:26px;height:3px;background:var(--ink);display:block;}

/* ---------- 区块统一居中布局 ---------- */
.home-blocks > section{margin:0 auto;width:min(94%,980px);}

/* ---------- 板块标题：台阶式三级下划线 ---------- */
.title{font-size:30px;font-weight:800;color:var(--ink);margin:0 0 6px;position:relative;padding-bottom:22px;letter-spacing:1px;}
.title .sub{display:block;font-size:13px;font-weight:600;letter-spacing:2px;color:var(--sage-deep);margin-bottom:4px;text-transform:uppercase;}
.stair-line::after{
  content:"";
  display:block;
  height:18px;width:150px;
  background:
    linear-gradient(var(--sage),var(--sage)) left top/42px 4px no-repeat,
    linear-gradient(var(--sage-deep),var(--sage-deep)) 16px 7px/42px 4px no-repeat,
    linear-gradient(var(--sage),var(--sage)) 32px 10px/42px 4px no-repeat;
}

/* ---------- 通用按钮（方角、鼠尾草绿底白字） ---------- */
.btn{display:inline-block;background:var(--sage-deep);color:#fff;font-weight:700;padding:13px 28px;border:0;cursor:pointer;letter-spacing:1px;border-radius:0;transition:background .2s,transform .1s;}
.btn:hover{background:var(--sage-deep);}
.btn:active{transform:translateY(1px);}
.btn.ghost{background:transparent;color:var(--ink);border:2px solid var(--sage);}
.btn.ghost:hover{background:var(--sage-deep);color:#fff;}

/* ---------- HERO ---------- */
.hero{position:relative;background:var(--cream2);padding:60px 0 70px;overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;position:relative;z-index:2;}
.hero h1{font-size:42px;line-height:1.25;margin:0 0 18px;color:var(--ink);font-weight:800;}
.hero p.lead{font-size:17px;color:var(--sage-deep);max-width:520px;margin:0 0 26px;}
.hero .tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px;}
.hero .tags span{background:var(--cream);border:1px solid var(--line);padding:6px 14px;font-size:13px;font-weight:600;color:var(--sage-deep);}
.hero .pic{position:relative;}
.hero .pic img{width:100%;height:380px;object-fit:cover;border:1px solid var(--line);}
/* hero 右下阶梯装饰色块组（3 个逐级下降的矩形） */
.hero-deco{position:absolute;right:0;bottom:0;display:flex;align-items:flex-end;gap:10px;z-index:1;}
.hero-deco i{display:block;background:var(--sage);}
.hero-deco i:nth-child(1){width:54px;height:120px;opacity:.9;}
.hero-deco i:nth-child(2){width:54px;height:84px;opacity:.7;background:var(--sage-deep);}
.hero-deco i:nth-child(3){width:54px;height:50px;opacity:.5;}

/* ---------- 数据带 ---------- */
.stats{background:var(--sage-deep);padding:46px 0;}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;}
.stats .num{font-size:46px;font-weight:800;color:#fff;line-height:1;}
.stats .lbl{color:#eef0e8;font-weight:600;margin-top:8px;font-size:14px;letter-spacing:1px;}

/* ---------- 板块通用间距 ---------- */
.sec{padding:64px 0;}
.sec > .wrap > .title{margin-bottom:34px;}
.sec.alt{background:var(--cream2);}

/* ---------- 阶梯切角卡 ---------- */
.cards{display:grid;gap:22px;}
.cards.c4{grid-template-columns:repeat(4,1fr);}
.cards.c3{grid-template-columns:repeat(3,1fr);}
.cards.c2{grid-template-columns:repeat(2,1fr);}
.card{
  background:var(--cream);
  border:1px solid var(--line);
  /* 顶部阶梯状切角（2-3级台阶） */
  clip-path:polygon(0 18px,18px 18px,18px 11px,30px 11px,30px 0,100% 0,100% 100%,0 100%);
}
.card .body{padding:20px 20px 24px;}
.card .body h3{margin:0 0 8px;font-size:18px;color:var(--ink);font-weight:700;}
.card .body p{margin:0;font-size:14px;color:var(--sage-deep);}
.card .tag{display:inline-block;background:var(--cream2);color:var(--sage-deep);font-size:12px;font-weight:700;padding:4px 10px;margin-bottom:10px;letter-spacing:1px;}
.card img{width:100%;height:180px;object-fit:cover;}

/* 产品分类卡：图标台阶 + 标题 */
.cat{display:flex;flex-direction:column;gap:10px;padding:24px 20px;background:var(--cream);border:1px solid var(--line);clip-path:polygon(0 18px,18px 18px,18px 11px,30px 11px,30px 0,100% 0,100% 100%,0 100%);}
.cat .ico{width:46px;height:46px;}
.cat h3{margin:0;font-size:18px;font-weight:700;}
.cat p{margin:0;font-size:13px;color:var(--sage-deep);}

/* ---------- 公司简介 ---------- */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;}
.about-grid img{width:100%;height:340px;object-fit:cover;border:1px solid var(--line);}
.about-grid p{color:var(--sage-deep);font-size:15px;}

/* ---------- 服务流程：上升台阶图（4 步逐级抬升） ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:end;}
.step{background:var(--cream);border:1px solid var(--line);padding:22px 18px;position:relative;}
.step:nth-child(1){margin-bottom:0;}
.step:nth-child(2){margin-bottom:26px;}
.step:nth-child(3){margin-bottom:52px;}
.step:nth-child(4){margin-bottom:78px;}
.step .no{font-size:30px;font-weight:800;color:var(--sage);}
.step h3{margin:6px 0 8px;font-size:17px;color:var(--ink);}
.step p{margin:0;font-size:13px;color:var(--sage-deep);}
.step::before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:var(--sage);}

/* ---------- 新闻 ---------- */
.news-item{display:grid;grid-template-columns:280px 1fr;gap:24px;background:var(--cream);border:1px solid var(--line);margin-bottom:18px;align-items:center;padding:14px;}
.news-item img{width:280px;height:170px;object-fit:cover;}
.news-item .meta{font-size:12px;color:var(--sage-deep);font-weight:600;letter-spacing:1px;}
.news-item h3{margin:6px 0 8px;font-size:19px;color:var(--ink);}
.news-item p{margin:0;font-size:14px;color:var(--sage-deep);}
.news-list{list-style:none;padding:0;margin:0;}
.news-list li{border-bottom:1px dashed var(--line);padding:12px 0;display:flex;justify-content:space-between;gap:16px;}
.news-list li a{font-weight:600;color:var(--ink);}
.news-list li span{color:var(--sage-deep);font-size:13px;white-space:nowrap;}

/* ---------- CTA ---------- */
.cta{background:var(--sage-deep);color:#fff;text-align:center;padding:56px 0;}
.cta h2{margin:0 0 10px;font-size:30px;font-weight:800;color:#fff;}
.cta p{margin:0 0 22px;color:#eef0e8;}
/* CTA 深绿底上的幽灵按钮：默认 .btn.ghost 是深灰绿字（--ink），深底上几乎不可见，改白字白框 */
.cta .btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);}
.cta .btn.ghost:hover{background:#fff;color:var(--sage-deep);border-color:#fff;}

/* ---------- 页脚 ---------- */
.ftr{background:var(--ink);color:#d9dccf;padding:50px 0 22px;}
.ftr .grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:30px;}
.ftr .brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:18px;margin-bottom:12px;}
.ftr .brand small{display:block;font-size:10px;letter-spacing:1.5px;color:var(--sage);}
.ftr h4{color:#fff;font-size:15px;margin:0 0 14px;}
.ftr a,.ftr p{color:#c8ccbd;font-size:14px;display:block;margin:6px 0;}
.ftr a:hover{color:#fff;}
.ftr .bottom{border-top:1px solid #4a5740;margin-top:30px;padding-top:18px;text-align:center;font-size:13px;color:#a9ae9c;}

/* ---------- 子页头 ---------- */
.phead{background:var(--cream2);padding:40px 0;border-bottom:1px solid var(--line);}
.phead .crumb{font-size:13px;color:var(--sage-deep);margin-bottom:10px;letter-spacing:1px;}
.phead .crumb a:hover{color:var(--ink);}
.phead h1{margin:0;font-size:34px;font-weight:800;color:var(--ink);}
.phead .eyebrow{display:inline-block;font-size:12px;letter-spacing:3px;font-weight:700;color:var(--sage-deep);margin-bottom:6px;}

/* ---------- 产品筛选 ---------- */
.pfilter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;}
.pfilter button{background:var(--cream);border:1px solid var(--line);color:var(--sage-deep);font-weight:700;padding:9px 18px;cursor:pointer;border-radius:0;letter-spacing:1px;}
.pfilter button.on{background:var(--sage-deep);color:#fff;border-color:var(--sage-deep);}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pcard{background:var(--cream);border:1px solid var(--line);clip-path:polygon(0 18px,18px 18px,18px 11px,30px 11px,30px 0,100% 0,100% 100%,0 100%);}
.pcard img{width:100%;height:200px;object-fit:cover;}
.pcard .body{padding:18px 18px 22px;}
.pcard .tag{display:inline-block;background:var(--cream2);color:var(--sage-deep);font-size:12px;font-weight:700;padding:4px 10px;margin-bottom:10px;letter-spacing:1px;}
.pcard h3{margin:0 0 8px;font-size:18px;color:var(--ink);}
.pcard p{margin:0 0 12px;font-size:14px;color:var(--sage-deep);}
.pcard .specs{display:flex;gap:18px;border-top:1px solid var(--line);padding-top:12px;}
.pcard .specs div{font-size:13px;color:var(--sage-deep);}
.pcard .specs b{display:block;font-size:22px;color:var(--ink);font-weight:800;}

/* ---------- 关于页 ---------- */
.timeline{position:relative;margin:20px 0 0;padding-left:26px;border-left:3px solid var(--sage);}
.timeline li{list-style:none;position:relative;margin-bottom:22px;}
.timeline li::before{content:"";position:absolute;left:-35px;top:4px;width:14px;height:14px;background:var(--sage-deep);border:3px solid var(--cream);}
.timeline h3{margin:0 0 4px;font-size:17px;color:var(--ink);}
.timeline p{margin:0;font-size:14px;color:var(--sage-deep);}
.cert{display:flex;flex-wrap:wrap;gap:14px;}
.cert span{background:var(--cream2);border:1px solid var(--line);padding:10px 18px;font-weight:600;color:var(--sage-deep);font-size:14px;}

/* ---------- 联系页 ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;}
.contact-card{background:var(--cream);border:1px solid var(--line);padding:28px;}
.contact-card h3{margin:0 0 18px;font-size:20px;}
.contact-card p{margin:0 0 14px;color:var(--sage-deep);}
.contact-card .row{display:flex;gap:12px;align-items:center;margin-bottom:12px;font-size:15px;}
.contact-card .row b{color:var(--ink);min-width:64px;}
.form{background:var(--cream);border:1px solid var(--line);padding:28px;}
.form label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--ink);}
.form input,.form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--ink);border-radius:0;margin-bottom:16px;}
.form input:focus,.form textarea:focus{outline:2px solid var(--sage);}
.form textarea{resize:vertical;min-height:120px;}

/* ---------- 响应式 ---------- */
@media(max-width:960px){
  .home-blocks > section{margin-left:auto;margin-right:auto;width:min(94%,980px);}
  .nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--cream);border-bottom:1px solid var(--line);padding:8px 0;}
  .nav.open{display:flex;}
  .nav a{padding:12px 24px;}
  .burger{display:flex;}
  .hero .wrap{grid-template-columns:1fr;}
  .hero .pic img{height:300px;}
  .stats .grid{grid-template-columns:repeat(2,1fr);gap:28px 16px;}
  .cards.c4,.cards.c3,.pgrid{grid-template-columns:repeat(2,1fr);}
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  .steps{grid-template-columns:repeat(2,1fr);}
  .step:nth-child(n){margin-bottom:0;}
  .news-item{grid-template-columns:1fr;}
  .news-item img{width:100%;height:200px;}
  .ftr .grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .title{font-size:24px;}
  .hero h1{font-size:30px;}
  .stats .grid{grid-template-columns:1fr;}
  .cards.c4,.cards.c3,.cards.c2,.pgrid{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .ftr .grid{grid-template-columns:1fr;}
  .stats .num{font-size:38px;}
}

/* ===== 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;}
