@charset "UTF-8";
/* ==========================================================================
   集速拼官网 · assets/css/styles.css （单文件样式，契约 §5 命名 / §6 令牌）
   契约真源：docs-dev/极速拼官网/00_官网开发契约真源.md
   零依赖、零构建、零外网资源；字体使用系统无衬线栈。
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 设计令牌（契约 §6 逐字）
   -------------------------------------------------------------------------- */
:root{
  --bg-dark:#0B1220;
  --bg-dark-2:#0F1626;
  --text-on-dark:#F8FAFC;
  --muted-on-dark:#94A3B8;
  --bg-light:#F8FAFC;
  --text-on-light:#0F172A;
  --muted-on-light:#64748B;
  --brand-red:#E60023;
  --accent-blue:#5B8DEF;
  --line:rgba(255,255,255,.08);
  --line-light:#E2E8F0;
  --radius:10px;
  --maxw:1200px;
}

/* --------------------------------------------------------------------------
   2. 基础重置与排版
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  /* 抵消固定头部高度，锚点跳转不被遮挡 */
  scroll-padding-top:84px;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  margin:0;
  font-family:-apple-system,"Segoe UI","Microsoft YaHei","Source Han Sans SC",sans-serif;
  font-size:16px;
  line-height:1.8;               /* 正文行高 ≥1.7 */
  color:var(--text-on-light);
  background-color:var(--bg-light);
  overflow-wrap:break-word;
  word-break:normal;
  -webkit-font-smoothing:antialiased;
}
main{display:block;}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;line-height:1.3;font-weight:700;}
p{margin:0 0 1em;}
ul,ol{margin:0 0 1em;padding-inline-start:1.2em;}
img,video{max-width:100%;height:auto;}
svg{max-width:100%;}
button,input,select,textarea{font:inherit;color:inherit;}
button{cursor:pointer;}
a{color:inherit;text-decoration:none;}
a:hover{text-decoration:underline;}
table{max-width:100%;border-collapse:collapse;}

/* 数据位占位（契约 §5，禁止虚构数值） */
.data-slot{
  display:inline-block;
  padding:0 6px;
  border-bottom:1px dashed currentColor;
  font-size:.95em;
  font-weight:500;
  opacity:.85;
}

/* --------------------------------------------------------------------------
   3. 区块容器（.sec 容器 + 深浅交替）
   -------------------------------------------------------------------------- */
.sec{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-block:clamp(48px,6vw,88px);
  padding-inline:20px;
  scroll-margin-top:84px;         /* 契约 §7.2：抵消固定头部 */
}
/* 深浅底色整幅铺满，内容仍保持 --maxw 居中（不产生横向滚动：
   box-shadow 与 clip-path 不参与布局） */
.sec-light{
  background-color:var(--bg-light);
  color:var(--text-on-light);
  box-shadow:0 0 0 100vmax var(--bg-light);
  clip-path:inset(0 -100vmax);
}
.sec-dark{
  background-color:var(--bg-dark);
  color:var(--text-on-dark);
  box-shadow:0 0 0 100vmax var(--bg-dark);
  clip-path:inset(0 -100vmax);
}
.sec-head{max-width:820px;margin:0 0 28px;min-width:0;}
.sec-kicker{
  display:flex;align-items:center;gap:10px;
  margin:0 0 12px;
  font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--accent-blue);
}
.sec-kicker::before{content:"";flex:0 0 auto;width:20px;height:2px;background-color:var(--brand-red);}
.sec-title,.sec h2{font-size:clamp(22px,3.2vw,34px);line-height:1.3;margin:0 0 12px;}
.sec h3{font-size:18px;line-height:1.5;margin:0 0 8px;}
.sec-sub,.sec-head p{margin:0;font-size:15.5px;line-height:1.85;color:var(--muted-on-light);}
.sec-dark .sec-sub,.sec-dark .sec-head p{color:var(--muted-on-dark);}
.sec a{text-decoration:none;}
.link-more,.news-link{color:var(--accent-blue);font-weight:600;white-space:nowrap;}

/* --------------------------------------------------------------------------
   4. 头部与导航
   -------------------------------------------------------------------------- */
