.service-page{--trade-accent:#b4a0ff}.service-scene .k-stage{aspect-ratio:10/7;background:#080c10}.service-scene .k-stage::after{display:none}.service-scene .k-stage>svg{object-fit:contain}.service-scene .k-stage *,.ms-dashboard *{animation-play-state:paused!important}.service-scene.is-live .k-stage *,.ms-dashboard.is-live *{animation-play-state:running!important}.service-scene .ms-move{transform-box:fill-box;transform-origin:center}
.jm-tile{animation:msJTile 9s cubic-bezier(.35,0,.2,1) infinite}.jm-extension{animation:msJExtension 7s ease-in-out infinite}.jm-cable{animation:msDash 3s linear infinite}.jm-shield{animation:msJShield 4s ease-in-out infinite}.jm-versions{animation:msVersion 12s steps(1,end) infinite}
@keyframes msJTile{0%,100%{transform:translate(var(--sx),var(--sy)) rotate(var(--rot));opacity:.35}28%,70%{transform:translate(0,0) rotate(0);opacity:1}78%{transform:translate(0,-12px) rotate(2deg);opacity:1}}
@keyframes msJExtension{0%,100%{transform:translate(80px,-40px) rotate(12deg)}35%,75%{transform:translate(0,0) rotate(0)}}
@keyframes msJShield{0%,100%{transform:translateY(8px) scale(.87)}50%{transform:translateY(-16px) scale(1.12)}}
@keyframes msVersion{0%,24%,100%{transform:translateY(0)}25%,49%{transform:translateY(-64px)}50%,74%{transform:translateY(-128px)}75%,99%{transform:translateY(-192px)}}
.mp-arch{stroke-dasharray:1;animation:msArch 11s ease-in-out infinite}.mp-tram{animation:msTram 10s ease-in-out infinite}.mp-wheel{animation:msWheel 3s linear infinite}.mp-sun{animation:msSun 12s ease-in-out infinite alternate}.mp-water,.mp-track{animation:msDash 2s linear infinite}.mp-drop{animation:msDrop 2s ease-out infinite}.mp-message{animation:msMessage 8s ease-in-out infinite}
@keyframes msArch{0%,100%{stroke-dashoffset:1;opacity:.4}30%,78%{stroke-dashoffset:0;opacity:1}}
@keyframes msTram{0%,100%{transform:translateX(-180px)}50%{transform:translateX(300px)}}@keyframes msWheel{to{transform:rotate(360deg)}}@keyframes msSun{to{transform:translate(-80px,30px)}}@keyframes msDrop{0%{opacity:0;transform:translateY(0) scale(.8)}22%{opacity:1}100%{opacity:0;transform:translateY(-95px) scale(1.3)}}@keyframes msMessage{0%,100%{transform:translate(-150px,95px) rotate(-8deg)}45%,65%{transform:translate(180px,-10px) rotate(7deg)}}
.mg-product{animation:msProduct 7s ease-in-out infinite}.mg-belt{animation:msDash 2s linear infinite}.mg-index{transform-origin:center bottom!important;animation:msIndex 3.5s ease-in-out infinite}.mg-cache{animation:msCache 5s ease-in-out infinite}.mg-parcel{animation:msParcel 8s ease-in-out infinite}
@keyframes msProduct{0%,100%{transform:translate(-35px,25px) rotate(-5deg)}50%{transform:translate(45px,-30px) rotate(5deg)}}@keyframes msIndex{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1.08)}}@keyframes msCache{0%,100%{transform:translateY(0) scaleX(.9)}50%{transform:translateY(-22px) scaleX(1.1)}}@keyframes msParcel{0%,100%{transform:translate(-230px,0) rotate(-5deg)}60%,80%{transform:translate(170px,-40px) rotate(6deg)}}
.an-boat{animation:msBoat 13s ease-in-out infinite}.an-sail{transform-origin:center bottom!important;animation:msSail 4s ease-in-out infinite alternate}.an-wave{animation:msWave 7s linear infinite}.an-buoy{animation:msBuoy 3s ease-in-out infinite}.an-cloud{animation:msCloud 18s ease-in-out infinite alternate}.an-page{animation:msPage 9s ease-in-out infinite}
@keyframes msBoat{0%,100%{transform:translateX(-100px) rotate(-4deg)}50%{transform:translateX(130px) rotate(4deg)}}@keyframes msSail{to{transform:skewY(8deg) scaleX(.8)}}@keyframes msWave{to{transform:translateX(-100px)}}@keyframes msBuoy{0%,100%{transform:translateY(12px) rotate(-5deg)}50%{transform:translateY(-16px) rotate(5deg)}}@keyframes msCloud{to{transform:translateX(200px)}}@keyframes msPage{0%,100%{transform:translateY(35px) rotate(-7deg)}50%{transform:translateY(-35px) rotate(7deg)}}@keyframes msDash{to{stroke-dashoffset:-100}}
.ms-dashboard{padding:34px;border:1px solid #ffffff20;border-radius:24px;background:#12191e;margin:36px 0}.ms-dashboard h2{margin-bottom:14px}.ms-dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ms-dash-cell{padding:20px;border:1px solid #ffffff1c;border-radius:16px;min-width:0;background:#ffffff03}.ms-dash-cell svg{width:100%;height:62px;color:var(--trade-accent)}.ms-dash-cell path{stroke-dasharray:10 12;animation:msDash 4s linear infinite}.ms-dash-cell circle{animation:msDashDot 4s ease-in-out infinite;transform-box:fill-box}.ms-dash-cell p{margin:0!important;font-size:15px!important}.ms-dash-note{font-size:14px!important;color:#b9c7cc!important}.ms-caution{padding:24px;border-left:2px solid var(--trade-accent);background:#ffffff04;margin:26px 0}.service-page .service-editorial h2{font-size:clamp(1.7rem,3vw,2.5rem)}.service-page .service-editorial .article-section:nth-child(even){padding-inline:24px;background:#ffffff02;border-radius:18px}.mini-maintenance .concept-title{font-size:2.5rem!important;line-height:1.1!important;letter-spacing:-.05em;margin:18px 0!important}.mini-maintenance .mini-cards{margin:20px 0}.mini-maintenance .mini-cta{display:inline-flex;align-items:center;gap:8px}.ms-mini-line{stroke-dasharray:10 8;animation:msDash 7s linear infinite}
@keyframes msDashDot{0%,100%{transform:translateX(0)}50%{transform:translateX(120px)}}
@media(max-width:760px){.service-scene .k-stage{aspect-ratio:10/8}.service-scene .k-scene-head h2{font-size:2rem}.service-scene .k-note{font-size:14px}.ms-dashboard{padding:24px 18px}.ms-dash-grid{grid-template-columns:1fr}.ms-dash-cell{display:grid;grid-template-columns:85px minmax(0,1fr);align-items:center;gap:16px;padding:14px}.service-page .service-editorial .article-section:nth-child(even){padding-inline:18px}.mini-maintenance .concept-title{font-size:1.7rem!important}.mini-maintenance .concept-nav{font-size:.5rem}.ms-caution{padding:18px}}
.motion-paused .service-scene *,.motion-paused .ms-dashboard *,.page-hidden .service-scene *,.page-hidden .ms-dashboard *{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.service-scene *,.ms-dashboard *,.ms-mini-line{animation:none!important;transition:none!important}.service-scene .ms-move{transform:none!important;opacity:1}.jm-tile{opacity:1}}

.ms-browser-dot{width:6px;height:6px;margin-right:3px}

.service-scene .k-note{color:#c7d4c9;font-size:14px;font-weight:500}

.im-listing{animation:msListing 9s ease-in-out infinite}.im-pin{animation:msPin 5s cubic-bezier(.2,.9,.2,1) infinite}.im-key{animation:msKey 7s ease-in-out infinite}.im-window{animation:msWindow 4s ease-in-out infinite}
@keyframes msListing{0%,100%{transform:translateX(-10px) rotate(-4deg);opacity:.45}40%,65%{transform:translateX(170px) rotate(4deg);opacity:1}}
@keyframes msPin{0%,100%{transform:translateY(-110px) scale(.7);opacity:.15}35%,80%{transform:translateY(0) scale(1);opacity:1}45%{transform:translateY(-17px) scale(1.08)}}
@keyframes msKey{0%,100%{transform:translateX(-70px) rotate(-12deg)}50%{transform:translateX(130px) rotate(22deg)}}@keyframes msWindow{0%,100%{transform:scaleY(.35);opacity:.2}50%{transform:scaleY(1.12);opacity:1}}
@media(max-width:760px){.service-page .wow-h1-type{min-height:2.4em}}

.al-house{animation:msAlsaceHouse 9s ease-in-out infinite}.al-shutter{transform-origin:left center!important;animation:msShutter 6s ease-in-out infinite}.al-bird{animation:msStork 15s ease-in-out infinite}.al-wing-up{transform-origin:right center!important;animation:msWingUp 2s ease-in-out infinite alternate}.al-wing-down{transform-origin:left center!important;animation:msWingDown 2s ease-in-out infinite alternate}.al-vine{animation:msDash 5s linear infinite}.al-document{animation:msAlsaceDocument 8s ease-in-out infinite}
@keyframes msAlsaceHouse{0%,100%{transform:translateY(15px)}50%{transform:translateY(-12px)}}@keyframes msShutter{0%,100%{transform:scaleX(1) skewY(0deg)}40%,70%{transform:scaleX(.15) skewY(-12deg)}}@keyframes msStork{0%,100%{transform:translate(0,0)}50%{transform:translate(var(--flight),-50px)}}@keyframes msWingUp{from{transform:rotate(-22deg)}to{transform:rotate(40deg)}}@keyframes msWingDown{from{transform:rotate(20deg)}to{transform:rotate(-40deg)}}@keyframes msAlsaceDocument{0%,100%{transform:translateY(20px) rotate(-8deg)}50%{transform:translateY(-22px) rotate(8deg)}}

/* Regional redesign and industrial visual identity: visible idle transforms, controlled by the existing one-observer scene lifecycle. */
.rg-fold{animation:rgFold 7s ease-in-out infinite}.rg-pin{animation:rgPin 4.6s ease-in-out infinite}.rg-van{animation:rgVan 9s ease-in-out infinite}.rg-document{animation:rgDocument 6.4s ease-in-out infinite}
.rg-brick{animation:rgBrick 6s ease-in-out infinite}.rg-water{animation:rgWater 5s ease-in-out infinite}.rg-content{animation:rgContent 7s ease-in-out infinite}.rg-boat{animation:rgBoat 11s ease-in-out infinite}
.rg-thread{stroke-dasharray:20 14;animation:rgThread 4.4s linear infinite}.rg-bobbin{animation:rgBobbin 5s ease-in-out infinite}.rg-knot{animation:rgKnot 4.8s ease-in-out infinite}.rg-weave-card{animation:rgWeave 7s ease-in-out infinite}
.rg-logo{animation:rgLogo 7s ease-in-out infinite}.rg-swatch{animation:rgSwatch 6s ease-in-out infinite}.rg-guideline{animation:rgGuideline 8s ease-in-out infinite}
@keyframes rgFold{0%,100%{transform:translateY(22px) skewY(-7deg)}45%,65%{transform:translateY(-18px) skewY(6deg)}}
@keyframes rgPin{0%,100%{transform:translateY(-60px) scale(.8)}45%,70%{transform:translateY(15px) scale(1.12)}}
@keyframes rgVan{0%,100%{transform:translateX(0)}48%,60%{transform:translateX(620px)}}
@keyframes rgDocument{0%,100%{transform:translate(-30px,20px) rotate(-8deg)}50%{transform:translate(75px,-35px) rotate(9deg)}}
@keyframes rgBrick{0%,100%{transform:translateY(-75px) rotate(-8deg)}40%,75%{transform:translateY(15px) rotate(0)}}
@keyframes rgWater{0%,100%{transform:translateX(-35px)}50%{transform:translateX(65px)}}
@keyframes rgContent{0%,100%{transform:translate(-25px,-20px) rotate(-5deg)}50%{transform:translate(40px,45px) rotate(6deg)}}
@keyframes rgBoat{0%,100%{transform:translateX(0) rotate(-4deg)}50%{transform:translateX(620px) rotate(5deg)}}
@keyframes rgThread{to{stroke-dashoffset:-204}}
@keyframes rgBobbin{0%,100%{transform:translateY(-25px) rotate(-26deg)}50%{transform:translateY(65px) rotate(28deg)}}
@keyframes rgKnot{0%,100%{transform:translateY(-24px) scale(.65)}50%{transform:translateY(18px) scale(1.25)}}
@keyframes rgWeave{0%,100%{transform:translate(-35px,10px) rotate(-5deg)}50%{transform:translate(35px,-35px) rotate(6deg)}}
@keyframes rgLogo{0%,100%{transform:translate(-35px,-30px) rotate(-22deg) scale(.7)}45%,65%{transform:translate(0,0) rotate(0) scale(1)}}
@keyframes rgSwatch{0%,100%{transform:translateY(-30px) rotate(-10deg)}50%{transform:translateY(40px) rotate(10deg)}}
@keyframes rgGuideline{0%,100%{transform:translate(-35px,25px) rotate(-7deg)}50%{transform:translate(40px,-45px) rotate(7deg)}}

.sm-truck{animation:smTruck 9s ease-in-out infinite}.sm-wheel{animation:smWheel 3s linear infinite}.sm-box{animation:smBox 6s ease-in-out infinite}.sm-pin{animation:smPin 5s ease-in-out infinite}
.sm-paper{animation:smPaper 7s ease-in-out infinite}.sm-seal{animation:smSeal 6s ease-in-out infinite}.sm-quill{animation:smQuill 5s ease-in-out infinite}.sm-sign{stroke-dasharray:30 8;animation:smSign 4s linear infinite}.sm-note{animation:smNote 5s ease-in-out infinite}
.sm-tower{animation:smTower 8s ease-in-out infinite}.sm-window{animation:smWindow 4s ease-in-out infinite}.sm-river{animation:smRiver 5s ease-in-out infinite}.sm-search{stroke-dasharray:30 10;animation:smSearch 6s ease-in-out infinite}
.sm-transfer{animation:smTransfer 9s ease-in-out infinite}.sm-check{animation:smCheck 5s ease-in-out infinite}.sm-gate{animation:smGate 8s ease-in-out infinite}.sm-route{animation:smRoute 9s ease-in-out infinite}.sm-orbit{animation:smOrbit 10s ease-in-out infinite}
@keyframes smTruck{0%,100%{transform:translateX(-90px)}50%{transform:translateX(160px)}}@keyframes smWheel{to{transform:rotate(360deg)}}@keyframes smBox{0%,100%{transform:translate(-35px,-40px) rotate(-12deg)}50%{transform:translate(90px,145px) rotate(5deg)}}@keyframes smPin{50%{transform:translateY(45px) scale(1.2)}}
@keyframes smPaper{0%,100%{transform:translate(-25px,-25px) rotate(-5deg)}50%{transform:translate(35px,35px) rotate(7deg)}}@keyframes smSeal{0%,100%{transform:translateY(-65px) rotate(-12deg)}45%,65%{transform:translateY(25px) rotate(8deg)}}@keyframes smQuill{0%,100%{transform:translate(0,-35px) rotate(-18deg)}50%{transform:translate(-95px,60px) rotate(15deg)}}@keyframes smSign{to{stroke-dashoffset:-228}}@keyframes smNote{50%{transform:translateY(-60px) rotate(90deg)}}
@keyframes smTower{50%{transform:translateY(-18px)}}@keyframes smWindow{0%,100%{transform:scaleY(.25);opacity:.4}50%{transform:scaleY(1.2);opacity:1}}@keyframes smRiver{0%,100%{transform:translateX(-30px)}50%{transform:translateX(70px)}}@keyframes smSearch{0%,100%{stroke-dashoffset:0;transform:translateY(25px)}50%{stroke-dashoffset:-160;transform:translateY(-30px)}}
@keyframes smTransfer{0%,100%{transform:translate(0,0) rotate(-8deg)}45%,70%{transform:translate(510px,-15px) rotate(7deg)}}@keyframes smCheck{50%{transform:translateY(35px) scale(1.2)}}@keyframes smGate{0%,100%{transform:scaleX(.6) rotate(-9deg)}50%{transform:scaleX(1.2) rotate(9deg)}}@keyframes smRoute{0%,100%{transform:translateX(0) rotate(-6deg)}50%{transform:translateX(290px) rotate(8deg)}}@keyframes smOrbit{0%,100%{transform:rotate(-12deg) scaleY(.8)}50%{transform:rotate(12deg) scaleY(1.2)}}
