/* ==========================================================================
   立成AI外贸系统 · 对外宣传站 视觉语言
   --------------------------------------------------------------------------
   目标：科技感 / 高端 / 大气，同时**一行 JS 都不加**。
   所有动效都是 CSS：入场淡起、Hero 光晕呼吸、业务链跑光、模块名走马灯、
   卡片悬停抬起。CSP 仍然是 script-src 'none' / connect-src 'none'。

   ⚠️ 两条不能破的：
     ① 滚动触发动画一律包在 @supports (animation-timeline: view()) 里。
        Firefox / 旧 Safari 不支持 —— 不包的话那些元素会**永远停在 opacity:0**，
        整页在那些浏览器上等于空白。默认状态必须是「已经可见」。
     ② @media (prefers-reduced-motion: reduce) 里把动效全关掉。
   ========================================================================== */

:root{
  /* 品牌蓝 —— 与系统内保持一致，禁紫色、禁自造渐变色系 */
  --c-primary:#1677ff;
  --c-primary-400:#4d9bff;
  --c-primary-600:#0f6ae8;
  --c-primary-700:#0958d9;
  --c-primary-800:#003eb3;
  --c-cyan:#36cfff;

  --c-primary-50:#f0f7ff;
  --c-primary-100:#dbeafe;
  --c-primary-200:#bcd9ff;

  /* 深色底 —— Hero 与强调区块 */
  --c-ink:#070b16;
  --c-ink-2:#0b1226;
  --c-ink-3:#111b33;
  --c-on-ink:#e8eefc;
  --c-on-ink-dim:#93a4c8;
  --c-on-ink-faint:#5d6f94;

  --c-n0:#ffffff;
  --c-n50:#f7f9fc;
  --c-n100:#eef2f8;
  --c-n200:#e3e9f2;
  --c-n300:#cbd5e1;
  --c-n400:#94a3b8;
  --c-n500:#64748b;
  --c-n600:#475569;
  --c-n700:#334155;
  --c-n800:#1e293b;
  --c-n900:#0f172a;

  --c-ok-50:#f0fdf4;
  --c-ok-200:#bbf7d0;
  --c-ok-700:#15803d;
  --c-warn-50:#fffbeb;
  --c-warn-200:#fde68a;
  --c-warn-700:#b45309;

  --r-sm:6px;
  --r-md:10px;
  --r-lg:16px;
  --r-xl:22px;
  --r-pill:999px;

  --sp-1:4px;  --sp-2:8px;  --sp-3:12px; --sp-4:16px;
  --sp-5:24px; --sp-6:36px; --sp-7:52px; --sp-8:76px; --sp-9:104px;

  /* 大屏不再把内容挤在中间一条 —— 1180 在 2560 的屏幕上两侧各空 690px */
  --wrap:1280px;
  --wrap-wide:1480px;

  --shadow-sm:0 1px 2px rgba(15,23,42,.05);
  --shadow-md:0 4px 16px rgba(15,23,42,.07);
  --shadow-lg:0 18px 48px -12px rgba(15,23,42,.18);
  --shadow-glow:0 0 0 1px rgba(22,119,255,.16), 0 20px 60px -18px rgba(22,119,255,.45);

  --ease:cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--c-n0);
  color:var(--c-n800);
  font:16px/1.72 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",
       "Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--c-primary-700);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0;line-height:1.3;color:var(--c-n900);font-weight:700;
  letter-spacing:-.01em}
p{margin:0}
ul{margin:0;padding-left:1.15em}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--sp-5)}
.wrap-wide{max-width:var(--wrap-wide);margin:0 auto;padding:0 var(--sp-5)}

/* ── 图标 ──────────────────────────────────────────────────────────── */
/* 用 <symbol> 精灵 + <use>：零外部请求、零 JS，整站共用一份定义 */
.ic{width:22px;height:22px;flex:0 0 auto;display:block;
  fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.ic-lg{width:26px;height:26px}
.ic-sm{width:17px;height:17px;stroke-width:1.8}

/* ══════════════════════════════════════════════════════════════════════
   顶栏
   ══════════════════════════════════════════════════════════════════════ */
.nav{position:sticky;top:0;z-index:60;
  background:rgba(7,11,22,.72);
  backdrop-filter:saturate(180%) blur(14px);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid rgba(255,255,255,.07)}
.nav-in{display:flex;align-items:center;gap:var(--sp-6);
  max-width:var(--wrap-wide);margin:0 auto;padding:var(--sp-3) var(--sp-5)}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;
  font-weight:700;font-size:16.5px;color:#fff;letter-spacing:.2px}
.brand:hover{text-decoration:none}
.brand-mark{width:28px;height:28px;border-radius:9px;flex:0 0 auto;position:relative;
  background:linear-gradient(140deg,var(--c-cyan) 0%,var(--c-primary) 45%,var(--c-primary-800) 100%);
  box-shadow:0 0 18px -2px rgba(54,207,255,.55)}
.brand-mark::after{content:"";position:absolute;inset:8px;
  border:2px solid rgba(255,255,255,.92);border-radius:4px}
.nav-links{display:flex;align-items:center;gap:var(--sp-6);flex:1 1 auto;flex-wrap:wrap}
.nav-links a{color:var(--c-on-ink-dim);font-size:14.5px;position:relative;padding:2px 0}
.nav-links a:hover{color:#fff;text-decoration:none}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;
  background:linear-gradient(90deg,var(--c-cyan),var(--c-primary));
  transition:right .28s var(--ease)}
.nav-links a:hover::after,.nav-links a.on::after{right:0}
.nav-links a.on{color:#fff;font-weight:600}
.nav-cta{flex:0 0 auto;border:1px solid rgba(255,255,255,.22);color:#fff;
  border-radius:var(--r-pill);padding:7px 20px;font-size:14px;font-weight:600;
  transition:background .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease)}
.nav-cta:hover{background:var(--c-primary);border-color:var(--c-primary);
  text-decoration:none;box-shadow:0 0 24px -4px rgba(22,119,255,.8)}

@media(max-width:900px){
  .nav-in{flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4)}
  .nav-links{order:3;flex-basis:100%;gap:var(--sp-4);font-size:14px}
  .nav-cta{margin-left:auto}
}

