/* Cloud ecosystem spans both platform and equipment columns. */
#platform>.cloud-ecosystem{margin-top:26px;padding:32px;background:#f4f7fb;border:1px solid #e3ebf5}#platform>.cloud-ecosystem .cloud-ecosystem-heading{margin-bottom:24px}#platform>.cloud-ecosystem h4{font-size:25px}#platform>.cloud-ecosystem .cloud-ecosystem-heading span{font-size:14px}#platform>.cloud-ecosystem .cloud-logo-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:16px}#platform>.cloud-ecosystem .cloud-logo{padding:14px 10px;border-radius:5px}#platform>.cloud-ecosystem .cloud-logo svg{height:65px}
/* A complete two-row device grid; the last cell signals further connections. */
.device-scene:nth-child(4){grid-column:span 2}.device-coming{grid-column:span 2;display:flex;flex-direction:column;justify-content:center;padding:35px;background:linear-gradient(145deg,#f3f8ff,#eaf2ff);border:1px dashed #bfd1e9;border-radius:6px;color:#234b78}.device-coming>span{font-size:12px;letter-spacing:1.5px;color:#7793b5}.device-coming p{font-size:25px;line-height:1.8;margin:25px 0}.device-coming i{font-size:42px;line-height:1;font-style:normal;color:#8eb6ee}
/* Four streams connect the device to the four workflow steps. */
.ls-workflow{position:relative;isolation:isolate}.workflow-device{border:0;color:var(--ink);cursor:pointer;position:relative;overflow:visible}.workflow-device>span:last-child{position:relative;z-index:3}.workflow-product{display:block;position:relative;width:100%;height:410px;z-index:3;transition:transform .5s ease;mix-blend-mode:multiply}.workflow-product>img{height:100%;width:100%;object-fit:contain}.workflow-frames{position:absolute;inset:0;display:none;background-image:url('assets/motion-recorder.webp');background-repeat:no-repeat;background-size:400% 200%;background-position:0 0;animation:device-frames 2.4s steps(1,end) infinite;animation-play-state:paused}.ls-workflow.wf-ready:is(:hover,:focus-within,.active) .workflow-frames{display:block;animation-play-state:running}.ls-workflow.wf-ready:is(:hover,:focus-within,.active) .workflow-product>img{visibility:hidden}.ls-workflow:is(:hover,:focus-within,.active) .workflow-product{transform:scale(1.1)}.workflow-flows{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}.workflow-flows path{fill:none;stroke-linecap:round;opacity:0;transition:opacity .35s}.flow-guide{stroke:#78b5ff;stroke-width:1}.flow-pulse{stroke:#159aff;stroke-width:3;stroke-dasharray:30 75;filter:drop-shadow(0 0 5px #39b5ff);animation:workflow-stream 1.4s linear infinite;animation-delay:var(--delay);animation-play-state:paused}.ls-workflow:is(:hover,:focus-within,.active) .flow-guide{opacity:.25}.ls-workflow:is(:hover,:focus-within,.active) .flow-pulse{opacity:1;animation-play-state:running}.ls-workflow ol{position:relative;z-index:3}.ls-workflow li{padding-left:25px}.ls-workflow li>span{background:white;position:relative}.ls-workflow.offscreen .flow-pulse,.ls-workflow.offscreen .workflow-frames,body.page-hidden .flow-pulse,body.page-hidden .workflow-frames{animation-play-state:paused!important}@keyframes workflow-stream{to{stroke-dashoffset:-105}}
/* Brighter, traveling light across the existing stage and floor. */
.hero-flow-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;mix-blend-mode:screen}.hero-flow-overlay path{fill:none;stroke:#47ceff;stroke-linecap:round;stroke-dasharray:140 1550;animation:hero-data-stream 4s linear infinite}.hero-flow-glow path{stroke-width:12;opacity:.85}.hero-flow-core path{stroke:#b4f6ff;stroke-width:3;opacity:.95}.hero-flow-overlay path:nth-child(2){animation-duration:3.4s;animation-delay:-1.5s;stroke-dasharray:85 1000}.hero-flow-overlay path:nth-child(3){animation-duration:3s;animation-delay:-2s;stroke-dasharray:70 700}.ls-hero-unified .ls-intro{z-index:2}.hero-flow-toggle{position:absolute;right:24px;top:18px;z-index:3;color:#c6e5ff;background:#06172b80;border:1px solid #8bcaff70;font-size:12px;padding:5px 10px;border-radius:3px}.ls-hero-unified.flow-paused .hero-flow-overlay path,.ls-hero-unified.offscreen .hero-flow-overlay path,body.page-hidden .hero-flow-overlay path{animation-play-state:paused}.ls-hero-unified:hover .hero-flow-core path{stroke-width:4;stroke:#fff}@keyframes hero-data-stream{from{stroke-dashoffset:1690}to{stroke-dashoffset:0}}
@media(max-width:1100px){#platform>.cloud-ecosystem .cloud-logo-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.workflow-product{height:360px}}
@media(max-width:800px){#platform>.cloud-ecosystem{padding:24px;margin-top:16px}#platform>.cloud-ecosystem .cloud-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#platform>.cloud-ecosystem .cloud-logo svg{height:52px}#platform>.cloud-ecosystem .cloud-ecosystem-heading span{font-size:12px}.device-scene:nth-child(4),.device-scene:last-child,.device-coming{grid-column:auto}.device-coming{padding:20px}.device-coming p{font-size:20px}.device-coming>span{font-size:11px;letter-spacing:.5px}.workflow-product{width:min(290px,100%);height:290px}.workflow-device{overflow:hidden}.ls-workflow li{padding-left:15px}.hero-flow-overlay{height:auto;aspect-ratio:2/1;bottom:auto}.hero-flow-toggle{top:10px;right:12px;font-size:11px}.workflow-flows .flow-pulse{stroke-width:2}}
@media(prefers-reduced-motion:reduce){.hero-flow-overlay{display:none}.hero-flow-toggle{display:none}.ls-workflow .workflow-frames{display:none!important}.ls-workflow .workflow-product>img{visibility:visible!important}.ls-workflow .workflow-product{transform:none!important}.ls-workflow .flow-pulse{opacity:0!important}}
