/* ============================================================
   锐达星宣传站 · 基础 + 组件（移动优先，min-width 单向上增强）
   ============================================================ */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  margin:0; font-family:var(--font-sans); font-size:var(--fs-body);
  line-height:var(--lh-body); color:var(--text-primary);
  background:var(--bg-base);
  /* 底部给固定 CTA 条让位（<900px 时可见） */
  padding-bottom:calc(76px + var(--safe-b));
  overflow-x:hidden;
}
@media (min-width:900px){ body{ padding-bottom:0; } }

img,svg,canvas{ display:block; max-width:100%; }
a{ color:var(--ai-cyan); text-decoration:none; }
a:hover{ text-decoration:underline; }
h1,h2,h3,h4{ line-height:1.28; margin:0 0 .5em; font-weight:700; }
p{ margin:0 0 1em; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; }
::selection{ background:rgba(53,224,255,.28); }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); }
.sec{ padding-top:var(--sec-gap); }
.sec-head{ max-width:760px; margin:0 auto 40px; text-align:center; }
.sec-head .kicker{
  display:inline-block; font-size:var(--fs-small); letter-spacing:.18em;
  color:var(--ai-cyan); border:1px solid var(--border-default);
  border-radius:999px; padding:4px 14px; margin-bottom:14px;
}
.sec-head h2{ font-size:var(--fs-h2); }
.sec-head .sub{ color:var(--text-secondary); margin:0; }
.num{ font-variant-numeric:tabular-nums; }

/* ---------- 滚动显现（打印态强制还原见 @media print） ---------- */
html.js .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
html.js .reveal.in{ opacity:1; transform:none; }

