/* ==========================================================================
   首页 · 瘦身与特效层（home-lean.css，2026-11-03）
   --------------------------------------------------------------------------
   1. 留白收紧（.sec 88→56 / .sec--tight 64→38），不改其他页面
   2. 大板块紧凑化：Bento 业务卡、深色信任带、案例卡、资讯卡、自查区
   3. FAQ 默认只展开 4 条（其余 DOM 保留，SEO/JSON-LD 不受影响）
   4. 新特效：首屏缓推、卡片扫光、图标微动、标题光带、FAQ 展开淡入
   全部限定 body.lean（仅首页），并遵守 prefers-reduced-motion
   ========================================================================== */

/* ---------------- 1. 留白 ---------------- */
body.lean .sec{padding:46px 0}
body.lean .sec--tight{padding:36px 0}
body.lean .sec-head{margin-bottom:30px}
body.lean .sec-head h2{font-size:32px}
body.lean .sec-head .lead{margin-top:10px;font-size:15.4px;line-height:1.78}
body.lean .pain-foot{margin-top:20px}

/* ---------------- 2. 板块紧凑化 ---------------- */

/* 2.1 按机型 / 四大业务 */
body.lean .bento{gap:14px}
body.lean .bento .bk--lead .bm{min-height:186px}
body.lean .bento .bk .bm{min-height:100px}
body.lean .bento .bk .bd{padding:16px 17px 15px}
body.lean .bento .bk h3{font-size:17.5px}
body.lean .bento .bk--lead h3{font-size:21px}
body.lean .bento .bk p{margin-top:7px;font-size:13.3px;line-height:1.68}
body.lean .bento .bk .ktags{margin-top:9px;gap:6px}
body.lean .bento .bk .ktags span{padding:4px 9px;font-size:11.9px}
body.lean .bento .bk .bk-go{padding-top:11px;font-size:13.4px}
body.lean .bento .bk--lead .bk-stats{margin-top:11px;gap:8px}
body.lean .bento .bk--lead .bk-stats div b{font-size:18px}
body.lean .bento .bk--lead .bk-stats div span{font-size:11.4px;margin-top:2px}
body.lean .kgrid .kcard p{font-size:13.3px;line-height:1.68}
body.lean .kgrid{gap:14px}

/* 2.2 深色信任带（why + cert 合成一屏） */
body.lean .whyband{padding:54px 0 46px}
body.lean .dwhy{gap:12px}
body.lean .dwhy .dw{padding:17px 15px 15px;border-radius:12px}
body.lean .dwhy .dw .no{font-size:21px}
body.lean .dwhy .dw .ic{margin-top:7px;width:33px;height:33px;border-radius:9px}
body.lean .dwhy .dw .ic svg{width:17px;height:17px}
body.lean .dwhy .dw h3{margin-top:8px;font-size:15.2px}
body.lean .dwhy .dw p{margin-top:4px;font-size:12.4px;line-height:1.6}
body.lean .dcert{margin-top:24px;gap:10px}
body.lean .dcert .dc{padding:13px 11px;border-radius:10px}
body.lean .dcert .dc svg{width:21px;height:21px}
body.lean .dcert .dc b{margin-top:7px;font-size:12.8px}
body.lean .dcert .dc span{margin-top:3px;font-size:11px}
body.lean .dtrust-note{margin-top:16px;font-size:11.8px;line-height:1.72}

/* 2.3 案例卡 / 对比滑块 */
body.lean .kcase{min-height:0}
body.lean .kcase .km{min-height:118px}
body.lean .kcase .kb{padding:14px 15px 15px}
body.lean .kcase h3{font-size:16px;line-height:1.45}
body.lean .kcase .kmeta{margin-top:7px;gap:6px}
body.lean .kcase .knum{margin-top:10px;padding-top:9px;gap:10px}
body.lean .kcase .knum b{font-size:17px}
body.lean .kcase .knum span{font-size:11.3px}
body.lean .cba{height:238px;margin-top:16px!important}
body.lean .cba-hint{font-size:11.6px}

