/* ============================================================
 * 落地页 · Material Design 3
 * - 全部复用 theme.css 设计令牌（--primary、--surface 系列、--elev 系列、--r 系列、--ease 系列），
 *   六套主题 × 明暗模式自动跟随，不引入新配色体系
 * - 头部导航与看板/数据库/计算器页面同款（直接继承 base.html）
 * - 动效：入场 reveal（IntersectionObserver 阶梯延迟）/ 数字滚动 / 看板娘漂浮
 *   + 指针视差 / 难度芯片漂浮 / 光斑漂移 / MD 水波纹，全部尊重
 *   prefers-reduced-motion（theme.css 已有全局降级，此处补 JS 侧判定）
 * - 难度芯片颜色与 common.js 五档口径一致（极易绿→极难红）
 * ============================================================ */

/* ---------- Hero ---------- */
.lp-hero{
  position:relative;overflow:hidden;
  min-height:calc(100vh - 76px);min-height:calc(100svh - 76px);   /* JS 按真实头部高度精确修正 */
  display:flex;align-items:center;
  padding:40px 24px 88px;
}
.lp-hero-bg{position:absolute;inset:0;pointer-events:none}
.lp-grid{position:absolute;inset:0;
  background-image:linear-gradient(var(--outline-variant) 1px,transparent 1px),
                   linear-gradient(90deg,var(--outline-variant) 1px,transparent 1px);
  background-size:56px 56px;opacity:.22;
  -webkit-mask-image:radial-gradient(ellipse 72% 62% at 50% 16%,#000 26%,transparent 72%);
          mask-image:radial-gradient(ellipse 72% 62% at 50% 16%,#000 26%,transparent 72%);
}
@keyframes lpDrift2{from{transform:translate(0,0) scale(1.05)}to{transform:translate(-70px,80px) scale(.94)}}
@keyframes lpDrift3{from{transform:translate(0,0) scale(.96)}to{transform:translate(60px,-70px) scale(1.1)}}

.lp-hero-in{
  position:relative;z-index:1;width:100%;max-width:1200px;margin-inline:auto;
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:36px;align-items:center;
}
.lp-chip{
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 20px;border-radius:var(--r-pill);
  background:var(--primary-container);color:var(--on-primary-container);
  border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);
  font-size:var(--fs-sm);font-weight:700;letter-spacing:1px;
}
.lp-chip .mi{font-size:18px}
.lp-title{
  margin:20px 0 18px;font-size:clamp(2.5rem,5.4vw,3.7rem);line-height:1.18;
  font-weight:800;letter-spacing:1px;
}
.lp-grad{
  background:linear-gradient(115deg,var(--primary),var(--secondary) 55%,var(--primary) 110%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:lpGradShift 7s ease-in-out infinite alternate;
}
@keyframes lpGradShift{from{background-position:0% 50%}to{background-position:100% 50%}}
.lp-sub{font-size:var(--fs-lg);color:var(--on-surface-variant);line-height:1.9;margin-bottom:30px}
.lp-cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.lp-cta-btn{height:var(--ctl-lg);padding:0 26px;font-size:var(--fs-md);text-decoration:none;
  display:inline-flex;align-items:center;gap:9px;border-radius:var(--r-pill);
  transition:transform var(--dur-1) var(--ease-standard),box-shadow var(--dur-1) var(--ease-standard)}
.lp-cta-btn:hover{transform:translateY(-2px)}
.lp-cta-btn .mi{font-size:20px}

/* 统计数字 */
.lp-stats{
  margin-top:44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--outline-variant);border-radius:var(--r-lg);
  background:color-mix(in srgb,var(--surface-container-low) 72%,transparent);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  box-shadow:var(--elev-1);padding:20px 4px;max-width:680px;width:100%;
}
.lp-stat{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px;padding:0 12px;position:relative}
.lp-stat+.lp-stat::before{content:"";position:absolute;left:0;top:14%;height:72%;width:1px;background:var(--outline-variant)}
.lp-num{font-size:var(--fs-3xl);font-weight:800;color:var(--primary);letter-spacing:.5px;font-variant-numeric:tabular-nums;line-height:1.25}
.lp-unit{font-size:var(--fs-sm);font-weight:600;color:var(--primary)}
.lp-stat .lp-label{display:block;width:100%;flex-basis:100%;font-size:var(--fs-2xs);color:var(--on-surface-variant);margin-top:3px;white-space:normal;line-height:1.55}

/* ---------- Hero 右侧：看板娘 ---------- */
.lp-hero-art{position:relative;justify-self:center;width:min(430px,100%);will-change:transform}
/* 看板娘脉冲波纹背景：同心圆波纹从看板娘身后向四周大幅扩散渐隐 */
.lp-radar{position:absolute;inset:0;pointer-events:none;z-index:0}
.lp-pulse{
  position:absolute;left:50%;top:45%;width:300px;height:300px;border-radius:50%;
  border:1.5px solid color-mix(in srgb,var(--primary) 52%,transparent);
  transform:translate(-50%,-50%) scale(.4);opacity:0;
  animation:lpPulse 5.6s var(--ease-standard) infinite;
}
.lp-pulse.p2{animation-delay:1.87s}
.lp-pulse.p3{animation-delay:3.73s}
@keyframes lpPulse{
  0%{transform:translate(-50%,-50%) scale(.4);opacity:0}
  14%{opacity:.8}
  100%{transform:translate(-50%,-50%) scale(2.6);opacity:0}
}
.lp-mascot{
  position:relative;z-index:1;display:block;width:100%;height:auto;
  filter:drop-shadow(0 24px 32px color-mix(in srgb,var(--primary) 24%,transparent));
  animation:lpFloat 5.6s ease-in-out infinite;
}
@keyframes lpFloat{
  0%,100%{transform:translateY(0) rotate(0deg)}
  50%{transform:translateY(-14px) rotate(.8deg)}
}
/* 看板娘气泡 */
/* 投影用 drop-shadow 作用于「气泡+小三角」合成轮廓，尾巴与气泡投影连成一体；
   --elev-2 是逗号列表无法直接用于 drop-shadow，按 theme.css 明暗两套值镜像 */
:root{--lp-speech-shadow:drop-shadow(0 3px 6px rgba(0,0,0,.16)) drop-shadow(0 3px 6px rgba(0,0,0,.23))}
.lp-speech{
  position:absolute;top:3%;left:-4%;z-index:2;max-width:270px;
  background:var(--surface-container-high);border:1px solid var(--outline-variant);
  border-radius:var(--r-lg);padding:11px 16px;
  font-size:var(--fs-sm);line-height:1.65;color:var(--on-surface);
  filter:var(--lp-speech-shadow);
  transform-origin:bottom left;
  animation:lpPop var(--dur-3) var(--ease-emphasized) .7s backwards;
}
.lp-speech::after{content:"";position:absolute;bottom:-7px;left:34px;width:13px;height:13px;
  background:var(--surface-container-high);
  border-right:1px solid var(--outline-variant);border-bottom:1px solid var(--outline-variant);
  transform:rotate(45deg);border-radius:2px}
.lp-speech.swap span{display:inline-block;animation:lpPop var(--dur-2) var(--ease-emphasized)}
@keyframes lpPop{from{opacity:0;transform:translateY(10px) scale(.92)}to{opacity:1;transform:none}}
/* 漂浮难度芯片（五档语义色，与看板图例同口径） */
.lp-float-chip{
  position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px;border-radius:var(--r-pill);
  background:var(--surface-container-high);border:1px solid var(--outline-variant);
  box-shadow:var(--elev-2);font-size:var(--fs-xs);font-weight:600;color:var(--on-surface);
  white-space:nowrap;animation:lpFloatChip 6s ease-in-out infinite;
}
.lp-float-chip .fc-dot{width:10px;height:10px;border-radius:50%;flex:none}
.lp-float-chip.fc-easy{left:-6%;top:24%}.lp-float-chip.fc-easy .fc-dot{background:#3f9d6e}
.lp-float-chip.fc-mid{right:-5%;top:44%;animation-delay:-2.2s}.lp-float-chip.fc-mid .fc-dot{background:#e8c36a}
.lp-float-chip.fc-hard{left:2%;bottom:15%;animation-delay:-4s}.lp-float-chip.fc-hard .fc-dot{background:#ef8f9a}
@keyframes lpFloatChip{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}
/* 下滑提示 */
.lp-scroll-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);
  color:var(--on-surface-variant);animation:lpHint 2s var(--ease-standard) infinite;z-index:1}
.lp-scroll-hint .mi{font-size:30px}
@keyframes lpHint{0%,100%{transform:translate(-50%,0);opacity:.55}50%{transform:translate(-50%,9px);opacity:1}}

/* ---------- 通用 section ---------- */
.lp-sec{max-width:1200px;margin-inline:auto;padding:104px 24px}
.lp-sec-head{text-align:center;max-width:720px;margin:0 auto 60px}
.lp-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  padding:9px 22px;border-radius:var(--r-pill);
  background:var(--secondary-container);color:var(--on-secondary-container);
  font-size:var(--fs-sm);font-weight:700;letter-spacing:1.5px;margin-bottom:22px;
}
.lp-eyebrow .mi{font-size:20px}
.lp-sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;letter-spacing:.5px;margin-bottom:14px}
.lp-sec-head p{color:var(--on-surface-variant);font-size:var(--fs-lg);max-width:600px;margin-inline:auto;line-height:1.9}

