*{box-sizing:border-box;}
:root{
  --ink:#171a2b;
  --ink-2:#3b4057;
  --ink-3:#6b7188;
  --line:rgba(23,26,43,.10);
  --brand:#6d5bff;
  --brand-deep:#4a3fd0;
  --sun:#ff9a3d;
  --mint:#12b39c;
  --rose:#ff5f8f;
  --radius:18px;
}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:16px;
  line-height:1.72;
  color:var(--ink);
  background:#faf8f4;
  -webkit-font-smoothing:antialiased;
}
.bg-canvas{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-color:#faf8f4;
  background-image:
    radial-gradient(760px 520px at 0% 0%, rgba(255,196,148,.55), transparent 62%),
    radial-gradient(720px 500px at 100% 4%, rgba(168,160,255,.45), transparent 62%),
    radial-gradient(1000px 640px at 50% 46%, rgba(150,238,214,.40), transparent 66%),
    radial-gradient(780px 520px at 94% 96%, rgba(255,170,200,.42), transparent 64%),
    radial-gradient(700px 480px at 4% 94%, rgba(255,222,130,.38), transparent 62%);
}
img{max-width:100%;}
a{color:var(--brand-deep);}
p{margin:0;}

.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}
.site-header,
main,
.site-footer,
.float-tools{position:relative;z-index:1;}

/* ---------- 顶部导航 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(23,26,43,.08);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:70px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--ink);
  flex:none;
}
.ai-page-logo{
  width:38px;
  height:38px;
  object-fit:contain;
  display:block;
}
.brand-name{
  font-size:17px;
  font-weight:700;
  letter-spacing:.02em;
}
.main-nav{
  display:flex;
  align-items:center;
  gap:8px;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
}
.nav-links a{
  display:block;
  padding:8px 9px;
  font-size:13.5px;
  color:var(--ink-2);
  text-decoration:none;
  border-radius:9px;
  white-space:nowrap;
  transition:color .18s ease, background-color .18s ease;
}
.nav-links a:hover{
  color:var(--brand-deep);
  background:rgba(109,91,255,.09);
}
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  width:40px;
  height:40px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
  cursor:pointer;
  padding:0 9px;
}
.nav-toggle span{
  display:block;
  height:2px;
  border-radius:2px;
  background:var(--ink);
  transition:transform .22s ease, opacity .22s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 20px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  text-decoration:none;
  cursor:pointer;
  font-family:inherit;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.btn-primary{
  background:linear-gradient(118deg,#6d5bff 0%,#9a6bff 52%,#ff7a59 100%);
  color:#fff;
  box-shadow:0 16px 28px -16px rgba(109,91,255,.9);
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 34px -16px rgba(109,91,255,.95);
}
.btn-primary:active{transform:translateY(0);}
.btn-ghost{
  background:#fff;
  color:var(--ink);
  border-color:rgba(23,26,43,.14);
  box-shadow:0 12px 26px -22px rgba(23,26,43,.7);
}
.btn-ghost:hover{
  transform:translateY(-2px);
  color:var(--brand-deep);
  border-color:rgba(109,91,255,.42);
}
.btn-lg{padding:14px 30px;font-size:15px;}
.nav-cta{flex:none;}

/* ---------- 通用区块 ---------- */
.section{padding:64px 0;}
.section-head{
  max-width:780px;
  margin:0 auto 34px;
  text-align:center;
}
.section-head.left{margin-left:0;text-align:left;}
.eyebrow{
  display:inline-block;
  padding:5px 14px;
  margin-bottom:14px;
  border-radius:999px;
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.06em;
  color:#4a3fd0;
  background:rgba(109,91,255,.12);
  border:1px solid rgba(109,91,255,.20);
}
h1,h2,h3{margin:0;line-height:1.35;}
h2{
  font-size:clamp(22px,3vw,31px);
  letter-spacing:-.01em;
  margin-bottom:12px;
}
.section-head p{
  color:var(--ink-3);
  font-size:15px;
}
.grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(23,26,43,.08);
  border-radius:var(--radius);
  padding:22px;
  box-shadow:0 22px 44px -34px rgba(23,26,43,.55);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.card:hover{
  transform:translateY(-4px);
  border-color:rgba(109,91,255,.30);
  box-shadow:0 30px 52px -32px rgba(23,26,43,.50);
}
.card h3{
  font-size:16.5px;
  margin-bottom:8px;
}
.card p{
  font-size:14px;
  color:var(--ink-3);
}

