@charset "utf-8";
/* 首页 · 面向未来的数字化愿景（仅首页引用） */
.vv-main{position:relative;overflow:hidden;background:radial-gradient(58% 70% at 88% 0%,rgba(11,112,161,.12),rgba(11,112,161,0) 62%),radial-gradient(48% 60% at 4% 100%,rgba(11,112,161,.07),rgba(11,112,161,0) 66%),#0c1218;padding:calc(74 * 1rem / 100) 0 calc(80 * 1rem / 100);color:#eef3f7}
.vv-inner{position:relative;z-index:1;width:14rem;max-width:calc(100% - 40px);margin:0 auto}
.vv-head{text-align:center;margin-bottom:calc(46 * 1rem / 100)}
h2.vv-tit{margin:0;color:#f7fafc;font-weight:700;line-height:1.32;letter-spacing:.01em}
.vv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(20 * 1rem / 100)}
.vv-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:calc(196 * 1rem / 100);padding:calc(36 * 1rem / 100) calc(32 * 1rem / 100);border:1px solid rgba(255,255,255,.08);border-radius:.16rem;background:radial-gradient(105% 120% at 100% 100%,rgba(11,112,161,.24),rgba(11,112,161,0) 64%),#151c24;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.vv-card h3{position:relative;margin:0 0 calc(10 * 1rem / 100);color:#fff;font-weight:700;line-height:1.4}
.vv-desc{position:relative;margin:0;color:#a9b9c4;line-height:1.8}
.vv-bg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.vv-quote{margin:calc(42 * 1rem / 100) auto 0;padding-top:calc(38 * 1rem / 100);border-top:1px solid rgba(255,255,255,.12);color:#e6eef4;font-weight:500;line-height:1.8;text-align:center;text-wrap:balance}
@media(hover:hover){
.vv-card:hover{transform:translateY(-5px);border-color:rgba(127,166,232,.5);box-shadow:0 .18rem .4rem rgba(3,10,18,.4)}
}
.vv-spin,.vv-ping,.vv-eyes,.vv-core,.vv-bars rect{transform-box:fill-box}
.vv-spin{transform-origin:center;animation:vvSpin 48s linear infinite}
.vv-ping{transform-origin:center;animation:vvPing 3.8s ease-out infinite}
.vv-eyes{transform-origin:center;animation:vvBlink 5.6s infinite}
.vv-core{transform-origin:center;animation:vvPulse 3.2s ease-in-out infinite}
.vv-bars rect{transform-origin:50% 100%;animation:vvRise 6s ease-in-out infinite}
.vv-bars rect:nth-child(2){animation-delay:.4s}
.vv-bars rect:nth-child(3){animation-delay:.8s}
.vv-bars rect:nth-child(4){animation-delay:1.2s}
@keyframes vvSpin{to{transform:rotate(360deg)}}
@keyframes vvPing{0%{transform:scale(.5);opacity:.45}75%,100%{transform:scale(2.2);opacity:0}}
@keyframes vvBlink{0%,92%,100%{transform:scaleY(1)}94.5%,96.5%{transform:scaleY(.12)}}
@keyframes vvPulse{0%,100%{opacity:.4}50%{opacity:1}}
@keyframes vvRise{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.92)}}
@media(min-width:901px) and (max-width:1200px){
.vv-card{padding:calc(30 * 1rem / 100) calc(26 * 1rem / 100);border-radius:12px}
}
@media(max-width:900px){
.vv-main{padding:44px 0 48px}
.vv-inner{width:auto;max-width:none;padding:0 20px}
.vv-head{margin-bottom:24px}
.vv-grid{grid-template-columns:1fr;gap:14px}
.vv-card{min-height:0;padding:22px 20px;border-radius:14px}
.vv-card h3{margin-bottom:8px}
.vv-bg{left:auto;right:0;width:66%;height:100%;opacity:.62}
.vv-quote{margin-top:26px;padding-top:22px;max-width:none;line-height:1.75}
.vv-card:hover{transform:none}
}
@media(max-width:750px){
.vv-main{padding:40px 0 44px}
.vv-inner{padding:0 16px}
.vv-card{padding:20px 18px}
}
@media(max-width:360px){
.vv-bg{width:52%;opacity:.42}
.vv-desc{padding-right:40px}
}
@media(max-width:320px){
.vv-card{padding:18px 16px}
.vv-bg{opacity:.38}
}
@media(prefers-reduced-motion:reduce){
.vv-spin,.vv-ping,.vv-eyes,.vv-core,.vv-bars rect{animation:none!important}
.vv-card{transition:none}
}