.site-header{
  position:fixed;
  inset:0 0 auto 0;
  z-index:100;
  background-color:transparent;
  border-bottom:1px solid transparent;
  transition:background-color .25s ease,border-color .25s ease;
}
.site-header.is-scrolled{
  background-color:rgba(11,18,32,.9);
  border-bottom-color:var(--line);
}
@supports ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .site-header.is-scrolled{
    background-color:rgba(11,18,32,.66);
    -webkit-backdrop-filter:blur(12px) saturate(140%);
    backdrop-filter:blur(12px) saturate(140%);
  }
}
.nav{
  display:flex;align-items:center;gap:16px;
  width:100%;max-width:var(--maxw);
  margin-inline:auto;
  padding:12px 20px;
  min-height:68px;
}
.nav-logo,.nav-brand,.brand,.logo{
  display:inline-flex;align-items:center;gap:8px;
  flex:0 0 auto;
  color:var(--text-on-dark);
  font-size:17px;font-weight:700;letter-spacing:.02em;
  white-space:nowrap;
}
.nav-logo img,.nav-brand img,.brand img{width:auto;height:28px;}
.nav > :first-child{flex:0 0 auto;}
.nav-list{
  display:flex;flex-wrap:nowrap;align-items:center;
  flex:1 1 auto;
  gap:2px;
  min-width:0;
  margin:0;
  padding:0 4px;
  list-style:none;
  /* 窄屏（平板）时导航自身横向滚动，避免撑破页面 */
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior:contain;
  justify-content:flex-start;
  justify-content:safe center;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.nav-list::-webkit-scrollbar{display:none;width:0;height:0;}
.nav-list a{
  display:inline-block;
  padding:8px 10px;
  border-radius:8px;
  color:var(--text-on-dark);
  font-size:14.5px;line-height:1.5;
  white-space:nowrap;
  transition:background-color .2s ease,color .2s ease;
}
.nav-list a:hover,.nav-list a[aria-current="page"]{
  color:#fff;
  background-color:rgba(255,255,255,.08);
  text-decoration:none;
}
.nav-cta{
  display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 auto;
  min-height:42px;
  padding:10px 18px;
  border:1px solid var(--brand-red);
  border-radius:var(--radius);
  background-color:var(--brand-red);
  color:#fff;
  font-size:14.5px;font-weight:600;line-height:1.2;
  white-space:nowrap;
  transition:background-color .2s ease,border-color .2s ease;
}
.nav-cta:hover{background-color:#C9001F;border-color:#C9001F;color:#fff;text-decoration:none;}

/* 汉堡按钮（三横线；同时兼容 3 个 <span> 与空元素写法） */
.nav-toggle{
  display:none;
  position:relative;
  z-index:95;
  flex:0 0 auto;
  width:44px;height:44px;
  padding:0;
  border:1px solid transparent;
  border-radius:8px;
  background-color:transparent;
  color:var(--text-on-dark);
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  width:22px;height:2px;
  margin:0;
  border-radius:2px;
  background-color:currentColor;
  transition:transform .25s ease,opacity .2s ease;
}
.nav-toggle:empty::before{
  content:"";
  display:block;
  width:22px;height:2px;
  margin:0 auto;
  border-radius:2px;
  background-color:currentColor;
  box-shadow:0 -7px 0 currentColor,0 7px 0 currentColor;
}
body.nav-open .nav-toggle span:nth-child(1),
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.nav-open .nav-toggle span:nth-child(2),
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
body.nav-open .nav-toggle span:nth-child(3),
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* --------------------------------------------------------------------------
   5. 按钮（主按钮实心品牌红白字 / 次按钮描边透明底；无渐变、无发光）
   -------------------------------------------------------------------------- */
.btn-primary,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;
  padding:12px 24px;
  border:1px solid transparent;
  border-radius:var(--radius);
  font-size:15.5px;font-weight:600;line-height:1.2;
  text-align:center;text-decoration:none;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.btn-primary{
  background-color:var(--brand-red);
  border-color:var(--brand-red);
  color:#fff;
}
.btn-primary:hover{
  background-color:#C9001F;
  border-color:#C9001F;
  color:#fff;
  text-decoration:none;
  transform:translateY(-1px);
}
.btn-ghost{
  background-color:transparent;
  border-color:var(--line-light);
  color:var(--text-on-light);
}
.btn-ghost:hover{
  background-color:transparent;
  border-color:var(--text-on-light);
  color:var(--text-on-light);
  text-decoration:none;
  transform:translateY(-1px);
}
.sec-dark .btn-ghost,.hero .btn-ghost{
  border-color:rgba(255,255,255,.32);
  color:var(--text-on-dark);
}
.sec-dark .btn-ghost:hover,.hero .btn-ghost:hover{
  border-color:var(--text-on-dark);
  background-color:rgba(255,255,255,.06);
  color:#fff;
}
.btn-primary:disabled,.btn-ghost:disabled{opacity:.6;cursor:not-allowed;transform:none;}

/* --------------------------------------------------------------------------
   6. 首屏 Hero（深色 + 主视觉定位）
   -------------------------------------------------------------------------- */
.hero{
  position:relative;
  isolation:isolate;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  width:100%;max-width:var(--maxw);
  margin-inline:auto;
  min-height:clamp(560px,92vh,860px);
  padding-block:calc(68px + clamp(40px,8vw,84px)) clamp(56px,8vw,96px);
  padding-inline:20px;
  text-align:center;
  background-color:var(--bg-dark);
  color:var(--text-on-dark);
  box-shadow:0 0 0 100vmax var(--bg-dark);
  clip-path:inset(0 -100vmax);
  scroll-margin-top:84px;
}
.hero-visual,.hero-bg,.hero-stars,[data-hero-visual],.hero > svg{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;height:100%;
  pointer-events:none;
  opacity:.9;
}
.hero-visual > svg{width:100%;height:100%;}
.hero-inner,.hero-content{
  position:relative;
  z-index:1;
  width:100%;max-width:820px;
  min-width:0;
}
.hero-title{
  position:relative;z-index:1;
  margin:0 0 16px;
  font-size:clamp(28px,5.2vw,54px);
  line-height:1.22;font-weight:800;letter-spacing:.01em;
  color:var(--text-on-dark);
}
.hero-sub{
  position:relative;z-index:1;
  margin:0 auto 30px;
  max-width:62ch;
  font-size:clamp(15.5px,2.1vw,19px);
  line-height:1.85;
  color:var(--muted-on-dark);
}
.hero-actions,.hero-btns{
  position:relative;z-index:1;
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;
}
.hero .btn-primary,.hero .btn-ghost{margin:6px;}

/* --------------------------------------------------------------------------
   7. 信任背书条
   -------------------------------------------------------------------------- */
.trust-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:8px 26px;
  width:100%;max-width:var(--maxw);
  margin-inline:auto;
  padding:16px 20px;
  border-bottom:1px solid var(--line-light);
  font-size:14px;line-height:1.7;
  color:var(--muted-on-light);
}
.sec-dark .trust-bar,.trust-bar.is-dark{
  color:var(--muted-on-dark);
  border-bottom-color:var(--line);
}
.trust-item{
  display:inline-flex;align-items:center;gap:8px;
  min-width:0;
  white-space:nowrap;
}
.trust-item strong,.trust-item a{color:inherit;font-weight:600;}
.trust-item a{text-decoration:none;}

/* --------------------------------------------------------------------------
   8. 卡片网格（1px 极细描边、--radius、无厚重阴影、hover 轻微上浮）
   -------------------------------------------------------------------------- */
.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:16px;
  margin:26px 0 0;
  padding:0;
  list-style:none;
  min-width:0;
}
.card{
  display:flex;flex-direction:column;
  min-width:0;
  padding:22px 20px;
  border:1px solid var(--line-light);
  border-radius:var(--radius);
  background-color:transparent;
  color:var(--text-on-light);
  transition:transform .25s ease,border-color .25s ease,background-color .25s ease;
}
.card:hover,.card:focus-within{
  transform:translateY(-3px);
  border-color:var(--accent-blue);
  background-color:#FFFFFF;
}
.sec-dark .card{
  background-color:var(--bg-dark-2);
  border-color:var(--line);
  color:var(--text-on-dark);
}
.sec-dark .card:hover,.sec-dark .card:focus-within{
  border-color:rgba(91,141,239,.55);
  background-color:#131B2E;
}
.card-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;
  margin-bottom:14px;
  border:1px solid rgba(230,0,35,.28);
  border-radius:10px;
  background-color:rgba(230,0,35,.06);
  color:var(--brand-red);
  flex:0 0 auto;
}
.card-icon svg{width:22px;height:22px;}
.card-title{margin:0 0 8px;font-size:17px;font-weight:700;line-height:1.45;overflow-wrap:break-word;}
.card-desc{margin:0;font-size:14.5px;line-height:1.8;color:var(--muted-on-light);overflow-wrap:break-word;}
.sec-dark .card-desc{color:var(--muted-on-dark);}