/* ══════════════════════════════════════════════════════════════════════
   Hero —— 深色 + 网格 + 光晕
   ══════════════════════════════════════════════════════════════════════ */
.hero{position:relative;background:var(--c-ink);color:var(--c-on-ink);
  padding:var(--sp-9) 0 var(--sp-8);overflow:hidden;isolation:isolate}

/* 背景三层：网格线 / 两团光晕 / 顶部渐隐 —— 全是 CSS 渐变，零图片 */
.hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 35%,#000 30%,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 35%,#000 30%,transparent 78%)}
/* ⚠️ 这里刻意**不用** filter:blur()。
   第一版写的是 blur(24px) + 动画 —— 模糊滤镜每一帧都要重算，
   1100×700 的元素这样跑会把渲染线程压死（真机实测截图直接超时）。
   径向渐变本身就是软边，不需要再模糊；只动 transform，交给合成器。 */
.hero::after{content:"";position:absolute;z-index:-1;
  left:50%;top:-12%;width:1100px;height:700px;transform:translateX(-58%);
  background:
    radial-gradient(circle at 30% 40%,rgba(22,119,255,.34),transparent 62%),
    radial-gradient(circle at 72% 30%,rgba(54,207,255,.20),transparent 60%);
  will-change:transform;
  animation:aurora 16s ease-in-out infinite alternate}
@keyframes aurora{
  0%  {transform:translateX(-58%) translateY(0) scale(1)}
  100%{transform:translateX(-52%) translateY(26px) scale(1.08)}
}

.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:var(--sp-8);align-items:center}
@media(max-width:1080px){.hero-grid{grid-template-columns:1fr;gap:var(--sp-7)}}

.hero h1{font-size:clamp(30px,3.5vw,52px);line-height:1.22;color:#fff;
  margin-bottom:var(--sp-4);letter-spacing:-.02em}
.hero h1 .grad{
  background:linear-gradient(100deg,#fff 8%,var(--c-cyan) 48%,var(--c-primary-400) 92%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent}
.hero .lede{color:var(--c-on-ink-dim);font-size:clamp(15px,1.15vw,17.5px);
  max-width:620px;margin-bottom:var(--sp-6)}
.hero-btns{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-7)}

.eyebrow{display:inline-flex;align-items:center;gap:8px;
  color:var(--c-cyan);font-size:12.5px;font-weight:700;letter-spacing:1.6px;
  margin-bottom:var(--sp-4);text-transform:uppercase;
  border:1px solid rgba(54,207,255,.28);background:rgba(54,207,255,.07);
  border-radius:var(--r-pill);padding:5px 14px}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--c-cyan);
  box-shadow:0 0 0 0 rgba(54,207,255,.7);animation:ping 2.4s ease-out infinite}
@keyframes ping{
  0%  {box-shadow:0 0 0 0 rgba(54,207,255,.65)}
  70% {box-shadow:0 0 0 9px rgba(54,207,255,0)}
  100%{box-shadow:0 0 0 0 rgba(54,207,255,0)}
}

/* 按钮 */
.btn{display:inline-flex;align-items:center;gap:9px;
  background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-700) 100%);
  color:#fff;border-radius:var(--r-sm);padding:12px 26px;font-size:15px;font-weight:600;
  border:1px solid transparent;position:relative;overflow:hidden;
  box-shadow:0 10px 30px -10px rgba(22,119,255,.8);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.btn:hover{color:#fff;text-decoration:none;transform:translateY(-2px);
  box-shadow:0 16px 40px -10px rgba(22,119,255,.95)}
/* 扫光：一道高光每隔几秒从左划到右 */
.btn::after{content:"";position:absolute;top:0;bottom:0;width:38%;left:-50%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);
  animation:sheen 4.5s ease-in-out infinite}
@keyframes sheen{0%,62%{left:-50%}88%,100%{left:120%}}
.btn.ghost{background:rgba(255,255,255,.04);color:#fff;
  border-color:rgba(255,255,255,.22);box-shadow:none;font-weight:500}
.btn.ghost::after{display:none}
.btn.ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.4);
  box-shadow:none}
.btn.light{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-700))}

/* ── Hero 数字条 ─────────────────────────────────────────────────── */
.stats{display:flex;gap:var(--sp-7);flex-wrap:wrap;
  padding-top:var(--sp-5);border-top:1px solid rgba(255,255,255,.1)}
.stat b{display:block;font-size:clamp(28px,3vw,42px);line-height:1.1;font-weight:800;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
  background:linear-gradient(160deg,#fff 10%,var(--c-cyan) 90%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent}
.stat span{font-size:13px;color:var(--c-on-ink-faint);letter-spacing:.3px}
@media(max-width:720px){.stats{gap:var(--sp-5)}}
/* 手机上四个数字会折成 3+1，最后一个孤零零掉下来 —— 改成 2×2 */
@media(max-width:520px){
  .stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5) var(--sp-4)}
}

