.site-main{padding-top:var(--header-h)}
.hero{height:88vh; min-height:640px; position:relative}
.hero-stage{position:relative;height:100%}
.hero-panel{
  position:absolute; top:0; bottom:0; width:52%;
  background-size:cover; background-position:center;
  will-change: transform, clip-path, filter;
}
.hero-left{left:0; clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%)}
.hero-right{right:0; clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%)}

.hero-content{
  position:absolute; left:0; right:0; top:50%;
  transform:translateY(-46%);
  width:min(var(--wrap), calc(100% - 48px));
  margin:0 auto;
  color:#fff;
}
.hero-title{font-size:56px;line-height:1.05;margin:0 0 16px;letter-spacing:2px;white-space:pre-line}
.hero-sub{max-width:560px;opacity:.92;margin:0 0 24px}
.hero-actions{display:flex;gap:12px}

/* dots + progress line */
.hero-dots{margin-top:26px;display:flex;gap:12px;align-items:center}
.hero-dot{
  width:44px;height:10px; position:relative; cursor:pointer;
}
.hero-dot::before{
  content:""; position:absolute; left:0; right:0; top:50%;
  height:2px; background:rgba(255,255,255,.45);
  transform:translateY(-50%);
}
.hero-dot .prog{
  position:absolute; left:0; top:50%; height:2px; width:0;
  background:#fff; transform:translateY(-50%);
}
.hero-dot.active .prog{width:100%}

/* sections */
.sec{padding:84px 0}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:42px;align-items:center}
.sec-kicker{color:var(--brand);letter-spacing:2px;font-size:12px}
.sec-title{margin:10px 0 10px;font-size:38px;font-weight:600}
.sec-sub{color:var(--muted);max-width:520px}
.p{color:#333;line-height:1.9}

/* 3图“前后上下不同速度”视觉（配合 JS 视差） */
.stack-photos{position:relative;height:360px}
.photo{position:absolute;border-radius:6px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.12)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo-1{width:220px;height:160px;left:0;top:30px;z-index:1}
.photo-2{width:340px;height:240px;left:80px;top:90px;z-index:2}
.photo-3{width:260px;height:180px;right:0;top:40px;z-index:0;opacity:.95}

.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.tabs{position:relative;display:flex;gap:18px;align-items:center}
.tab{
  border:0;background:transparent;cursor:pointer;
  padding:10px 2px;font-size:13px;opacity:.75
}
.tab.active{opacity:1;font-weight:600}
.tab-indicator{
  position:absolute; bottom:4px; height:2px; width:20px;
  background:var(--brand);
  transition:transform .25s ease, width .25s ease;
}

/* card grid */
.card-grid{margin-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card-body{padding:14px 6px}
.card-title{margin:0 0 6px;font-size:16px}
.card-date{font-size:12px;color:var(--muted)}
.card-desc{margin:8px 0 0;color:#333;line-height:1.7;font-size:13px}
.all-news{display:inline-block;margin-top:24px;font-size:16px;color:var(--brand)}