/* --------------------------------------------------------------------------
   9. 七环轮播
   -------------------------------------------------------------------------- */
[data-carousel]{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  min-width:0;
}
.carousel-track{
  display:flex;
  align-items:stretch;
  transition:transform .5s ease;
  will-change:transform;
}
.carousel-slide{
  flex:0 0 100%;
  width:100%;
  min-width:0;
  padding:4px;
}
.carousel-slide > *{height:100%;}
.carousel-prev,.carousel-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:2;
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background-color:var(--bg-dark-2);
  color:var(--text-on-dark);
  font-size:18px;line-height:1;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.carousel-prev{left:10px;}
.carousel-next{right:10px;}
.carousel-prev:hover,.carousel-next:hover{
  background-color:var(--brand-red);
  border-color:var(--brand-red);
  color:#fff;
  transform:translateY(-50%) scale(1.04);
}
.carousel-dots{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:8px;
  margin:16px 0 0;
  padding:0;
  list-style:none;
}
.dot{
  display:inline-block;
  width:9px;height:9px;
  padding:0;
  border:1px solid var(--muted-on-dark);
  border-radius:999px;
  background-color:transparent;
  cursor:pointer;
  transition:width .2s ease,background-color .2s ease,border-color .2s ease;
}
.dot:hover{border-color:var(--text-on-dark);}
.dot.is-active{
  width:24px;
  background-color:var(--brand-red);
  border-color:var(--brand-red);
}

/* --------------------------------------------------------------------------
   10. 生态闭环流程 .flow / 盘活 6 步 .steps
   -------------------------------------------------------------------------- */