/* ---------- 功能卡片 ---------- */
.lp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.lp-card{
  position:relative;display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:var(--surface-container-low);border:1px solid var(--outline-variant);
  border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--elev-1);
  transition:transform var(--dur-2) var(--ease-standard),box-shadow var(--dur-2) var(--ease-standard);
}
.lp-card:hover{transform:translateY(-8px);box-shadow:var(--elev-4)}
.lp-card-media{position:relative;aspect-ratio:16/10;overflow:hidden}
.lp-card-media img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .7s var(--ease-emphasized)}
.lp-card:hover .lp-card-media img{transform:scale(1.07)}
.lp-card-tag{
  position:absolute;top:14px;left:14px;padding:5px 13px;border-radius:var(--r-pill);
  background:color-mix(in srgb,var(--surface) 78%,transparent);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid var(--outline-variant);
  font-size:var(--fs-2xs);font-weight:600;color:var(--on-surface);letter-spacing:.5px;
}
.lp-card-fab{
  position:relative;z-index:1;width:58px;height:58px;margin:-29px 0 0 22px;
  border-radius:50%;display:grid;place-items:center;
  background:var(--primary-container);color:var(--on-primary-container);
  font-size:26px;box-shadow:var(--elev-2);
  transition:transform var(--dur-2) var(--ease-emphasized);
}
.lp-card:hover .lp-card-fab{transform:translateY(-4px) rotate(-6deg)}
.lp-card-body{padding:14px 24px 28px;display:flex;flex-direction:column;flex:1}
.lp-card-body h3{font-size:var(--fs-xl);font-weight:700;margin-bottom:10px}
.lp-card-body>p{color:var(--on-surface-variant);font-size:var(--fs-sm);line-height:1.8;margin-bottom:16px}
.lp-card-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.lp-card-chips li{
  padding:5px 13px;border-radius:var(--r-pill);
  background:var(--secondary-container);color:var(--on-secondary-container);
  font-size:var(--fs-xs);font-weight:600;
}
.lp-card-link{margin-top:auto;display:inline-flex;align-items:center;gap:6px;
  color:var(--primary);font-weight:700;font-size:var(--fs-sm)}
