/* ══════════════════════════════════════════════════════
   文鳐健康 WENYAO — 官网
   风格参照 mont-fort.com：电影感全屏叙事 / 极简排版 / 冷色调
   ══════════════════════════════════════════════════════ */

:root{
  /* 深海青蓝 Abyssal Blue —— 全站统一色系 */
  --brand:#1A7590;        /* 孔雀青，主强调 */
  --brand-lt:#2C9DBC;     /* 亮强调 */
  --glow:#96DEF0;         /* 冰青，点亮/悬停 */
  --ink:#0E2530;          /* 深青蓝底 */
  --ink-2:#143544;        /* 次底 */
  --ocean:#09202B;        /* 暗角 */
  --paper:#F4F5F6;
  --paper-2:#E7EAEC;
  --mist:#9FB2BD;
  --line:rgba(255,255,255,.14);
  --line-dk:rgba(14,37,48,.15);
  --red:#B3121B;

  --f-cn:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",sans-serif;
  --f-en:"Helvetica Neue",Helvetica,Arial,"PingFang SC",sans-serif;
  --f-se:"Songti SC",Songti,"STSong",serif;

  --pad:clamp(20px,5vw,90px);
  --ease:cubic-bezier(.22,1,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--ink);color:var(--paper);
  font-family:var(--f-cn);font-weight:300;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}

::selection{background:var(--brand-lt);color:#fff}

/* ═══════════ 键盘可达性 ═══════════ */
/* 自定义光标会隐藏系统指针，键盘用户必须有明确的焦点指示 */
:focus{outline:none}
:focus-visible{
  outline:2px solid var(--glow);
  outline-offset:4px;
  border-radius:2px;
}
/* 跳至主内容 */
.skip{
  position:fixed;left:var(--pad);top:14px;z-index:10000;
  padding:10px 18px;background:var(--paper);color:var(--ink);
  font-size:13px;letter-spacing:.08em;border-radius:2px;
  transform:translateY(-160%);transition:transform .3s var(--ease);
}
.skip:focus-visible{transform:translateY(0)}

/* 通用小标签 */
.eyebrow{
  display:inline-block;font-family:var(--f-en);
  font-size:11px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--mist);font-weight:400;
}

/* 滚动进场 */
.reveal{
  opacity:0;transform:translateY(28px);
  transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);
}
.reveal.in{opacity:1;transform:none}

/* ═══════════ PRELOADER ═══════════ */
.loader{
  position:fixed;inset:0;z-index:9999;background:var(--ink);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;
  transition:opacity .9s var(--ease),visibility .9s;
}
.loader.done{opacity:0;visibility:hidden}
.loader__mark svg{width:clamp(72px,7vw,96px);height:clamp(72px,7vw,96px);display:block}
.loader__mark .lm{fill:var(--paper)}
/* 三个笔画依次浮现（不用 clip-path —— Safari 对 SVG 元素的 CSS clip-path 表现不一致） */
.loader__mark .lm path{
  transform-box:fill-box;transform-origin:50% 50%;
  animation:strokeIn .78s var(--ease) both;
}
.loader__mark .lm__a{animation-delay:.10s}
.loader__mark .lm__b{animation-delay:.30s}
.loader__mark .lm__tri{animation-delay:.62s}
@keyframes strokeIn{
  from{opacity:0;transform:translateY(46px) scale(.9)}
  to{opacity:1;transform:none}
}
.loader__meta{display:flex;align-items:baseline;gap:22px;font-family:var(--f-en)}
.loader__label{font-size:10px;letter-spacing:.42em;color:var(--mist)}
.loader__num{font-size:12px;letter-spacing:.1em;color:var(--paper);font-variant-numeric:tabular-nums}
.loader__bar{width:min(220px,40vw);height:1px;background:rgba(255,255,255,.16)}
.loader__bar i{display:block;height:100%;width:0;background:var(--paper)}

