.service-page .service-intro:has(.service-repair) { grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr); gap:28px; align-items:center; }
.service-repair { display:block; min-width:0; width:100%; margin:0; }
.service-repair .repair-drawing { display:block; width:100%; height:auto; overflow:visible; }
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .service-repair .repair-arm { transform-box:view-box; transform-origin:570px 299px; animation:repair-adjust 2.8s ease-in-out infinite; animation-play-state:paused; }
 .service-repair .repair-test-light { animation:repair-signal 2.8s ease-in-out infinite; animation-play-state:paused; }
 .service-repair .repair-focus { animation:repair-signal 2.8s ease-in-out infinite; animation-play-state:paused; }
 .service-repair:hover :is(.repair-arm,.repair-test-light,.repair-focus) { animation-play-state:running; }
}
@keyframes repair-adjust { 0%,12%,88%,100%{transform:rotate(0deg)} 34%,64%{transform:rotate(-7deg)} 49%,77%{transform:rotate(-2deg)} }
@keyframes repair-signal { 0%,100%{opacity:.3} 45%,70%{opacity:1} }
@media(max-width:800px) {
 .service-page .service-intro:has(.service-repair){grid-template-columns:minmax(0,1fr)}
 .service-repair{max-width:540px;justify-self:center}
}
@media(max-width:420px) {
 .service-page .service-intro:has(.service-repair){gap:12px}
 .service-repair{width:100%}
}
