/* Blue, flat product illustrations. Left-hand service content remains unchanged. */
.services-detail-grid .container > .service-detail-item .service-detail-visual {
    background: radial-gradient(ellipse at 85% 12%, #378cff66, transparent 52%), linear-gradient(145deg, #1d6bf3, #104dcc) !important;
    border-color: #ffffff20;
    padding: 44px 28px 36px;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.services-detail-grid .service-detail-visual::before { inset:0; width:auto; height:auto; border-radius:0; background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:40px 40px; }
.services-detail-grid .service-detail-item::after { background:#1558d8; color:#fff; border-color:#ffffff40; box-shadow:none; }
.service-scene { width:100%;max-width:590px;margin:0;position:relative;color:white; }
.scene-kicker { font-size:9px;letter-spacing:2px;font-weight:600;color:#c6deff;margin:0 20px; }
.service-illustration { display:block;width:100%;height:auto;overflow:visible;margin:12px 0 0; }
.service-scene figcaption { margin:0 20px; }
.service-scene h4 { font-size:clamp(19px,1.6vw,26px);line-height:1.2;letter-spacing:-.7px;font-weight:500;color:#fff;margin:0 0 10px; }
.service-scene figcaption p { color:#d4e5ff;font-size:13px;line-height:1.6;max-width:370px;margin:0; }
.service-illustration text { font-family:'DM Sans',sans-serif;fill:#f3f8ff; }
.sv-panel { fill:#1454c9;stroke:#8dbbff;stroke-opacity:.65;stroke-width:1; }
.sv-soft { fill:#3d83ee;fill-opacity:.6;stroke:#aad0ff;stroke-opacity:.3; }
.sv-core { fill:#2879f4;stroke:#b3d5ff;stroke-width:1.2; }
.sv-device { fill:#0e48b8;stroke:#b9d8ff;stroke-width:1.3; }
.sv-bright { fill:#a6d2ff; }.sv-product{fill:#67adff;stroke:#c6e4ff;stroke-width:1.4;}.sv-outline{fill:none;stroke:#d2e9ff;stroke-width:2;}
.sv-label{font-size:12px;font-weight:500;}.sv-small{font-size:9px;fill:#c6deff!important}.sv-micro{font-size:9px;letter-spacing:1.5px;fill:#d3e7ff!important}.sv-title{font-size:29px;font-weight:500;letter-spacing:-1px}.sv-heading{font-size:20px;letter-spacing:-.6px}.sv-button{font-size:9px;fill:#1043a2!important;font-weight:600}.sv-mark{font-size:30px}.sv-symbol{font-size:39px}.sv-big-symbol{font-size:65px}.sv-icon{font-size:23px}.sv-code-text{font:22px ui-monospace,monospace}
.sv-line,.sv-rule {fill:none;stroke:#a0c9ff;stroke-width:1;stroke-opacity:.4}.sv-route{fill:none;stroke:#b4d8ff;stroke-width:1.5;stroke-dasharray:5 6;animation:sv-flow 9s linear infinite}.sv-chart{fill:none;stroke:#c4e6ff;stroke-width:3;stroke-linecap:round;stroke-dasharray:700;animation:sv-chart 7s ease-in-out infinite}.sv-dot,.sv-packet{fill:#c6ebff}.sv-dot{animation:sv-dot 3s ease-in-out infinite}.sv-avatar{fill:#8fc8ff}
.sv-float{animation:sv-float 7s ease-in-out infinite}.sv-delay{animation-delay:-3s}.sv-delay-1{animation-delay:-2s}.sv-delay-2{animation-delay:-4s}.sv-delay-3{animation-delay:-6s}.sv-row{animation:sv-row 6s ease-in-out infinite}.sv-row-1{animation-delay:-1s}.sv-row-2{animation-delay:-2s}.sv-row-3{animation-delay:-3s}
@keyframes sv-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes sv-flow{to{stroke-dashoffset:-88}}
@keyframes sv-chart{0%,100%{stroke-dashoffset:65;opacity:.65}45%,75%{stroke-dashoffset:0;opacity:1}}
@keyframes sv-dot{50%{opacity:.35}}
@keyframes sv-row{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
.service-scene:not(.is-visible) * {animation-play-state:paused!important}
@media(max-width:991px){.services-detail-grid .container > .service-detail-item .service-detail-visual{padding:32px 20px;min-height:0}.service-scene{max-width:550px}.scene-kicker{font-size:8px}.service-scene h4{font-size:24px}}
@media(max-width:480px){.services-detail-grid .container > .service-detail-item .service-detail-visual{padding:28px 12px}.scene-kicker{font-size:7px;letter-spacing:1px;margin:0 12px}.service-scene figcaption{margin:4px 12px 0}.service-scene h4{font-size:21px}.service-scene figcaption p{font-size:12px}}
@media(prefers-reduced-motion:reduce){.service-scene *{animation:none!important;transition:none!important}}

/* Richer motion: glowing cores, spinning marks, drawn rules and soft pings. */
.service-illustration :is(.sv-symbol,.sv-big-symbol,.sv-mark,.sv-heart,.sv-icon) { transform-box:fill-box;transform-origin:center; }
.sv-core { animation:sv-core-glow 4s ease-in-out infinite; }
.sv-packet { filter:drop-shadow(0 0 5px #d8f1ff); }
.sv-symbol,.sv-big-symbol,.sv-mark { animation:sv-spin 14s linear infinite; }
.sv-bright { animation:sv-bright 3.2s ease-in-out infinite; }
.sv-avatar { animation:sv-dot 2.6s ease-in-out infinite; }
.sv-icon { animation:sv-bob 3.4s ease-in-out infinite; }
.sv-panel .sv-rule, .sv-rule { stroke-dasharray:420;stroke-dashoffset:420;animation:sv-draw 7s ease-in-out infinite; }
.sv-dot { transform-box:fill-box;transform-origin:center;animation:sv-ping 2.4s ease-out infinite; }
.sv-row-1 .sv-dot,.sv-row-1 .sv-rule { animation-delay:-.8s; }
.sv-row-2 .sv-dot,.sv-row-2 .sv-rule { animation-delay:-1.6s; }
.sv-row-3 .sv-dot,.sv-row-3 .sv-rule { animation-delay:-2.4s; }
.sv-heart { font-size:16px;fill:#ffd1e6!important;opacity:0;animation:sv-heart 3.6s ease-out infinite; }
.sv-heart:nth-of-type(2n) { animation-delay:-1.2s; }
.sv-heart:nth-of-type(3n) { animation-delay:-2.4s; }
.sv-tracker { fill:#fff;filter:drop-shadow(0 0 6px #c4e6ff); }
@keyframes sv-core-glow { 0%,100% { stroke-opacity:.55;filter:drop-shadow(0 0 0 #9fd0ff00); } 50% { stroke-opacity:1;filter:drop-shadow(0 0 14px #9fd0ffaa); } }
@keyframes sv-spin { to { transform:rotate(360deg); } }
@keyframes sv-bright { 0%,100% { fill:#a6d2ff; } 50% { fill:#d4ebff; } }
@keyframes sv-bob { 0%,100% { transform:translateY(0) scale(1); } 50% { transform:translateY(-2px) scale(1.08); } }
@keyframes sv-draw { 0% { stroke-dashoffset:420; } 35%,85% { stroke-dashoffset:0; } 100% { stroke-dashoffset:-420; } }
@keyframes sv-ping { 0% { transform:scale(1);opacity:1; } 60% { transform:scale(1.6);opacity:.35; } 100% { transform:scale(1);opacity:1; } }
@keyframes sv-heart { 0% { opacity:0;transform:translateY(0) scale(.6); } 20% { opacity:1; } 100% { opacity:0;transform:translateY(-70px) scale(1.15); } }
@media(prefers-reduced-motion:reduce){.sv-rule{stroke-dashoffset:0}.sv-heart{display:none}}