/* ═══════════ HEADER ═══════════ */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:26px var(--pad);
  mix-blend-mode:difference;
  transition:transform .6s var(--ease);
}
.hdr.up{transform:translateY(-110%)}
.hdr__logo{display:flex;align-items:center;gap:12px}
.hdr__mark{width:24px;height:24px;fill:var(--paper)}
.hdr__wm{display:flex;align-items:baseline;gap:9px}
.hdr__wm b{font-family:var(--f-se);font-weight:400;font-size:17px;letter-spacing:.14em}
.hdr__wm i{font-family:var(--f-en);font-style:normal;font-size:9.5px;letter-spacing:.3em;color:var(--paper);opacity:.72}
.hdr__nav{display:flex;gap:34px}
.hdr__nav a{
  font-size:12.5px;letter-spacing:.16em;opacity:.78;
  position:relative;padding-bottom:3px;transition:opacity .35s;
}
.hdr__nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:0;
  background:currentColor;transition:width .45s var(--ease);
}
.hdr__nav a:hover{opacity:1}
.hdr__nav a:hover::after{width:100%}
.hdr__burger{display:none;background:none;border:0;cursor:pointer;width:26px;height:16px;position:relative}
.hdr__burger i{position:absolute;left:0;width:100%;height:1px;background:var(--paper);transition:.4s var(--ease)}
.hdr__burger i:first-child{top:3px}
.hdr__burger i:last-child{bottom:3px}
body.menu-open .hdr__burger i:first-child{top:7px;transform:rotate(45deg)}
body.menu-open .hdr__burger i:last-child{bottom:8px;transform:rotate(-45deg)}

/* ═══════════ MENU OVERLAY ═══════════ */
.menu{
  position:fixed;inset:0;z-index:190;background:var(--ink-2);
  clip-path:inset(0 0 100% 0);
  transition:clip-path .8s var(--ease);
  display:flex;align-items:center;
}
body.menu-open .menu{clip-path:inset(0 0 0 0)}
.menu__inner{width:100%;padding:0 var(--pad)}
.menu__list li{
  border-top:1px solid var(--line);
  display:flex;align-items:baseline;gap:26px;
  opacity:0;transform:translateY(20px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);
}
body.menu-open .menu__list li{opacity:1;transform:none}
.menu__list li:nth-child(1){transition-delay:.15s}
.menu__list li:nth-child(2){transition-delay:.21s}
.menu__list li:nth-child(3){transition-delay:.27s}
.menu__list li:nth-child(4){transition-delay:.33s}
.menu__list li:nth-child(5){transition-delay:.39s}
.menu__list li:nth-child(6){transition-delay:.45s}
.menu__list li:nth-child(7){transition-delay:.51s}
.menu__list span{font-family:var(--f-en);font-size:10px;letter-spacing:.24em;color:var(--mist)}
.menu__list a{
  flex:1;display:flex;align-items:baseline;justify-content:space-between;
  padding:clamp(14px,2.4vw,26px) 0;
  font-size:clamp(24px,4.4vw,52px);font-weight:200;letter-spacing:.06em;
  transition:color .4s,padding-left .5s var(--ease);
}
.menu__list a:hover{padding-left:18px;color:#fff}
.menu__list em{font-family:var(--f-en);font-style:normal;font-size:11px;letter-spacing:.28em;color:var(--mist)}
.menu__foot{margin-top:46px;font-family:var(--f-en);font-size:10.5px;letter-spacing:.16em;color:var(--mist);line-height:1.9}

/* ═══════════ HERO ═══════════ */
.hero{position:relative;height:100svh;min-height:600px;overflow:hidden}
.hero__bg{position:absolute;inset:-6%}
.hero__bg img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.62) hue-rotate(-8deg) contrast(1.02) brightness(1);
  transform:scale(1.08);
  animation:kb 26s ease-out forwards;
}
@keyframes kb{to{transform:scale(1)}}
.hero__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(14,37,48,.56) 0%,rgba(14,37,48,0) 34%,rgba(14,37,48,.08) 62%,rgba(14,37,48,.77) 100%),
    radial-gradient(120% 80% at 50% 45%,rgba(0,0,0,0) 46%,rgba(9,32,43,.36) 100%);
}
.hero__center{
  position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);
  text-align:center;width:100%;padding:0 var(--pad);
}
.hero__title{
  font-family:var(--f-en);font-weight:100;
  font-size:clamp(48px,11.5vw,190px);line-height:.94;
  letter-spacing:.14em;text-indent:.14em;
  display:flex;justify-content:center;
}
.hero__title .ht{
  display:inline-block;
  opacity:0;transform:translateY(.42em);
  animation:htIn 1.35s var(--ease) forwards;
}
.hero__title .ht:nth-child(1){animation-delay:.15s}
.hero__title .ht:nth-child(2){animation-delay:.22s}
.hero__title .ht:nth-child(3){animation-delay:.29s}
.hero__title .ht:nth-child(4){animation-delay:.36s}
.hero__title .ht:nth-child(5){animation-delay:.43s}
.hero__title .ht:nth-child(6){animation-delay:.50s}
@keyframes htIn{to{opacity:1;transform:none}}
.hero__cn{
  margin-top:clamp(14px,2vw,26px);
  font-size:clamp(11px,1.15vw,15px);letter-spacing:.72em;text-indent:.72em;
  color:rgba(232,240,245,.82);
  opacity:0;animation:htIn 1.4s var(--ease) .78s forwards;
}
.hero__scroll{
  position:absolute;left:var(--pad);bottom:52px;
  display:flex;align-items:center;gap:16px;
  opacity:0;animation:htIn 1.2s var(--ease) 1.15s forwards;
}
.hero__scrollTxt{font-family:var(--f-en);font-size:9.5px;letter-spacing:.32em;color:rgba(244,243,239,.62)}
.hero__scrollLine{display:block;width:58px;height:1px;background:rgba(255,255,255,.22);overflow:hidden}
.hero__scrollLine i{display:block;height:100%;width:40%;background:var(--paper);animation:slide 2.4s var(--ease) infinite}
@keyframes slide{0%{transform:translateX(-100%)}60%,100%{transform:translateX(250%)}}
.hero__corner{
  position:absolute;right:var(--pad);bottom:52px;text-align:right;
  font-family:var(--f-en);font-size:9.5px;letter-spacing:.2em;line-height:2.1;
  color:rgba(244,243,239,.5);
  opacity:0;animation:htIn 1.2s var(--ease) 1.3s forwards;
}
.hero__corner p:first-child{font-family:var(--f-cn);letter-spacing:.14em;color:rgba(232,240,245,.82)}

