/* 更鲜明的研究数据流。只运动装饰层，保持文字和控件稳定。 */
.studio-hero{isolation:isolate;background:#fff}
.studio-hero::before{content:'';position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 83% 36%,#d8e6ff80,transparent 49%),radial-gradient(ellipse at 59% 100%,#e0edff9c,transparent 55%);pointer-events:none}
.hero-datafield{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.studio-hero-grid{position:relative;z-index:1}
.studio-hero h1>span{color:#175df5;background:linear-gradient(100deg,#134bcf 10%,#236ae7 37%,#1041bf 62%,#175df5 86%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:title-blue-flow 9s ease-in-out infinite}
.studio-hero h1>span::after{height:3px;opacity:.45;background:linear-gradient(90deg,#175df5,#90bfff,#175df5);background-size:200% 100%;animation:title-blue-flow 7s ease-in-out infinite}
.hero-actions .btn-primary{background:linear-gradient(110deg,#1449d9,#1762ef 44%,#1449d9 88%);background-size:220% 100%;animation:primary-energy 5s ease-in-out infinite}
.hero-actions .btn-primary:hover{box-shadow:0 0 0 5px #175df510,0 8px 24px #175df52b}
.hero-actions .btn-primary:hover>svg{transform:translate(3px,-3px)}
.research-stage{isolation:isolate}
.research-stage::before{content:'';position:absolute;inset:29px -19px 10px;border-radius:38px;background:radial-gradient(ellipse at var(--flow-light-x,65%) var(--flow-light-y,28%),#8cb9ff38,transparent 64%);filter:blur(17px);z-index:-1;pointer-events:none;transition:background .3s}
.stage-signal{opacity:.25}
.research-canvas{border-color:#c6d8f8;box-shadow:0 13px 40px #1e59b90d,0 0 0 6px #ffffff70}
.research-frame-light{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible;border-radius:inherit}
.research-frame-light rect{fill:none;vector-effect:non-scaling-stroke}
.research-frame-light .frame-tail{stroke:#347af8;stroke-width:1.5;stroke-dasharray:115 885;animation:frame-orbit 7s linear infinite}
.research-frame-light .frame-head{stroke:#76b2ff;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 998;animation:frame-orbit 7s linear infinite}
.flux-tags{position:absolute;left:0;right:0;top:-16px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2;pointer-events:none}
.flux-tag{display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border:1px solid #d5e2f8;background:#ffffffeb;box-shadow:0 4px 13px #1b529908;border-radius:5px;font-size:11px;color:#496b9b;line-height:1.6;animation:tag-float 5s ease-in-out infinite;animation-delay:var(--tag-delay)}
.flux-tag>i{display:block;width:5px;height:5px;background:#3c7df4;border-radius:50%;box-shadow:0 0 0 3px #175df50b}
.flux-tag:nth-child(2){border-color:#bfd6fc;color:#285eb6;animation-duration:6s}.flux-tag:nth-child(3){animation-duration:5.6s}
.bento-tool{background:linear-gradient(125deg,#175df5 5%,#1454e4 54%,#1c69f5)}
.bento-tool .type-grid>div{animation:tile-flow 7.2s ease-in-out infinite;animation-delay:calc(var(--tile-index,0) * -1.2s)}
.bento-tool .type-grid>div:hover{animation-play-state:paused;background:#ffffff23;border-color:#ffffffa1}
.people-glyph .highlight{animation:people-signal 4s ease-in-out infinite;animation-delay:var(--person-delay,0s)}
.bento-steps>b{animation:process-arrow 3.5s ease-in-out infinite}.bento-steps>b:nth-of-type(2){animation-delay:.5s}
.studio-cta{background:linear-gradient(112deg,#1248d5,#175df5 38%,#226de7 66%,#164bd5);background-size:180% 140%;animation:closing-flow 13s ease-in-out infinite}
.studio-cta::after{border-color:#ffffff38;box-shadow:0 0 0 65px #ffffff07,0 0 0 130px #ffffff04;animation:closing-orbit 16s ease-in-out infinite}
.motion-outline button[aria-current=true] .outline-dot{box-shadow:0 0 0 4px #175df51c,0 0 10px #175df541}
[data-site-motion=paused] .studio-hero h1>span,[data-site-motion=paused] .studio-hero h1>span::after,[data-site-motion=paused] .hero-actions .btn-primary,[data-site-motion=paused] .research-frame-light rect,[data-site-motion=paused] .flux-tag,[data-site-motion=paused] .bento-tool .type-grid>div,[data-site-motion=paused] .people-glyph .highlight,[data-site-motion=paused] .bento-steps>b,[data-site-motion=paused] .studio-cta,[data-site-motion=paused] .studio-cta::after{animation-play-state:paused}
/* 滚出视口的区域停止循环；手机仅保留较轻的装饰。 */
[data-fx-visible=false] .research-frame-light rect,[data-fx-visible=false] .flux-tag,[data-fx-visible=false] .type-grid>div,[data-fx-visible=false] .people-glyph .highlight,[data-fx-visible=false] .bento-steps>b,.studio-cta[data-fx-visible=false],.studio-cta[data-fx-visible=false]::after{animation-play-state:paused}
.studio-hero[data-fx-visible=false] h1>span,.studio-hero[data-fx-visible=false] h1>span::after,.studio-hero[data-fx-visible=false] .hero-actions .btn-primary{animation-play-state:paused}
.studio-hero[data-fx-visible=false] .stage-signal path,.studio-hero[data-fx-visible=false] .stage-signal circle,.studio-hero[data-fx-visible=false] .canvas-insight::after{animation-play-state:paused}
/* 滚动优先：暂缓会逐帧重绘的渐变、描边和光晕，结束后继续播放。 */
html[data-scroll-motion=scrolling] .studio-hero h1>span,html[data-scroll-motion=scrolling] .studio-hero h1>span::after,html[data-scroll-motion=scrolling] .hero-actions .btn-primary,html[data-scroll-motion=scrolling] .research-frame-light rect,html[data-scroll-motion=scrolling] .stage-signal path,html[data-scroll-motion=scrolling] .stage-signal circle,html[data-scroll-motion=scrolling] .canvas-insight::after,html[data-scroll-motion=scrolling] .type-grid>div,html[data-scroll-motion=scrolling] .studio-cta{animation-play-state:paused}
@keyframes title-blue-flow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes primary-energy{0%,100%{background-position:0 50%;box-shadow:0 0 0 0 #175df500}50%{background-position:100% 50%;box-shadow:0 0 0 5px #175df512,0 4px 17px #175df515}}
@keyframes frame-orbit{to{stroke-dashoffset:-1000}}
@keyframes tag-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes tile-flow{0%,65%,100%{background:#ffffff06;border-color:#ffffff26}78%{background:#ffffff20;border-color:#ffffff87}88%{background:#ffffff0d;border-color:#ffffff4a}}
@keyframes people-signal{0%,100%{opacity:.5}45%,65%{opacity:1}}
@keyframes process-arrow{0%,100%{color:#becbdc;transform:translateX(0)}45%{color:#3c7af0;transform:translateX(3px)}}
@keyframes closing-flow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes closing-orbit{0%,100%{transform:translate(0,0)}50%{transform:translate(-16px,12px)}}
@media(max-width:1180px){.flux-tags{top:-13px}.flux-tag{font-size:10px;padding:4px 8px;gap:6px}.research-stage::before{inset:29px -9px 10px}.research-frame-light .frame-tail{stroke-width:1.3}}
@media(max-width:760px){.flux-tags{display:none}.studio-hero::before{background:radial-gradient(ellipse at 90% 58%,#e4edffcf,transparent 58%)}.research-stage::before{inset:22px -8px 5px;filter:blur(12px)}.research-canvas{box-shadow:0 8px 25px #1e59b90b,0 0 0 4px #ffffff70}.research-frame-light .frame-tail{stroke-width:1.25}.research-frame-light .frame-head{stroke-width:2}.studio-cta::after{animation:none}}
@media(prefers-reduced-motion:reduce){.studio-hero h1>span,.studio-hero h1>span::after,.hero-actions .btn-primary,.research-frame-light rect,.flux-tag,.bento-tool .type-grid>div,.people-glyph .highlight,.bento-steps>b,.studio-cta,.studio-cta::after{animation:none!important}.flux-tag,.bento-steps>b{transform:none}}