/* ── Hero 里的系统界面示意卡 ───────────────────────────────────── */
.hero-mock{position:relative;perspective:1400px}
.mock{background:linear-gradient(165deg,rgba(255,255,255,.075),rgba(255,255,255,.028));
  border:1px solid rgba(255,255,255,.13);border-radius:var(--r-xl);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85),0 0 0 1px rgba(54,207,255,.08);
  overflow:hidden;transform:rotateY(-7deg) rotateX(3deg);
  animation:floaty 9s ease-in-out infinite}
@keyframes floaty{
  0%,100%{transform:rotateY(-7deg) rotateX(3deg) translateY(0)}
  50%    {transform:rotateY(-5deg) rotateX(2deg) translateY(-12px)}
}
.mock-bar{display:flex;align-items:center;gap:7px;padding:11px var(--sp-4);
  border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.mock-bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18);display:block}
.mock-bar span{margin-left:10px;font-size:11.5px;color:var(--c-on-ink-faint);letter-spacing:.3px}
.mock-body{padding:var(--sp-4)}
.mock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:var(--sp-4)}
.mock-kpi{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-md);padding:10px 12px}
.mock-kpi b{display:block;font-size:19px;color:#fff;font-variant-numeric:tabular-nums;line-height:1.25}
.mock-kpi b.hot{color:#ffb454}
.mock-kpi span{font-size:10.5px;color:var(--c-on-ink-faint)}
.mock-line{display:flex;align-items:center;gap:10px;padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.06);font-size:12px;color:var(--c-on-ink-dim)}
.mock-line:last-child{border-bottom:0}
.mock-pill{font-size:10px;font-weight:600;padding:2px 9px;border-radius:var(--r-pill);
  white-space:nowrap;border:1px solid}
.mock-pill.b{background:rgba(22,119,255,.16);color:#7db4ff;border-color:rgba(22,119,255,.35)}
.mock-pill.a{background:rgba(255,180,84,.14);color:#ffc178;border-color:rgba(255,180,84,.32)}
.mock-pill.g{background:rgba(52,211,153,.14);color:#6ee7b7;border-color:rgba(52,211,153,.3)}
/* AI 条：宽度来回伸缩，像在生成 */
.mock-ai{margin-top:var(--sp-4);padding:11px 13px;border-radius:var(--r-md);
  background:linear-gradient(120deg,rgba(22,119,255,.16),rgba(54,207,255,.07));
  border:1px solid rgba(54,207,255,.24)}
.mock-ai-head{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;
  color:var(--c-cyan);letter-spacing:.4px;margin-bottom:8px}
.mock-ai-row{height:6px;border-radius:3px;margin-bottom:6px;
  background:linear-gradient(90deg,rgba(54,207,255,.6),rgba(22,119,255,.25));
  animation:typing 3.4s var(--ease) infinite}
.mock-ai-row:nth-child(2){width:92%;animation-delay:.0s}
.mock-ai-row:nth-child(3){width:74%;animation-delay:.25s}
.mock-ai-row:nth-child(4){width:58%;animation-delay:.5s;margin-bottom:0}
@keyframes typing{
  0%  {transform:scaleX(.2);opacity:.35;transform-origin:left}
  45% {transform:scaleX(1);opacity:1;transform-origin:left}
  90% {transform:scaleX(1);opacity:1;transform-origin:left}
  100%{transform:scaleX(.2);opacity:.35;transform-origin:left}
}

/* ══════════════════════════════════════════════════════════════════════
   区块
   ══════════════════════════════════════════════════════════════════════ */
.sec{padding:var(--sp-9) 0;position:relative}
.sec.tight{padding:var(--sp-8) 0}
.sec.alt{background:var(--c-n50);
  border-top:1px solid var(--c-n100);border-bottom:1px solid var(--c-n100)}
/* 深色强调区块 */
.sec.ink{background:var(--c-ink-2);color:var(--c-on-ink);border:0;overflow:hidden}
.sec.ink h2,.sec.ink h3{color:#fff}
.sec.ink .sec-head p{color:var(--c-on-ink-dim)}
.sec.ink::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 50% at 15% 0%,rgba(22,119,255,.22),transparent 70%),
    radial-gradient(ellipse 50% 60% at 88% 100%,rgba(54,207,255,.13),transparent 70%)}
.sec.ink > *{position:relative}

.sec-head{max-width:780px;margin-bottom:var(--sp-7)}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-size:clamp(23px,2.4vw,34px);margin-bottom:var(--sp-3)}
.sec-head p{color:var(--c-n500);font-size:clamp(14.5px,1.05vw,16.5px)}
.kicker{display:block;color:var(--c-primary);font-size:12.5px;font-weight:700;
  letter-spacing:1.6px;margin-bottom:var(--sp-3);text-transform:uppercase}
.sec.ink .kicker{color:var(--c-cyan)}

/* ── 网格 ─────────────────────────────────────────────────────────── */
.grid{display:grid;gap:var(--sp-4)}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:940px){.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.g2,.g3,.g4{grid-template-columns:1fr}}

/* ── 卡片 ─────────────────────────────────────────────────────────── */
.card{position:relative;background:var(--c-n0);border:1px solid var(--c-n200);
  border-radius:var(--r-lg);padding:var(--sp-5);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.card:hover{transform:translateY(-4px);border-color:var(--c-primary-200);
  box-shadow:var(--shadow-lg)}
/* 顶部那条渐变发丝，悬停时亮起 */
.card::before{content:"";position:absolute;left:var(--sp-5);right:var(--sp-5);top:-1px;height:2px;
  border-radius:2px;opacity:0;
  background:linear-gradient(90deg,transparent,var(--c-primary),var(--c-cyan),transparent);
  transition:opacity .3s var(--ease)}
.card:hover::before{opacity:1}
.card h3{font-size:16.5px;margin-bottom:var(--sp-2);display:flex;align-items:center;
  gap:9px;flex-wrap:wrap}
.card p{color:var(--c-n500);font-size:14px;line-height:1.75}
.card .n{display:inline-block;font-size:12px;font-weight:700;color:var(--c-primary-700);
  background:var(--c-primary-50);border:1px solid var(--c-primary-200);
  border-radius:var(--r-pill);padding:1px 9px;font-variant-numeric:tabular-nums}

/* 图标底座 */
.ibox{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;
  justify-content:center;margin-bottom:var(--sp-3);flex:0 0 auto;
  background:linear-gradient(140deg,var(--c-primary-50),#fff);
  border:1px solid var(--c-primary-100);color:var(--c-primary-700);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.card:hover .ibox{transform:scale(1.07) rotate(-3deg);
  box-shadow:0 10px 24px -8px rgba(22,119,255,.55)}
/* 深色区块里的卡片 */
/* ⚠️ 深色区块的卡片**不要** backdrop-filter：
   这里有十几张卡，每一张都会各自开一个合成层，真机上直接把渲染卡死。
   底色本来就是实心深色，半透明白叠上去的观感和毛玻璃几乎没区别。
   全站只有顶栏和 Hero 里那张示意卡用毛玻璃（共 2 个元素）。 */
.sec.ink .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
.sec.ink .card:hover{border-color:rgba(54,207,255,.4);
  box-shadow:0 24px 60px -20px rgba(0,0,0,.9)}
.sec.ink .card p{color:var(--c-on-ink-dim)}
.sec.ink .card .n{background:rgba(54,207,255,.12);color:var(--c-cyan);
  border-color:rgba(54,207,255,.3)}
.sec.ink .ibox{background:rgba(54,207,255,.09);border-color:rgba(54,207,255,.22);
  color:var(--c-cyan)}

/* 编号卡（痛点那一排） */
.card .idx{position:absolute;right:var(--sp-4);top:var(--sp-3);
  font-size:34px;font-weight:800;line-height:1;color:var(--c-n100);
  font-variant-numeric:tabular-nums;transition:color .3s var(--ease)}
.card:hover .idx{color:var(--c-primary-100)}

/* ══════════════════════════════════════════════════════════════════════
   业务链流程图（SVG + CSS 跑光）
   ══════════════════════════════════════════════════════════════════════ */
/* ⚠️ 这里刻意**不用** SVG。
   第一版是一张 viewBox="0 0 1210 190" 的 SVG，桌面上很好看，
   但在 375px 的手机上整图缩到约 1/3 —— 里面 13px 的文字会渲染成 4px，
   等于这块内容在手机上直接作废。改成 HTML + CSS：字号不随容器缩放，
   窄屏还能整个转成竖排。 */
.flow{position:relative;display:flex;gap:var(--sp-3);margin-top:var(--sp-7)}
/* 底线 */
.flow::before{content:"";position:absolute;left:8.4%;right:8.4%;top:28px;height:2px;
  background:rgba(255,255,255,.13)}
/* 跑光：一段亮色渐变沿着底线扫过去（只动 background-position，不用滤镜） */
.flow::after{content:"";position:absolute;left:8.4%;right:8.4%;top:27px;height:4px;
  border-radius:2px;
  background:linear-gradient(90deg,
    transparent 0%,transparent 40%,
    rgba(54,207,255,.95) 47%,rgba(22,119,255,.95) 53%,
    transparent 60%,transparent 100%);
  background-size:250% 100%;
  animation:beam 6s linear infinite}
@keyframes beam{from{background-position:190% 0}to{background-position:-60% 0}}

.fnode{flex:1 1 0;min-width:0;text-align:center;position:relative;z-index:1}
.fnode .dot{width:58px;height:58px;border-radius:50%;margin:0 auto var(--sp-4);
  display:flex;align-items:center;justify-content:center;
  background:var(--c-ink-3);border:1.5px solid rgba(54,207,255,.42);
  color:var(--c-cyan);
  /* 用与区块同色的粗描边把底线盖住，做出「线穿过节点之间」的效果 */
  box-shadow:0 0 0 7px var(--c-ink-2),0 0 22px -6px rgba(54,207,255,.55);
  animation:nodeOn 6s ease-in-out infinite}
.fnode:nth-child(1) .dot{animation-delay:.0s}
.fnode:nth-child(2) .dot{animation-delay:.5s}
.fnode:nth-child(3) .dot{animation-delay:1.0s}
.fnode:nth-child(4) .dot{animation-delay:1.5s}
.fnode:nth-child(5) .dot{animation-delay:2.0s}
.fnode:nth-child(6) .dot{animation-delay:2.5s}
@keyframes nodeOn{
  0%,100%{border-color:rgba(54,207,255,.42);
          box-shadow:0 0 0 7px var(--c-ink-2),0 0 22px -6px rgba(54,207,255,.35)}
  10%,20%{border-color:rgba(54,207,255,.95);
          box-shadow:0 0 0 7px var(--c-ink-2),0 0 30px -4px rgba(54,207,255,.95)}
}
.fnode b{display:block;font-size:15px;color:#fff;font-weight:600;margin-bottom:3px}
.fnode span{display:block;font-size:12.5px;color:var(--c-on-ink-faint);line-height:1.6}

/* 窄屏转竖排：字号不缩，读得清 */
@media(max-width:820px){
  .flow{flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-6)}
  .flow::before{left:28px;right:auto;top:24px;bottom:24px;width:2px;height:auto}
  .flow::after{display:none}   /* 竖排不跑光，省一个常驻动画 */
  .fnode{display:flex;align-items:center;gap:var(--sp-4);text-align:left}
  .fnode .dot{width:50px;height:50px;margin:0;flex:0 0 auto;
    box-shadow:0 0 0 6px var(--c-ink-2),0 0 18px -6px rgba(54,207,255,.5)}
  .fnode .dot .ic{width:20px;height:20px}
}

/* ══════════════════════════════════════════════════════════════════════
   模块走马灯（展示广度，不堆文字）
   ══════════════════════════════════════════════════════════════════════ */
.marquee{position:relative;overflow:hidden;padding:var(--sp-3) 0;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-row{display:flex;gap:10px;width:max-content;
  will-change:transform;
  animation:slide 46s linear infinite}
.marquee-row.rev{animation-direction:reverse;animation-duration:54s}
.marquee:hover .marquee-row{animation-play-state:paused}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.chip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  font-size:13.5px;color:var(--c-n600);background:var(--c-n0);
  border:1px solid var(--c-n200);border-radius:var(--r-pill);padding:7px 16px}
.sec.ink .chip{color:var(--c-on-ink-dim);background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.1)}
.chip .ic{width:15px;height:15px;color:var(--c-primary)}
.sec.ink .chip .ic{color:var(--c-cyan)}

/* ══════════════════════════════════════════════════════════════════════
   AI 场景分布条
   ══════════════════════════════════════════════════════════════════════ */
.bars{display:flex;flex-direction:column;gap:var(--sp-3)}
.bar-row{display:grid;grid-template-columns:128px 1fr 46px;align-items:center;gap:var(--sp-3);
  font-size:13.5px}
@media(max-width:600px){.bar-row{grid-template-columns:100px 1fr 38px;font-size:12.5px}}
.bar-row .lbl{color:var(--c-on-ink-dim);text-align:right}
.bar-row .val{color:var(--c-cyan);font-weight:700;font-variant-numeric:tabular-nums}
.bar{height:9px;border-radius:var(--r-pill);background:rgba(255,255,255,.07);overflow:hidden}
.bar i{display:block;height:100%;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--c-primary),var(--c-cyan));
  box-shadow:0 0 14px -2px rgba(54,207,255,.7);
  transform-origin:left;transform:scaleX(1)}

/* ══════════════════════════════════════════════════════════════════════
   演示：界面还原图
   ══════════════════════════════════════════════════════════════════════ */
.shot{border:1px solid var(--c-n200);border-radius:var(--r-lg);overflow:hidden;
  background:var(--c-n0);box-shadow:var(--shadow-lg);margin-bottom:var(--sp-3)}
.shot-bar{display:flex;align-items:center;gap:6px;padding:10px var(--sp-4);
  background:var(--c-n50);border-bottom:1px solid var(--c-n200)}
.shot-bar i{width:9px;height:9px;border-radius:50%;background:var(--c-n300);display:block}
.shot-bar span{margin-left:var(--sp-3);font-size:12px;color:var(--c-n400)}
.shot-body{padding:var(--sp-4);font-size:13px}
.shot-cap{margin-bottom:var(--sp-8)}
/* ⚠️ 必须是直接子选择器：`.shot-cap b` 会把正文里的行内 <b> 也变成块级 16px */
.shot-cap > b{display:block;font-size:17px;color:var(--c-n900);margin-bottom:var(--sp-1)}
.shot-cap p{color:var(--c-n500);font-size:14.5px}
.shot-cap .step{display:inline-flex;align-items:center;justify-content:center;
  min-width:26px;height:22px;font-size:12px;font-weight:700;color:#fff;
  background:linear-gradient(135deg,var(--c-primary),var(--c-primary-700));
  border-radius:var(--r-pill);padding:0 9px;margin-right:var(--sp-2);vertical-align:2px}

.ui-row{display:flex;align-items:center;gap:var(--sp-3);padding:8px 0;
  border-bottom:1px solid var(--c-n100)}
.ui-row:last-child{border-bottom:0}
.ui-row .k{color:var(--c-n500);flex:0 0 96px;font-size:12.5px}
.ui-row .v{color:var(--c-n800);font-weight:500}
.ui-tag{display:inline-block;font-size:11.5px;font-weight:600;padding:1px 8px;
  border-radius:var(--r-pill);border:1px solid var(--c-n200);
  background:var(--c-n100);color:var(--c-n600);white-space:nowrap}
.ui-tag.blue{background:var(--c-primary-50);color:var(--c-primary-700);border-color:var(--c-primary-200)}
.ui-tag.green{background:var(--c-ok-50);color:var(--c-ok-700);border-color:var(--c-ok-200)}
.ui-tag.amber{background:var(--c-warn-50);color:var(--c-warn-700);border-color:var(--c-warn-200)}
.ui-table{width:100%;border-collapse:collapse;font-size:12.5px}
.ui-table th,.ui-table td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--c-n100)}
.ui-table th{color:var(--c-n500);font-weight:600;background:var(--c-n50);
  border-bottom:1px solid var(--c-n200);white-space:nowrap}