/* ---------- Hero ---------- */
.hero{padding:56px 0 62px;}
.hero-inner{
  display:grid;
  grid-template-columns:1.25fr .85fr;
  gap:40px;
  align-items:center;
}
.hero h1{
  font-size:clamp(27px,4.2vw,45px);
  line-height:1.22;
  letter-spacing:-.02em;
  margin:0 0 18px;
}
.hero-lead{
  font-size:16px;
  color:var(--ink-2);
  max-width:600px;
  margin-bottom:26px;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}
.hero-note{
  margin-top:18px;
  font-size:13px;
  color:var(--ink-3);
}
.hero-panel{
  background:rgba(255,255,255,.90);
  border:1px solid rgba(23,26,43,.08);
  border-radius:24px;
  padding:24px;
  box-shadow:0 32px 60px -42px rgba(23,26,43,.7);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.hero-panel-head{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:13.5px;
  font-weight:600;
  color:var(--ink-2);
  margin-bottom:16px;
}
.dot-live{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--mint);
  animation:pulse 2.2s infinite;
  flex:none;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(18,179,156,.55);}
  70%{box-shadow:0 0 0 10px rgba(18,179,156,0);}
  100%{box-shadow:0 0 0 0 rgba(18,179,156,0);}
}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.stat{
  background:linear-gradient(160deg,rgba(109,91,255,.09),rgba(18,179,156,.10));
  border:1px solid rgba(109,91,255,.14);
  border-radius:14px;
  padding:14px 12px;
  text-align:center;
}
.stat strong{
  display:block;
  font-size:23px;
  line-height:1.2;
  color:#3a30ad;
  letter-spacing:-.01em;
}
.stat span{
  font-size:12.5px;
  color:var(--ink-3);
}
.hero-models{
  margin-top:16px;
  font-size:12.5px;
  line-height:1.9;
  color:var(--ink-3);
  letter-spacing:.02em;
}

/* ---------- 关于我们 ---------- */
.about-lead{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px;
  margin-bottom:26px;
  align-items:start;
}
.about-lead p{
  font-size:14.8px;
  color:var(--ink-2);
}
.mini-card h3{
  font-size:15.5px;
}

/* ---------- 服务卡片 ---------- */
.svc h3{
  display:flex;
  align-items:center;
  gap:9px;
}
.svc h3::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:linear-gradient(135deg,#6d5bff,#ff7a59);
  flex:none;
}
.tag-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
  padding:20px;
  background:rgba(255,255,255,.82);
  border:1px dashed rgba(109,91,255,.30);
  border-radius:16px;
}
.tag-row span{
  display:inline-block;
  padding:6px 14px;
  font-size:13px;
  color:var(--ink-2);
  background:rgba(109,91,255,.08);
  border:1px solid rgba(109,91,255,.16);
  border-radius:999px;
  transition:transform .18s ease, background-color .18s ease, color .18s ease;
}
.tag-row span:hover{
  transform:translateY(-2px);
  background:rgba(255,154,61,.16);
  border-color:rgba(255,154,61,.34);
  color:#8a4a12;
}

/* ---------- 展示图 ---------- */
.showcase{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:24px;
}
.shot{
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--line);
  background:linear-gradient(135deg,#efeaff,#e6fbf5);
}
.shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
}
.shot:hover img{transform:scale(1.03);}