.flow{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:10px 8px;
  margin:26px 0 0;
  padding:0;
  list-style:none;
  min-width:0;
}
.flow-node{
  display:inline-flex;align-items:center;gap:8px;
  min-width:0;
  padding:9px 16px;
  border:1px solid var(--line-light);
  border-radius:999px;
  background-color:#fff;
  color:inherit;
  font-size:14.5px;line-height:1.5;
  white-space:nowrap;
  overflow-wrap:break-word;
}
.sec-dark .flow-node{
  background-color:var(--bg-dark-2);
  border-color:var(--line);
  color:var(--text-on-dark);
}
.flow-arrow{
  color:var(--muted-on-light);
  font-size:16px;line-height:1;
  user-select:none;
  flex:0 0 auto;
}
.sec-dark .flow-arrow{color:var(--muted-on-dark);}
.steps{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  margin:26px 0 0;
  padding:0;
  list-style:none;
  min-width:0;
}
.step{
  min-width:0;
  padding:18px 16px;
  border:1px solid var(--line-light);
  border-radius:var(--radius);
  background-color:#fff;
}
.sec-dark .step{
  background-color:var(--bg-dark-2);
  border-color:var(--line);
}
.step-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:28px;height:28px;
  margin-bottom:10px;
  border-radius:50%;
  background-color:var(--brand-red);
  color:#fff;
  font-size:13px;font-weight:700;line-height:1;
}
.step h3{margin:0 0 6px;font-size:15px;line-height:1.45;}
.step p{margin:0;font-size:13.5px;line-height:1.75;color:var(--muted-on-light);}
.sec-dark .step p{color:var(--muted-on-dark);}

/* --------------------------------------------------------------------------
   11. 合作表单
   -------------------------------------------------------------------------- */
