/* Distinct service compositions; shared white surfaces, teal lines and soft motion. */
body.site-v2 .hero-product .hero-copy{max-width:53%}
body.site-v2 .hero-product .detail-visual--product{inset:28px max(20px,calc((100vw - 1220px)/2)) 28px 54%;padding:0;opacity:1;z-index:5;pointer-events:none}
body.site-v2 .service-product-hero{width:100%;max-width:570px;margin:0;position:relative}
body.site-v2 .service-scene{display:block;width:100%;height:auto;overflow:visible;stroke-linecap:round;stroke-linejoin:round}
body.site-v2 .service-product-controls{display:flex;justify-content:flex-end;padding:0 8px;margin:-12px 0 0;min-height:32px}
body.site-v2 .service-product-controls .diagram-toggle{pointer-events:auto;min-height:32px;font-size:10px;padding:4px 8px;line-height:1.6}
.service-scene .scene-surface{fill:#fffffff7;stroke:#c7e0e8;stroke-width:1.2}
.service-scene .scene-icon{fill:none;stroke:#2aa1af;stroke-width:1.7}
.service-scene .scene-orbit{fill:none;stroke:#cbe5ec;stroke-width:1;transform-origin:300px 200px;animation:scene-orbit-turn 18s linear infinite paused}
.service-scene .scene-orbit--two{opacity:.62;animation-name:scene-orbit-alt;animation-duration:24s}
.service-scene .scene-orbit-point{fill:#2aa1af;stroke:white;stroke-width:2}
.service-scene .scene-links{fill:none;stroke:#abd4de;stroke-width:1.3}
.service-scene .scene-flow{fill:none;stroke:#2aa1af;stroke-width:2}
.service-scene .scene-flow path{stroke-dasharray:5 95;animation:scene-flow 5.6s ease-in-out infinite paused}
.service-scene .scene-float{animation:scene-float 5.8s ease-in-out infinite paused}
.service-scene .scene-float--main{animation-duration:7.2s;animation-delay:-1.4s}
.service-scene .scene-float--response{animation-delay:-2.8s}
.service-scene .scene-soft-pulse{animation:scene-soft-pulse 5s ease-in-out infinite paused}
.service-scene .scene-play-pulse{transform-origin:257px 184px;animation:scene-play-pulse 3.2s ease-in-out infinite paused}
.service-scene .scene-rule{fill:none;stroke:#c6dfe7;stroke-width:1.8}
.service-scene .scene-copy-line{fill:#e8f1f5}
.service-scene .scene-copy-line--accent{fill:#c7e8ee}
.service-scene .scene-wave{fill:none;stroke:#81becb;stroke-width:1.6}
.service-scene .scene-sphere{fill:none;stroke:#a6cfd9;stroke-width:1.2}
.service-scene text{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
.service-scene .scene-title{fill:#193c49;font-size:23px;font-weight:600}
.service-scene .scene-label{fill:#345664;font-size:16px;font-weight:550}
.service-scene .scene-caption{fill:#76909b;font-size:13px}
.service-scene .scene-live-tag{fill:#278b9b;font-size:12px;font-weight:550;text-anchor:middle}
.service-product-hero.is-animating :is(.scene-orbit,.scene-flow path,.scene-float,.scene-soft-pulse,.scene-play-pulse){animation-play-state:running}
@keyframes scene-orbit-turn{from{transform:rotate(-10deg)}to{transform:rotate(350deg)}}
@keyframes scene-orbit-alt{from{transform:rotate(54deg)}to{transform:rotate(-306deg)}}
@keyframes scene-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes scene-flow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes scene-soft-pulse{0%,100%{opacity:.4}50%{opacity:.85}}
@keyframes scene-play-pulse{0%,100%{transform:scale(.98)}50%{transform:scale(1.025)}}
@media(max-width:1100px){body.site-v2 .hero-product .hero-copy{max-width:51%}body.site-v2 .hero-product .detail-visual--product{left:52%;right:15px}}
@media(max-width:620px){
 body.site-v2 .hero-product .hero-copy{max-width:none}
 body.site-v2 .hero-product .hero-grid{padding-bottom:calc((100vw - 40px)*.6667 + 42px)}
 body.site-v2 .hero-product .detail-visual--product{inset:auto 20px 12px;height:auto;padding:0}
 body.site-v2 .service-product-hero{max-width:500px}
 body.site-v2 .service-scene .scene-caption{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
 .service-product-hero :is(.scene-orbit,.scene-flow path,.scene-float,.scene-soft-pulse,.scene-play-pulse){animation:none}
 .service-product-hero :is(.scene-flow,.service-product-controls){display:none}
}