/* ═══════════ 01 STATEMENT ═══════════ */
.stmt{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(90px,12vh,150px) var(--pad);overflow:hidden}
.stmt__bg{position:absolute;inset:0}
.stmt__bg img{width:100%;height:100%;object-fit:cover;filter:grayscale(.8) sepia(.18) hue-rotate(168deg) saturate(1.5) contrast(1.02) brightness(.92)}
.stmt__veil{
  position:absolute;inset:0;
  background:
    /* 左侧文字保护带：正文压在亮雪上时保证可读 */
    linear-gradient(100deg,rgba(11,31,41,.9) 0%,rgba(11,31,41,.72) 34%,rgba(14,37,48,.18) 62%,transparent 82%),
    linear-gradient(180deg,rgba(14,37,48,.78),rgba(14,37,48,.34) 45%,rgba(14,37,48,.88));
}
.stmt__label{position:relative;display:flex;align-items:center;gap:20px;margin-bottom:clamp(34px,6vh,68px)}
.stmt__label .rule{flex:1;height:1px;background:var(--line);max-width:220px}
.stmt__body{position:relative;max-width:1100px}
.stmt__body h2{
  font-size:clamp(22px,3.6vw,54px);font-weight:200;line-height:1.5;letter-spacing:.04em;
}
.stmt__body p.dim{color:var(--mist);font-size:clamp(15px,1.9vw,26px);line-height:1.85;margin-top:.5em}
.stmt__body p.dim:first-of-type{margin-top:clamp(24px,4vh,48px)}
.stmt__body .reveal:nth-child(2){transition-delay:.18s}
.stmt__body .reveal:nth-child(3){transition-delay:.28s}
.stmt__meta{
  position:relative;margin-top:clamp(50px,9vh,110px);
  display:flex;flex-wrap:wrap;gap:clamp(28px,6vw,90px);
  padding-top:24px;border-top:1px solid var(--line);
}
.stmt__meta b{display:block;font-weight:400;font-size:14px;letter-spacing:.1em}
.stmt__meta span{display:block;margin-top:5px;font-family:var(--f-en);font-size:9.5px;letter-spacing:.26em;color:var(--mist)}