.ui-table td{color:var(--c-n700)}
.ui-table .num{text-align:right;font-variant-numeric:tabular-nums}
.ui-scroll{overflow-x:auto;overflow-y:auto}
.ui-steps{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3)}
.ui-step{flex:1 1 0;min-width:92px;border:1px solid var(--c-n200);border-radius:var(--r-sm);
  padding:7px 10px;font-size:12px;color:var(--c-n500);background:var(--c-n50)}
.ui-step.done{background:var(--c-ok-50);border-color:var(--c-ok-200);color:var(--c-ok-700);font-weight:600}
.ui-step.now{background:var(--c-primary-50);border-color:var(--c-primary-200);
  color:var(--c-primary-700);font-weight:600}
.ui-note{margin-top:var(--sp-3);padding:10px var(--sp-3);border-radius:var(--r-sm);
  background:var(--c-primary-50);border:1px solid var(--c-primary-200);
  color:var(--c-primary-800);font-size:12.5px;line-height:1.7}
.ui-chips{display:flex;gap:6px;flex-wrap:wrap}

/* ── 提示条 ───────────────────────────────────────────────────────── */
.callout{border-radius:var(--r-lg);padding:var(--sp-5);font-size:14.5px;
  line-height:1.8;border:1px solid var(--c-n200);background:var(--c-n50);color:var(--c-n600)}