.lp-card-link .mi{font-size:18px;transition:transform var(--dur-1) var(--ease-standard)}
.lp-card:hover .lp-card-link .mi{transform:translateX(5px)}

/* ---------- 数据能力横条 ---------- */
.lp-band{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.lp-band-media{position:relative}
.lp-band-media img{width:100%;border-radius:var(--r-xl);display:block;box-shadow:var(--elev-2)}
.lp-band-badge{
  position:absolute;left:18px;bottom:18px;display:flex;align-items:baseline;gap:8px;
  background:var(--surface-container-high);border:1px solid var(--outline-variant);
  border-radius:var(--r-lg);padding:12px 20px;box-shadow:var(--elev-3);
  animation:lpPop var(--dur-3) var(--ease-emphasized) .5s backwards;
}
.lp-band-badge-num{font-size:var(--fs-3xl);font-weight:800;color:var(--primary);font-variant-numeric:tabular-nums}
.lp-band-badge-label{font-size:var(--fs-xs);color:var(--on-surface-variant)}
.lp-band-copy h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;margin-bottom:28px}
.lp-band-list{list-style:none}
.lp-band-list li{display:flex;gap:18px;padding:18px 0;align-items:flex-start}
.lp-band-list li+li{border-top:1px dashed var(--outline-variant)}
.lp-li-ic{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;line-height:0;
  background:var(--secondary-container);color:var(--on-secondary-container);font-size:26px}