/* ═══════════ 02 BUSINESS ═══════════ */
.biz{position:relative;background:var(--paper);color:var(--ink);padding:clamp(90px,14vh,170px) var(--pad)}
.biz__head{max-width:720px;margin-bottom:clamp(48px,7vh,90px)}
.biz__head h2{font-size:clamp(30px,4.4vw,62px);font-weight:200;letter-spacing:.05em;margin:16px 0 20px}
.biz__head p{font-size:15px;line-height:2;color:#4A5A66;max-width:600px}
.biz__list{position:relative;z-index:2;border-top:1px solid var(--line-dk)}
.biz__list li{
  border-bottom:1px solid var(--line-dk);
  display:grid;grid-template-columns:70px minmax(160px,1.1fr) 2fr 40px;
  align-items:center;gap:clamp(12px,3vw,44px);
  padding:clamp(22px,3.4vw,40px) 0;
  cursor:pointer;transition:padding-left .55s var(--ease),color .4s;
}
.biz__list li:hover{padding-left:16px}
.biz__no{font-family:var(--f-en);font-size:11px;letter-spacing:.2em;color:#8C9BA6}
.biz__list h3{font-size:clamp(19px,2.4vw,32px);font-weight:300;letter-spacing:.06em}
.biz__list p{font-size:13.5px;line-height:1.95;color:#566772}
.biz__go{font-size:17px;color:#8C9BA6;justify-self:end;transition:transform .5s var(--ease),color .4s}
.biz__list li:hover .biz__go{transform:translateX(8px);color:var(--brand)}
.biz__preview{
  position:fixed;z-index:1;width:290px;height:200px;overflow:hidden;pointer-events:none;
  opacity:0;transform:translate(-50%,-50%) scale(.94);
  transition:opacity .45s var(--ease),transform .55s var(--ease);
  box-shadow:0 30px 70px rgba(0,0,0,.28);
}
.biz__preview.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.biz__preview img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.02) brightness(1.02)}

/* ═══════════ 03 SOURCE / 南极48区 ═══════════ */
.source{position:relative;padding:clamp(90px,14vh,170px) var(--pad) clamp(70px,10vh,130px);overflow:hidden}
.source__bg{position:absolute;inset:0}
.source__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.5) hue-rotate(-12deg) brightness(.78)}
.source__veil{position:absolute;inset:0;background:radial-gradient(90% 70% at 62% 46%,rgba(26,117,144,.24),rgba(14,37,48,.91) 78%)}
.source__head{position:relative}
.source__head h2{font-size:clamp(30px,4.4vw,60px);font-weight:200;line-height:1.24;letter-spacing:.05em;margin-top:16px}
.source__head h2 em{
  display:block;font-family:var(--f-en);font-style:normal;
  font-size:.34em;letter-spacing:.32em;color:var(--mist);margin-top:.7em;
}
.source__lede{font-size:14.5px;line-height:2.05;color:rgba(232,240,245,.78);max-width:420px;margin-bottom:clamp(26px,4vh,46px)}

.source__map{
  position:relative;display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  align-items:center;gap:clamp(24px,5vw,70px);
  margin-top:clamp(24px,4vh,52px);
}
.source__side{position:relative}
.polar{width:100%;max-width:540px;margin:0 auto;display:block}
.polar .ring{fill:none;stroke:rgba(159,170,166,.2);stroke-width:1}
.polar .ring--dash{stroke-dasharray:2 8;stroke:rgba(159,170,166,.26)}
.polar .ring--60s{stroke-dasharray:9 6;stroke:rgba(159,170,166,.42)}
.polar .merid line{stroke:rgba(159,170,166,.13);stroke-width:1}
.polar .land{fill:rgba(228,240,238,.11);stroke:rgba(206,226,222,.5);stroke-width:1.2;stroke-linejoin:round}
.polar .polar__lat{font-family:var(--f-en);font-size:12px;letter-spacing:.16em;fill:rgba(159,170,166,.62)}
.polar .polar__note{font-family:var(--f-en);font-size:11px;letter-spacing:.24em;fill:rgba(159,170,166,.38)}
.polar .zone{
  fill:rgba(44,157,188,.19);stroke:rgba(150,222,240,.46);stroke-width:1;
  opacity:0;transform-origin:450px 450px;transform:scale(.9);
  transition:fill .45s,opacity .9s var(--ease),transform .9s var(--ease),stroke .45s;
  cursor:pointer;
}
.source.in .polar .zone{opacity:1;transform:none}
.source.in .polar .zone:nth-child(1){transition-delay:.10s}
.source.in .polar .zone:nth-child(2){transition-delay:.20s}
.source.in .polar .zone:nth-child(3){transition-delay:.30s}
.source.in .polar .zone:nth-child(4){transition-delay:.40s}
.source.in .polar .zone:nth-child(5){transition-delay:.50s}
.source.in .polar .zone:nth-child(6){transition-delay:.60s}
.polar .zone:hover,.polar .zone.hot{fill:rgba(44,157,188,.36);stroke:rgba(150,222,240,.96)}
.polar .zlabels text{
  font-family:var(--f-en);font-size:15px;letter-spacing:.14em;
  fill:rgba(232,240,245,.76);pointer-events:none;text-anchor:middle;
}
.polar .polar__cap{
  font-family:var(--f-en);font-size:15px;letter-spacing:.42em;
  fill:rgba(214,232,228,.42);
}
.polar .track{
  fill:none;stroke:rgba(150,222,240,.88);stroke-width:1.4;stroke-dasharray:5 5;
  stroke-dashoffset:400;animation:trk 9s linear infinite;
}
@keyframes trk{to{stroke-dashoffset:0}}
.polar .pulse{fill:#96DEF0;animation:pls 2.4s ease-out infinite}
@keyframes pls{0%{r:4;opacity:1}70%{r:16;opacity:0}100%{opacity:0}}

.source__legend{position:relative;display:flex;flex-direction:column;gap:2px}
.source__legend li{
  display:flex;align-items:baseline;gap:12px;
  padding:11px 0;border-bottom:1px solid var(--line);
  font-size:13.5px;letter-spacing:.05em;cursor:default;
  transition:color .35s,padding-left .4s var(--ease);
}
.source__legend li:hover,.source__legend li.hot{padding-left:8px;color:var(--glow)}
.source__legend b{font-family:var(--f-en);font-weight:400;font-size:11px;letter-spacing:.14em;color:var(--mist);min-width:34px}
.source__legend span{margin-left:auto;font-family:var(--f-en);font-size:9.5px;letter-spacing:.16em;color:rgba(159,170,166,.62)}

.source__stats{
  position:relative;margin-top:clamp(40px,6vh,80px);
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,3vw,44px);
  padding-top:26px;border-top:1px solid var(--line);
}
.stat b,.spec b{
  display:block;font-family:var(--f-en);font-weight:200;
  font-size:clamp(30px,4.4vw,62px);letter-spacing:.01em;line-height:1;
  font-variant-numeric:tabular-nums;
}
.stat span,.spec span{display:block;margin-top:12px;font-size:12.5px;letter-spacing:.1em;color:rgba(232,240,245,.8)}
.stat i,.spec i{display:block;margin-top:4px;font-family:var(--f-en);font-style:normal;font-size:9px;letter-spacing:.24em;color:var(--mist)}