.callout b{color:var(--c-n800)}
.callout.demo{background:var(--c-warn-50);border-color:var(--c-warn-200);color:var(--c-warn-700)}
.callout.demo b{color:var(--c-warn-700)}
.callout.hl{background:linear-gradient(120deg,var(--c-primary-50),#fff);
  border-color:var(--c-primary-200)}

/* ── 清单 ─────────────────────────────────────────────────────────── */
.lead-list{list-style:none;padding:0}
.lead-list li{position:relative;padding-left:var(--sp-6);margin-bottom:var(--sp-4);
  font-size:15px;color:var(--c-n600);line-height:1.8}
.lead-list li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;
  border-radius:3px;background:linear-gradient(135deg,var(--c-primary),var(--c-cyan));
  box-shadow:0 0 10px -1px rgba(22,119,255,.7)}
.lead-list li b{color:var(--c-n800)}
.sec.ink .lead-list li{color:var(--c-on-ink-dim)}
.sec.ink .lead-list li b{color:#fff}

/* ══════════════════════════════════════════════════════════════════════
   页脚
   ══════════════════════════════════════════════════════════════════════ */
.foot{background:var(--c-ink);color:#7f90b4;padding:var(--sp-8) 0 var(--sp-5);
  font-size:13.5px;position:relative;overflow:hidden}
.foot::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 100% at 50% 0%,rgba(22,119,255,.13),transparent 70%)}
.foot > *{position:relative}
.foot a{color:#b8c6e0}
.foot a:hover{color:#fff}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--sp-7);margin-bottom:var(--sp-7)}
@media(max-width:800px){.foot-grid{grid-template-columns:1fr;gap:var(--sp-5)}}
.foot h4{color:#fff;font-size:14.5px;margin-bottom:var(--sp-3)}
.foot ul{list-style:none;padding:0}
.foot li{margin-bottom:8px}
.foot-btm{border-top:1px solid rgba(255,255,255,.08);padding-top:var(--sp-4);
  display:flex;gap:var(--sp-4);flex-wrap:wrap;font-size:12.5px;color:#5d6f94}

/* ── 杂项 ─────────────────────────────────────────────────────────── */
.muted{color:var(--c-n500);font-size:14.5px}
.sec.ink .muted{color:var(--c-on-ink-dim)}
.small{font-size:13px;color:var(--c-n500);line-height:1.75}
.hr{height:1px;background:var(--c-n200);margin:var(--sp-7) 0;border:0}
.center{text-align:center}
.more{display:inline-flex;align-items:center;gap:7px;margin-top:var(--sp-5);
  font-size:15px;font-weight:600}
.more .ic{width:17px;height:17px;transition:transform .25s var(--ease)}
.more:hover{text-decoration:none}
.more:hover .ic{transform:translateX(4px)}
.sec.ink .more{color:var(--c-cyan)}

/* ══════════════════════════════════════════════════════════════════════
   受众分岔入口
   --------------------------------------------------------------------
   四类受众（系统买家 / 客户与供应商 / 新同事 / 投资人与同行）要的东西
   完全不同。竞品官网没有这个区块 —— 它们只服务一类人（买家）。
   ══════════════════════════════════════════════════════════════════════ */
a.card{display:block;color:inherit}
a.card:hover{text-decoration:none;color:inherit}
a.card .go{display:inline-flex;align-items:center;gap:6px;margin-top:var(--sp-3);
  font-size:13.5px;font-weight:600;color:var(--c-primary-700)}
a.card .go .ic{width:15px;height:15px;transition:transform .25s var(--ease)}
a.card:hover .go .ic{transform:translateX(4px)}
.aud-who{display:block;font-size:12px;font-weight:700;letter-spacing:.8px;
  color:var(--c-n400);margin-bottom:var(--sp-2)}

/* ══════════════════════════════════════════════════════════════════════
   最近上线了什么（Changelog）
   --------------------------------------------------------------------
   调研结论：中国同类站靠「客户数 / 资质 / 融资」建立信任，我们一条都用不了
   （那些都以"已经有很多客户"为前提）。能替代的是**可验证的真实性** ——
   一个还在每周上线新东西的系统，比任何徽章都更能说明它是活的。
   ══════════════════════════════════════════════════════════════════════ */
.log{border-top:1px solid var(--c-n200)}
.log-row{display:grid;grid-template-columns:112px 1fr;gap:var(--sp-5);
  padding:var(--sp-4) var(--sp-2);border-bottom:1px solid var(--c-n200);
  transition:background .25s var(--ease)}
.log-row:hover{background:var(--c-n50)}
.log-row time{color:var(--c-n400);font-size:13px;font-variant-numeric:tabular-nums;
  white-space:nowrap;padding-top:2px}
.log-row b{display:block;font-size:15.5px;color:var(--c-n800);font-weight:600;
  margin-bottom:3px}
.log-row p{font-size:13.5px;color:var(--c-n500);line-height:1.7}
.log-row .where{display:inline-block;font-size:11.5px;font-weight:600;
  color:var(--c-primary-700);background:var(--c-primary-50);
  border:1px solid var(--c-primary-200);border-radius:var(--r-pill);
  padding:1px 9px;margin-left:var(--sp-2);vertical-align:1px}
@media(max-width:640px){
  .log-row{grid-template-columns:1fr;gap:var(--sp-1);padding:var(--sp-4) 0}
  .log-row time{padding-top:0}
}

/* ══════════════════════════════════════════════════════════════════════
   能力地图（能力全景页顶部）—— 12 个分组一屏看完，格子大小跟模块数走
   ══════════════════════════════════════════════════════════════════════ */
.map{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--sp-3)}
.map-cell{grid-column:span 3;border:1px solid var(--c-n200);border-radius:var(--r-md);
  padding:var(--sp-4);background:var(--c-n0);position:relative;overflow:hidden;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.map-cell:hover{transform:translateY(-3px);border-color:var(--c-primary-200);
  box-shadow:var(--shadow-md)}
.map-cell.w4{grid-column:span 4}
.map-cell.w6{grid-column:span 6}
.map-cell.w2{grid-column:span 2}
.map-cell .ic{color:var(--c-primary);margin-bottom:var(--sp-2)}
.map-cell b{display:block;font-size:15px;color:var(--c-n800);margin-bottom:2px}
.map-cell em{font-style:normal;font-size:12.5px;color:var(--c-n400)}
/* 右下角的大号数字，作为视觉重量 */
.map-cell i.num{position:absolute;right:var(--sp-3);bottom:-6px;
  font-style:normal;font-size:44px;font-weight:800;line-height:1;
  color:var(--c-n100);font-variant-numeric:tabular-nums;transition:color .28s var(--ease)}
.map-cell:hover i.num{color:var(--c-primary-100)}
@media(max-width:1000px){
  .map{grid-template-columns:repeat(6,1fr)}
  .map-cell,.map-cell.w4,.map-cell.w6,.map-cell.w2{grid-column:span 3}
}
@media(max-width:620px){
  .map{grid-template-columns:1fr}
  .map-cell,.map-cell.w4,.map-cell.w6,.map-cell.w2{grid-column:span 1}
}

/* ══════════════════════════════════════════════════════════════════════
   角色路径（一个岗位每天真正会走的那条线）
   ══════════════════════════════════════════════════════════════════════ */
.role{border:1px solid var(--c-n200);border-radius:var(--r-lg);background:var(--c-n0);
  padding:var(--sp-5);margin-bottom:var(--sp-4)}
.role-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}
.role-head .ibox{margin-bottom:0;width:36px;height:36px;border-radius:10px}
.role-head b{font-size:16px;color:var(--c-n900)}
.role-head span{font-size:13px;color:var(--c-n500)}
.path{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
.path .step{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  border:1px solid var(--c-n200);background:var(--c-n50);border-radius:var(--r-pill);
  padding:6px 14px;font-size:13.5px;color:var(--c-n700)}
.path .step.key{background:var(--c-primary-50);border-color:var(--c-primary-200);
  color:var(--c-primary-800);font-weight:600}
.path .step .ic{width:15px;height:15px;color:var(--c-primary)}
.path .sep{color:var(--c-n300);flex:0 0 auto;display:flex;align-items:center}
.path .sep .ic{width:15px;height:15px}

/* ══════════════════════════════════════════════════════════════════════
   架构图 / 分层图（技术页）
   ══════════════════════════════════════════════════════════════════════ */
.arch{display:flex;flex-direction:column;align-items:stretch;gap:0}
.arch-layer{display:flex;gap:var(--sp-3);justify-content:center;flex-wrap:wrap}
.abox{flex:1 1 0;min-width:150px;border-radius:var(--r-md);padding:var(--sp-4);
  text-align:center;border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05)}
.abox b{display:block;font-size:14.5px;color:#fff;margin-bottom:3px}
.abox span{display:block;font-size:12px;color:var(--c-on-ink-faint);line-height:1.6}
.abox .ic{color:var(--c-cyan);margin:0 auto var(--sp-2)}
.abox.hot{border-color:rgba(54,207,255,.42);background:rgba(54,207,255,.08)}
.abox.off{border-style:dashed;border-color:rgba(255,255,255,.18);background:transparent}
.abox.off b{color:var(--c-on-ink-dim)}
/* 层与层之间的竖线 */
.arch-link{height:26px;position:relative;flex:0 0 auto}
.arch-link::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;
  transform:translateX(-1px);
  background:linear-gradient(180deg,rgba(54,207,255,.5),rgba(54,207,255,.12))}
.arch-note{margin-top:var(--sp-4);font-size:13px;color:var(--c-on-ink-faint);
  text-align:center;line-height:1.75}

/* ══════════════════════════════════════════════════════════════════════
   层层闸门（写权限要过几道门 / 部署要过几道检查）
   ══════════════════════════════════════════════════════════════════════ */
.gates{counter-reset:g}
.gate{display:grid;grid-template-columns:44px 1fr;gap:var(--sp-4);align-items:start;
  position:relative;padding-bottom:var(--sp-5)}
.gate::before{counter-increment:g;content:counter(g);
  width:44px;height:44px;border-radius:12px;display:flex;align-items:center;
  justify-content:center;font-size:16px;font-weight:700;
  background:linear-gradient(140deg,var(--c-primary-50),#fff);
  border:1px solid var(--c-primary-200);color:var(--c-primary-700)}
/* 竖向连线，最后一个不画 */
.gate::after{content:"";position:absolute;left:21px;top:52px;bottom:4px;width:2px;
  background:linear-gradient(180deg,var(--c-primary-200),transparent)}
.gate:last-child{padding-bottom:0}
.gate:last-child::after{display:none}
.gate b{display:block;font-size:15.5px;color:var(--c-n900);margin-bottom:3px}
.gate p{font-size:13.5px;color:var(--c-n500);line-height:1.75}
.gate code{background:var(--c-n100);border:1px solid var(--c-n200);
  border-radius:var(--r-sm);padding:0 6px;font-size:12px;color:var(--c-n700)}

/* ══════════════════════════════════════════════════════════════════════
   大数字条（技术页 / 关于页）
   ══════════════════════════════════════════════════════════════════════ */
.band{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-4);
  border:1px solid var(--c-n200);border-radius:var(--r-lg);
  background:var(--c-n0);padding:var(--sp-6) var(--sp-5)}
.band .cell{text-align:center}
.band b{display:block;font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.15;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
  background:linear-gradient(160deg,var(--c-primary-700),var(--c-cyan));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-fill-color:transparent}
.band span{display:block;font-size:13px;color:var(--c-n500);margin-top:var(--sp-1)}
@media(max-width:760px){.band{grid-template-columns:1fr 1fr;gap:var(--sp-5)}}

/* ══════════════════════════════════════════════════════════════════════
   公司沿革时间线（关于页）
   ══════════════════════════════════════════════════════════════════════ */
.tl{position:relative;padding-left:var(--sp-7)}
.tl::before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;
  background:linear-gradient(180deg,var(--c-primary),var(--c-primary-200),transparent)}
.tl-item{position:relative;padding-bottom:var(--sp-6)}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:calc(-1 * var(--sp-7) + 4px);top:7px;
  width:12px;height:12px;border-radius:50%;background:var(--c-n0);
  border:2.5px solid var(--c-primary);
  box-shadow:0 0 0 4px var(--c-primary-50)}
.tl-item.now::before{background:var(--c-primary);
  box-shadow:0 0 0 5px var(--c-primary-100)}
.tl-item time{display:block;font-size:19px;font-weight:800;color:var(--c-primary-700);
  font-variant-numeric:tabular-nums;line-height:1.2;margin-bottom:var(--sp-1)}
.tl-item p{font-size:14.5px;color:var(--c-n600);line-height:1.8;max-width:640px}
.tl-item .hl{background:linear-gradient(180deg,transparent 62%,var(--c-primary-100) 62%);
  font-weight:600;color:var(--c-n800)}

/* 模块矩阵（能力全景页） */
.mgroup{margin-bottom:var(--sp-7)}
.mgroup-head{display:flex;align-items:center;gap:var(--sp-3);
  padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);
  border-bottom:1px solid var(--c-n200)}