.lp-band-list b{font-size:var(--fs-lg)}
.lp-band-list p{color:var(--on-surface-variant);font-size:var(--fs-sm);line-height:1.75;margin-top:3px}

/* ---------- 使用流程 ---------- */
.lp-steps-row{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.lp-steps-row li{position:relative}
.lp-step{
  position:relative;display:block;height:100%;text-decoration:none;color:inherit;
  background:var(--surface-container-low);border:1px solid var(--outline-variant);
  border-radius:var(--r-xl);padding:30px 26px 26px;overflow:hidden;box-shadow:var(--elev-1);
  transition:transform var(--dur-2) var(--ease-standard),box-shadow var(--dur-2) var(--ease-standard);
}
.lp-step:hover{transform:translateY(-6px);box-shadow:var(--elev-3)}
.lp-step-n{
  position:absolute;top:14px;right:20px;font-size:2.4rem;font-weight:800;line-height:1;
  color:var(--primary);opacity:.16;font-variant-numeric:tabular-nums;
}
.lp-step-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--r-md);
  background:var(--primary-container);color:var(--on-primary-container);font-size:26px;margin-bottom:18px;
  transition:transform var(--dur-2) var(--ease-emphasized)}
.lp-step:hover .lp-step-ic{transform:scale(1.08) rotate(-5deg)}
.lp-step h3{font-size:var(--fs-xl);font-weight:700;margin-bottom:8px}
.lp-step p{color:var(--on-surface-variant);font-size:var(--fs-sm);line-height:1.8}
/* 步骤间箭头（宽屏） */
@media (min-width:1000px){
  .lp-steps-row li+li::before{
    content:"arrow_forward";font-family:'Material Icons';color:var(--outline);
    position:absolute;left:-24px;top:50%;transform:translateY(-50%);font-size:20px;
  }
}

/* ---------- 使用教程：三步步骤卡片（箭头串联） ---------- */
.lp-tutorial-row{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px}
.lp-tutorial-row li{position:relative}
.lp-tut-card{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;height:100%;
  background:var(--surface-container-low);border:1px solid var(--outline-variant);
  border-radius:var(--r-xl);padding:30px 26px 26px;overflow:hidden;box-shadow:var(--elev-1);
  text-decoration:none;color:inherit;
  transition:transform var(--dur-2) var(--ease-standard),box-shadow var(--dur-2) var(--ease-standard);
}
.lp-tut-card:hover{transform:translateY(-6px);box-shadow:var(--elev-3)}
.lp-tut-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:var(--r-md);
  background:var(--primary-container);color:var(--on-primary-container);font-size:26px;margin-bottom:18px;
  transition:transform var(--dur-2) var(--ease-emphasized)}