/* ═══════════ 04 CHAIN ═══════════ */
/* 原为「左竖图 + 右列表」两栏，两列高度对不上：1440×900 屏上第 5 步被挤出视口、
   左图同时被截掉一半。改为「标题 → 全宽横幅 → 横向五节点链路」，
   从左到右的阅读方向本身就是链路方向。 */
.chain{background:var(--ink-2);padding:clamp(90px,14vh,170px) var(--pad)}
.chain__head{max-width:760px}
.chain__head h2{font-size:clamp(28px,3.8vw,52px);font-weight:200;letter-spacing:.05em;margin:16px 0 20px}
.chain__head p{font-size:14.5px;line-height:2.05;color:rgba(232,240,245,.76);max-width:560px}

.chain__banner{position:relative;margin:clamp(40px,6vh,72px) 0 clamp(34px,5vh,58px);overflow:hidden}
.chain__banner img{
  width:100%;height:clamp(240px,34vw,440px);object-fit:cover;object-position:50% 46%;
  filter:saturate(.72) contrast(1.02) brightness(1.02);
  transform:scale(1.02);transition:transform 1.6s var(--ease);
}
.chain__banner:hover img{transform:scale(1.06)}
.chain__banner figcaption{
  position:absolute;left:0;bottom:0;right:0;
  padding:52px clamp(16px,2vw,28px) 16px;
  background:linear-gradient(180deg,transparent,rgba(10,31,41,.82));
  font-size:12px;letter-spacing:.12em;color:rgba(232,240,245,.9);
}

/* 五节点横向链路：顶部一条贯穿线把节点串起来 */
.chain__flow{
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:clamp(14px,2.2vw,34px);
  border-top:1px solid var(--line);
}
.chain__flow li{position:relative;padding:clamp(22px,2.6vw,34px) 0 0}
/* 节点圆点压在贯穿线上 */
.chain__flow li::before{
  content:"";position:absolute;left:0;top:-3.5px;
  width:7px;height:7px;border-radius:50%;
  background:var(--brand-lt);
  box-shadow:0 0 0 4px var(--ink-2);
}
.chain__flow li:last-child::before{background:var(--glow)}
.chain__no{
  display:block;font-family:var(--f-en);font-size:11px;letter-spacing:.2em;
  color:var(--mist);margin-bottom:14px;
}
.chain__flow h3{font-size:clamp(15px,1.35vw,19px);font-weight:300;letter-spacing:.04em;margin-bottom:12px}
.chain__flow p{font-size:13px;line-height:1.9;color:rgba(232,240,245,.62)}
.chain__flow li:nth-child(2){transition-delay:.08s}
.chain__flow li:nth-child(3){transition-delay:.16s}
.chain__flow li:nth-child(4){transition-delay:.24s}
.chain__flow li:nth-child(5){transition-delay:.32s}

