/* Shared card interaction; no motion on touch or when reduced motion is requested. */
:is(.service,.portfolio-card,.steps article,.svc-panel,.svc-deliverables article,.svc-scope,.svc-related a,.glpi-flow article,.plan,.launch-card,.setup-banner,.wn-benefits article,.wn-manifesto,.experience-card,.connections article){transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 :is(.service,.portfolio-card,.steps article,.svc-panel,.svc-deliverables article,.svc-scope,.svc-related a,.glpi-flow article,.plan,.launch-card,.setup-banner,.wn-benefits article,.wn-manifesto,.experience-card,.connections article):hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(3,12,26,.18)}
 :is(.service,.portfolio-card,.svc-related a,.plan):focus-within{transform:translateY(-6px);box-shadow:0 16px 32px rgba(3,12,26,.18)}
}
@media (prefers-reduced-motion:reduce){
 :is(.service,.portfolio-card,.steps article,.svc-panel,.svc-deliverables article,.svc-scope,.svc-related a,.glpi-flow article,.plan,.launch-card,.setup-banner,.wn-benefits article,.wn-manifesto,.experience-card,.connections article){transition:none;transform:none!important}
}

/* Espaço interno consistente evita texto encostado na sombra ao elevar etapas. */
.steps article{padding:24px 20px;border-radius:10px;position:relative}

