/* Recognizable service scenes in one blue schematic language. */
.service-first .service-model-visual{inset:20px 12px 25px 48%;height:auto;opacity:1;overflow:hidden;pointer-events:none}.service-scene{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.service-scene svg{width:100%;height:100%;max-height:500px}.scene-lines{stroke:#81caed;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.scene-lines .glass{fill:var(--scene-fill)}.scene-lines .faint{opacity:.45}.scene-lines .accent-fill{fill:#62c8ef25;stroke:#a1e5ff}.scene-lines .accent{stroke:#bceeff;stroke-width:2.6}.scene-lines .minor{stroke:#4f98bb;stroke-width:1;opacity:.55}.scene-lines .badge-fill{fill:#074365;stroke:#83cce9}.scene-lines .scene-label{font:10px Arial;letter-spacing:1.2px;fill:#9dc7dd;stroke:none}.scene-lines .option-label{font:10px Arial;letter-spacing:.5px;fill:#bbe8fb;stroke:none}.scene-lines .trace{stroke:#bcefff;stroke-width:2;stroke-dasharray:100;animation:scene-trace 5s ease-in-out infinite}.scene-build{animation:scene-assemble 8s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}.build-later{animation-delay:-6.5s}.scene-badge{animation:scene-badge 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.badge-two{animation-delay:-4.7s}.badge-three{animation-delay:-2.3s}.connections{stroke:#65bde7;stroke-width:1.5;stroke-dasharray:4 7}.access-option{animation:scene-option 9s ease-in-out infinite}.option-1{animation-delay:-6s}.option-2{animation-delay:-3s}.drive-car{animation:scene-drive 10s ease-in-out infinite}.screen-beam{stroke:#a5e9ff;stroke-width:2;animation:scene-screen 10s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.signal-dot{fill:#c0f1ff;stroke:none;animation:scene-connect 5s ease-in-out infinite}.doctor-screen{animation:scene-doctor 5s ease-in-out infinite}.circuit-path{stroke:#60b8e1;stroke-width:2.5}.return-path{stroke:#b6e7fa;opacity:.65}.circuit-signal{stroke:#d1f5ff;stroke-width:3;stroke-dasharray:8 92;animation:scene-circuit 5s linear infinite}
.service-scene *{animation-play-state:paused!important}.services-in-view .sp-model[aria-hidden=false] .service-scene *{animation-play-state:running!important}
@keyframes scene-assemble{0%,100%{opacity:.6;transform:translateY(5px)}18%,85%{opacity:1;transform:translateY(0)}}
@keyframes scene-trace{0%,100%{stroke-dashoffset:100;opacity:.5}45%,85%{stroke-dashoffset:0;opacity:1}}
@keyframes scene-badge{0%,100%{opacity:.55;transform:scale(.97)}25%,65%{opacity:1;transform:scale(1)}}
@keyframes scene-option{0%,32%,100%{opacity:1}40%,92%{opacity:.4}}
@keyframes scene-drive{0%,12%{transform:translateX(-40px)}35%,65%{transform:translateX(25px)}88%,100%{transform:translateX(90px)}}
@keyframes scene-screen{0%,30%,70%,100%{opacity:.2;transform:scaleY(.75)}40%,60%{opacity:1;transform:scaleY(1)}}
@keyframes scene-connect{0%,100%{opacity:.2;transform:translateY(45px)}50%{opacity:1;transform:translateY(-40px)}}
@keyframes scene-doctor{0%,100%{opacity:.6}25%,85%{opacity:1}}
@keyframes scene-circuit{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(max-width:760px){.service-first .service-model-visual{inset:auto 10px 27px 10px;height:190px;opacity:1}.scene-lines{stroke-width:2.2}.service-scene svg{width:100%;height:100%;transform:none}.scene-label{display:none}}
@media(max-width:760px) and (max-height:740px){.service-first .sp-model h4{display:none}.service-first .service-model-visual{height:125px;bottom:23px;left:5px;right:5px}.scene-lines .option-label{font-size:12px}.scene-lines{stroke-width:2.5}.service-first .sp-model .sp-link{margin-top:2px}}
@media(prefers-reduced-motion:reduce){.service-scene *{animation:none!important;opacity:1}.scene-lines .trace{stroke-dashoffset:0}.scene-lines .circuit-signal{stroke-dasharray:none}.service-first .service-model-visual{min-height:180px}}
.service-transition-ribbon{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.service-page .site-header,.service-page .story-stage,.service-page .sp-delivery-stage,.service-page .sp-portfolio{position:relative;z-index:2}.service-page .story-stage,.service-page .sp-delivery-stage{position:sticky}.service-page .sp-section-nav{position:relative;z-index:2}.service-page .sp-delivery-stage{background:transparent}.service-page .sp-model-stack{z-index:2}@media(prefers-reduced-motion:reduce){.service-transition-ribbon{display:none}}