/* ═══════════ 05 KENI ═══════════ */
.keni{
  position:relative;overflow:hidden;
  background:radial-gradient(110% 90% at 78% 32%,#1C5A72 0%,#123745 46%,#0A1F29 100%);
  padding:clamp(90px,14vh,170px) var(--pad);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  grid-template-areas:"head pack" "specs pack" "tri tri";
  gap:clamp(24px,4vw,60px) clamp(30px,6vw,80px);
  align-items:start;
}
.keni__veil{
  position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 45% at 74% 34%,rgba(44,157,188,.18),transparent 70%);
}
.keni__head{grid-area:head;position:relative}
.keni__head h2{font-size:clamp(32px,4.6vw,64px);font-weight:200;line-height:1.2;letter-spacing:.05em;margin:16px 0 22px}
.keni__head h2 em{display:block;font-family:var(--f-en);font-style:normal;font-size:.3em;letter-spacing:.32em;color:var(--mist);margin-top:.8em}
.keni__head p{font-size:14.5px;line-height:2.05;color:rgba(232,240,245,.78);max-width:420px}
.keni__pack{grid-area:pack;position:relative;display:flex;justify-content:center;align-items:center;min-height:420px}
.keni__pack img{
  position:relative;z-index:2;max-height:min(62vh,620px);width:auto;
  filter:drop-shadow(0 40px 60px rgba(0,0,0,.55));
}
.keni__ghost{
  position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);
  font-family:var(--f-en);font-weight:100;font-size:clamp(90px,15vw,240px);
  letter-spacing:.06em;color:rgba(255,255,255,.045);white-space:nowrap;
}
.keni__specs{
  grid-area:specs;position:relative;
  display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,3vw,40px);
  padding-top:26px;border-top:1px solid var(--line);
}
.keni__specs .spec b{font-size:clamp(28px,3.8vw,54px)}
.keni__tri{
  grid-area:tri;position:relative;
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,44px);
  margin-top:clamp(24px,5vh,60px);padding-top:30px;border-top:1px solid var(--line);
}
.keni__tri li b{display:block;font-size:17px;font-weight:400;letter-spacing:.06em}
.keni__tri li span{display:block;margin-top:6px;font-family:var(--f-en);font-size:9.5px;letter-spacing:.26em;color:var(--mist)}
.keni__tri li p{margin-top:14px;font-size:13.5px;line-height:1.95;color:rgba(232,240,245,.72)}