.lead-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  max-width:760px;
  margin:24px 0 0;
}
.form-field{
  display:flex;flex-direction:column;gap:6px;
  min-width:0;
}
.form-field label{font-size:14px;font-weight:600;line-height:1.6;}
.form-field input,.form-field select,.form-field textarea{
  width:100%;max-width:100%;min-width:0;
  padding:11px 13px;
  border:1px solid var(--line-light);
  border-radius:var(--radius);
  background-color:#fff;
  color:var(--text-on-light);
  font-family:inherit;font-size:15px;line-height:1.6;
  transition:border-color .2s ease;
}
.form-field textarea{min-height:120px;resize:vertical;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{
  border-color:var(--accent-blue);
}
.form-field-full,.form-field--full,.form-field.full{grid-column:1 / -1;}
.form-error{
  margin:0;
  color:var(--brand-red);
  font-size:13px;line-height:1.6;
  overflow-wrap:break-word;
}
.form-error:empty{display:none;}
.form-status{
  grid-column:1 / -1;
  margin:12px 0 0;
  font-size:14px;line-height:1.7;
  overflow-wrap:break-word;
}
.form-status.is-error,.form-status.error{color:var(--brand-red);}
.form-status.is-ok,.form-status.is-success,.form-status.success{color:#1F7A54;}
.form-actions{
  grid-column:1 / -1;
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;
  min-width:0;
}

/* --------------------------------------------------------------------------
   12. 其它区块辅助（小标题、资讯列表、内联元素）
   -------------------------------------------------------------------------- */
.news-list{
  display:grid;gap:12px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
  min-width:0;
}
.news-item{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  min-width:0;
  padding:16px 18px;
  border:1px solid var(--line-light);
  border-radius:var(--radius);
  background-color:#fff;
}
.sec-dark .news-item{
  background-color:var(--bg-dark-2);
  border-color:var(--line);
}
.news-tag,.tag{
  display:inline-flex;align-items:center;
  padding:3px 10px;
  border:1px solid rgba(91,141,239,.4);
  border-radius:999px;
  color:var(--accent-blue);
  font-size:12.5px;font-weight:600;line-height:1.6;
  white-space:nowrap;
}
.news-title{
  flex:1 1 260px;
  min-width:0;
  margin:0;
  font-size:15.5px;font-weight:600;line-height:1.6;
  overflow-wrap:break-word;
}
.news-meta{color:var(--muted-on-light);font-size:13px;line-height:1.7;}
.sec-dark .news-meta{color:var(--muted-on-dark);}

/* --------------------------------------------------------------------------
   13. 页脚
   -------------------------------------------------------------------------- */
.site-footer{
  background-color:var(--bg-dark);
  color:var(--text-on-dark);
  padding-block:clamp(40px,6vw,64px) 24px;
  padding-inline:20px;
}
.site-footer > *{
  width:100%;max-width:var(--maxw);
  margin-inline:auto;
}
.footer-cols,.footer-grid,.site-footer__cols{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:24px 28px;
  min-width:0;
}
.footer-col{
  min-width:0;
  font-size:14px;line-height:1.9;
  color:var(--muted-on-dark);
  overflow-wrap:break-word;
}
.footer-col h2,.footer-col h3,.footer-col h4{
  margin:0 0 10px;
  color:var(--text-on-dark);
  font-size:15px;line-height:1.5;
}
.footer-col ul{margin:0;padding:0;list-style:none;}
.footer-col a{color:var(--muted-on-dark);text-decoration:none;}
.footer-col a:hover{color:var(--text-on-dark);text-decoration:underline;}
.hotline{
  display:inline-flex;align-items:center;gap:8px;
  font-size:clamp(18px,3vw,24px);
  font-weight:800;letter-spacing:.04em;
  color:var(--text-on-dark);
  white-space:nowrap;
}
.hotline a{color:inherit;text-decoration:none;}
.hotline a:hover{text-decoration:underline;}
.footer-bottom,.site-footer .copyright{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:10px 18px;
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid var(--line);
  color:var(--muted-on-dark);
  font-size:13px;line-height:1.7;
}

/* --------------------------------------------------------------------------
   14. 区块淡入（[data-reveal] → .in-view，≤600ms）
   -------------------------------------------------------------------------- */
[data-reveal]{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .5s ease,transform .5s ease;
}
[data-reveal].in-view{
  opacity:1;
  transform:translateY(0);
}
/* 无 JS 兜底：内容不得因动效而不可见 */
html.no-js [data-reveal],.no-js [data-reveal]{
  opacity:1;
  transform:none;
}

/* --------------------------------------------------------------------------
   15. 键盘可见焦点
   -------------------------------------------------------------------------- */
:focus-visible{
  outline:2px solid var(--accent-blue);
  outline-offset:2px;
}
:focus:not(:focus-visible){outline:none;}

/* --------------------------------------------------------------------------
   16. 响应式 · 平板（768–1199px，两列）
   -------------------------------------------------------------------------- */
@media (min-width:768px) and (max-width:1199px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));}
  .footer-cols,.footer-grid,.site-footer__cols{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* --------------------------------------------------------------------------
   17. 响应式 · 手机（≤767px，单列 + 汉堡菜单）
   -------------------------------------------------------------------------- */
@media (max-width:767px){
  html{scroll-padding-top:68px;}
  .sec{padding-inline:16px;scroll-margin-top:68px;}
  .sec-title,.sec h2{font-size:clamp(21px,6.4vw,28px);}
  .cards{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .lead-form{grid-template-columns:1fr;}
  .footer-cols,.footer-grid,.site-footer__cols{grid-template-columns:1fr;}
  .flow{flex-direction:column;}
  .flow-arrow{transform:rotate(90deg);}
  .flow-node{
    width:100%;max-width:340px;
    justify-content:center;
    text-align:center;
    white-space:normal;
  }
  .hero{padding-block:calc(60px + 40px) 64px;min-height:clamp(520px,88vh,760px);scroll-margin-top:68px;}
  .hero-title{font-size:clamp(26px,7.4vw,36px);}
  .hero-sub{font-size:16px;}
  .hero-actions,.hero-btns{flex-direction:column;align-items:center;width:100%;}
  .hero .btn-primary,.hero .btn-ghost{margin:0;}

  /* 导航：LOGO 左 + 汉堡右，导航列表默认隐藏 */
  .nav{min-height:60px;padding:8px 16px;gap:10px;flex-wrap:nowrap;}
  .nav-list{display:none;}
  .nav-toggle{
    display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
    gap:5px;
  }
  .nav-cta{min-height:40px;padding:9px 14px;font-size:14px;}
  /* 仅菜单展开时锁定背景滚动（状态限定；非以 overflow-x 掩盖横向溢出） */
  body.nav-open{overflow:hidden;}
  body.nav-open .site-header{
    background-color:var(--bg-dark);
    border-bottom-color:transparent;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  body.nav-open .nav-list{
    display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;
    position:fixed;
    inset:0;
    z-index:90;
    gap:0;
    margin:0;
    padding:84px 20px 32px;
    overflow-x:hidden;
    overflow-y:auto;
    justify-content:flex-start;
    background-color:var(--bg-dark);
    border:0;
  }
  body.nav-open .nav-list a{
    display:block;
    width:100%;
    padding:14px 4px;
    border-bottom:1px solid var(--line);
    border-radius:0;
    font-size:17px;
  }
  body.nav-open .nav-list a:hover{background-color:rgba(255,255,255,.06);}

  /* CTA 按钮放大 */
  .btn-primary,.btn-ghost{
    width:100%;max-width:420px;
    min-height:52px;
    padding:14px 24px;
    font-size:16.5px;
  }
  .carousel-prev,.carousel-next{width:36px;height:36px;}
  .hotline{white-space:normal;}
  .trust-bar{gap:8px 18px;padding:14px 16px;}
  .trust-item{white-space:normal;}
}

/* --------------------------------------------------------------------------
   18. 响应式 · 桌面（≥1200px，多列）
   -------------------------------------------------------------------------- */
@media (min-width:1200px){
  .cards{grid-template-columns:repeat(4,minmax(0,1fr));}
  .steps{grid-template-columns:repeat(6,minmax(0,1fr));}
  .footer-cols,.footer-grid,.site-footer__cols{grid-template-columns:repeat(4,minmax(0,1fr));}
  .nav-list{overflow:visible;}
}

/* --------------------------------------------------------------------------
   19. 动效降级（prefers-reduced-motion）
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation:none !important;
    transition:none !important;
  }
  [data-reveal]{opacity:1 !important;transform:none !important;}
  [data-reveal].in-view{opacity:1 !important;transform:none !important;}
  .carousel-track{transition:none !important;}
  .card:hover,.card:focus-within{transform:none;}
  .btn-primary:hover,.btn-ghost:hover{transform:none;}
  .carousel-prev:hover,.carousel-next:hover{transform:translateY(-50%);}
  .flow-arrow{transform:none;}
}


/* ==========================================================================
   20. 类覆盖补齐（W-02b；契约 §5 v1.4 钉死类）
   仅追加：不改动上方任何既有规则；不重命名/删除既有选择器。
   ========================================================================== */

/* --- 20.1 区块内容容器（契约 §5 / 硬性口径②：max-width + 居中 + 24px 内边距） --- */
.sec-inner{
  width:100%;
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 24px;
  min-width:0;
}

/* --- 20.2 导航项与链接、汉堡横线（契约 §5 v1.4） --- */
.nav-item{
  display:block;
  min-width:0;
  margin:0;
  padding:0;
  list-style:none;
}
.nav-link{
  display:inline-block;
  padding:8px 10px;
  border-radius:8px;
  color:var(--text-on-dark);
  font-size:14.5px;line-height:1.5;
  white-space:nowrap;
  text-decoration:none;
  transition:background-color .2s ease,color .2s ease;
}
.nav-link:hover,.nav-link[aria-current="page"]{
  color:#fff;
  background-color:rgba(255,255,255,.08);
  text-decoration:none;
}
.nav-toggle-bar{
  display:block;
  width:22px;height:2px;
  margin:0;
  border-radius:2px;
  background-color:currentColor;
  transition:transform .25s ease,opacity .2s ease;
}

/* --- 20.3 首屏文案与内联 SVG（契约 §5 v1.4） --- */
.hero-copy{
  position:relative;
  z-index:1;
  width:100%;
  max-width:820px;
  min-width:0;
}
.hero-desc{
  position:relative;
  z-index:1;
  margin:0 auto 26px;
  max-width:62ch;
  font-size:clamp(14px,1.8vw,16px);
  line-height:1.85;
  letter-spacing:.02em;
  color:var(--muted-on-dark);
}
.hero-svg{
  display:block;
  width:100%;
  height:100%;
}
.hero-svg-lines,.hero-svg-stars{
  pointer-events:none;
}
.hero-svg-stars{opacity:.95;}

/* --- 20.4 正文与辅助排版（契约 §5 v1.4） --- */
.about-body{
  max-width:820px;
  min-width:0;
}
.about-p{
  margin:0 0 1em;
  font-size:15.5px;
  line-height:1.85;
  color:var(--muted-on-light);
  overflow-wrap:break-word;
}
.sec-dark .about-p{color:var(--muted-on-dark);}
.sec-lead{
  max-width:820px;
  margin:0 0 24px;
  font-size:15.5px;
  line-height:1.85;
  color:var(--muted-on-light);
}
.sec-dark .sec-lead{color:var(--muted-on-dark);}
.sec-subtitle{
  margin:32px 0 12px;
  font-size:18px;
  font-weight:700;
  line-height:1.5;
  color:var(--text-on-light);
}
.sec-dark .sec-subtitle{color:var(--text-on-dark);}
.step-title{
  display:block;
  margin:0;
  font-size:15px;
  font-weight:700;
  line-height:1.45;
}
.flow-index{
  display:inline-flex;
  align-items:center;justify-content:center;
  margin-right:2px;
  font-size:12.5px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  letter-spacing:.06em;
  color:var(--accent-blue);
}

/* --- 20.5 数据位行（仅 .data-slot 占位，禁统计数字） --- */
.stat-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:16px;
  margin:28px 0 0;
  min-width:0;
}
.stat-item{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  padding:18px;
  border:1px solid var(--line-light);
  border-radius:var(--radius);
  background-color:transparent;
}
.sec-dark .stat-item{
  border-color:var(--line);
  background-color:var(--bg-dark-2);
}
.stat-label{
  font-size:13.5px;
  font-weight:600;
  line-height:1.6;
  color:var(--muted-on-light);
}
.sec-dark .stat-label{color:var(--muted-on-dark);}

/* --- 20.6 标签组与资讯标签行（契约 §5 v1.4） --- */
.chips{
  display:flex;flex-wrap:wrap;gap:10px;
  margin:16px 0 0;
  padding:0;
  list-style:none;
  min-width:0;
}
.chip{
  display:inline-flex;align-items:center;
  padding:6px 14px;
  border:1px solid var(--line-light);
  border-radius:999px;
  background-color:#fff;
  color:var(--text-on-light);
  font-size:13.5px;font-weight:600;line-height:1.6;
  white-space:nowrap;
}
.sec-dark .chip{
  border-color:var(--line);
  background-color:var(--bg-dark-2);
  color:var(--text-on-dark);
}
.news-tags{
  display:flex;flex-wrap:wrap;gap:10px;
  margin:24px 0 0;
  min-width:0;
}

/* --- 20.7 合作 CTA 区（契约 §5 v1.4） --- */
.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:28px;
  align-items:start;
  margin:26px 0 0;
  min-width:0;
}
.contact-info{
  display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  min-width:0;
}
.contact-label{
  margin:0;
  font-size:12.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-blue);
}
.contact-text{
  margin:0;
  font-size:14.5px;line-height:1.8;
  color:var(--muted-on-light);
  overflow-wrap:break-word;
}
.sec-dark .contact-text{color:var(--muted-on-dark);}