/* 2.4 流程（去掉图集后更紧） */
body.lean .flow .step .n{width:46px;height:46px;font-size:15px}
body.lean .flow .step h4{margin-top:10px;font-size:15px}
body.lean .flow .step p{margin-top:4px;font-size:12.4px}
body.lean .flow .step .chip{margin-top:7px;padding:3px 10px;font-size:11.4px}

/* 2.5 资讯卡 */
body.lean .kpost{padding:13px 16px}
body.lean .kpost h3{font-size:15.4px}
body.lean .kpost p{margin-top:4px;font-size:12.6px}

/* 2.6 30 秒自查 */
body.lean .quiz-box{padding:22px 24px 20px}
body.lean .quiz-head h2{font-size:24px}
body.lean .quiz-head .lead{margin-top:6px;font-size:14px}

/* 2.7 中段留资条（与底部表单不重复堆量） */
body.lean .quicklead{padding:22px 26px}
body.lean .quicklead .ql-t b{font-size:19px}
body.lean .quicklead .ql-t span{font-size:13.2px;margin-top:5px}

/* 2.8 底部表单（.cta-in 自带 padding:72px 0，这里收紧） */
body.lean .cta-band{padding:0}
body.lean .cta-in{padding:50px 0;gap:36px}
body.lean .cta-in h2{font-size:30px}
body.lean .cta-in p{margin-top:12px;font-size:15px}
body.lean .cta-list{margin-top:18px;gap:10px}
body.lean .cta-form{padding:20px 22px}
body.lean .cta-form form{margin-top:13px;gap:9px}
body.lean .cta-form h3{font-size:17.5px}

/* 2.9 行业 Tab 面板（min-height 430 → 356） */
body.lean .ind-tabs{margin-top:20px;gap:18px}
body.lean .it-btn{padding:10px 14px}
body.lean .it-btn .ii{width:30px;height:30px;border-radius:8px}
body.lean .it-panel{min-height:0}
body.lean .it-view{min-height:356px}
body.lean .it-bd{padding:22px 26px 20px}
body.lean .it-bd h3{margin-top:10px;font-size:19px}
body.lean .it-bd .it-d{margin-top:8px;font-size:13.6px;line-height:1.72}
body.lean .it-bd .it-pts{margin-top:12px;gap:6px}
body.lean .it-bd .it-foot{padding-top:14px}

/* 2.10 30 秒自查（quiz-box 原有 padding 大） */
body.lean .quiz-box{max-width:920px}
body.lean .quiz-head{padding:24px 36px 4px}
body.lean .quiz-body{padding:16px 36px 28px}

/* ---------------- 3. FAQ 折叠 ---------------- */
body.lean .faqwrap{margin-top:20px}
body.lean .faqwrap details:nth-of-type(n+5){display:none}
body.lean .faqwrap.expanded details:nth-of-type(n+5){display:block}
body.lean .faqwrap summary{font-size:15.4px;padding:13px 18px}
body.lean .faqwrap .fa{padding:0 18px 15px 52px;font-size:14.8px;line-height:1.85}
body.lean .entity-card{margin-bottom:4px}
body.lean .entity-card .ec{padding:13px 15px 12px}
body.lean .entity-card .ec dt{font-size:12px;margin-bottom:5px}
body.lean .entity-card .ec dd{font-size:13.8px}
body.lean .faq-more{margin-top:14px}

.faq-fold{
  display:flex;justify-content:center;margin-top:14px;
}
.faq-fold button{
  font-family:inherit;display:inline-flex;align-items:center;gap:7px;
  font-size:14px;font-weight:600;color:var(--blue-ink);
  background:#fff;border:1px solid var(--blue-b);border-radius:999px;padding:9px 20px;cursor:pointer;
  transition:.2s var(--ease);box-shadow:0 4px 14px rgba(19,108,183,.10)
}
.faq-fold button:hover{background:var(--tint-blue);transform:translateY(-1px);box-shadow:0 8px 20px rgba(19,108,183,.16)}
.faq-fold svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2.4;transition:transform .25s var(--ease)}
.faq-fold button.on svg{transform:rotate(180deg)}