/* ═══════════ 06 SCIENCE ═══════════ */
.sci{background:var(--paper);color:var(--ink);padding:clamp(90px,14vh,170px) var(--pad)}
.sci .eyebrow{color:#8C9BA6}
.sci__head h2{font-size:clamp(30px,4.4vw,62px);font-weight:200;letter-spacing:.05em;margin-top:16px}
.sci__grid{
  margin-top:clamp(46px,7vh,90px);
  display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(34px,5vw,80px);
}
.chart figcaption h3{font-size:19px;font-weight:400;letter-spacing:.06em;margin-bottom:12px}
.chart figcaption p{font-size:12px;line-height:1.95;color:#66788A;max-width:440px}

/* 两个图表统一为细横条 —— 原先左胖柱右细条，视觉语言打架，
   胖柱那套也跟全站 200 字重的克制排版冲突 */
.bars{margin-top:clamp(28px,4vh,44px);display:flex;flex-direction:column;gap:14px}
.bars li{display:grid;grid-template-columns:76px 1fr 62px;align-items:center;gap:16px}
.bars span{font-size:12.5px;color:#4A5A66;letter-spacing:.04em}
.bars i{
  display:block;height:5px;width:0;background:#C3D0D8;
  transition:width 1.3s var(--ease);
}
.sci.in .bars i{width:calc(var(--v) / var(--max) * 100%)}
.bars b{
  font-family:var(--f-en);font-weight:400;font-size:12.5px;color:#66788A;
  text-align:right;font-variant-numeric:tabular-nums;
}
.bars li.hi i{height:9px;background:linear-gradient(90deg,var(--brand),var(--brand-lt))}
.bars li.hi span,.bars li.hi b{color:var(--brand);font-weight:500}
.bars li.hi b{font-size:14px}
.bars{--max:285}
.bars--orac{--max:378}
.bars li:nth-child(2) i{transition-delay:.07s}
.bars li:nth-child(3) i{transition-delay:.14s}
.bars li:nth-child(4) i{transition-delay:.21s}
.bars li:nth-child(5) i{transition-delay:.28s}
.bars li:nth-child(6) i{transition-delay:.35s}
.bars li:nth-child(7) i{transition-delay:.42s}
.bars li:nth-child(8) i{transition-delay:.49s}

/* 资质：原为纯文字跑马灯（大字号浅灰，滚过去像装饰噪声），
   换成真证书实拍 —— 证书图白底与本屏 --paper 几乎同色，可无缝融合 */
.creds{margin-top:clamp(60px,10vh,120px);padding-top:34px;border-top:1px solid var(--line-dk)}
.creds__head{max-width:720px}
.creds__head h3{font-size:clamp(20px,2.4vw,30px);font-weight:200;letter-spacing:.05em;margin:14px 0 16px}
.creds__head p{font-size:13px;line-height:2;color:#66788A;max-width:620px}
.creds__wall{margin-top:clamp(26px,4vh,48px)}
.creds__wall img{
  width:100%;height:auto;
  mix-blend-mode:multiply;      /* 抹掉证书图的白底，与页面底色融合 */
  opacity:0;transform:translateY(24px);
  transition:opacity 1.2s var(--ease) .2s,transform 1.2s var(--ease) .2s;
}
.sci.in .creds__wall img{opacity:1;transform:none}

/* ═══════════ 07 CTA ═══════════ */
.cta{position:relative;min-height:88svh;display:flex;align-items:center;overflow:hidden;padding:clamp(90px,12vh,150px) var(--pad)}
.cta__bg{position:absolute;inset:0}
.cta__bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.48) hue-rotate(-10deg) brightness(.8)}
.cta__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,37,48,.88) 12%,rgba(14,37,48,.37) 62%,rgba(14,37,48,.62))}
.cta__inner{position:relative;width:100%}
.cta__inner h2{font-size:clamp(34px,6vw,88px);font-weight:200;line-height:1.24;letter-spacing:.05em;margin:18px 0 clamp(40px,7vh,80px)}
/* 行动入口：原本整屏只有静态信息，转化路径靠用户手动复制邮箱 */
.cta__act{margin-bottom:clamp(38px,6vh,68px)}
.btn{
  display:inline-flex;align-items:center;gap:18px;
  padding:16px 28px;
  border:1px solid rgba(150,222,240,.42);
  font-size:14px;letter-spacing:.14em;
  position:relative;overflow:hidden;isolation:isolate;
  transition:color .45s var(--ease),border-color .45s var(--ease);
}
.btn::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--glow);
  transform:scaleX(0);transform-origin:left;
  transition:transform .55s var(--ease);
}
.btn:hover{color:var(--ink);border-color:var(--glow)}
.btn:hover::before{transform:scaleX(1)}
.btn i{font-style:normal;transition:transform .45s var(--ease)}
.btn:hover i{transform:translateX(6px)}

.cta__cols{display:grid;grid-template-columns:repeat(3,minmax(0,250px));gap:clamp(24px,5vw,70px);padding-top:28px;border-top:1px solid var(--line)}
.cta__cols h4{font-size:12px;font-weight:400;letter-spacing:.18em;color:var(--mist)}
.cta__cols p{margin:12px 0 10px;font-size:13.5px;line-height:1.75;color:rgba(232,240,245,.82)}
.cta__en{display:block;margin-top:14px;font-family:var(--f-en);font-size:10.5px;letter-spacing:.2em;color:var(--mist)}
.link{
  font-family:var(--f-en);font-size:14px;letter-spacing:.06em;
  border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:3px;
  transition:border-color .4s,color .4s;
}
a.link:hover{border-color:var(--glow);color:var(--glow)}
.link--muted{color:var(--mist);border-bottom-color:transparent}