/* --- 20.8 表单控件（契约 §5 v1.4；令牌配色 + 可见焦点） --- */
.form-label{
  display:block;
  font-size:14px;font-weight:600;line-height:1.6;
}
.form-input,.form-select,.form-textarea{
  display:block;
  width:100%;max-width:100%;min-width:0;
  padding:11px 13px;
  border:1px solid var(--line-light);
  border-radius:var(--radius);
  background-color:#fff;
  color:var(--text-on-light);
  font:inherit;
  font-size:15px;line-height:1.6;
  transition:border-color .2s ease;
}
.form-input::placeholder,.form-textarea::placeholder{color:var(--muted-on-light);opacity:1;}
.form-select{cursor:pointer;}
.form-textarea{min-height:120px;resize:vertical;}
.form-input:focus-visible,.form-select:focus-visible,.form-textarea:focus-visible{
  outline:2px solid var(--accent-blue);
  outline-offset:2px;
  border-color:var(--accent-blue);
}
.form-submit{
  grid-column:1 / -1;
  justify-self:start;
  margin-top:4px;
}

/* --- 20.9 页脚内部元素（仅补未定义者，与既有 .site-footer/.footer-col/.hotline 不冲突） --- */
.footer-inner{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:24px 28px;
  min-width:0;
}
.footer-logo{
  display:block;
  width:32px;height:32px;
  margin:0 0 8px;
  border-radius:6px;
}
.footer-brand-name{
  margin:0 0 6px;
  color:var(--text-on-dark);
  font-size:16px;font-weight:700;line-height:1.5;
}
.footer-title{
  margin:0 0 10px;
  color:var(--text-on-dark);
  font-size:15px;font-weight:600;line-height:1.5;
}
.footer-text{
  margin:0 0 6px;
  font-size:14px;line-height:1.9;
  color:var(--muted-on-dark);
}
.footer-domain{
  margin:10px 0 0;
  font-size:14px;font-weight:600;line-height:1.6;
  color:var(--accent-blue);
  overflow-wrap:break-word;
}
.footer-link{
  display:inline-block;
  margin:0 14px 6px 0;
  color:var(--muted-on-dark);
  font-size:14px;line-height:1.9;
  text-decoration:none;
}
.footer-link:hover{color:var(--text-on-dark);text-decoration:underline;}
.footer-copy{
  margin:0;
  font-size:13px;line-height:1.7;
  color:var(--muted-on-dark);
}
.footer-legal{
  margin:0;
  font-size:13px;line-height:1.7;
  color:var(--muted-on-dark);
}
/* 保护既有 .footer-bottom 的上下间距：.sec-inner 的 margin/padding 简写不覆盖它 */
.site-footer .footer-bottom{
  margin-top:28px;
  padding-top:18px;
}