/* ---------- 案例 ---------- */
.case-card{
  margin:0;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(23,26,43,.08);
  border-radius:var(--radius);
  padding:14px;
  box-shadow:0 22px 44px -34px rgba(23,26,43,.55);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.case-card:hover{
  transform:translateY(-4px);
  border-color:rgba(109,91,255,.30);
  box-shadow:0 30px 52px -32px rgba(23,26,43,.50);
}
.case-media{
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:12px;
  background:linear-gradient(135deg,#efeaff,#e6fbf5);
}
.case-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .4s ease;
}
.case-card:hover .case-media img{transform:scale(1.04);}
.case-card figcaption{padding:14px 6px 6px;}
.case-card h3{font-size:15.5px;margin-bottom:6px;}
.case-card p{font-size:13.5px;color:var(--ink-3);}

/* ---------- 流程 ---------- */
.steps{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}
.step{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(23,26,43,.08);
  border-radius:16px;
  padding:20px 18px;
  box-shadow:0 20px 40px -34px rgba(23,26,43,.55);
  transition:transform .22s ease, border-color .22s ease;
}
.step:hover{transform:translateY(-4px);border-color:rgba(18,179,156,.36);}
.step-num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:10px;
  font-size:14px;
  font-weight:700;
  color:#fff;
  background:linear-gradient(135deg,#6d5bff,#12b39c);
  margin-bottom:12px;
}
.step h3{font-size:15px;margin-bottom:6px;}
.step p{font-size:13px;color:var(--ink-3);}

/* ---------- 表格 ---------- */
.table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 44px -36px rgba(23,26,43,.5);
}
table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
  font-size:14px;
}
thead th{
  background:rgba(109,91,255,.10);
  color:#3a30ad;
  font-weight:700;
  text-align:left;
  padding:14px 16px;
  border-bottom:1px solid rgba(23,26,43,.08);
  white-space:nowrap;
}
tbody td{
  padding:14px 16px;
  border-bottom:1px solid rgba(23,26,43,.07);
  color:var(--ink-2);
  vertical-align:top;
}
tbody tr:last-child td{border-bottom:none;}
tbody th{
  padding:14px 16px;
  text-align:left;
  color:var(--ink);
  font-weight:600;
  border-bottom:1px solid rgba(23,26,43,.07);
  vertical-align:top;
  background:rgba(250,248,244,.6);
}
tbody tr:last-child th{border-bottom:none;}
td.strong{color:#2f2a86;font-weight:600;}

.score-panel{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:26px;
  padding:26px;
  margin-bottom:22px;
  border-radius:20px;
  background:linear-gradient(120deg,rgba(109,91,255,.12),rgba(255,154,61,.12) 55%,rgba(18,179,156,.14));
  border:1px solid rgba(109,91,255,.20);
}
.score-big{
  font-size:44px;
  font-weight:800;
  line-height:1;
  color:#2f2a86;
  letter-spacing:-.02em;
}
.score-big span{
  font-size:16px;
  font-weight:600;
  color:var(--ink-3);
  margin-left:4px;
}
.score-meta{flex:1;min-width:220px;}
.score-stars{
  font-size:19px;
  letter-spacing:3px;
  color:#f5a623;
  line-height:1.2;
}
.score-meta p{
  font-size:14px;
  color:var(--ink-2);
  margin-top:4px;
}

/* ---------- Token 比价 ---------- */
.price-card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(23,26,43,.08);
  border-radius:16px;
  padding:22px;
  box-shadow:0 22px 44px -36px rgba(23,26,43,.5);
  transition:transform .22s ease, border-color .22s ease;
}
.price-card:hover{transform:translateY(-4px);border-color:rgba(255,154,61,.40);}
.price-card h3{font-size:15.5px;margin-bottom:6px;}
.price-card .unit{
  font-size:12.5px;
  color:var(--ink-3);
  margin-bottom:10px;
}
.price-tag{
  display:inline-block;
  padding:4px 12px;
  border-radius:999px;
  font-size:12.5px;
  font-weight:600;
  color:#0e7a6b;
  background:rgba(18,179,156,.14);
  border:1px solid rgba(18,179,156,.28);
}
.note{
  margin-top:16px;
  font-size:13px;
  color:var(--ink-3);
}

/* ---------- 表单 ---------- */
.req-form{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(23,26,43,.08);
  border-radius:22px;
  padding:28px;
  box-shadow:0 30px 60px -44px rgba(23,26,43,.7);
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-bottom:18px;
}
.field{
  display:flex;
  flex-direction:column;
  gap:8px;
  font-size:13.5px;
  font-weight:500;
  color:var(--ink-2);
}
.field input,
.field select,
.field textarea{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(23,26,43,.14);
  background:#fff;
  color:var(--ink);
  font-size:14.5px;
  font-family:inherit;
  line-height:1.5;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.field textarea{resize:vertical;min-height:110px;}
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color:rgba(109,91,255,.60);
  box-shadow:0 0 0 3px rgba(109,91,255,.14);
}
.form-actions{margin-top:20px;}