/* ═══════════ FOOTER ═══════════ */
.ftr{background:var(--ink);padding:clamp(50px,8vh,90px) var(--pad) 44px;text-align:center}
.ftr__mark{display:flex;flex-direction:column;align-items:center;gap:14px}
.ftr__mark svg{width:34px;height:34px;fill:rgba(244,243,239,.85)}
.ftr__mark span{font-family:var(--f-se);font-size:13px;letter-spacing:.3em;color:rgba(244,243,239,.8)}
.ftr__co{margin-top:30px;font-size:12px;letter-spacing:.1em;color:rgba(244,243,239,.55)}
.ftr__legal{margin-top:12px;font-size:11px;letter-spacing:.06em;color:rgba(159,170,166,.5)}

/* ═══════════ 自定义光标（文鳐标志跟随）═══════════ */
/* 仅在精确指针设备启用；触屏 / 粗指针 / 减弱动效 一律用系统光标 */
.cursor{display:none}

@media (hover:hover) and (pointer:fine){
  html.has-cursor,
  html.has-cursor *{cursor:none!important}

  .cursor{
    display:block;position:fixed;left:0;top:0;z-index:9998;
    width:24px;height:24px;margin:-12px 0 0 -12px;
    pointer-events:none;will-change:transform;
    opacity:0;transition:opacity .35s var(--ease);
  }
  .cursor.on{opacity:.95}
  .cursor svg{
    width:100%;height:100%;display:block;
    fill:#FFFFFF;
    /* 反向描边保证压在照片/文字上仍有轮廓；不用 mix-blend-mode，
       它在中间调背景上会失效（中灰的反色仍是中灰） */
    stroke:rgba(6,22,30,.5);stroke-width:20;paint-order:stroke;
    transform:scale(.5);
    transition:transform .42s var(--ease),fill .3s,stroke .3s;
    transform-origin:50% 50%;
  }
  /* 浅色区块（业务版图 / 科学实证）自动翻成深色标志 */
  .cursor.inv svg{fill:#0E2530;stroke:rgba(255,255,255,.6)}

  /* 一旦用户按 Tab 进入键盘导航，立刻交还系统光标。
     必须写在 .has-cursor 之后 —— 两者特异性相同，靠顺序决胜负 */
  html.kb, html.kb *{cursor:auto!important}
  html.kb .cursor{opacity:0!important}
  /* 悬停可交互元素时放大 */
  .cursor.hot svg{transform:scale(.82)}
  /* 按下时轻微回缩 */
  .cursor.down svg{transform:scale(.4)}
}

@media (prefers-reduced-motion:reduce){
  html.has-cursor,html.has-cursor *{cursor:auto!important}
  .cursor{display:none!important}
}

/* ═══════════ 进度条 ═══════════ */
.prog{position:fixed;left:0;bottom:0;width:100%;height:2px;background:rgba(255,255,255,.06);z-index:210}
.prog i{display:block;height:100%;width:0;background:var(--brand-lt)}

/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width:1080px){
  .hdr__nav{display:none}
  .hdr__burger{display:block}
  .source__map{grid-template-columns:1fr;gap:34px}
  .source__legend{max-width:520px;margin:0 auto}
  /* 五节点链路：宽屏五列 → 中屏三列 → 窄屏一列 */
  .chain__flow{grid-template-columns:repeat(3,1fr);row-gap:clamp(24px,4vh,40px)}
  .chain__flow li:nth-child(4)::before,
  .chain__flow li:nth-child(5)::before{display:none}
  .keni{grid-template-columns:1fr;grid-template-areas:"head" "pack" "specs" "tri"}
  .keni__pack{min-height:340px;margin:10px 0}
  .sci__grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .biz__list li{grid-template-columns:44px 1fr;grid-template-areas:"no title" ". desc";row-gap:8px}
  .biz__no{grid-area:no}
  .biz__list h3{grid-area:title}
  .biz__list p{grid-area:desc}
  .biz__go{display:none}
  .biz__preview{display:none}
  .source__stats{grid-template-columns:repeat(2,1fr);row-gap:30px}
  .chain__flow{grid-template-columns:1fr;row-gap:0;border-top:0}
  .chain__flow li{padding:22px 0 22px 26px;border-top:1px solid var(--line)}
  .chain__flow li::before{left:0;top:19px;box-shadow:0 0 0 4px var(--ink-2)}
  .chain__flow li:nth-child(n)::before{display:block}
  .chain__no{margin-bottom:8px}
  .creds__wall{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .creds__wall img{min-width:680px}
  .keni__specs{grid-template-columns:repeat(2,1fr)}
  .keni__tri{grid-template-columns:1fr;gap:26px}
  .cta__cols{grid-template-columns:1fr;row-gap:28px}
  .hero__corner{display:none}
  .bars li{grid-template-columns:68px 1fr 54px;gap:12px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}