/* --- 20.10 轮播：视口 + 轨道位移 + 指示点（契约 §7 v1.2 位移机制） --- */
.carousel{
  position:relative;
  min-width:0;
}
.carousel-viewport{
  overflow:hidden;              /* 契约 §7：与 .carousel-track 的 transform 位移配套 */
  width:100%;
  min-width:0;
  border-radius:var(--radius);
}
.carousel-ring{
  margin:0 0 6px;
  font-size:12.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-blue);
}
/* 环卡外观（契约 §6：1px 描边 + --radius，无厚重阴影）；不改 .carousel-slide 既有声明 */
.carousel-viewport .carousel-slide{
  padding:26px 24px;
  border:1px solid var(--line-light);
  border-radius:var(--radius);
  background-color:#fff;
}
.carousel-dot{
  display:inline-block;
  width:9px;height:9px;
  padding:0;
  border:1px solid var(--muted-on-dark);
  border-radius:999px;
  background-color:transparent;
  cursor:pointer;
  transition:width .2s ease,background-color .2s ease,border-color .2s ease;
}
.carousel-dot:hover{border-color:var(--text-on-dark);}
.carousel-dot.is-active,.carousel-dot[aria-current="true"]{
  width:24px;
  background-color:var(--brand-red);
  border-color:var(--brand-red);
}

/* ==========================================================================
   21. 新增类的响应式（三档：≥1200 / 768–1199 / ≤767）
   ========================================================================== */
@media (min-width:768px) and (max-width:1199px){
  .contact-grid{grid-template-columns:minmax(0,1fr);}
  .stat-row{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:767px){
  /* .sec 已有 16px 内边距，容器不再叠加水平内边距 */
  .sec-inner{padding-inline:0;}
  .sec-inner.footer-inner,.site-footer .sec-inner{padding-inline:0;}
  .contact-grid{grid-template-columns:minmax(0,1fr);gap:20px;}
  .stat-row{grid-template-columns:minmax(0,1fr);}
  .footer-inner{grid-template-columns:minmax(0,1fr);}
  .footer-link{margin-right:16px;}
  .form-submit{justify-self:stretch;}
  .hero-desc{font-size:15px;}
  .carousel-viewport .carousel-slide{padding:20px 16px;}
}

@media (min-width:1200px){
  .contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);}
  .stat-row{grid-template-columns:repeat(3,minmax(0,1fr));}
  .footer-inner{grid-template-columns:repeat(4,minmax(0,1fr));}
}
/* ==========================================================================
   W-07 热修（主智能体，2026-10-16）：七环轮播「显示不完整」
   根因：W-02 的 `.carousel-slide > *{height:100%}` 命中了滑块的三个**文本**
   直接子元素（.carousel-ring / .card-title / .card-desc），把「第 N 环」撑满
   整张卡 → 卡片中部大片空白 → 品牌名与说明被挤出卡片下边缘裁掉。
   修法：以更高特异性（.carousel-viewport 前缀）把子元素恢复为按内容自然堆叠，
   并让滑块成为纵向 flex 容器；不改动 W-02 既有任何一行。
   ========================================================================== */
