/* ============================================================
   正典排版核校系统 · 首页改版 Demo
   卡片文案逐字取自「正典论文核校系统 · 对外文案1.md」，未改写、未调序
   ------------------------------------------------------------
   冻结项（用户已确认，勿动）：h1 56/slogan 18/h2 32/h3 22/正文 13.5、
   卡片内边距 34/30、区块间距 94、首屏后首区块 48（.hero+.section，2026-09-29 收）、
   .card-out 贴底 + min-height 132px（≤900px 160px）跨行对齐、文案与卡片结构。
   区块顺序 2026-09-29：处理流程（三步）→ 核心功能（用户要求前置三步）。
   ============================================================ */
:root{
  --bg:#0c0f16; --bg2:#10141d; --card:#151a26; --card-hover:#181e2d;
  --line:#232b3c; --line2:#2d3750;
  --ink:#e9ecf3; --sub:#9ba4b8; --mut:#6a7387;
  --blue:#5b8cff; --blue-deep:#3f6de0; --seal:#5b8cff;
  --amber:#e0b155; --amber-line:rgba(224,177,85,.32);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",
         "Microsoft YaHei","Helvetica Neue",sans-serif;
  --radius:16px;
  --radius-sm:10px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:#10141d}
::-webkit-scrollbar-thumb{background:#2d3750;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:#3a4664}
html{scrollbar-width:thin;scrollbar-color:#2d3750 #10141d;scroll-behavior:smooth}

::selection{background:rgba(91,140,255,.30);color:#fff}

html,body{
  min-height:100%;
  font-family:var(--font);
  background:var(--bg);
  color:var(--ink);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  color-scheme:dark;
  /* 保险丝：装饰性光晕不允许造成横向滚动（clip 不建滚动容器，不影响 sticky） */
  overflow-x:clip;
}

/* 三段环境光：右上主光、左上补光、底部反光，避免页脚死黑 */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(1000px 520px at 78% -10%, rgba(91,140,255,.09), transparent 62%),
    radial-gradient(760px 460px at 6% 2%, rgba(99,102,241,.06), transparent 58%),
    radial-gradient(1200px 800px at 50% 118%, rgba(59,130,246,.05), transparent 60%);
}

a{color:var(--blue);text-decoration:none}
a:hover{color:#86a8ff}
a:focus-visible,.btn:focus-visible{
  outline:2px solid rgba(91,140,255,.65);outline-offset:3px;border-radius:6px;
}

.page-wrapper{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px;width:100%}

/* Demo 横幅 --------------------------------------------------- */
.demo-bar{
  background:rgba(91,140,255,.08);
  border-bottom:1px solid var(--line2);
  color:var(--sub);
  font-size:11px;
  letter-spacing:1.5px;
  text-align:center;
  padding:7px 16px;
}

/* Header ---------------------------------------------------- */
header{
  height:68px;border-bottom:1px solid var(--line);
  display:flex;align-items:center;
  background:rgba(12,15,22,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  position:sticky;top:0;z-index:100;
  transition:background .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
header.scrolled{
  background:rgba(12,15,22,.93);
  border-bottom-color:var(--line2);
  box-shadow:0 12px 32px rgba(2,6,18,.5);
}
header .wrap{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:13px}
.seal{
  width:38px;height:38px;border-radius:9px;object-fit:cover;
  box-shadow:0 4px 14px rgba(91,140,255,.35);
  border:1px solid rgba(255,255,255,.14);
}
.brand-name{font-size:19px;font-weight:700;letter-spacing:2px}
nav{display:flex;gap:30px;align-items:center}
nav a{color:var(--sub);font-size:14px;transition:color .25s var(--ease);white-space:nowrap}
nav a:hover{color:var(--ink)}
nav a.on{color:var(--ink);position:relative}
nav a.on::after{
  content:"";position:absolute;left:50%;bottom:-23px;transform:translateX(-50%);
  width:18px;height:2px;background:var(--blue);border-radius:2px;
}
.btn-login{
  border:1px solid var(--line2);border-radius:8px;padding:7px 18px;
  color:var(--ink);font-size:13px;
  transition:border-color .25s var(--ease),color .25s var(--ease),background .25s var(--ease);
}
.btn-login:hover{border-color:rgba(91,140,255,.55);color:var(--blue);background:rgba(91,140,255,.06)}

/* Hero ------------------------------------------------------- */
.hero{position:relative;padding:108px 0 56px;text-align:center}
/* 极光主光晕 */
.hero::before{
  content:"";position:absolute;left:50%;top:-150px;transform:translateX(-50%);
  /* 宽度随首屏收缩，永不超出视口（固定 1000px 曾造成横向溢出） */
  width:min(1000px,100%);height:540px;pointer-events:none;
  background:radial-gradient(closest-side, rgba(91,140,255,.08), rgba(99,102,241,.03) 55%, transparent 72%);
}
/* 细点阵，径向渐隐，只存在于首屏上半 */
.hero::after{
  content:"";position:absolute;left:0;right:0;top:-30px;height:430px;pointer-events:none;
  background-image:radial-gradient(rgba(146,168,220,.13) 1px, transparent 1.4px);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(ellipse 62% 78% at 50% 30%, #000 0%, transparent 72%);
          mask-image:radial-gradient(ellipse 62% 78% at 50% 30%, #000 0%, transparent 72%);
}
.hero > *{position:relative;z-index:1}
.kicker{
  display:inline-flex;align-items:center;gap:14px;color:var(--seal);
  font-size:12px;letter-spacing:3px;margin-bottom:30px;
}
.kicker::before,.kicker::after{content:"";width:42px;height:1px;opacity:.8}
.kicker::before{background:linear-gradient(90deg,transparent,var(--seal))}
.kicker::after{background:linear-gradient(90deg,var(--seal),transparent)}
/* 标题沿用站点原渐变色；字号与 slogan 的比例参照 mock3（64 : 21 ≈ 3.05） */
.hero h1{
  font-size:56px;font-weight:800;letter-spacing:4px;line-height:1.25;
  background:linear-gradient(135deg,#60a5fa 0%,#3b82f6 30%,#818cf8 60%,#6366f1 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:18px;
  filter:drop-shadow(0 6px 30px rgba(91,140,255,.25));
}
.slogan{font-size:18px;letter-spacing:4px;color:var(--sub);margin-bottom:36px}
.cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}
/* 说明文案置于按钮之下：作为按钮的补充说明，字号收小、行距放宽 */
.hero-sub{
  font-size:14px;color:var(--mut);max-width:760px;
  margin:0 auto 56px;line-height:2.1;letter-spacing:.3px;
}
/* 黄色高亮（沿用产品内「黄色高亮」的说法） */
.hl{
  color:#f0c674;background:rgba(224,177,85,.16);
  border-radius:3px;padding:1px 5px;
}
.btn{
  display:inline-flex;align-items:center;gap:9px;border-radius:var(--radius-sm);
  font-size:15px;font-weight:600;padding:14px 34px;font-family:inherit;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),
             background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease);
}
.btn-pri{
  background:linear-gradient(135deg,#6b97ff 0%,var(--blue-deep) 58%,#3557c9 100%);
  color:#fff;
  box-shadow:0 8px 26px rgba(63,109,224,.38), inset 0 1px 0 rgba(255,255,255,.18);
}
.btn-pri:hover{
  color:#fff;transform:translateY(-2px);
  box-shadow:0 14px 36px rgba(63,109,224,.52), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn-pri:active{transform:translateY(0)}
/* Keep the original 15px layout metrics and button dimensions; enlarge text only. */
.hero-main .cta-row .btn .cta-label{display:inline-block;transform:scale(1.2)}
.btn-ghost{border:1px solid var(--line2);color:var(--sub);background:rgba(255,255,255,.015)}
.btn-ghost:hover{
  border-color:rgba(91,140,255,.55);color:#cdd9ff;
  background:rgba(91,140,255,.07);transform:translateY(-2px);
}

.trust{
  display:flex;justify-content:center;border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);max-width:860px;margin:0 auto;
}
.trust div{padding:22px 46px;text-align:center;border-right:1px solid var(--line)}
.trust div:last-child{border-right:0}
.trust b{
  display:block;font-size:26px;font-weight:700;font-feature-settings:"tnum";
  background:linear-gradient(160deg,#f0f4ff 20%,#9db4f5 90%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.trust span{font-size:12px;color:var(--mut);letter-spacing:1.5px}

/* Section 通用 -------------------------------------------------- */
.section{padding:94px 0 0;scroll-margin-top:84px}
.sec-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  position:relative;margin-bottom:24px;padding-bottom:18px;
}
/* 标题下的渐隐发丝线 */
.sec-head::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,var(--line2),rgba(45,55,80,0));
}
.sec-head h2{font-size:32px;font-weight:700;letter-spacing:3px}
.sec-head span{font-size:11px;color:var(--mut);letter-spacing:2.5px;white-space:nowrap}

/* Feature Cards --------------------------------------------- */
/* 首屏数据条与第一个区块之间的空档（跟随首区块，不限定 id）
   2026-09-29 用户「和上面的模块间隙缩小」：64 → 48 */
.hero + .section{padding-top:48px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}

.card{
  background:linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,0) 42%), var(--card);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:34px 30px 30px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
  transition:transform .32s var(--ease),border-color .32s var(--ease),
             box-shadow .32s var(--ease),background-color .32s var(--ease);
}
.card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--blue),#8aa8ff 55%,transparent);
  transform:scaleX(0);transform-origin:left;transition:transform .38s var(--ease);
}
.card:hover{
  transform:translateY(-4px);
  background-color:var(--card-hover);
  border-color:rgba(91,140,255,.38);
  box-shadow:0 20px 44px rgba(2,6,18,.5), 0 0 0 1px rgba(91,140,255,.06),
             inset 0 1px 0 rgba(255,255,255,.03);
}
.card:hover::before{transform:scaleX(1)}

.card h3{font-size:22px;font-weight:700;letter-spacing:1px;color:var(--ink)}
.card-slogan{font-size:14px;color:var(--blue);letter-spacing:.5px;margin:10px 0 22px;line-height:1.8}

.card-list{list-style:none}
.card-list li{position:relative;padding-left:16px;font-size:13.5px;color:var(--sub);line-height:1.95}
.card-list li + li{margin-top:8px}
.card-list li::before{
  content:"";position:absolute;left:0;top:.94em;
  width:8px;height:1.5px;border-radius:1px;
  background:linear-gradient(90deg,var(--blue),rgba(91,140,255,.25));opacity:.75;
}
/* 通栏卡片内的条目分两列 */
.card-list--cols{display:grid;grid-template-columns:1fr 1fr;gap:8px 44px}
.card-list--cols li + li{margin-top:0}

/* 输出块：沿用「输出」蓝框标记 + 输出内容 */
.card-out{
  display:flex;gap:10px;align-items:flex-start;
  /* 贴底：margin-top:auto 推到底部；同行等高由 JS 按行取最大内容高度统一设置
     （固定 min-height 只在所有卡内容都不超高时对齐，一换行超界就错位）。
     这里的 132px 仅作无 JS 兜底。margin-top:auto 会被更高特异性的 margin-top
     规则静默盖掉，勿再加。 */
  margin-top:auto;padding-top:18px;border-top:1px solid var(--line);
  min-height:132px;
}
.card-out .lbl{
  flex:0 0 auto;margin-top:5px;
  font-size:11px;font-weight:700;letter-spacing:1px;
  color:var(--blue);border:1px solid rgba(91,140,255,.38);border-radius:4px;padding:0 5px;
  background:rgba(91,140,255,.07);
}
.card-out .card-list{flex:1 1 auto}

/* 通栏卡片：PDF 转 Word（排在最后，作收尾主卡） */
.card--wide{
  grid-column:1 / -1;padding:36px 40px;
  background:
    radial-gradient(560px 220px at 88% -30%, rgba(91,140,255,.10), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.022), rgba(255,255,255,0) 42%),
    var(--card);
  border-color:rgba(91,140,255,.22);
}
/* PDF 卡片使用独立扫光；不套用普通卡片的 hover 拉伸。 */
.card--wide::before{
  transform:scaleX(1);
  background:linear-gradient(90deg,transparent 40%,var(--blue) 48%,#c6d7ff 50%,var(--blue) 52%,transparent 60%);
  background-size:200% 100%;
  animation:home-line-sweep 4.8s linear infinite;
  background-position:200% 0;
  pointer-events:none;
}
/* 需双类名压过 .card h3（同特异性时后者赢，曾导致通栏标题不左对齐） */
.card.card--wide h3{text-align:left;font-size:23px}
.wide-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 14px}
.wide-head h3{flex:1 1 auto}
.wide-head .card-slogan{flex:0 0 100%;text-align:left;margin:8px 0 0}
.badge{
  flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:1px;
  color:var(--amber);border:1px solid var(--amber-line);
  background:rgba(224,177,85,.10);border-radius:99px;padding:2px 9px;
}
.card--wide .wide-list{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}

/* Steps ------------------------------------------------------ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.step{position:relative;border-top:1px solid var(--line2);padding-top:22px}
/* 三步说明的第二排横线：仅装饰扫光，不表示业务进度。 */
.step::before{
  content:"";position:absolute;top:-1px;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 40%,var(--blue) 48%,#c6d7ff 50%,var(--blue) 52%,transparent 60%);
  background-size:200% 100%;opacity:.85;
  animation:home-line-sweep 4.8s linear infinite;
  background-position:200% 0;
  pointer-events:none;
}
.step:nth-child(2)::before{animation-delay:1.6s}
.step:nth-child(3)::before{animation-delay:3.2s}
@keyframes home-line-sweep{
  from{background-position:200% 0}
  to{background-position:-200% 0}
}
@media (prefers-reduced-motion:reduce){
  .step::before,.card--wide::before{animation:none;background-position:50% 0}
}
.step .n{font-size:11.5px;font-weight:600;color:var(--blue);letter-spacing:2.5px;margin-bottom:14px}
.step h4{font-size:19px;font-weight:700;letter-spacing:1px;margin-bottom:10px}
.step p{font-size:13.5px;color:var(--sub);line-height:1.9}

/* 系统优势（编号编辑行，替代原 Promise 条——内容被优势 1/2/4 全覆盖） ------ */
.adv{border-top:1px solid var(--line)}
.adv-row{
  display:grid;grid-template-columns:64px 250px 1fr;gap:32px;align-items:center;
  padding:34px 0;border-bottom:1px solid var(--line);
}
.adv-num{
  font-size:32px;font-weight:800;line-height:1;letter-spacing:1px;
  color:rgba(91,140,255,.65);font-feature-settings:"tnum";
}
.adv-row h3{font-size:20px;font-weight:700;letter-spacing:.5px;line-height:1.55;text-align:center}
/* 短语不断行（防止 CJK 在词内折行，如「结构/化处理」「数据/安全」） */
.adv .nb{white-space:nowrap}
.adv-body{font-size:14.5px;color:var(--sub);line-height:1.95;letter-spacing:.2px}
/* 说明段前缀蓝色短横线——与 .card-list li::before 同款，保持列表语言一致 */
.adv-body p{position:relative;padding-left:16px}
.adv-body p + p{margin-top:8px}
.adv-body p::before{
  content:"";position:absolute;left:0;top:.94em;
  width:8px;height:1.5px;border-radius:1px;
  background:linear-gradient(90deg,var(--blue),rgba(91,140,255,.25));opacity:.75;
}
.adv-note{margin-top:10px;font-size:12px;color:var(--mut);line-height:1.85}
.adv-note p + p{margin-top:2px}
@media (max-width:900px){
  .adv-row{grid-template-columns:60px 1fr;gap:18px;padding:28px 0}
  .adv-body{grid-column:2}
  .adv-num{font-size:26px}
}

/* Footer ----------------------------------------------------- */
footer{
  margin-top:76px;border-top:1px solid var(--line);
  padding:26px 0;color:var(--mut);font-size:12px;
}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.footer-reg{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px}
.footer-reg a{color:inherit;display:inline-flex;align-items:center;gap:4px}
.footer-reg a:hover{color:var(--blue)}
.footer-mps-icon{display:block;width:16px;height:auto;flex:0 0 auto}
.footer-sep{color:var(--line2)}

/* 入场动效：类名只由 JS 添加；无 JS / 减弱动态时内容始终可见。
   进场结束后 JS 移除 .rv，交还各元素自身的 hover 过渡。 */
.rv{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.rv.in{opacity:1;transform:none}

/* Responsive ------------------------------------------------- */
@media (max-width:900px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .card-list--cols{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:22px}
  .hero h1{font-size:42px;letter-spacing:3px}
  .slogan{font-size:16px;letter-spacing:3px}
  .sec-head h2{font-size:28px}
  .section{padding:76px 0 0}
  /* 窄屏正文换行更多，「输出」块需要更高的下限才能保持同行对齐 */
  .card-out{min-height:160px}
}
@media (max-width:760px){
  .wrap{padding:0 24px}
  .hero{padding:64px 0 56px}
  .hero h1{font-size:32px;letter-spacing:2px}
  .slogan{font-size:15px;letter-spacing:2px;line-height:1.9}
  .hero-sub{font-size:13px;line-height:2}
  .trust{flex-wrap:wrap}
  .trust div{flex:1 1 50%;border-right:0}
  /* 窄屏区块标题必须小于英雄区标题，否则层级颠倒 */
  .sec-head{flex-direction:column;align-items:flex-start;gap:6px}
  .sec-head h2{font-size:24px;letter-spacing:2px}
  .card h3{font-size:20px}
  .section{padding:64px 0 0}
}
@media (max-width:560px){
  .grid{grid-template-columns:1fr}
  .card{padding:24px 22px}
  .card--wide{padding:24px 22px}
  .trust div{flex:1 1 100%}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:8px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms !important}
}

/* ==================== 方案 B · 左对齐编辑叙事 ====================
   首屏改左对齐：大字居左、右侧留白，信任条贴左，区块标题加大 */
.hero{padding:140px 0 80px;text-align:left}
.hero::before{left:-120px;transform:none;width:min(880px,100%);top:-160px}
.hero::after{
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 22% 28%, #000 0%, transparent 72%);
          mask-image:radial-gradient(ellipse 70% 80% at 22% 28%, #000 0%, transparent 72%);
}
.kicker{margin-bottom:34px}
.kicker::before{display:none}
.kicker::after{width:56px}
.hero h1{font-size:64px;letter-spacing:2px;margin-bottom:20px}
.slogan{font-size:19px;letter-spacing:2px;margin-bottom:40px}
.cta-row{justify-content:flex-start;margin-bottom:30px}
.hero-sub{margin:0 0 64px;max-width:640px}
.trust{justify-content:flex-start;max-width:960px;margin:0}
.trust div{text-align:left;padding:24px 56px 24px 32px;border-right:0;border-left:1px solid var(--line)}
.trust div:first-child{border-left:0;padding-left:0}
.trust b{font-size:28px}
.sec-head h2{font-size:38px}
.sec-head span{font-size:12px}
.grid{gap:26px}
.card{padding:38px 34px 32px}
.steps{gap:56px}
.promise{gap:56px}
@media (max-width:900px){
  .hero{padding:96px 0 72px}
  .hero h1{font-size:46px;letter-spacing:1.5px}
  .slogan{font-size:17px;letter-spacing:1.5px}
  .sec-head h2{font-size:30px}
  .card{padding:32px 28px}
  .steps,.promise{gap:40px}
}
@media (max-width:760px){
  .hero{padding:72px 0 64px}
  .hero h1{font-size:34px;letter-spacing:1px}
  .slogan{font-size:15px;letter-spacing:1.5px}
  .sec-head h2{font-size:26px}
  .trust div{padding:18px 24px}
}
@media (max-width:560px){
  .card{padding:26px 22px}
}

/* ================= 视频组件（浏览器框 + 自动循环） ================= */
.vshot{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0) 30%),#10141d;
  border:1px solid #2d3750;border-radius:14px;overflow:hidden;
  box-shadow:0 30px 70px rgba(2,6,18,.6), 0 0 0 1px rgba(91,140,255,.05),
             0 0 90px rgba(91,140,255,.07);}
