:root{
  --ink:#1b1a33;
  --ink-2:#403c5e;
  --muted:#66628a;
  --pink:#ff5f8f;
  --purple:#7b61ff;
  --mint:#10c7a5;
  --sky:#2ea8ff;
  --amber:#ffb020;
  --bg:#fff8f2;
  --line:rgba(27,26,51,.09);
  --shadow-sm:0 6px 18px rgba(64,60,94,.07);
  --shadow-md:0 16px 36px rgba(64,60,94,.13);
  --radius:20px;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;background-color:#fffaf5;}
body{
  margin:0;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(760px 460px at 6% -8%, rgba(255,95,143,.20), transparent 62%),
    radial-gradient(700px 430px at 96% 0%, rgba(123,97,255,.18), transparent 64%),
    radial-gradient(680px 460px at 12% 46%, rgba(46,168,255,.12), transparent 66%),
    radial-gradient(720px 500px at 90% 82%, rgba(16,199,165,.15), transparent 66%),
    linear-gradient(180deg,#fffaf4 0%,#fff8f2 42%,#f7f8ff 100%);
}
img{max-width:100%;}
a{color:inherit;}
h1,h2,h3,h4{margin:0;color:var(--ink);}
p{margin:0;}
ul{margin:0;padding:0;}
.container{width:100%;max-width:1180px;margin:0 auto;padding:0 20px;}
section{scroll-margin-top:88px;}

/* ===== Header ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:120;
  background:rgba(255,250,245,.88);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:72px;
}
.brand{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  flex-shrink:0;
}
.ai-page-logo{max-height:42px;width:auto;display:block;}
.brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.16;
  font-weight:800;
  font-size:1.05rem;
  letter-spacing:.02em;
  color:var(--ink);
}
.brand-text em{
  font-style:normal;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.1em;
  color:var(--muted);
  margin-top:3px;
}
.nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex:1;
  min-width:0;
}
.nav-links{
  display:flex;
  align-items:center;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
}
.nav-links a{
  display:block;
  padding:8px 10px;
  border-radius:999px;
  font-size:.9rem;
  font-weight:600;
  color:var(--ink-2);
  text-decoration:none;
  white-space:nowrap;
  transition:background .22s ease,color .22s ease;
}
.nav-links a:hover{background:rgba(123,97,255,.12);color:#4b32c9;}
.nav-toggle{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  width:42px;
  height:42px;
  padding:0;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  box-shadow:var(--shadow-sm);
}
.nav-toggle span{
  display:block;
  width:18px;
  height:2px;
  border-radius:2px;
  background:var(--ink);
  transition:transform .25s ease,opacity .25s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 26px;
  border-radius:999px;
  border:1px solid transparent;
  font-family:inherit;
  font-size:.95rem;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .26s ease,border-color .22s ease,color .22s ease;
}
.btn-primary{
  background:linear-gradient(120deg,#ff5f8f 0%,#a855f7 55%,#7b61ff 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(123,97,255,.30);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(123,97,255,.38);}
.btn-primary:active{transform:translateY(0);}
.btn-ghost{
  background:#fff;
  color:var(--ink);
  border-color:rgba(27,26,51,.14);
  box-shadow:var(--shadow-sm);
}
.btn-ghost:hover{transform:translateY(-2px);border-color:rgba(123,97,255,.45);color:#4b32c9;}
.btn-sm{padding:9px 18px;font-size:.86rem;}
.btn-block{width:100%;}

/* ===== Hero ===== */
.hero{padding:58px 0 68px;overflow:hidden;}
.hero-inner{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:48px;
  align-items:center;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 14px;
  border-radius:999px;
  background:rgba(255,95,143,.12);
  border:1px solid rgba(255,95,143,.24);
  color:#c62a63;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.05em;
}
.hero h1{
  font-size:clamp(2rem,4.4vw,3.05rem);
  line-height:1.22;
  font-weight:900;
  letter-spacing:-.01em;
  margin:18px 0 16px;
}
.hl{
  background-image:linear-gradient(transparent 64%,rgba(255,176,32,.55) 64%);
  background-repeat:no-repeat;
  padding:0 2px;
}
.hero-lead{
  font-size:1rem;
  color:var(--ink-2);
  max-width:560px;
  margin-bottom:26px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.hero-points{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  margin-top:26px;
  font-size:.9rem;
  color:var(--ink-2);
}
.hero-points li{display:flex;align-items:center;gap:8px;}
.hero-points li::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  flex-shrink:0;
  background:linear-gradient(135deg,var(--pink),var(--purple));
}
.hero-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.stat-card{
  position:relative;
  overflow:hidden;
  padding:20px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
  transition:transform .26s ease,box-shadow .26s ease;
}
.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.stat-num{font-size:1.75rem;font-weight:900;line-height:1.15;color:#5b3fe0;}
.stat-card:nth-child(2) .stat-num{color:#d6246b;}
.stat-card:nth-child(3) .stat-num{color:#0f9c84;}
.stat-card:nth-child(4) .stat-num{color:#c07a00;}
.stat-label{margin-top:6px;font-size:.82rem;color:var(--muted);font-weight:600;}
.hero-tags{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
}
.tag{
  padding:5px 11px;
  border-radius:999px;
  font-size:.76rem;
  font-weight:700;
  background:rgba(123,97,255,.10);
  color:#4b32c9;
}

/* ===== Sections ===== */
.section{padding:64px 0;}
.section-head{max-width:720px;margin:0 auto 42px;text-align:center;}
.section-head.left{margin-left:0;margin-right:0;text-align:left;}
.section-head h2{
  font-size:clamp(1.5rem,3vw,2.05rem);
  line-height:1.3;
  font-weight:900;
  margin:14px 0 12px;
}
.section-head p{color:var(--muted);font-size:.98rem;}

/* ===== About ===== */
.about-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:44px;
  align-items:start;
}
.about-text p{color:var(--ink-2);font-size:.96rem;margin-bottom:16px;}
.check-list{
  list-style:none;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 20px;
  margin:22px 0 28px;
}
.check-list li{
  position:relative;
  padding-left:26px;
  font-size:.9rem;
  color:var(--ink-2);
  line-height:1.6;
}
.check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.42em;
  width:14px;
  height:14px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--mint),var(--sky));
}
.check-list li strong{color:var(--ink);font-weight:800;}
.about-visual{display:grid;gap:16px;}
.media-card{
  margin:0;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .26s ease,box-shadow .26s ease;
}
.media-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.media-card img{display:block;width:100%;height:auto;}

/* ===== Service cards ===== */
.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease;
}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:rgba(123,97,255,.28);}
.service-card{padding:26px 22px;display:flex;flex-direction:column;gap:12px;}
.service-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  background:linear-gradient(135deg,#ff5f8f,#ff8fb1);
}
.service-card:nth-child(2) .service-icon{background:linear-gradient(135deg,#7b61ff,#a99bff);}
.service-card:nth-child(3) .service-icon{background:linear-gradient(135deg,#10c7a5,#5fe0c7);}
.service-card:nth-child(4) .service-icon{background:linear-gradient(135deg,#2ea8ff,#7cc8ff);}
.service-card:nth-child(5) .service-icon{background:linear-gradient(135deg,#ffb020,#ffd27a);}
.service-card:nth-child(6) .service-icon{background:linear-gradient(135deg,#f0577f,#8b6bff);}
.service-icon svg{width:24px;height:24px;}
.service-card h3{font-size:1.05rem;font-weight:800;}
.service-card p{font-size:.9rem;color:var(--muted);line-height:1.7;}

/* ===== Scene grid ===== */
.scene-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.scene-card{
  padding:18px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.scene-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:rgba(255,95,143,.3);}
.scene-card h3{font-size:.95rem;font-weight:800;margin-bottom:6px;}
.scene-card p{font-size:.82rem;color:var(--muted);line-height:1.6;}

/* ===== Solutions ===== */
.solution-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.solution-card{
  padding:26px 22px;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#ffffff 0%,#fffaf6 100%);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .26s ease,box-shadow .26s ease;
}
.solution-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.solution-card::before{
  content:"";
  display:block;
  width:44px;
  height:5px;
  border-radius:999px;
  margin-bottom:16px;
  background:linear-gradient(90deg,var(--pink),var(--amber));
}
.solution-card:nth-child(2)::before{background:linear-gradient(90deg,var(--purple),var(--sky));}
.solution-card:nth-child(3)::before{background:linear-gradient(90deg,var(--mint),var(--sky));}
.solution-card:nth-child(4)::before{background:linear-gradient(90deg,var(--amber),var(--pink));}
.solution-card:nth-child(5)::before{background:linear-gradient(90deg,var(--sky),var(--purple));}
.solution-card:nth-child(6)::before{background:linear-gradient(90deg,var(--pink),var(--purple));}
.solution-card h3{font-size:1.02rem;font-weight:800;margin-bottom:8px;}
.solution-card p{font-size:.88rem;color:var(--muted);line-height:1.72;}

/* ===== Network ===== */
.network-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:36px;
  align-items:start;
}
.network-text p{color:var(--ink-2);font-size:.95rem;margin-bottom:14px;}
.model-cloud{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.model-chip{
  padding:7px 14px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:700;
  color:#3f3a70;
  background:rgba(123,97,255,.09);
  border:1px solid rgba(123,97,255,.16);
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.model-chip:nth-child(3n+1){background:rgba(255,95,143,.10);border-color:rgba(255,95,143,.20);color:#b32356;}
.model-chip:nth-child(3n+2){background:rgba(16,199,165,.11);border-color:rgba(16,199,165,.22);color:#0b7c68;}
.model-chip:hover{transform:translateY(-2px);background:rgba(46,168,255,.14);color:#0b5f9c;}

/* ===== Steps ===== */
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}
.step{
  padding:26px 22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform .26s ease,box-shadow .26s ease;
}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.step-num{
  width:38px;
  height:38px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:.95rem;
  color:#fff;
  margin-bottom:14px;
  background:linear-gradient(135deg,#7b61ff,#2ea8ff);
}
.step:nth-child(2) .step-num{background:linear-gradient(135deg,#ff5f8f,#ff9ab6);}
.step:nth-child(3) .step-num{background:linear-gradient(135deg,#10c7a5,#5fe0c7);}
.step:nth-child(4) .step-num{background:linear-gradient(135deg,#ffb020,#ffd27a);}
.step h3{font-size:.98rem;font-weight:800;margin-bottom:8px;}
.step p{font-size:.86rem;color:var(--muted);line-height:1.7;}

/* ===== Cases ===== */
.case-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:28px;
}
.case-card{padding:24px 22px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .26s ease,box-shadow .26s ease;}
.case-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.case-tag{
  display:inline-block;
  padding:4px 12px;
  border-radius:999px;
  font-size:.74rem;
  font-weight:700;
  color:#b32356;
  background:rgba(255,95,143,.12);
  margin-bottom:12px;
}
.case-card:nth-child(2) .case-tag{color:#4b32c9;background:rgba(123,97,255,.12);}
.case-card:nth-child(3) .case-tag{color:#0b7c68;background:rgba(16,199,165,.14);}
.case-card h3{font-size:1rem;font-weight:800;margin-bottom:8px;}
.case-card p{font-size:.87rem;color:var(--muted);line-height:1.72;}
.gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-item{margin:0;}
.gallery-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:4/3;
  padding:10px;
  background:linear-gradient(180deg,#fff7f2,#f4f7ff);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  transition:transform .26s ease,box-shadow .26s ease;
}
.gallery-item:hover .gallery-frame{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.gallery-frame img{width:100%;height:100%;object-fit:contain;display:block;}
.gallery-item figcaption{margin-top:10px;font-size:.82rem;color:var(--muted);text-align:center;}

/* ===== Compare ===== */
.score-band{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px 26px;
  align-items:center;
  padding:26px 28px;
  border-radius:var(--radius);
  background:linear-gradient(120deg,#fff2f7 0%,#f3f0ff 52%,#eafaf6 100%);
  border:1px solid rgba(123,97,255,.18);
  box-shadow:var(--shadow-sm);
  margin-bottom:26px;
}
.score-main{display:flex;align-items:baseline;gap:4px;color:#5b3fe0;}
.score-num{font-size:2.6rem;font-weight:900;line-height:1;}
.score-max{font-size:.95rem;font-weight:700;color:var(--muted);}
.score-info{display:flex;flex-direction:column;gap:2px;}
.stars{color:#ff9d00;font-size:1.05rem;letter-spacing:3px;line-height:1.2;}
.score-info p{font-size:.88rem;color:var(--ink-2);font-weight:700;}
.score-desc{grid-column:1/-1;font-size:.88rem;color:var(--muted);margin-top:6px;}
.table-wrap{
  overflow-x:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  -webkit-overflow-scrolling:touch;
}
table{width:100%;border-collapse:collapse;min-width:740px;font-size:.9rem;}
thead th{
  text-align:left;
  padding:15px 18px;
  font-weight:800;
  color:var(--ink);
  background:linear-gradient(90deg,rgba(255,95,143,.10),rgba(123,97,255,.10));
  border-bottom:1px solid var(--line);
  white-space:nowrap;
}
tbody td{
  padding:14px 18px;
  border-bottom:1px solid var(--line);
  color:var(--ink-2);
  vertical-align:top;
  line-height:1.6;
}
tbody tr:last-child td{border-bottom:none;}
tbody tr:hover{background:rgba(123,97,255,.05);}
tbody td:first-child{font-weight:800;color:var(--ink);white-space:nowrap;}
td.best{background:rgba(16,199,165,.07);font-weight:700;color:#0b6f5e;}

/* ===== Token ===== */
.token-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-bottom:24px;
}
.token-card{
  padding:22px 20px;
  border-radius:18px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .24s ease,box-shadow .24s ease;
}
.token-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.token-card h3{font-size:.95rem;font-weight:800;margin-bottom:8px;}
.token-card p{font-size:.84rem;color:var(--muted);line-height:1.66;}
.token-note{
  font-size:.85rem;
  color:var(--muted);
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:center;
}
.token-note a{color:#4b32c9;font-weight:700;text-decoration:none;}
.token-note a:hover{text-decoration:underline;}

/* ===== Reviews ===== */
.review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}
.review-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:24px 22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform .26s ease,box-shadow .26s ease;
}
.review-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.review-text{font-size:.9rem;color:var(--ink-2);line-height:1.78;}
.review-author{display:flex;align-items:center;gap:12px;margin-top:auto;}
.avatar{
  width:42px;
  height:42px;
  flex-shrink:0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:.95rem;
  color:#fff;
  background:linear-gradient(135deg,#ff5f8f,#ff9ab6);
}
.review-card:nth-child(2) .avatar{background:linear-gradient(135deg,#7b61ff,#a99bff);}
.review-card:nth-child(3) .avatar{background:linear-gradient(135deg,#10c7a5,#5fe0c7);}
.review-card:nth-child(4) .avatar{background:linear-gradient(135deg,#2ea8ff,#7cc8ff);}
.review-card:nth-child(5) .avatar{background:linear-gradient(135deg,#ffb020,#ffd27a);}
.review-card:nth-child(6) .avatar{background:linear-gradient(135deg,#f0577f,#8b6bff);}
.author-name{font-size:.9rem;font-weight:800;color:var(--ink);line-height:1.3;}
.author-role{font-size:.78rem;color:var(--muted);}

/* ===== Help ===== */
.help-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-bottom:32px;
}
.help-card{padding:24px 22px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .26s ease,box-shadow .26s ease;}
.help-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.help-card h3{font-size:.98rem;font-weight:800;margin-bottom:8px;}
.help-card p{font-size:.87rem;color:var(--muted);line-height:1.7;}
.knowledge-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:start;
}
.panel{
  padding:26px 24px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.panel h3{font-size:1.02rem;font-weight:900;margin-bottom:16px;}
.term-list{list-style:none;display:grid;gap:14px;}
.term-list li{font-size:.88rem;color:var(--muted);line-height:1.7;padding-left:14px;position:relative;}
.term-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.6em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--pink),var(--purple));
}
.term-list li strong{color:var(--ink);font-weight:800;}
.article-list{list-style:none;display:grid;gap:12px;}
.article-list a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  background:rgba(123,97,255,.06);
  color:var(--ink-2);
  font-size:.88rem;
  font-weight:600;
  text-decoration:none;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.article-list a:hover{background:rgba(123,97,255,.13);color:#4b32c9;transform:translateX(3px);}
.article-list a::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:2px;
  flex-shrink:0;
  background:linear-gradient(135deg,var(--sky),var(--mint));
}

/* ===== FAQ ===== */
.faq-list{max-width:860px;margin:0 auto;display:grid;gap:12px;}
.faq-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  transition:border-color .22s ease,box-shadow .22s ease;
}
.faq-item[open]{border-color:rgba(123,97,255,.32);box-shadow:var(--shadow-md);}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  padding:18px 22px;
  font-size:.95rem;
  font-weight:800;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"";
  width:9px;
  height:9px;
  flex-shrink:0;
  border-right:2px solid var(--purple);
  border-bottom:2px solid var(--purple);
  transform:rotate(45deg);
  transition:transform .25s ease;
  margin-right:4px;
}
.faq-item[open] summary::after{transform:rotate(-135deg);}
.faq-body{padding:0 22px 20px;font-size:.9rem;color:var(--muted);line-height:1.8;}

/* ===== Join ===== */
.join-card{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:30px;
  align-items:center;
  padding:36px 34px;
  border-radius:26px;
  background:linear-gradient(120deg,#fff1f6 0%,#f2f0ff 50%,#e9fbf6 100%);
  border:1px solid rgba(123,97,255,.18);
  box-shadow:var(--shadow-sm);
}
.join-card h2{font-size:clamp(1.35rem,2.6vw,1.8rem);font-weight:900;line-height:1.32;margin-bottom:12px;}
.join-card p{font-size:.93rem;color:var(--ink-2);margin-bottom:10px;}
.join-actions{display:flex;flex-direction:column;gap:12px;}

/* ===== Contact ===== */
.contact-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:30px;
  align-items:start;
}
.form-panel{
  padding:30px 28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.form-panel h3{font-size:1.05rem;font-weight:900;margin-bottom:6px;}
.form-panel > p{font-size:.86rem;color:var(--muted);margin-bottom:20px;}
.field{display:block;margin-bottom:16px;}
.field span{display:block;font-size:.84rem;font-weight:700;color:var(--ink-2);margin-bottom:7px;}
.field input,
.field select,
.field textarea{
  width:100%;
  font-family:inherit;
  font-size:.92rem;
  color:var(--ink);
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(27,26,51,.14);
  background:#fffdfb;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.field textarea{resize:vertical;min-height:110px;}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:rgba(123,97,255,.55);
  box-shadow:0 0 0 4px rgba(123,97,255,.12);
  background:#fff;
}
.field input::placeholder,
.field textarea::placeholder{color:#a5a1bd;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-note{font-size:.78rem;color:var(--muted);margin-top:12px;text-align:center;}
.contact-side{display:grid;gap:18px;}
.contact-item{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px 20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow-sm);
}
.contact-item .ci-label{font-size:.78rem;font-weight:700;color:var(--muted);letter-spacing:.04em;}
.contact-item .ci-value{font-size:.92rem;font-weight:800;color:var(--ink);word-break:break-all;}
.contact-item a{text-decoration:none;color:#4b32c9;}
.contact-item a:hover{text-decoration:underline;}
.qr-card{
  padding:20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:var(--shadow-sm);
  text-align:center;
}
.qr-card img{width:150px;height:auto;display:block;margin:0 auto 10px;border-radius:12px;border:1px solid var(--line);}
.qr-card p{font-size:.82rem;color:var(--muted);}

/* ===== Footer ===== */
.site-footer{
  margin-top:20px;
  background:linear-gradient(160deg,#1d1b38 0%,#221f42 55%,#1a2338 100%);
  color:#e8e6f6;
  padding:38px 0 26px;
}
.site-footer a{color:#cfc9ff;text-decoration:none;}
.site-footer a:hover{color:#ffffff;text-decoration:underline;}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 16px;
  font-size:.85rem;
  padding-bottom:20px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-label{color:#a9a4c9;font-weight:700;font-size:.85rem;}
.footer-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 22px;
  align-items:center;
  font-size:.84rem;
  color:#b9b4d6;
  padding:20px 0 12px;
}
.copyright{font-size:.78rem;color:#8f8ab0;}

/* ===== Float tools ===== */
.float-tools{
  position:fixed;
  right:18px;
  bottom:22px;
  z-index:200;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
.float-panel{
  width:224px;
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 20px 44px rgba(50,40,90,.18);
  animation:popIn .22s ease both;
}
.float-panel[hidden]{display:none;}
.float-panel p{font-size:.8rem;color:var(--muted);text-align:center;line-height:1.6;}
.float-panel img{width:100%;height:auto;display:block;border-radius:10px;margin-bottom:10px;border:1px solid var(--line);}
.float-panel .fp-line{font-size:.8rem;color:var(--ink-2);font-weight:700;text-align:center;margin-top:4px;word-break:break-all;}
.float-btn,.to-top{
  width:52px;
  height:52px;
  border-radius:50%;
  border:none;
  cursor:pointer;
  font-family:inherit;
  font-size:.82rem;
  font-weight:800;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 26px rgba(123,97,255,.34);
  transition:transform .22s ease,box-shadow .22s ease;
}
.float-btn{background:linear-gradient(135deg,#ff5f8f,#7b61ff);}
.float-btn:hover{transform:translateY(-3px);box-shadow:0 18px 32px rgba(123,97,255,.44);}
.to-top{
  background:linear-gradient(135deg,#10c7a5,#2ea8ff);
  font-size:1.1rem;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
}
.to-top.show{opacity:1;visibility:visible;transform:none;}

/* ===== Motion ===== */
@keyframes riseIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
@keyframes popIn{from{opacity:0;transform:translateY(8px) scale(.97);}to{opacity:1;transform:none;}}
.hero-copy > *{animation:riseIn .7s ease both;}
.hero-copy > *:nth-child(2){animation-delay:.08s;}
.hero-copy > *:nth-child(3){animation-delay:.16s;}
.hero-copy > *:nth-child(4){animation-delay:.24s;}
.hero-copy > *:nth-child(5){animation-delay:.32s;}
.hero-panel > *{animation:riseIn .7s ease both;}
.hero-panel > *:nth-child(1){animation-delay:.12s;}
.hero-panel > *:nth-child(2){animation-delay:.18s;}
.hero-panel > *:nth-child(3){animation-delay:.24s;}
.hero-panel > *:nth-child(4){animation-delay:.30s;}
.hero-panel > *:nth-child(5){animation-delay:.36s;}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal,.hero-copy > *,.hero-panel > *,.float-panel{opacity:1;transform:none;animation:none;transition:none;}
}

/* ===== Responsive ===== */
@media (max-width:1080px){
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .solution-grid{grid-template-columns:repeat(2,1fr);}
  .scene-grid{grid-template-columns:repeat(3,1fr);}
  .steps{grid-template-columns:repeat(2,1fr);}
  .review-grid{grid-template-columns:repeat(2,1fr);}
  .case-grid{grid-template-columns:1fr;}
  .token-grid{grid-template-columns:repeat(2,1fr);}
  .help-grid{grid-template-columns:1fr;}
}
@media (max-width:980px){
  .nav-links{
    position:absolute;
    top:calc(100% + 8px);
    left:20px;
    right:20px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 22px 44px rgba(50,40,90,.16);
    display:none;
  }
  .nav-links.open{display:flex;animation:popIn .22s ease both;}
  .nav-links a{padding:12px 14px;font-size:.95rem;border-radius:12px;}
  .nav-toggle{display:flex;}
  .hero-inner{grid-template-columns:1fr;gap:36px;}
  .about-grid{grid-template-columns:1fr;gap:30px;}
  .network-grid{grid-template-columns:1fr;gap:24px;}
  .contact-grid{grid-template-columns:1fr;}
  .knowledge-grid{grid-template-columns:1fr;}
  .join-card{grid-template-columns:1fr;gap:22px;padding:28px 24px;}
}
@media (max-width:760px){
  .section{padding:48px 0;}
  .hero{padding:40px 0 52px;}
  .nav-cta{display:none;}
  .scene-grid{grid-template-columns:repeat(2,1fr);}
  .gallery{grid-template-columns:1fr 1fr;}
  .form-row{grid-template-columns:1fr;}
  .check-list{grid-template-columns:1fr;}
  .score-band{grid-template-columns:1fr;gap:8px;}
  .score-main{justify-content:flex-start;}
  .hero-panel{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  .brand-text{font-size:.95rem;}
  .brand-text em{font-size:.62rem;}
  .service-grid,
  .solution-grid,
  .review-grid,
  .steps,
  .token-grid,
  .gallery{grid-template-columns:1fr;}
  .scene-grid{grid-template-columns:1fr;}
  .hero-actions .btn{width:100%;}
  .footer-links{font-size:.8rem;}
}

.reveal{opacity:1 !important;transform:none !important;}