/* Dimensional, self-contained illustrations; no external rendering dependency. */
#solutions>.section-heading{width:100%;max-width:none;box-sizing:border-box;margin:0 0 16px}
.scene-motion-toggle{display:block;margin:0 0 22px auto;padding:9px 14px;color:#244977;background:#f4f8ffce;border:1px solid #b6cbed;border-radius:24px;font:inherit;font-size:12px;cursor:pointer}
.scene-motion-toggle:focus-visible{outline:3px solid #2456ee;outline-offset:4px}
#solutions .solution-visual{overflow:hidden;container-type:inline-size;min-height:450px;box-shadow:inset 0 1px 0 #fff,0 22px 45px #183d7820;background:radial-gradient(ellipse at 50% 45%,#ffffffed,transparent 65%),linear-gradient(145deg,#edf6ffdf,#bbd4fa9c)}
#solutions .solution-visual>.solution-scene{width:100%;height:auto;transform:none;margin:0;padding:26px 0;color:#15345f;position:relative}
.scene-label{font-size:10px;font-weight:650;letter-spacing:.17em;padding:0 26px;color:#506b8e}
.scene-stage{height:390px;height:78cqw;max-height:510px;position:relative;perspective:950px;isolation:isolate}
.scene-stage svg{width:28px;height:28px;display:block}
.scene-steps{display:flex;justify-content:center;gap:13px;align-items:center;font-size:11px;letter-spacing:.025em;color:#385b88;margin:8px 12px 0}.scene-steps i{font-style:normal;color:#2670ed}
.engine-floor,.hub-platform{position:absolute;left:18%;top:56%;width:65%;height:32%;border:1px solid #fff;border-radius:50%;transform:rotateX(64deg) rotateZ(-13deg);background:linear-gradient(130deg,#ffffffee,#b3d6ff70);box-shadow:0 13px 0 #8caed440,0 14px 0 #e4f4ff,0 35px 38px #32568c30}
.engine{position:absolute;width:43%;height:58%;left:29%;top:19%;transform-style:preserve-3d;transform:rotateX(9deg) rotateY(-19deg);animation:engine-drift 8s ease-in-out infinite}
.engine-back,.engine-front{position:absolute;inset:0;border-radius:24px;border:2px solid #ffffffeb;box-shadow:inset 0 0 22px #accfff88,0 16px 24px #265ba42b;background:linear-gradient(135deg,#ffffff75,#9ac4fe30 50%,#ffffff80);backdrop-filter:blur(1px)}
.engine-back{transform:translateZ(-32px) translate(15px,-10px);background:#c3e2ff55;border-color:#b1d2fc}
.engine-front{transform:translateZ(32px);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:15%;box-sizing:border-box}
.engine-front span{font-size:22px;font-size:4.2cqw;font-weight:750;letter-spacing:-.04em}.engine-front small{font-size:6px;font-size:1.4cqw;letter-spacing:.14em;margin-top:7px}
.engine-light{position:absolute;left:32%;top:24%;width:38%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 40% 35%,#efffff,#48bcff 18%,#2165ed 65%,#163da9);box-shadow:0 0 25px #3aafffb5,inset 0 0 10px #fff;transform:translateZ(15px)}
.engine-light svg{width:45%;height:45%}
.engine-ring{position:absolute;left:13%;top:10%;width:75%;aspect-ratio:1;border:3px solid #c4e5ff;border-top-color:#2d73ee;border-bottom-color:white;border-radius:50%;box-shadow:0 0 10px #7cb5ff77,inset 0 0 7px #fff;animation:ring-orbit 10s linear infinite;transform-style:preserve-3d}
.ring-two{animation-direction:reverse;animation-duration:14s;rotate:55deg;scale:.85}.ring-three{scale:1.12;rotate:-35deg;border-width:1px;animation-duration:18s}
.data-card{position:absolute;z-index:3;width:31%;padding:5%;box-sizing:border-box;border:1px solid #fff;border-radius:16px;background:linear-gradient(125deg,#fffffff5,#dbeaffdc);box-shadow:5px 10px 0 #abc9ec55,10px 25px 35px #1d4b8b25;transform:rotateY(12deg) rotateZ(-5deg);animation:card-float 7s ease-in-out infinite}
.source-card{left:6%;top:14%}.result-card{right:5%;bottom:13%;animation-delay:-3s;transform:rotateY(-15deg) rotateZ(5deg)}
.data-card>svg{width:25%;height:auto;margin-bottom:12px;color:#2066ed}.data-card strong{display:block;font-size:14px;font-size:2.6cqw;white-space:nowrap}.data-card small{display:block;font-size:9px;font-size:1.8cqw;margin-top:5px;color:#60799a;white-space:nowrap}
.mini-lines{display:grid;gap:6px;margin-top:16px}.mini-lines i{height:4px;border-radius:4px;background:#c5d7ed}.mini-lines i:nth-child(2){width:75%}.mini-lines i:last-child{width:45%;background:#5088ec}
.result-bars{height:28px;display:flex;align-items:end;gap:5px;margin-top:12px}.result-bars i{flex:1;height:40%;background:linear-gradient(#5eacff,#2464e4);border-radius:3px 3px 0 0}.result-bars i:nth-child(2){height:65%}.result-bars i:nth-child(3){height:80%}.result-bars i:nth-child(4){height:100%}
.data-route{position:absolute;left:15%;top:50%;width:72%;height:1px;background:#77aaff;rotate:17deg}.data-route i{position:absolute;width:8px;height:8px;background:#e7faff;border:1px solid #2578f6;border-radius:50%;box-shadow:0 0 12px #2a9bff;top:-4px;animation:data-pass 5s linear infinite}.data-route i:nth-child(2){animation-delay:-1.6s}.data-route i:nth-child(3){animation-delay:-3.3s}
.hub-platform{top:59%;left:11%;width:78%;height:27%;border-radius:24px}
.hub-connections{position:absolute;inset:0!important;width:100%!important;height:100%!important;fill:none;stroke:#5596ec;stroke-width:1.5;stroke-dasharray:6 7;animation:connection-flow 20s linear infinite}
.hub-console{position:absolute;width:67%;left:17%;top:30%;height:43%;border-radius:14px;background:linear-gradient(130deg,#fffffff5,#e0edffec);border:1px solid #fff;box-shadow:7px 9px 0 #9fbae257,12px 25px 35px #224a8b2b;transform:rotateX(10deg) rotateY(-12deg) rotateZ(-3deg);animation:console-drift 9s ease-in-out infinite;overflow:hidden}
.console-head{display:flex;align-items:center;justify-content:space-between;padding:7% 6% 5%;border-bottom:1px solid #c3d7f5;font-size:2.6cqw}.console-head span{font-size:1.8cqw;color:#5d7798}.console-body{display:flex;padding:6%;gap:6%;height:65%}.console-sidebar{width:9%;display:grid;align-content:start;gap:9px;border-right:1px solid #d4e2f3;padding-right:7%}.console-sidebar i{width:100%;aspect-ratio:1;border-radius:3px;background:#d4e5ff}.console-sidebar i:first-child{background:#2466e8}.console-main{flex:1}.console-main>strong{font-size:2.5cqw}.console-metrics{display:flex;gap:9px;margin:8% 0}.console-metrics>span{flex:1;background:#edf4ff;border:1px solid #ccdcf2;border-radius:5px;padding:8%}.console-metrics b{font-size:1.8cqw}.console-metrics i{display:block;width:75%;height:4px;background:#5c91ee;margin-top:6px;border-radius:4px}.console-summary{display:flex;align-items:center;gap:6px;font-size:1.7cqw}.console-summary svg{width:19px;color:#316dec}.console-summary small{font-size:1.25cqw;color:#7184a0}.console-lines{margin-top:8%;display:grid;gap:6px}.console-lines i{height:4px;background:#d9e6f8;width:80%;border-radius:4px}.console-lines i+ i{width:60%}
.hub-satellite{position:absolute;z-index:2;display:flex;align-items:center;gap:9px;padding:3%;background:linear-gradient(140deg,#ffffffef,#e1edffe6);border:1px solid white;border-radius:12px;box-shadow:3px 6px 0 #aac5ea5c,5px 18px 28px #2f568025;animation:card-float 8s ease-in-out infinite}.hub-satellite svg{width:5cqw;height:5cqw;color:#3274db}.hub-satellite strong{font-size:2.3cqw;display:block}.hub-satellite small{display:block;font-size:1.8cqw;color:#6a7f9d;margin-top:4px}.satellite-one{left:6%;top:12%}.satellite-two{right:7%;top:14%;animation-delay:-2s}.satellite-three{left:7%;bottom:10%;animation-delay:-4s}.satellite-four{right:5%;bottom:9%;animation-delay:-6s}
.web-desktop{position:absolute;left:8%;top:8%;width:73%;height:80%;background:#fbfaf6;border:1px solid #fff;border-radius:12px;box-shadow:6px 8px 0 #a0bad466,14px 28px 40px #29415c30;transform:rotateX(5deg) rotateY(12deg) rotateZ(-4deg);overflow:hidden;animation:console-drift 10s ease-in-out infinite}
.browser-chrome{display:flex;align-items:center;gap:4px;padding:3% 5%;background:#e6edf5}.browser-chrome i{width:4px;height:4px;border-radius:50%;background:#96abc2}.browser-chrome span{margin:auto;font-size:1.3cqw;letter-spacing:.13em;color:#60738c}.design-nav{display:flex;align-items:center;justify-content:space-between;padding:5% 7%;color:#334b4b}.design-nav b{font:700 2cqw/1.1 Georgia,serif}.design-nav span{font-size:1.3cqw}.design-hero{padding:3% 7% 7%}.design-hero small{font-size:1.3cqw;letter-spacing:.15em;color:#657a78}.design-hero strong{display:block;font:normal 5.5cqw/1.05 Georgia,serif;margin:5% 0;color:#263e3d}.design-cta{font-size:1.6cqw;border-bottom:1px solid #8ca29e;padding-bottom:3px}.web-desktop>img{width:100%;height:31%;object-fit:cover;display:block}.design-projects{padding:5% 7%;color:#445c59}.design-projects span{font-size:1.3cqw;display:block}.design-projects b{display:block;font:normal 2.8cqw Georgia,serif;margin:4% 0}.design-projects i{display:inline-block;width:40%;height:3px;background:#b9c6c3;margin-right:5%}
.web-mobile{position:absolute;right:7%;bottom:9%;width:26%;height:57%;border:4px solid #19314f;border-radius:19px;background:#faf9f5;box-shadow:6px 10px 0 #9cb7d633,10px 20px 30px #243d6a40;transform:rotateY(-12deg) rotateZ(6deg);overflow:hidden;animation:card-float 8s ease-in-out infinite;animation-delay:-3s}.phone-speaker{height:4px;width:32%;background:#19314f;border-radius:0 0 6px 6px;margin:0 auto 10%}.mobile-brand{font-size:1.2cqw;padding:5% 10%;color:#49615a}.web-mobile>strong{font:normal 3.2cqw/1.1 Georgia,serif;display:block;padding:8% 10% 15%;color:#293e38}.web-mobile>img{width:100%;height:35%;object-fit:cover}.mobile-lines{padding:12% 10% 5%;display:grid;gap:5px}.mobile-lines i{height:3px;width:90%;background:#bdc9bf}.mobile-lines i+i{width:60%}.web-mobile>span{font-size:1.4cqw;margin:10%;display:block;color:#486154}
.design-badge{position:absolute;left:6%;bottom:9%;z-index:3;display:flex;gap:10px;align-items:center;background:#fffffff0;border:1px solid white;border-radius:12px;padding:3%;box-shadow:0 12px 25px #26447025;font-size:2.2cqw}.design-badge svg{width:5cqw;height:5cqw;color:#2764df}.design-badge small{font-size:1.7cqw;color:#6c7e96;display:block;margin-top:4px}
@keyframes engine-drift{50%{transform:translateY(-9px) rotateX(14deg) rotateY(13deg)}}
@keyframes ring-orbit{to{transform:rotateY(360deg) rotateZ(180deg)}}
@keyframes card-float{50%{translate:0 -9px}}
@keyframes console-drift{50%{translate:0 -8px;rotate:2deg}}
@keyframes data-pass{0%{left:0;opacity:0}15%,80%{opacity:1}100%{left:100%;opacity:0}}
@keyframes connection-flow{to{stroke-dashoffset:-260}}
#solutions.animations-paused .solution-scene *{animation-play-state:paused!important}
/* Paired panels share one grid-row height. Internal previews remain scrollable. */
@media(min-width:640px){
 #contenu .client-showcase>.demo-shell{align-self:stretch;position:relative;top:auto;display:flex;flex-direction:column}
 #contenu .client-showcase-heading,#diagnostic .diagnostic-intro{align-self:stretch}
 #contenu .client-showcase>.demo-shell>.demo-viewport{flex:1 1 auto;max-height:none;min-height:380px}
 #contenu .client-showcase>.demo-shell>.demo-footer{margin-top:auto;flex-shrink:0}
 #contenu .client-showcase>.jbo-demo>.jbo-layout{flex:1 1 auto}
}
@media(max-width:639px){#solutions .solution-visual{min-height:310px}.scene-label{padding:0 20px;font-size:9px}.scene-steps{font-size:10px;gap:10px}.scene-stage{min-height:260px}#solutions .solution-visual>.solution-scene{padding:22px 0}.scene-motion-toggle{font-size:11px}}
@media(prefers-reduced-motion:reduce){.solution-scene *{animation:none!important}.scene-motion-toggle{display:none}}
.hub-console{top:25%;height:50%}
.console-head{padding:4% 6%}
.console-body{padding:4% 6%;height:auto}
.console-metrics{margin:4% 0}
.console-metrics>span{padding:4% 6%}
.console-summary{line-height:1.5}
.console-lines{margin-top:4%}
.design-nav{padding:4% 7%}
.design-hero{padding:1% 7% 5%}
.design-hero strong{font-size:4.5cqw;margin:3% 0}
.design-projects{padding:3% 7%}
.design-projects b{font-size:2.5cqw;margin:3% 0}
@media(min-width:640px){#solutions .explanation-card{align-self:stretch;display:flex;flex-direction:column}#solutions .explanation-card .card-link{margin-top:auto;padding-top:24px}}