/* ---------------- 4. 新特效 ---------------- */

/* 4.1 首屏背景缓推（Ken Burns，26s 一来回，几乎察觉不到但"活"） */
body.lean .hero-bg .m-art.has-img{animation:heroBreathe 26s ease-in-out infinite alternate}
@keyframes heroBreathe{from{scale:1}to{scale:1.055}}

/* 4.2 卡片扫光：hover 时一道柔光从左上扫到右下（与指针高光叠加，不冲突） */
body.lean .kcard::after,body.lean .bento .bk::after,body.lean .kcase::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;
  background:linear-gradient(112deg,transparent 40%,rgba(255,255,255,.62) 50%,transparent 60%);
  transform:translateX(-130%);opacity:0
}
body.lean .kcard:hover::after,body.lean .bento .bk:hover::after,body.lean .kcase:hover::after{
  animation:cardShine .85s var(--ease) forwards
}
@keyframes cardShine{
  0%{transform:translateX(-130%);opacity:0}
  18%{opacity:1}
  100%{transform:translateX(130%);opacity:0}
}

/* 4.3 卡片图标微动 */
body.lean .kcard .ic,body.lean .pcard .pi,body.lean .bento .bk .bk-top .ic{transition:transform .3s var(--ease)}
body.lean .kcard:hover .ic{transform:rotate(-7deg) scale(1.06)}
body.lean .pcard:hover .pi{transform:translateY(-2px) scale(1.05)}
body.lean .bento .bk:hover .bk-top .ic{transform:rotate(-5deg) scale(1.05)}

/* 4.4 标题前的眉标签：已有短横线从 0 长到定宽（进入视口即定格） */
body.lean .sec-head .eyebrow::before{animation:ebrGrow .7s var(--ease) both}
@keyframes ebrGrow{from{width:0;opacity:0}to{width:20px;opacity:1}}

/* 4.5 统计条：进入视口时底部描边从左展开 */
body.lean .stats .stat{position:relative;overflow:hidden}
body.lean .stats .stat::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--blue-b),var(--green-b));transform-origin:left;
  animation:barGrow 1s var(--ease) both
}
@keyframes barGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* 4.6 FAQ 展开淡入 */
body.lean .faqwrap details[open] .fa{animation:faqIn .26s var(--ease) both}
@keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* 4.7 地图板块与上下文过渡：顶部一条渐隐分隔光带 */
body.lean .coverage-sec{position:relative}
body.lean .coverage-sec::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(19,108,183,.22),transparent)
}

@media(prefers-reduced-motion:reduce){
  body.lean .hero-bg .m-art.has-img,
  body.lean .sec-head .eyebrow::after,
  body.lean .stats .stat::after,
  body.lean .faqwrap details[open] .fa{animation:none!important}
  body.lean .kcard:hover::after,body.lean .bento .bk:hover::after,body.lean .kcase:hover::after{animation:none!important;opacity:0}
  body.lean .kcard:hover .ic,body.lean .pcard:hover .pi,body.lean .bento .bk:hover .bk-top .ic{transform:none}
}

/* ---------------- 5. 第二轮微调（2026-11-03 实测后） ---------------- */
/* 行业列表：隐藏副标题关键词行，左列高度与右面板对齐（板块由左列决定高度） */
body.lean .it-btn small{display:none}
body.lean .it-btn{padding:9px 13px}
body.lean .it-nav{gap:7px}
/* 痛点卡收紧 */
body.lean .pcard{padding:22px 20px 20px}
body.lean .pcard h3{font-size:16.5px}
body.lean .pcard .pq{margin-top:7px;font-size:13.2px;line-height:1.68}
/* 地图略收 */
body.lean .hmap-stage{height:400px}
/* 首屏轻微收紧 */
body.lean .hero-in{padding-top:44px;padding-bottom:52px}
/* FAQ 头部 lead 收紧 */
body.lean .faq-lead{margin-top:8px!important;font-size:14.6px!important}
