/* Keep the visual design; release continuous painting outside the viewport. */
.hop-motion-paused,.hop-motion-paused::before,.hop-motion-paused::after,
.hop-motion-paused *,.hop-motion-paused *::before,.hop-motion-paused *::after{animation-play-state:paused!important}
.hpx-media{height:clamp(240px,56vw,640px)}
.hpx-bar>span{will-change:transform}
body .hopela-chat-launcher,body .hopela-chat-launcher *::before,body .hopela-chat-launcher *::after{animation:none}
body .hopela-chat-launcher__open{background:#476b2b}
body .hopela-consent__actions button.primary{background:#476b2b;color:#fff}
body .badge-success{background-color:#237c36;color:#fff}
body .badge.color-1{color:#b70c38}
body .hop-devis-actions a.principal{background:#bc450b;color:#fff}
body .feature-tab .nav-link.active .h6{color:#fff}
/* Nested rendering containment can leave pricing cards overlapping later content. */
.vps-pricing-plane .container>.row:not(:first-child),.pricing-section .container>.row:not(:first-child){content-visibility:visible;contain-intrinsic-size:none}
@media(max-width:560px){
 body .hopela-chat-launcher{left:auto;right:12px;bottom:60px;width:210px;animation:none}
 body .hopela-chat-launcher__card{grid-template-columns:1fr auto;padding:10px 12px;align-items:center}
 body .hopela-chat-launcher__avatar,body .hopela-chat-launcher__kicker,body .hopela-chat-launcher__text{display:none}
 body .hopela-chat-launcher__title{margin:0 0 5px}
 body .hopela-chat-launcher__open{margin-top:0}
 body .hopela-chat-launcher__close{min-width:24px;min-height:32px}
}
@media(hover:none){
  /* These background-position/shadow effects repaint; touch keeps their static artwork. */
  .mc-web-lab-shell::before,.mc-web-lab-hero,.mc-web-lab-quick i,.mc-web-lab-line,
  .mc-web-lab-pulse,.ark-migration-flow::after,.ark-migration-led-section::before{animation:none!important}
}
@media(prefers-reduced-motion:reduce){
  .mc-hero *,.game-hero-leaves *,.ark-migration-led-section *{animation:none!important}
}
