/* Two alternating editorial rows, with illustrations in a shared neutral frame. */
#capabilities{width:min(1080px,calc(100% - 80px));padding:104px 0 64px;background:#fff;box-shadow:0 0 0 100vmax #fff;clip-path:inset(0 -100vmax)}
#capabilities .section-heading{margin-bottom:72px}
#capabilities .section-heading h2{font-size:36px}
#capabilities .section-heading>p{font-size:14px}
#capabilities .cap-feature{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:112px;padding:0;margin:0 0 96px;border:0;border-radius:0;background:none;align-items:center}
#capabilities .cap-copy{min-width:0;max-width:100%;overflow-wrap:anywhere}
#capabilities .cap-copy>p,#capabilities .cap-details{max-width:440px}
#capabilities .cap-copy h3{font-size:32px;font-weight:500;line-height:1.5;margin:16px 0 20px;letter-spacing:-.025em}
#capabilities .cap-copy h3 span{color:#111827}
#capabilities .cap-copy>p{font-size:16px;line-height:1.9;color:#85878d;margin:0}
#capabilities .feature-number{font-size:11px;letter-spacing:.12em;color:#1667e8}
#capabilities .cap-details{padding:0;margin:28px 0 0;list-style:none;color:#71747c;font-size:13px;line-height:2.25}
#capabilities .cap-details li:before{content:'·';margin-right:8px;color:#141821}
#capabilities .cap-details b{color:#252a32;font-weight:500}
#capabilities .cap-art{width:100%;aspect-ratio:1.24;background:transparent;border-radius:0;overflow:hidden;position:relative;isolation:isolate}
#capabilities .memory-feature .cap-copy{grid-column:2;grid-row:1}
#capabilities .memory-feature .cap-art{grid-column:1;grid-row:1}
#capabilities .proactive-art iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;transform:none}
#capabilities .proactive-art{aspect-ratio:583 / 604;overflow:visible;transform:translateX(-2.7444%)}
#capabilities .memory-art{overflow:visible;transform:none;aspect-ratio:583 / 604}
.memory-canvas{position:absolute;left:-20.55%;top:0;width:137%;height:100%}
.memory-grid{position:absolute;inset:-20px;background:linear-gradient(90deg,transparent 24%,#dddfe650 24.3%,transparent 24.6%,transparent 74%,#dddfe650 74.3%,transparent 74.6%),linear-gradient(transparent 49.7%,#d6d8e755 50%,transparent 50.3%)}
.memory-rail{position:absolute;left:15%;top:18%;width:13%;height:65%;border:.5px solid #e1e3e9;background:#fff;border-radius:48px;display:flex;flex-direction:column;align-items:center;justify-content:space-around;color:#999ba2;box-shadow:0 3px 10px #30374909;font-size:21px;padding:12px 0}
.memory-rail .selected{background:linear-gradient(#eceef4,#d9dce6);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:#616674}
.memory-lines{position:absolute;inset:0;width:100%;height:100%;transform:translateX(-6%)}
.memory-lines path{stroke-width:.5!important}
.memory-ghost{position:absolute;left:35%;width:21%;height:26%;border:.5px solid #dfe0e7;border-radius:20px;display:flex;flex-direction:column;justify-content:end;padding:16px;color:#c4c5cb;gap:6px}
.memory-ghost span{font-size:24px;line-height:1}.memory-ghost i{display:block;width:80%;height:4px;background:#dedfe3;border-radius:4px}.memory-ghost i:first-of-type{width:42%;background:#c9cacf}.ghost-top{top:4%}.ghost-bottom{bottom:2%}
.memory-hub{position:absolute;left:33%;top:35%;width:25%;aspect-ratio:1;background:#fff;border:.5px solid #e6e7ec;border-radius:22px;box-shadow:0 6px 16px #2b314612,0 2px 3px #2b314608;padding:12px}
.memory-glow{width:100%;height:100%;padding:4px;background:conic-gradient(from 30deg,#fff 0%,#fff 28%,#80abff 43%,#a296ff 62%,#ffc1de 72%,#fff 86%);border-radius:50%}
.memory-glow>div{height:100%;border-radius:50%;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:.5px solid #eeeeef}
.memory-glow img{width:30%;height:auto}.memory-glow b{font-size:11px;color:#242830;font-weight:500}
.memory-node{position:absolute;left:68%;width:14%;aspect-ratio:1;background:#fafafd;border:.5px solid #ececf1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 1px 2px #1c243502}
.memory-node span{font-size:23px;line-height:1;color:#5d78ff}.memory-node small{font-size:10px;color:#626670}.node-one{top:10%}.node-two{top:31%}.node-three{top:52%}.node-four{top:73%}.node-two span{color:#fe935e}.node-three span{color:#28b9e9}.node-four span{color:#9872ef}
.memory-node svg{display:block;width:23px;height:23px}.memory-rail svg{display:block;width:18px;height:18px}
#capabilities .sp-marquee-section{padding-top:0}
@media(max-width:800px){#capabilities{width:calc(100% - 40px);padding:64px 0 40px}#capabilities .section-heading{margin-bottom:40px}#capabilities .section-heading h2{font-size:28px}#capabilities .cap-feature{gap:28px;grid-template-columns:1fr;margin-bottom:64px}#capabilities .cap-copy h3{font-size:28px}#capabilities .memory-feature .cap-copy,#capabilities .memory-feature .cap-art{grid-column:auto;grid-row:auto}#capabilities .cap-details{margin-top:20px}#capabilities .cap-art{max-width:520px;margin:auto}.memory-glow b{font-size:10px}}

#capabilities .cap-feature:last-of-type{margin-bottom:0}.memory-grid{display:none}

/* 品牌 DNA 的轻量循环动画与连接线层级。 */
.memory-lines{z-index:0;pointer-events:none}
.memory-rail{z-index:3;background:#fff}
.memory-hub,.memory-ghost,.memory-node{z-index:2}
.memory-hub{animation:dnaHubFloat 4s ease-in-out infinite}
.memory-ghost{background:#fff;animation:dnaGhostFloat 4.5s ease-in-out infinite}
.ghost-bottom{animation-delay:-2.25s}
.memory-node{animation:dnaNodeGlow 4.8s ease-in-out infinite}
.node-two{animation-delay:2s}.node-three{animation-delay:4s}.node-four{animation-delay:6s}
.memory-lines path{animation:none}
.memory-lines path:nth-child(2){animation-delay:2s}.memory-lines path:nth-child(3){animation-delay:4s}.memory-lines path:nth-child(4){animation-delay:6s}
@keyframes dnaHubFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes dnaGhostFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes dnaNodeGlow{0%,25%,100%{transform:scale(1)}12%{transform:scale(1.025)}}
@keyframes dnaLinePulse{0%,25%,100%{opacity:.65}12%{opacity:1}}
@media(prefers-reduced-motion:reduce){.memory-hub,.memory-ghost,.memory-node,.memory-lines path{animation:none}}
/* 渐变只沿圆环旋转，中心内容保持静止。 */
.memory-glow{position:relative;isolation:isolate;background:none}
.memory-glow::before{content:'';position:absolute;inset:0;z-index:-1;border-radius:50%;background:conic-gradient(from 30deg,#fff 0%,#fff 28%,#80abff 43%,#a296ff 62%,#ffc1de 72%,#fff 86%);animation:dnaRingRotate 6s linear infinite}
.memory-lines .dna-flow{stroke-width:1!important;stroke-linecap:round;stroke-dasharray:.15 .85;stroke-dashoffset:1;animation:dnaFlowTravel 2.4s linear infinite;opacity:0}
.memory-lines .dna-flow:nth-of-type(3){animation-delay:.6s}.memory-lines .dna-flow:nth-of-type(4){animation-delay:1.2s}.memory-lines .dna-flow:nth-of-type(5){animation-delay:1.8s}
@keyframes dnaRingRotate{to{transform:rotate(360deg)}}
@keyframes dnaFlowTravel{0%{stroke-dashoffset:1;opacity:0}15%{opacity:.6}75%{opacity:.6}100%{stroke-dashoffset:0;opacity:0}}
@media(prefers-reduced-motion:reduce){.memory-glow::before,.memory-lines .dna-flow{animation:none}.memory-lines .dna-flow{display:none}}

/* 合成层承载旋转和浮动，避免逐帧绘制阴影。 */
.memory-glow::before,.memory-hub,.memory-ghost{will-change:transform;backface-visibility:hidden}