.carousel-viewport .carousel-slide{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  /* 让出左右箭头安全区（42px 圆钮 + 10px 偏移），否则箭头压住品牌名 */
  padding:26px 76px;
}
.carousel-viewport .carousel-slide > *{
  height:auto;
}
.carousel-viewport .carousel-slide .carousel-ring{
  margin:0 0 6px;
}
.carousel-viewport .carousel-slide .card-title{
  margin:0 0 8px;
}
.carousel-viewport .carousel-slide .card-desc{
  margin:0;
}
@media (max-width:767px){
  /* 手机档箭头为 36px（见 §9 响应式），安全区相应收窄 */
  .carousel-viewport .carousel-slide{padding:20px 52px;}
}

/* ==========================================================================
   W-08（2026-10-16）：系统资讯真实化（契约 §8.2 v1.5）新增类
   仅追加；沿用既有 13 令牌与 --brand-red 点缀口径；无粉色/外链。
   ========================================================================== */
.news-list .news-item{
  align-items:flex-start;
  gap:6px 14px;
  padding:18px 20px;
}
.news-item-title{
  flex:1 1 100%;
  min-width:0;
  margin:0;
  font-size:16px;font-weight:700;line-height:1.6;
  overflow-wrap:break-word;
}
.news-item-meta{
  flex:1 1 100%;
  min-width:0;
  margin:0;
  color:var(--muted-on-light);
  font-size:13px;line-height:1.7;
  overflow-wrap:break-word;
}
.sec-dark .news-item-meta{color:var(--muted-on-dark);}
.news-item-summary{
  flex:1 1 100%;
  min-width:0;
  margin:0;
  color:var(--text-on-light);
  font-size:14px;line-height:1.75;
  overflow-wrap:break-word;
}
.sec-dark .news-item-summary{color:var(--text-on-dark);}
.news-item-link{
  flex:0 0 auto;
  margin-top:4px;
  color:var(--brand-red);
  font-size:13.5px;font-weight:600;line-height:1.7;
  text-decoration:none;
  border-bottom:1px solid var(--brand-red);
  white-space:nowrap;
}
.news-item-link:hover,
.news-item-link:focus-visible{
  color:var(--text-on-light);
  border-bottom-color:var(--text-on-light);
}
.news-tag-pending{
  border-color:var(--line-light);
  color:var(--muted-on-light);
  background-color:var(--bg-light);
}
.sec-dark .news-tag-pending{
  border-color:var(--line);
  color:var(--muted-on-dark);
  background-color:var(--bg-dark-2);
}
@media (max-width:767px){
  .news-list .news-item{padding:16px;}
  .news-item-title{font-size:15px;}
  .news-item-link{white-space:normal;}
}

/* --------------------------------------------------------------------------
   21. 区块配图（v1.6：本地 WebP 位图，零外链）
   口径：契约 §10 —— 本地文件、单张 ≤200KB、<img> 带中文 alt、
   首屏 preload（index.html head）/ 其余 loading="lazy"。
   -------------------------------------------------------------------------- */
.sec-media{
  margin:0 auto 28px;
  max-width:880px;
}
/* 超宽全景 / 横向长条图：占满内容列宽（避免被压得太小） */
.sec-media--wide{
  max-width:none;
}
.sec-media img{
  display:block;
  width:100%;
  height:auto;
  border-radius:var(--radius);
  border:1px solid var(--line-light);
  background-color:#fff;
}
.sec-dark .sec-media img{
  border-color:var(--line);
  background-color:transparent;
}

/* 满屏区块（合作 CTA）：.sec 默认被 max-width:var(--maxw) 收在 1200px 内容列里，
   所以背景图只铺在内容列上、两侧露出底色 —— 该区块放开宽度上限，让图铺满整幅；
   内容仍由 .sec-inner（max-width:var(--maxw) 居中）约束。
   用 width:100%（继承 .sec）而不是 100vw：不引入横向溢出。
   首屏（#home）**不配图**：按用户 2026-10-16 裁定回到内联 SVG 主视觉，
   原 .hero 的深底与 100vmax 外扩阴影原样保留。 */
.sec-banner{
  max-width:none;
}

/* 五大帮扶卡片图标（本地 WebP，已裁留白，非正方形故 contain 不变形） */
.card-media{
  display:block;
  width:88px;
  height:88px;
  margin:0 0 12px;
  border-radius:12px;
  background-color:rgba(91,141,239,.08);
  object-fit:contain;
}

/* 合作 CTA 深色横幅背景（本地 WebP，无外链；素材本身为深底，不再叠加 CSS 图层） */
.sec-banner{
  background-image:url("../img/cta-banner.webp");
  background-size:cover;
  background-position:center;
  background-color:var(--bg-dark);
}