.lp-tut-card:hover .lp-tut-ic{transform:scale(1.08) rotate(-5deg)}
.lp-tut-n{position:absolute;top:14px;right:20px;font-size:2.4rem;font-weight:800;line-height:1;
  color:var(--primary);opacity:.16;font-variant-numeric:tabular-nums}
.lp-tut-card h3{font-size:var(--fs-xl);font-weight:700;margin-bottom:10px}
.lp-tut-card p{color:var(--on-surface-variant);font-size:var(--fs-sm);line-height:1.8;margin-bottom:18px}
.lp-tut-link{
  margin-top:auto;display:inline-flex;align-items:center;gap:6px;
  font-size:var(--fs-sm);font-weight:600;color:var(--primary);
}
.lp-tut-link .mi{font-size:18px;transition:transform var(--dur-1) var(--ease-standard)}
.lp-tut-card:hover .lp-tut-link .mi{transform:translateX(5px)}
/* 步骤间箭头（宽屏） */
@media (min-width:1000px){
  .lp-tutorial-row li+li::before{
    content:"arrow_forward";font-family:'Material Icons';color:var(--outline);
    position:absolute;left:-39px;top:50%;transform:translateY(-50%);font-size:22px;z-index:2;
  }
}

/* ---------- 固定网页背景：三张底图轮播（滚动不受影响；深色模式压暗） ---------- */
.lp-fixed-bg{position:fixed;inset:0;z-index:-1;overflow:hidden}
.lp-fbg-slide{position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.4s var(--ease-standard);will-change:opacity}
.lp-fbg-slide.s0{background-image:url('/static/img/landing/bg0.jpg')}
.lp-fbg-slide.s1{background-image:url('/static/img/landing/bg1.jpg')}
.lp-fbg-slide.s2{background-image:url('/static/img/landing/bg2.jpg')}
.lp-fbg-slide.active{opacity:1}
html[data-dark="1"] .lp-fbg-slide{filter:brightness(.32) saturate(.85)}

/* ---------- 底部行动区 ---------- */
.lp-cta{padding-bottom:110px}
.lp-cta-in{
  position:relative;overflow:hidden;text-align:center;padding:72px 32px;
  border-radius:var(--r-xl);color:var(--on-primary);
  background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 46%,var(--secondary)));
  box-shadow:var(--elev-3);
}
.lp-cta-in::before,.lp-cta-in::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.09);pointer-events:none}
.lp-cta-in::before{width:340px;height:340px;right:-110px;top:-150px;animation:lpDrift2 24s ease-in-out infinite alternate}
.lp-cta-in::after{width:260px;height:260px;left:-90px;bottom:-130px;animation:lpDrift3 28s ease-in-out infinite alternate}
.lp-cta-in h2{position:relative;font-size:clamp(1.7rem,3.4vw,2.4rem);font-weight:800;margin-bottom:12px;letter-spacing:.5px}
.lp-cta-in p{position:relative;color:color-mix(in srgb,var(--on-primary) 82%,transparent);font-size:var(--fs-lg);margin-bottom:34px}
.lp-cta-in .lp-cta-row{position:relative;justify-content:center}
.lp-cta-in .btn.primary{background:var(--on-primary);color:var(--primary);border:none}
.lp-cta-in .btn.primary:hover{background:var(--on-primary);background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08))}
.lp-cta-in .btn.tonal{background:rgba(255,255,255,.16);color:var(--on-primary);border:1px solid rgba(255,255,255,.4)}
.lp-cta-in .btn.tonal:hover{background:rgba(255,255,255,.24);background-image:none}

/* ---------- 页脚 ---------- */
.lp-footer{
  position:relative;z-index:5;flex:none;width:100%;max-width:none;margin-inline:0;
  display:block;padding:0;
  background:var(--surface-container-low);border-top:1px solid var(--outline-variant);
}
.lp-footer-in{
  max-width:1200px;margin-inline:auto;padding:52px 24px 8px;
  display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:40px;
}
.lp-f-brand p{color:var(--on-surface-variant);font-size:var(--fs-sm);line-height:1.8;margin-top:14px;max-width:340px}
.lp-f-col h4{font-size:var(--fs-sm);font-weight:700;margin-bottom:14px;letter-spacing:.5px}
.lp-f-col a{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--on-surface-variant);
  font-size:var(--fs-sm);padding:6px 0;transition:color var(--dur-1) var(--ease-standard)}
