/* VPAC 智能硬件页：正式站产品叙事；全站滚轮缓动由 smooth-scroll.js 统一管理。 */
#app[data-page="hardware"] main{overflow:clip;background:#071018}
#app[data-page="hardware"] .foot{margin-top:0}
.vpac-story{
  --vpac-dark:#071018;
  --vpac-dark-2:#0d1821;
  --vpac-paper:#e8eef1;
  --vpac-paper-2:#dce5e9;
  --vpac-ink:#0c1820;
  --vpac-muted:#536772;
  --vpac-line:rgba(12,24,32,.16);
  --vpac-blue:#009cda;
  color:#f4f8fa;
  background:var(--vpac-dark);
}
.vpac-story h1,.vpac-story h2,.vpac-story h3,.vpac-story p,.vpac-story figure{margin:0}
.vpac-story img{display:block;max-width:100%}

.vpac-hero{position:relative;display:flex;align-items:flex-end;min-height:100svh;overflow:hidden;background:#08131c}
.vpac-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.vpac-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,14,.76),rgba(3,9,14,.2) 58%,transparent 84%),linear-gradient(0deg,rgba(3,9,14,.86),transparent 52%)}
.vpac-hero__copy{position:relative;z-index:1;width:min(1440px,100%);padding:clamp(116px,15vh,180px) clamp(22px,6vw,92px) clamp(62px,8vw,110px)}
.vpac-hero h1{color:#fff;font-size:clamp(62px,8.6vw,128px);font-weight:680;line-height:.86;letter-spacing:-.07em}
.vpac-hero h1 span{display:block;margin-top:22px;font-size:clamp(24px,2.4vw,36px);font-weight:580;line-height:1.12;letter-spacing:-.025em}
.vpac-hero p{max-width:560px;margin-top:22px;color:#d8e3e8;font-size:clamp(15px,1.2vw,18px);line-height:1.75;text-wrap:pretty}
.vpac-hero__actions{margin-top:30px}
.vpac-hero .btn--key{color:#071018;background:#fff;border-color:#fff}
.vpac-hero .btn--key:hover{color:#071018;background:#dce8ed;border-color:#dce8ed}

.vpac-light-zone,.vpac-product-zone{color:var(--vpac-ink);background:var(--vpac-paper)}
.vpac-metrics{background:var(--vpac-paper-2)}
.vpac-metrics__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:1440px;margin:0 auto;padding-inline:clamp(22px,6vw,92px)}
.vpac-metrics__grid>div{min-width:0;padding:clamp(44px,5vw,74px) 24px clamp(48px,5vw,78px) 0}
.vpac-metrics strong{display:block;color:var(--vpac-ink);font-size:clamp(34px,3.5vw,56px);font-weight:680;line-height:1;letter-spacing:-.055em;white-space:nowrap}
.vpac-metrics span{display:block;max-width:170px;margin-top:12px;color:var(--vpac-muted);font-size:12px;line-height:1.55}

.vpac-capabilities{max-width:1380px;margin:0 auto;padding:clamp(68px,6.5vw,94px) clamp(22px,5vw,70px) clamp(76px,7vw,102px)}
.vpac-capabilities__header{position:relative;max-width:720px;padding:0 0 clamp(34px,3.5vw,46px);background:none}
.vpac-capabilities__header h2{max-width:680px;color:var(--vpac-ink);font-size:clamp(36px,3.7vw,50px);line-height:1.06;letter-spacing:-.045em}
.vpac-capabilities__header p{max-width:560px;margin-top:15px;color:var(--vpac-muted);font-size:14px;line-height:1.65}
.vpac-capabilities__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,2.5vw,34px);row-gap:clamp(32px,3.5vw,46px)}
.vpac-capability-item{min-width:0}
.vpac-capability-item__media{aspect-ratio:16/9;overflow:hidden;border-radius:4px;background:#0b1821}
.vpac-capability-item__media img{width:100%;height:100%;object-fit:cover}
.vpac-capability-item__media img[data-fit="contain"]{object-fit:contain;padding:clamp(20px,2.8vw,38px);background:#0b1821}
.vpac-capability-item:nth-child(1) .vpac-capability-item__media img{object-fit:cover;object-position:center 38%;padding:0}
.vpac-capability-item:nth-child(2) .vpac-capability-item__media img{object-position:60% 60%}
.vpac-capability-item:nth-child(4) .vpac-capability-item__media img{object-position:center 36%}
.vpac-capability-item__caption{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,1.8vw,24px);padding-top:16px}
.vpac-capability-item__value{display:block;color:#007da9;font-size:clamp(22px,2vw,29px);font-weight:680;line-height:1.05;letter-spacing:-.04em;white-space:nowrap}
.vpac-capability-item__copy h3{color:var(--vpac-ink);font-size:clamp(18px,1.5vw,22px);line-height:1.2;letter-spacing:-.025em}
.vpac-capability-item__copy p{max-width:330px;margin-top:7px;color:var(--vpac-muted);font-size:13px;line-height:1.55;text-wrap:pretty}

.vpac-flight{height:350vh;view-timeline-name:--vpac-flight;view-timeline-axis:block}
.vpac-flight__scene{position:sticky;top:0;height:100svh;overflow:hidden;background:#06101a;contain:paint}
.vpac-flight__backdrop{position:absolute;inset:-7%;width:114%;height:114%;object-fit:cover;opacity:.26;filter:saturate(.68) contrast(1.11);will-change:transform}
.vpac-flight__scene::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(5,13,20,.8),rgba(5,13,20,.13) 58%,rgba(5,13,20,.6))}
.vpac-flight__speed{position:absolute;z-index:3;left:clamp(22px,6vw,92px);top:50%;transform:translateY(-50%)}
.vpac-flight__speed strong{display:block;color:#f4f8fa;font-size:clamp(58px,8.4vw,122px);font-weight:620;line-height:.86;letter-spacing:-.07em}
.vpac-flight__speed span{display:block;margin-top:14px;color:#c5d2d8;font-size:15px}
.vpac-flight__copy{position:absolute;z-index:5;right:clamp(22px,6vw,92px);bottom:clamp(54px,9vh,98px);width:min(570px,42vw);opacity:1}
.vpac-flight__copy h2{color:#f4f8fa;font-size:clamp(32px,3.7vw,52px);line-height:1.02;letter-spacing:-.045em}
.vpac-flight__copy>p{margin-top:17px;color:#c5d2d8;font-size:14px;line-height:1.78;text-wrap:pretty}
.vpac-flight__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}
.vpac-flight__facts strong{display:block;color:#30b7e9;font-size:18px;white-space:nowrap}
.vpac-flight__facts span{display:block;margin-top:6px;color:#91a5af;font-size:10px;line-height:1.45}
.vpac-flight__drone{position:absolute;z-index:4;pointer-events:none;will-change:transform,opacity}
.vpac-flight__drone--near{right:-20vw;top:20%;width:clamp(620px,72vw,1180px);opacity:0}
.vpac-flight__drone--far{left:-20vw;top:10%;width:clamp(250px,28vw,430px);opacity:0}

.vpac-cinematic{--vpac-cinematic-fill:1.16;height:300svh;view-timeline-name:--vpac-cinematic;view-timeline-axis:block;background:var(--vpac-paper)}
.vpac-cinematic__stage{position:sticky;top:0;isolation:isolate;height:100svh;overflow:hidden;background:var(--vpac-paper);contain:paint}
.vpac-cinematic__frame{position:absolute;z-index:1;left:50%;top:50%;width:min(calc(100vw - clamp(30px,10vw,168px)),137.6svh);height:auto;aspect-ratio:1920/1228;overflow:hidden;border-radius:28px;background:transparent;transform:translate3d(-50%,calc(-50% + 62vh),0) scale(.72);transform-origin:center;backface-visibility:hidden;will-change:transform}
.vpac-cinematic__backdrop{position:absolute;z-index:0;left:50%;top:54%;width:160vmax;height:160vmax;border-radius:50%;background:#030507;opacity:0;transform:translate3d(-50%,-50%,0) scale(.04);transform-origin:center;will-change:transform,opacity}
.vpac-cinematic__poster{position:absolute;z-index:2;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none}
.vpac-cinematic__frame--safari:not(.is-video-frame) .vpac-cinematic__poster{opacity:1}
.vpac-cinematic__frame--safari:not(.is-video-frame) video{opacity:0}
.vpac-cinematic__frame video{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;background:transparent}
.vpac-cinematic__copy{position:absolute;z-index:2;top:clamp(92px,13vh,142px);left:clamp(22px,6vw,92px);color:#fff;mix-blend-mode:difference}
.vpac-cinematic__copy span{display:block;color:inherit;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.vpac-cinematic__copy h2{margin-top:12px;color:inherit;font-size:clamp(42px,5.7vw,82px);line-height:.94;letter-spacing:-.06em}

.vpac-specs{position:relative;z-index:3;display:grid;grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);gap:clamp(50px,8vw,130px);max-width:1440px;margin:-20svh auto 0;padding:clamp(12px,1.5vw,22px) clamp(22px,6vw,92px) clamp(98px,11vw,164px);background:var(--vpac-paper)}
.vpac-specs__intro{align-self:start}
.vpac-specs h2,.vpac-hive h2,.vpac-system h2{color:var(--vpac-ink);font-size:clamp(40px,5.2vw,72px);line-height:1;letter-spacing:-.055em}
.vpac-specs__intro p{max-width:440px;margin-top:20px;color:var(--vpac-muted);font-size:14px;line-height:1.76}
.vpac-specs__groups{display:grid}
.vpac-spec-group{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:34px 0;border-top:1px solid var(--vpac-line)}
.vpac-spec-group:last-child{border-bottom:1px solid var(--vpac-line)}
.vpac-spec-group h3{color:var(--vpac-ink);font-size:15px;line-height:1.5;letter-spacing:0}
.vpac-spec-group dl{margin:0}
.vpac-spec-group dl>div{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:28px;padding:9px 0}
.vpac-spec-group dt{color:var(--vpac-muted);font-size:12px}
.vpac-spec-group dd{margin:0;color:var(--vpac-ink);font-size:13px;font-weight:720;text-align:right}

.vpac-hive{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(36px,6vw,90px);align-items:center;max-width:1440px;margin:0 auto;padding:clamp(88px,10vw,150px) clamp(22px,6vw,92px)}
.vpac-hive__media{aspect-ratio:1.35;overflow:hidden;background:#cbd7dc}
.vpac-hive__media img{width:100%;height:100%;object-fit:cover}
.vpac-section-lead{max-width:620px;margin-top:20px;color:var(--vpac-muted);font-size:15px;line-height:1.76}
.vpac-hive__points{display:grid;gap:0;margin-top:30px}
.vpac-hive__points>div{padding:17px 0;border-bottom:1px solid var(--vpac-line)}
.vpac-hive__points strong{display:block;color:var(--vpac-ink);font-size:15px}
.vpac-hive__points span{display:block;margin-top:5px;color:var(--vpac-muted);font-size:11px;line-height:1.5}

.vpac-system{max-width:1440px;margin:0 auto;padding:clamp(90px,11vw,160px) clamp(22px,6vw,92px) clamp(120px,14vw,210px)}
.vpac-system__flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:clamp(48px,7vw,94px) 0 0;padding:0;counter-reset:vpac-step;list-style:none;border-top:1px solid var(--vpac-line)}
.vpac-system__flow li{position:relative;padding:28px 16px 28px 0;color:var(--vpac-ink);font-size:13px;font-weight:700;counter-increment:vpac-step}
.vpac-system__flow li::before{content:"0" counter(vpac-step);display:block;margin-bottom:30px;color:var(--vpac-blue);font-size:11px;font-weight:800;letter-spacing:.08em}
.vpac-system__flow li::after{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;background:var(--vpac-blue)}

.vpac-closing{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;padding:clamp(78px,9vw,132px) clamp(22px,6vw,92px) clamp(46px,5vw,72px);background:#0a151e}
.vpac-closing h2{max-width:760px;color:#f3f7f9;font-size:clamp(38px,5vw,70px);line-height:1;letter-spacing:-.055em}
.vpac-closing p{max-width:650px;margin-top:20px;color:#9eafb8;font-size:14px;line-height:1.75}
.vpac-closing__actions{flex:none}
.vpac-closing .btn:not(.btn--key){color:#f3f7f9;border-color:rgba(255,255,255,.34)}
.vpac-specs,.vpac-hive,.vpac-system,.vpac-closing{content-visibility:auto;contain-intrinsic-size:auto 760px}

@supports (animation-timeline:view()){
  .vpac-flight__backdrop{animation:vpac-backdrop linear both;animation-timeline:--vpac-flight;animation-range:entry 0% exit 100%}
  .vpac-flight__speed{animation:vpac-speed linear both;animation-timeline:--vpac-flight;animation-range:entry 0% exit 100%}
  .vpac-flight__copy{animation:vpac-flight-copy linear both;animation-timeline:--vpac-flight;animation-range:entry 0% exit 100%}
  .vpac-flight__drone--near{animation:vpac-near linear both;animation-timeline:--vpac-flight;animation-range:entry 0% exit 100%}
  .vpac-flight__drone--far{animation:vpac-far linear both;animation-timeline:--vpac-flight;animation-range:entry 0% exit 100%}
  .vpac-cinematic__frame{animation:vpac-cinematic-frame linear both;animation-timeline:--vpac-cinematic;animation-range:contain 0% contain 100%}
  .vpac-cinematic__backdrop{animation:vpac-cinematic-backdrop linear both;animation-timeline:--vpac-cinematic;animation-range:contain 0% contain 100%}
  .vpac-cinematic__copy{animation:vpac-cinematic-copy linear both;animation-timeline:--vpac-cinematic;animation-range:contain 0% contain 100%}
}
@keyframes vpac-backdrop{0%,20%{transform:scale(1)}70%,100%{transform:scale(1.12)}}
@keyframes vpac-speed{0%,60%{opacity:1;transform:translateY(-50%)}74%,100%{opacity:0;transform:translateY(-60%)}}
@keyframes vpac-flight-copy{0%,64%{opacity:0;transform:translate3d(0,34px,0)}76%,90%{opacity:1;transform:none}98%,100%{opacity:0;transform:translate3d(0,-18px,0)}}
@keyframes vpac-near{0%,16%{opacity:0;transform:translate3d(38vw,24vh,0) scale(.35) rotate(8deg)}28%{opacity:1}49%{opacity:1;transform:translate3d(-8vw,-4vh,0) scale(1.18) rotate(-2deg)}67%{opacity:.68;transform:translate3d(-82vw,-24vh,0) scale(2.65) rotate(-7deg)}78%,100%{opacity:0;transform:translate3d(-150vw,-38vh,0) scale(3.4) rotate(-9deg)}}
@keyframes vpac-far{0%,12%{opacity:0;transform:translate3d(-12vw,10vh,0) scale(.28) rotate(-4deg)}25%,42%{opacity:.56}60%{opacity:.2;transform:translate3d(112vw,-12vh,0) scale(.72) rotate(4deg)}68%,100%{opacity:0;transform:translate3d(138vw,-18vh,0) scale(.82) rotate(5deg)}}
@keyframes vpac-cinematic-frame{0%,5%{transform:translate3d(-50%,calc(-50% + 62vh),0) scale(.72)}18%{transform:translate3d(-50%,calc(-50% + 22vh),0) scale(.84)}30%{transform:translate3d(-50%,calc(-50% + 9vh),0) scale(.94)}42%,84%{transform:translate3d(-50%,calc(-50% + 9vh),0) scale(var(--vpac-cinematic-fill))}90%{transform:translate3d(-50%,calc(-50% + 4vh),0) scale(1.04)}96%{transform:translate3d(-50%,calc(-50% - 26vh),0) scale(.9)}100%{transform:translate3d(-50%,calc(-50% - 92vh),0) scale(.56)}}
@keyframes vpac-cinematic-backdrop{0%,12%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.04)}18%{opacity:1;transform:translate3d(-50%,-50%,0) scale(.08)}42%,86%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}92%{opacity:1;transform:translate3d(-50%,-50%,0) scale(.34)}98%{opacity:.1;transform:translate3d(-50%,-50%,0) scale(.08)}100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.04)}}
@keyframes vpac-cinematic-copy{0%,84%{opacity:1;transform:translate3d(0,0,0)}96%,100%{opacity:0;transform:translate3d(0,-32vh,0)}}

@media(max-width:900px){
  .vpac-metrics__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vpac-metrics__grid>div:nth-child(odd){border-right:1px solid var(--vpac-line)}
  .vpac-metrics__grid>div{padding-right:18px}
  .vpac-metrics__grid>div:nth-child(even){padding-left:18px}
  .vpac-capabilities__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vpac-capability-item__caption{grid-template-columns:1fr;gap:8px}
  .vpac-specs{grid-template-columns:1fr;gap:42px}
  .vpac-hive{grid-template-columns:1fr}
  .vpac-system__flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vpac-closing{display:grid;align-items:start}
}

@media(max-width:640px){
  .vpac-hero{min-height:92svh}
  .vpac-hero__image{object-position:60% center}
  .vpac-hero::after{background:linear-gradient(0deg,rgba(3,9,14,.92),rgba(3,9,14,.1) 82%)}
  .vpac-hero__copy{padding:132px 22px 54px}
  .vpac-hero h1{font-size:62px}
  .vpac-hero h1 span{font-size:24px}
  .vpac-metrics__grid{padding-inline:22px}
  .vpac-metrics__grid>div{padding-block:34px}
  .vpac-metrics strong{font-size:31px}
  .vpac-capabilities{padding:72px 22px 88px}
  .vpac-capabilities__header{padding-bottom:30px}
  .vpac-capabilities__header h2,.vpac-specs h2,.vpac-hive h2,.vpac-system h2{font-size:38px}
  .vpac-capabilities__grid{grid-template-columns:1fr;row-gap:44px}
  .vpac-capability-item__caption{grid-template-columns:auto minmax(0,1fr);gap:18px;padding-top:17px}
  .vpac-capability-item__value{font-size:25px}
  .vpac-flight{height:auto}
  .vpac-flight__scene{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:790px;height:auto;padding:440px 22px 58px}
  .vpac-flight__backdrop{inset:0;width:100%;height:100%}
  .vpac-flight__speed{top:128px;left:22px;transform:none}
  .vpac-flight__copy{position:relative;right:auto;bottom:auto;width:auto}
  .vpac-flight__facts{gap:14px}
  .vpac-flight__drone--near{top:245px;right:-120px;width:560px;opacity:.92;transform:rotate(-4deg)}
  .vpac-flight__drone--far{display:none}
  .vpac-cinematic{--vpac-cinematic-fill:1.42;height:250svh}
  .vpac-cinematic__copy{top:102px;left:22px}
  .vpac-cinematic__copy h2{font-size:38px}
  .vpac-cinematic__frame{border-radius:22px}
  .vpac-specs{margin-top:-10svh;padding:18px 22px 88px}
  .vpac-hive,.vpac-system{padding:88px 22px}
  .vpac-spec-group{grid-template-columns:1fr;gap:16px;padding:28px 0}
  .vpac-spec-group dl>div{grid-template-columns:minmax(0,1fr) auto;gap:18px}
  .vpac-hive__media{aspect-ratio:1.08}
  .vpac-system__flow{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:50px}
  .vpac-system__flow li{min-height:122px}
  .vpac-closing{gap:34px;padding:68px 22px 44px}
  .vpac-closing h2{font-size:42px}
  .vpac-closing__actions{width:100%}
  .vpac-closing__actions .btn{flex:1}
}

@media(prefers-reduced-motion:reduce){
  .vpac-flight{height:auto}
  .vpac-flight__scene{position:relative;min-height:760px}
  .vpac-flight__speed{opacity:1;transform:translateY(-50%)}
  .vpac-flight__copy{opacity:1;transform:none}
  .vpac-flight__drone--near{opacity:.8;transform:translate3d(-18vw,8vh,0) scale(.8)}
  .vpac-flight__drone--far{display:none}
  .vpac-cinematic{height:auto;padding-block:72px}
  .vpac-cinematic__stage{position:relative;height:min(760px,88svh);min-height:620px}
  .vpac-cinematic__frame,.vpac-cinematic__backdrop,.vpac-cinematic__copy{animation:none}
  .vpac-cinematic__frame{opacity:1;transform:translate3d(-50%,-46%,0) scale(.94)}
  .vpac-cinematic__backdrop{opacity:1;transform:translate3d(-50%,-50%,0) scale(1)}
  .vpac-cinematic__frame video{display:none}
  .vpac-cinematic__poster{opacity:1}
  .vpac-specs{margin-top:0}
}