.vshot-bar{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid #232b3c}
.vshot-bar i{width:9px;height:9px;border-radius:50%;background:#2a3348}
.vshot-bar i:first-child{background:rgba(91,140,255,.55)}
.vshot-bar span{margin-left:auto;font-size:11px;letter-spacing:1.5px;color:#6a7387}
/* 框体比例必须 = 视频比例（contain 精确匹配，无黑边零裁切）。
   2026-09-28 与用户约定：新视频按 16:9 1920x1080 重录，到位后把
   STAGE_AR 改为 '16 / 9' 重跑即可（届时框体 820x461，高度再降 25%）。
   cover 裁切方案已废弃（会切到底部/侧边的说明卡文字） */
.vshot-stage{position:relative;aspect-ratio:1920 / 1088;background:#0c0f16}
.vshot-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}

/* ================= 首屏双栏（容器加宽，左文字右媒体） ================= */
.wrap{max-width:1500px}
.hero-grid{display:grid;grid-template-columns:minmax(0,545px) minmax(0,1fr);gap:56px;align-items:center}
.hero-media{min-width:0}
@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr;gap:48px}
  /* 不能写 margin:0 auto——grid 项目 auto 外边距会吸掉自由空间，
     宽度塌缩成 fit-content（曾缩成框体栏文字宽 ~170px） */
  .hero-media{width:100%;max-width:1000px;justify-self:center}
  .hero-main{text-align:center}
  .hero-main .kicker{display:block}
  .hero-main .kicker::after{display:none}
  .hero-main .cta-row{justify-content:center}
  .hero-main .hero-sub{margin-left:auto;margin-right:auto}
}

/* ================= 视频版首屏微调 ================= */
.hero{padding:100px 0 48px}
.hero h1{margin-bottom:20px}
.slogan{margin-bottom:64px}
.cta-row{margin-bottom:36px}
.hero-sub{line-height:2.3;margin-bottom:0}
/* 2026-09-28→29：kicker 定位语放大加粗（用户：这是很重要的定位）+ 微光扫过 */
.kicker{font-size:17px;font-weight:500;
  background:linear-gradient(90deg,var(--seal) 20%,#e8f0ff 50%,var(--seal) 80%);
  background-size:200% 100%;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;animation:kickershine 5s linear infinite}
@keyframes kickershine{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.kicker{animation:none}}
/* 发丝线长度随版面等比扩展：860 × (1420/1120) ≈ 1090（2026-09-29 用户要求） */
.hero .trust{justify-content:center;margin:56px auto 0;max-width:1090px}
.hero .trust div{text-align:center;padding:24px 48px;border-left:0;border-right:1px solid var(--line)}
.hero .trust div:first-child{padding-left:48px}
.hero .trust div:last-child{border-right:0}
@media (max-width:1000px){
  .hero{padding:88px 0 64px}
  .hero .trust{margin-top:48px}
}
@media (max-width:760px){
  .hero{padding:64px 0 56px}
  .hero .trust{margin-top:40px}
  .hero .trust div{padding:18px 24px;border-right:0}
  .hero .trust div:first-child{padding-left:24px}
}


/* Integrated navigation: preserve the demo layout without affecting the workspace. */
.brand{color:var(--ink)}
nav{gap:20px}
.home-account{position:relative;font-size:14px;max-width:160px}
.home-account summary{cursor:pointer;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-account-links{position:absolute;right:0;top:34px;min-width:150px;padding:10px;background:var(--card);border:1px solid var(--line2);border-radius:8px;box-shadow:0 12px 28px rgba(0,0,0,.4)}
.home-account-links a{display:block;padding:7px 10px}
.btn:disabled{cursor:not-allowed;opacity:.65;transform:none;box-shadow:none}
@media(max-width:1100px){header{height:auto;min-height:68px;padding:14px 0}header .wrap{flex-wrap:wrap;gap:16px}nav{flex-wrap:wrap;gap:12px 20px}.section{scroll-margin-top:150px}}
@media(max-width:560px){nav{width:100%;gap:10px 16px}nav a,.home-account{font-size:13px}.brand-name{font-size:17px}}