/* ---------- 顶部导航 ---------- */
.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(7,11,22,.82); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border-subtle);
}
.nav-in{
  max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter);
  height:60px; display:flex; align-items:center; gap:18px;
}
.brand{ display:flex; align-items:center; gap:10px; color:var(--text-primary); font-weight:800; font-size:17px; text-decoration:none; }
.brand:hover{ text-decoration:none; }
.brand .mark{
  width:30px; height:30px; border-radius:9px; flex:none;
  background:linear-gradient(135deg,var(--brand-indigo),var(--brand-violet) 55%,var(--ai-cyan));
  box-shadow:0 0 18px rgba(91,124,255,.5);
  position:relative;
}
.brand .mark::after{
  content:""; position:absolute; inset:8px; border-radius:50%;
  background:radial-gradient(circle,#fff 0 28%,transparent 30%);
  opacity:.9;
}
.nav-links{ display:none; gap:4px; margin-left:auto; }
.nav-links a{
  position:relative;
  color:var(--text-secondary); font-size:14.5px; padding:8px 12px;
  min-height:44px; display:flex; align-items:center; border-radius:8px;
}
.nav-links a:hover{ color:var(--text-primary); background:var(--surface-1); text-decoration:none; }
.nav-links a.active{ color:var(--text-primary); background:var(--surface-1); }
.nav-links a.active::after{
  content:""; position:absolute; left:12px; right:12px; bottom:6px; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--brand-indigo),var(--ai-cyan));
}
.nav-cta{ display:none; }
.nav-toggle{
  margin-left:auto; flex:none; width:46px; height:46px; border:1px solid var(--border-default);
  background:var(--surface-1); border-radius:10px; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.nav-toggle span{ width:18px; height:2px; background:var(--text-primary); border-radius:2px; transition:.25s var(--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); }
@media (min-width:900px){
  .nav-links{ display:flex; }
  .nav-cta{ display:inline-flex; margin-left:6px; }
  .nav-toggle{ display:none; }
}

/* 抽屉导航（移动端） */
.drawer{
  position:fixed; inset:60px 0 auto 0; z-index:49;
  background:rgba(6,9,18,.97); border-bottom:1px solid var(--border-default);
  transform:translateY(-105%); transition:transform .32s var(--ease);
  padding:10px var(--gutter) 18px;
}
.drawer.open{ transform:none; }
.drawer a{
  display:flex; align-items:center; min-height:48px;
  color:var(--text-primary); font-size:16px;
  border-bottom:1px solid var(--border-subtle);
}
.drawer a:last-child{ border-bottom:0; }

/* ---------- 按钮 ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:10px 22px; border-radius:12px; font-size:15px;
  font-weight:600; cursor:pointer; border:1px solid transparent;
  transition:.22s var(--ease); text-decoration:none;
}
.btn:hover{ text-decoration:none; transform:translateY(-1px); }
.btn-primary{
  background:linear-gradient(135deg,var(--brand-indigo),var(--brand-violet));
  color:#fff; box-shadow:0 6px 26px rgba(91,124,255,.42);
}
.btn-primary:hover{ box-shadow:0 10px 32px rgba(91,124,255,.6); }
.btn-ghost{
  background:var(--surface-1); color:var(--text-primary);
  border-color:var(--border-default);
}
.btn-ghost:hover{ border-color:var(--border-strong); }

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden;
  padding:clamp(56px,9vw,110px) 0 clamp(48px,7vw,84px);
}
.hero-bg{ position:absolute; inset:0; z-index:-1; pointer-events:none; }
.aurora{ position:absolute; border-radius:50%; filter:blur(80px); opacity:.5; animation:float 16s ease-in-out infinite alternate; }
.aurora.a1{ width:520px; height:520px; left:-140px; top:-160px; background:radial-gradient(circle,rgba(91,124,255,.55),transparent 65%); }
.aurora.a2{ width:460px; height:460px; right:-120px; top:40px; background:radial-gradient(circle,rgba(53,224,255,.36),transparent 65%); animation-delay:-6s; }
.aurora.a3{ width:420px; height:420px; left:34%; bottom:-220px; background:radial-gradient(circle,rgba(139,92,246,.4),transparent 65%); animation-delay:-11s; }
@keyframes float{
  from{ transform:translate(0,0) scale(1); }
  to{ transform:translate(34px,-26px) scale(1.08); }
}
#stars{ position:absolute; inset:0; width:100%; height:100%; opacity:.75; }
.scanline{
  position:absolute; left:0; right:0; height:120px; top:-140px; pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(53,224,255,.06),transparent);
  animation:scan 9s linear infinite;
}
@keyframes scan{ to{ transform:translateY(calc(100vh + 280px)); } }
@media (max-width:599px){
  .aurora{ filter:blur(56px); }
  .scanline{ display:none; }
}

.hero-in{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); text-align:center; position:relative; }
.hero .badge-row{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-bottom:22px; }
.chip{
  font-size:var(--fs-small); color:var(--text-secondary);
  background:var(--surface-1); border:1px solid var(--border-subtle);
  border-radius:999px; padding:5px 13px;
}
.chip b{ color:var(--ai-cyan); font-weight:600; }
.hero h1{ font-size:var(--fs-display); letter-spacing:.01em; margin-bottom:14px; }
.hero h1 .grad{
  background:linear-gradient(100deg,var(--brand-indigo) 0%,var(--ai-cyan) 55%,var(--gold) 110%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero .lead{ color:var(--text-secondary); max-width:640px; margin:0 auto 30px; font-size:clamp(15px,4.2vw,17.5px); }
.hero .cta-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.hero .cta-row .btn{ min-width:168px; }
.hero-note{ margin-top:16px; font-size:var(--fs-small); color:var(--text-faint); }

/* 数字带 */
.metric-band{
  max-width:var(--maxw); margin:clamp(40px,6vw,64px) auto 0; padding:0 var(--gutter);
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px;
}
.metric{
  background:var(--surface-1); border:1px solid var(--border-subtle);
  border-radius:var(--r-md); padding:18px 16px; text-align:center;
  backdrop-filter:blur(10px);
}
.metric .v{
  font-size:clamp(24px,6vw,34px); font-weight:800; letter-spacing:.01em;
  background:linear-gradient(120deg,#fff,var(--ai-cyan));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.metric .k{ font-size:var(--fs-small); color:var(--text-tertiary); margin-top:4px; }
@media (min-width:900px){
  .metric-band{ grid-template-columns:repeat(4,1fr); }
}

/* ---------- 定位区 ---------- */
.pos-grid{ display:grid; gap:14px; }
@media (min-width:900px){ .pos-grid{ grid-template-columns:repeat(3,1fr); } }
.card{
  background:var(--surface-1); border:1px solid var(--border-subtle);
  border-radius:var(--r-lg); padding:26px 22px; backdrop-filter:blur(10px);
  transition:.28s var(--ease);
}
.card:hover{ border-color:var(--border-strong); transform:translateY(-3px); }
.card .ico{
  width:46px; height:46px; border-radius:13px; margin-bottom:16px;
  display:flex; align-items:center; justify-content:center; font-size:22px;
  background:linear-gradient(135deg,rgba(91,124,255,.28),rgba(53,224,255,.16));
  border:1px solid var(--border-default);
}
.card h3{ font-size:var(--fs-h3); }
.card p{ color:var(--text-secondary); margin:0; font-size:14.5px; }
.card .tag{ display:inline-block; margin-top:14px; font-size:12.5px; color:var(--ai-cyan); font-family:var(--font-mono); }

/* ---------- 能力矩阵 ---------- */
.cap-grid{ display:grid; gap:14px; }
@media (min-width:600px){ .cap-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1080px){ .cap-grid{ grid-template-columns:repeat(3,1fr); } }
.cap{
  position:relative; overflow:hidden;
  background:var(--surface-1); border:1px solid var(--border-subtle);
  border-radius:var(--r-lg); padding:24px 20px;
}
.cap::before{
  content:""; position:absolute; inset:0 auto auto 0; width:100%; height:2px;
  background:linear-gradient(90deg,transparent,var(--ai-cyan),transparent);
  opacity:0; transition:.3s;
}
.cap:hover::before{ opacity:.9; }
.cap .no{ font-family:var(--font-mono); font-size:12.5px; color:var(--ai-cyan); letter-spacing:.14em; }
.cap h3{ font-size:17.5px; margin:8px 0 8px; }
.cap p{ color:var(--text-secondary); font-size:14px; margin:0; }
.cap .foot{ margin-top:14px; display:flex; flex-wrap:wrap; gap:6px; }
.cap .foot i{
  font-style:normal; font-size:12px; color:var(--text-tertiary);
  border:1px solid var(--border-subtle); border-radius:6px; padding:2px 8px;
}

/* ---------- 安全合规 ---------- */
.sec-band{
  background:linear-gradient(180deg,transparent,rgba(91,124,255,.05) 20%,rgba(91,124,255,.05) 80%,transparent);
}
.sec-list{ display:grid; gap:12px; }
@media (min-width:900px){ .sec-list{ grid-template-columns:repeat(2,1fr); } }
.sec-item{
  display:flex; gap:14px; align-items:flex-start;
  background:var(--surface-1); border:1px solid var(--border-subtle);
  border-radius:var(--r-md); padding:18px;
}
.sec-item .b{
  flex:none; width:38px; height:38px; border-radius:10px;
  display:flex; align-items:center; justify-content:center; font-size:18px;
  background:rgba(78,240,165,.12); border:1px solid rgba(78,240,165,.3);
}
.sec-item h4{ margin:0 0 4px; font-size:15.5px; }
.sec-item p{ margin:0; color:var(--text-secondary); font-size:13.5px; }

/* ---------- 对比表 ---------- */
.tablewrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border-radius:var(--r-md); }
.tablewrap table{
  width:100%; min-width:640px; border-collapse:collapse; font-size:14px;
  background:var(--surface-1); border:1px solid var(--border-subtle);
  border-radius:var(--r-md); overflow:hidden;
}
.tablewrap th,.tablewrap td{ padding:13px 14px; text-align:left; border-bottom:1px solid var(--border-subtle); }
.tablewrap thead th{
  position:sticky; top:0; background:var(--bg-elevated);
  font-size:13px; color:var(--text-tertiary); font-weight:600; letter-spacing:.04em;
}
.tablewrap td:first-child{ color:var(--text-primary); font-weight:600; white-space:nowrap; }
.tablewrap tbody tr:last-child td{ border-bottom:0; }
.td-ok{ color:var(--ok); white-space:nowrap; }
.td-no{ color:var(--danger); white-space:nowrap; }
.td-mid{ color:var(--warn); white-space:nowrap; }
@media (max-width:599px){
  .tablewrap{ mask-image:linear-gradient(90deg,#000 88%,transparent); }
  .tablewrap th,.tablewrap td{ padding:11px 10px; font-size:13px; }
}

/* ---------- 用户群体 ---------- */
.aud-grid{ display:grid; gap:12px; }
@media (min-width:600px){ .aud-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1080px){ .aud-grid{ grid-template-columns:repeat(4,1fr); } }
.aud{
  background:var(--surface-1); border:1px solid var(--border-subtle);
  border-radius:var(--r-md); padding:20px 18px;
}
.aud .em{ font-size:24px; margin-bottom:10px; }
.aud h4{ margin:0 0 6px; font-size:15.5px; }
.aud p{ margin:0; color:var(--text-secondary); font-size:13.5px; }

/* ---------- FAQ ---------- */
.faq{ max-width:820px; margin:0 auto; }
.faq details{
  background:var(--surface-1); border:1px solid var(--border-subtle);
  border-radius:var(--r-md); margin-bottom:10px; overflow:hidden;
}
.faq summary{
  cursor:pointer; padding:16px 18px; font-weight:600; font-size:15px;
  min-height:44px; display:flex; align-items:center; list-style:none; gap:10px;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::before{ content:"+"; color:var(--ai-cyan); font-size:18px; flex:none; }
.faq details[open] summary::before{ content:"−"; }
.faq .a{ padding:0 18px 16px 42px; color:var(--text-secondary); font-size:14px; margin:0; }

/* ---------- 留资 CTA ---------- */
.cta-sec .panel{
  max-width:760px; margin:0 auto; text-align:center;
  background:linear-gradient(160deg,rgba(91,124,255,.16),rgba(53,224,255,.07));
  border:1px solid var(--border-strong); border-radius:var(--r-lg);
  padding:clamp(28px,5vw,52px);
}
.lead-form{ display:grid; gap:10px; max-width:440px; margin:22px auto 0; text-align:left; }
@media (min-width:600px){ .lead-form{ grid-template-columns:1fr 1fr; } .lead-form .full{ grid-column:1/-1; } }
.lead-form label{ font-size:13px; color:var(--text-tertiary); display:block; margin-bottom:4px; }
.lead-form input{
  width:100%; min-height:44px; padding:10px 12px; font-size:16px;
  background:rgba(4,6,13,.7); color:var(--text-primary);
  border:1px solid var(--border-default); border-radius:10px;
}
@media (min-width:600px){ .lead-form input{ font-size:14.5px; } }
.lead-form input:focus{ outline:2px solid var(--brand-indigo); outline-offset:1px; border-color:transparent; }
.hp{ position:absolute; left:-9999px; }
.form-msg{ grid-column:1/-1; min-height:22px; font-size:13.5px; margin:2px 0 0; }
.form-msg.err{ color:var(--danger); }
.form-msg.ok{ color:var(--ok); }

/* ---------- Footer ---------- */
footer{ border-top:1px solid var(--border-subtle); margin-top:var(--sec-gap); padding:36px 0 30px; }
.foot-in{ max-width:var(--maxw); margin:0 auto; padding:0 var(--gutter); display:grid; gap:20px; }
@media (min-width:900px){ .foot-in{ grid-template-columns:1.4fr 1fr 1fr; } }
.foot-in h5{ margin:0 0 10px; font-size:13.5px; color:var(--text-tertiary); letter-spacing:.08em; }
.foot-in a,.foot-in p{ color:var(--text-secondary); font-size:13.5px; }
.foot-in li{ margin-bottom:6px; }
.copyright{ text-align:center; color:var(--text-faint); font-size:12.5px; margin-top:26px; }

/* ---------- 底部固定 CTA（<900px） ---------- */
.mobile-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:48;
  display:none; gap:10px; padding:10px var(--gutter) calc(10px + var(--safe-b));
  background:rgba(6,9,18,.92); backdrop-filter:blur(12px);
  border-top:1px solid var(--border-default);
}
.mobile-cta .btn{ flex:1; min-height:48px; }
@media (max-width:899px){ .mobile-cta{ display:flex; } }

/* ---------- 回到顶部 ---------- */
.to-top{
  position:fixed; right:16px; bottom:calc(92px + var(--safe-b)); z-index:47;
  width:44px; height:44px; border-radius:50%; border:1px solid var(--border-default);
  background:var(--surface-2); color:var(--text-primary); font-size:18px; cursor:pointer;
  opacity:0; pointer-events:none; transition:.3s var(--ease);
}
.to-top.show{ opacity:1; pointer-events:auto; }
@media (min-width:900px){ .to-top{ bottom:24px; } }

/* ---------- 打印 ---------- */
@media print{
  body{ background:#fff; color:#111; padding-bottom:0; }
  .nav,.drawer,.mobile-cta,.to-top,.hero-bg,.scanline,#stars,.demo-shell{ display:none !important; }
  html.js .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .card,.cap,.sec-item,.aud,.metric,.faq details{ background:#fff; border-color:#ccc; }
  .hero h1 .grad,.metric .v{ color:#123; -webkit-text-fill-color:#123; }
  a{ color:#123; }
}