/* ---------- FAQ ---------- */
.faq-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  align-items:start;
}
.faq-item{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(23,26,43,.08);
  border-radius:14px;
  overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.faq-item.open{
  border-color:rgba(109,91,255,.34);
  box-shadow:0 22px 40px -34px rgba(109,91,255,.7);
}
.faq-q{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  border:none;
  background:transparent;
  font-family:inherit;
  font-size:14.5px;
  font-weight:600;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  line-height:1.5;
}
.faq-icon{
  position:relative;
  width:16px;
  height:16px;
  flex:none;
}
.faq-icon::before,
.faq-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:var(--brand-deep);
  border-radius:2px;
  transform:translate(-50%,-50%);
  transition:transform .22s ease, opacity .22s ease;
}
.faq-icon::before{width:14px;height:2px;}
.faq-icon::after{width:2px;height:14px;}
.faq-item.open .faq-icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .32s ease;
}
.faq-item.open .faq-a{max-height:360px;}
.faq-a p{
  padding:0 18px 16px;
  font-size:13.8px;
  color:var(--ink-3);
  line-height:1.75;
}

/* ---------- 百科 / 资讯 ---------- */
.wiki-card h3{font-size:15.5px;}
.wiki-card p{font-size:13.5px;}
.news-list{
  display:grid;
  gap:12px;
}
.news-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 20px;
  border-radius:14px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(23,26,43,.08);
  text-decoration:none;
  color:var(--ink);
  font-size:14.5px;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.news-item:hover{
  transform:translateX(4px);
  border-color:rgba(109,91,255,.32);
  box-shadow:0 18px 34px -30px rgba(109,91,255,.7);
}
.news-item span{
  flex:none;
  font-size:13px;
  color:var(--ink-3);
}