.lp-f-col a:hover{color:var(--primary)}
.lp-f-col p{color:var(--txt-faint);font-size:var(--fs-xs);line-height:2}
.lp-f-bottom{
  max-width:1200px;margin-inline:auto;padding:18px 24px 22px;margin-top:30px;
  border-top:1px solid var(--outline-variant);
  text-align:center;font-size:var(--fs-2xs);color:var(--txt-faint);letter-spacing:.5px;
}
.lp-f-bottom a{color:inherit;text-decoration:none;transition:color var(--dur-1) var(--ease-standard)}
.lp-f-bottom a:hover{color:var(--primary)}

/* ---------- 入场动效 ---------- */
.lp-reveal{
  opacity:0;transform:translateY(26px);
  transition:opacity .8s var(--ease-emphasized),transform .8s var(--ease-emphasized);
  transition-delay:var(--rd,0s);
}
.lp-reveal.in{opacity:1;transform:none}

/* ---------- MD 水波纹 ---------- */
.lp-ripple{position:relative;overflow:hidden}
.lp-ripple .lp-rip{
  position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.22;
  transform:scale(0);animation:lpRip .55s var(--ease-standard) forwards;
}
@keyframes lpRip{to{transform:scale(1);opacity:0}}

/* ---------- 暗色微调 ---------- */
html[data-dark="1"] .lp-grid{opacity:.16}
html[data-dark="1"] .lp-mascot{filter:drop-shadow(0 24px 30px rgba(0,0,0,.55))}
html[data-dark="1"]{--lp-speech-shadow:drop-shadow(0 3px 6px rgba(0,0,0,.55)) drop-shadow(0 3px 6px rgba(0,0,0,.40))}

/* ---------- 响应式 ---------- */
@media (max-width:1080px){
  .lp-hero{min-height:0;padding-top:40px}
  .lp-hero-in{grid-template-columns:1fr;gap:20px;text-align:center}
  .lp-cta-row,.lp-stats{justify-content:center}
  .lp-stats{margin-inline:auto}
  .lp-sub br{display:none}
  .lp-hero-art{margin-top:10px;width:min(360px,100%)}
  .lp-speech{left:2%;top:1%}
}
@media (max-width:900px){
  .lp-sec{padding:72px 20px}
  .lp-cards{grid-template-columns:1fr;max-width:480px;margin-inline:auto}
  .lp-band{grid-template-columns:1fr;gap:36px}
  .lp-band-copy{order:-1}
  .lp-steps-row{grid-template-columns:1fr;max-width:480px;margin-inline:auto;gap:20px}
  .lp-tutorial-row{grid-template-columns:1fr;max-width:480px;margin-inline:auto;gap:20px}
  .lp-footer-in{grid-template-columns:1fr;gap:28px;padding-top:40px}
}
@media (max-width:640px){
  .lp-stats{grid-template-columns:repeat(2,1fr);row-gap:18px;padding:16px 6px}
  .lp-stat{padding:0 10px}
  .lp-stat:nth-child(3)::before{display:none}
  .lp-cta-row{flex-direction:column;align-items:stretch}
  .lp-cta-btn{justify-content:center}
  .lp-float-chip.fc-mid{right:-2%}
  .lp-float-chip.fc-hard{bottom:8%}
  .lp-cta-in{padding:52px 22px}
}

/* ---------- 降级动效 ---------- */
@media (prefers-reduced-motion:reduce){
  .lp-reveal{opacity:1;transform:none;transition:none}
  .lp-mascot,.lp-float-chip,.lp-pulse,.lp-scroll-hint,.lp-grad,
  .lp-cta-in::before,.lp-cta-in::after{animation:none}
}
