/* One motion system: layered media, a short cinematic stage, and drawn connections. */
.opening-header:after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:linear-gradient(90deg,#6840a0,#9bbf2c);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
[dir=rtl] .opening-header:after{transform-origin:right}
.hero .cine-video{animation:none!important;transform:none!important}
.hero-copy{animation:none!important;opacity:1!important;transform:none!important}
.hero .cine-video video{height:100%;top:0;transform:none}
/* The copy is part of the scene, not a floating caption card. */
#platform.reference-platform{height:calc(100svh + 260px);min-height:0!important;padding:0!important;display:block;overflow:visible!important;background:var(--bg)!important;isolation:isolate}
#platform .platform-stage{position:sticky;top:88px;height:calc(100svh - 88px);min-height:560px;overflow:hidden;isolation:isolate;display:flex;align-items:center;padding:80px max(6%,calc((100vw - 1320px)/2));color:#211b2d}
#platform .platform-backdrop{inset:0;z-index:-2;mask:none!important;-webkit-mask:none!important;clip-path:inset(var(--scene-inset,0px) round var(--scene-radius,0px));will-change:clip-path}
#platform .platform-backdrop .cine-video{inset:0;background-position:center}
#platform .platform-backdrop .cine-video video{height:100%;top:0;object-position:center;transform:none}
#platform .platform-backdrop:after{display:none!important}
#platform .platform-stage:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(247,248,244,.99) 0%,rgba(247,248,244,.97) 41%,rgba(247,248,244,.94) 55%,rgba(247,248,244,.3) 75%,rgba(247,248,244,.03)),linear-gradient(0deg,var(--bg),transparent 13%,transparent 88%,var(--bg))}
[dir=rtl] #platform .platform-stage:before{background:linear-gradient(270deg,rgba(247,248,244,.99) 0%,rgba(247,248,244,.97) 41%,rgba(247,248,244,.94) 55%,rgba(247,248,244,.3) 75%,rgba(247,248,244,.03)),linear-gradient(0deg,var(--bg),transparent 13%,transparent 88%,var(--bg))}
[data-theme=dark] #platform .platform-stage:before{background:linear-gradient(90deg,rgba(16,12,24,.99),rgba(16,12,24,.97) 41%,rgba(16,12,24,.94) 55%,rgba(16,12,24,.3) 75%,rgba(16,12,24,.03)),linear-gradient(0deg,var(--bg),transparent 13%,transparent 88%,var(--bg))}
[data-theme=dark][dir=rtl] #platform .platform-stage:before{background:linear-gradient(270deg,rgba(16,12,24,.99),rgba(16,12,24,.97) 41%,rgba(16,12,24,.94) 55%,rgba(16,12,24,.3) 75%,rgba(16,12,24,.03)),linear-gradient(0deg,var(--bg),transparent 13%,transparent 88%,var(--bg))}
#platform .platform-copy{width:52%;max-width:680px;margin:0;text-align:start;position:relative;z-index:1}
#platform .platform-copy h2{font-size:clamp(40px,4.65vw,66px)!important;line-height:1.09!important;letter-spacing:-.045em!important;color:#211b2d!important;margin:0;max-width:650px}
#platform .platform-copy h2 *{color:inherit!important}
#platform .platform-copy>p{max-width:450px;margin:30px 0 0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;text-align:start;font-size:18px!important;line-height:1.65!important;color:#3d354a!important;text-shadow:none}
[data-theme=dark] #platform .platform-copy h2{color:#f7f3fc!important}
[data-theme=dark] #platform .platform-copy>p{color:#d9d0e7!important}
/* Connection geometry follows the real component positions, including RTL/mobile. */
.motion-links{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.motion-links path{fill:none;stroke:#705095;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;vector-effect:non-scaling-stroke}
.motion-links path:nth-child(3n+1){stroke:#688526}
[data-theme=dark] .motion-links path{stroke:#b59bd7}
[data-theme=dark] .motion-links path:nth-child(3n+1){stroke:#c4df79}
.motion-ready .integration-map{position:relative;isolation:isolate}
.motion-ready .integration-map .integration-center,.motion-ready .integration-map .integration-side{position:relative;z-index:1}
.motion-ready .integration-side:after{display:none}
@media(max-width:999px){
 #platform.reference-platform{height:auto}
 #platform .platform-stage{position:relative;top:auto;height:auto;min-height:790px;display:block;padding:64px 6% 410px}
 #platform .platform-copy{width:100%;max-width:660px}
 #platform .platform-copy h2{font-size:clamp(36px,6vw,54px)!important;max-width:650px}
 #platform .platform-copy>p{font-size:17px!important;max-width:560px;margin-top:24px!important}
 #platform .platform-backdrop{top:40%;inset-inline:0;bottom:0}
 #platform .platform-stage:before,[dir=rtl] #platform .platform-stage:before{background:linear-gradient(180deg,#f7f8f4 0%,#f7f8f4 46%,rgba(247,248,244,.75) 54%,transparent 68%,transparent 90%,var(--bg))}
 [data-theme=dark] #platform .platform-stage:before,[data-theme=dark][dir=rtl] #platform .platform-stage:before{background:linear-gradient(180deg,#100c18 0%,#100c18 46%,rgba(16,12,24,.75) 54%,transparent 68%,transparent 90%,var(--bg))}
 #platform .platform-backdrop .cine-video video{object-position:center 58%}
}
@media(max-width:700px){#platform .platform-copy h2{font-size:38px!important}#platform .platform-copy>p{font-size:16px!important}#platform .platform-stage{padding-top:55px;min-height:800px}.hero .cine-video video{height:100%;top:0}}
@media(prefers-reduced-motion:reduce){
 #platform.reference-platform{height:auto!important}
 #platform .platform-stage{position:relative!important;top:auto!important}
 #platform .platform-backdrop{clip-path:none!important}
 .hero .cine-video video,#platform .cine-video video{transform:none!important;will-change:auto}
 .motion-links path{stroke-dashoffset:0!important}
 .opening-header:after{transform:none;display:none}
}
#platform .platform-stage{width:100%;justify-self:stretch;align-self:stretch;margin:0}
@media(max-width:700px){#platform .platform-copy h2{font-size:34px!important}}
.opening-header{height:88px}
@media(max-width:700px){.opening-header{height:76px}}
/* Each animated element has one owner; remove the previous reveal/pointer layers. */
.motion-ready .bento .story-text{animation:none!important;opacity:1!important;filter:none!important;transform:none!important}
.motion-ready .closing-ghost{animation:none!important}
#platform:after{display:none!important}