/* ---------- 评论 ---------- */
.review{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.review-stars{
  color:#f5a623;
  letter-spacing:2px;
  font-size:14px;
}
.review-text{
  font-size:14px;
  color:var(--ink-2);
  line-height:1.8;
}
.review-user{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:auto;
  padding-top:12px;
  border-top:1px dashed rgba(23,26,43,.12);
}
.avatar{
  width:36px;
  height:36px;
  flex:none;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:700;
  color:#fff;
  background:linear-gradient(135deg,#6d5bff,#12b39c);
}
.review-user strong{
  display:block;
  font-size:14px;
  color:var(--ink);
}
.review-user small{
  display:block;
  font-size:12.5px;
  color:var(--ink-3);
}

/* ---------- 联系我们 ---------- */
.contact-grid{
  display:grid;
  grid-template-columns:1.4fr .7fr;
  gap:22px;
  align-items:start;
}
.contact-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.contact-item{
  padding:16px 18px;
  border-radius:14px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(23,26,43,.08);
  transition:transform .18s ease, border-color .18s ease;
}
.contact-item:hover{transform:translateY(-3px);border-color:rgba(18,179,156,.36);}
.contact-item small{
  display:block;
  font-size:12.5px;
  color:var(--ink-3);
  margin-bottom:4px;
}
.contact-item strong{
  font-size:14.5px;
  color:var(--ink);
  word-break:break-all;
  font-weight:600;
}
.qr-card{
  padding:20px;
  border-radius:18px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(23,26,43,.08);
  text-align:center;
  box-shadow:0 22px 44px -36px rgba(23,26,43,.5);
}
.qr-box{
  width:160px;
  max-width:100%;
  margin:0 auto 12px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--line);
  background:#f4f2ee;
}
.qr-box img{
  width:100%;
  height:auto;
  display:block;
}
.qr-card p{
  font-size:13px;
  color:var(--ink-3);
}

/* ---------- 加盟代理 ---------- */
.agent-card{
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:24px;
  align-items:center;
  padding:32px;
  border-radius:22px;
  background:linear-gradient(120deg,rgba(109,91,255,.14),rgba(255,154,61,.14) 55%,rgba(18,179,156,.16));
  border:1px solid rgba(109,91,255,.20);
}
.agent-card h2{margin-bottom:10px;}
.agent-card p{
  font-size:14.5px;
  color:var(--ink-2);
  margin-bottom:16px;
}
.agent-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.agent-side{
  text-align:center;
  font-size:13.5px;
  color:var(--ink-2);
  padding:18px;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px dashed rgba(109,91,255,.30);
}
.agent-side strong{
  display:block;
  font-size:22px;
  color:#2f2a86;
  margin-bottom:6px;
}

/* ---------- 页脚 ---------- */
.site-footer{
  margin-top:20px;
  background:#ffffff;
  border-top:1px solid rgba(23,26,43,.10);
  padding:36px 0 20px;
  color:var(--ink);
}
.footer-top{
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:28px;
  align-items:start;
}
.footer-brand{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
}
.footer-brand img{
  width:40px;
  height:40px;
  object-fit:contain;
  display:block;
}
.footer-brand p{
  font-size:13.5px;
  color:var(--ink-3);
}
.footer-brand a{
  font-size:13.5px;
  color:var(--brand-deep);
  text-decoration:none;
}
.footer-brand a:hover{text-decoration:underline;}
.footer-links h3{
  font-size:14px;
  margin-bottom:12px;
  color:var(--ink);
}
.footer-links ul{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  list-style:none;
  margin:0;
  padding:0;
}
.footer-links a{
  font-size:13.5px;
  color:var(--ink-2);
  text-decoration:none;
  transition:color .18s ease;
}
.footer-links a:hover{color:var(--brand-deep);}
.footer-bottom{
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid rgba(23,26,43,.08);
  font-size:12.5px;
  color:var(--ink-3);
  text-align:center;
}

/* ---------- 浮动工具 ---------- */
.float-tools{
  position:fixed;
  right:18px;
  bottom:22px;
  z-index:70;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.float-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(23,26,43,.10);
  background:#fff;
  color:var(--ink);
  font-size:13px;
  font-weight:600;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 16px 30px -18px rgba(23,26,43,.7);
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease;
}
.float-btn:hover{
  transform:translateY(-3px);
  color:var(--brand-deep);
  box-shadow:0 20px 34px -18px rgba(109,91,255,.8);
}
.float-kefu{
  background:linear-gradient(135deg,#6d5bff,#9a6bff);
  color:#fff;
  border-color:transparent;
}
.float-kefu:hover{color:#fff;}
#backTop{
  opacity:0;
  visibility:hidden;
  transition:opacity .24s ease, visibility .24s ease, transform .18s ease;
}
#backTop.show{opacity:1;visibility:visible;}

/* ---------- 入场动画 ---------- */
.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease, transform .55s ease;
}
.reveal.visible{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .dot-live{animation:none;}
  .card,.case-card,.step,.price-card,.news-item,.contact-item,.shot img{transition:none;}
}

/* ---------- 响应式 ---------- */
@media (max-width:1023px){
  .nav-toggle{display:flex;}
  .main-nav{
    position:absolute;
    left:0;
    right:0;
    top:100%;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    padding:14px 24px 22px;
    background:#fff;
    border-bottom:1px solid var(--line);
    box-shadow:0 26px 44px -32px rgba(23,26,43,.7);
  }
  .main-nav.open{display:flex;}
  .nav-links{
    flex-direction:column;
    align-items:stretch;
  }
  .nav-links a{
    padding:11px 8px;
    font-size:15px;
  }
  .nav-cta{
    width:100%;
    padding:12px 20px;
  }
  .hero-inner{
    grid-template-columns:1fr;
    gap:30px;
  }
  .about-lead{grid-template-columns:1fr;}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
  .steps{grid-template-columns:repeat(3,minmax(0,1fr));}
  .faq-list{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .agent-card{grid-template-columns:1fr;padding:26px;}
  .footer-top{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .section{padding:48px 0;}
  .hero{padding:38px 0 48px;}
  .grid-3,
  .grid-2{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .showcase{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .contact-list{grid-template-columns:1fr;}
  .score-panel{gap:16px;padding:22px;}
  .score-big{font-size:36px;}
  .req-form{padding:20px;}
  .footer-links ul{gap:8px 16px;}
  .float-tools{right:14px;bottom:16px;}
}
@media (max-width:420px){
  .container{padding:0 16px;}
  .hero-actions .btn{width:100%;}
  .hero-actions{flex-direction:column;align-items:stretch;}
}