.mgroup-head .ibox{margin-bottom:0;width:34px;height:34px;border-radius:9px}
.mgroup-head h3{font-size:19px}
.mgroup-head .n{font-size:13px;color:var(--c-n400);font-variant-numeric:tabular-nums}
.mlist{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
@media(max-width:940px){.mlist{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.mlist{grid-template-columns:1fr}}
.mitem{border:1px solid var(--c-n200);border-radius:var(--r-md);
  padding:var(--sp-3) var(--sp-4);background:var(--c-n0);
  transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.mitem:hover{border-color:var(--c-primary-200);transform:translateY(-2px);
  box-shadow:var(--shadow-md)}
.mitem b{display:block;font-size:14.5px;color:var(--c-n800);font-weight:600;margin-bottom:3px}
.mitem span{display:block;font-size:12.5px;color:var(--c-n500);line-height:1.7}

/* ══════════════════════════════════════════════════════════════════════
   入场动画
   --------------------------------------------------------------------
   🔴 默认状态必须是「完全可见」。只有在支持 animation-timeline 的浏览器里
      才接管成滚动触发 —— 否则 Firefox / 旧 Safari 会永远停在 opacity:0，
      整页白屏。这是这套动画唯一会出大事的地方。
   ══════════════════════════════════════════════════════════════════════ */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .rise{
      animation:rise-in linear both;
      animation-timeline:view();
      animation-range:entry 0% cover 26%;
    }
    .rise-2{animation-range:entry 0% cover 32%}
    @keyframes rise-in{
      from{opacity:0;transform:translateY(26px)}
      to  {opacity:1;transform:translateY(0)}
    }
    /* 卡片逐个进场 */
    .grid > *{animation:rise-in linear both;animation-timeline:view();
      animation-range:entry 0% cover 24%}
    .bar i{animation:grow linear both;animation-timeline:view();
      animation-range:entry 10% cover 40%;transform-origin:left}
    @keyframes grow{from{transform:scaleX(.04)}to{transform:scaleX(1)}}
  }
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}
