/* 流程使用連續進度線，保留原本 CMS 節點和無 JavaScript 的細線。 */
.digital_services_body .digital_process { position: relative; z-index: 2; }
.digital_services_body .digital_process_line { position: relative; }
.digital_services_body .digital_process.is_enhanced .digital_process_line li { border-top-color: transparent; }
.digital_services_body .digital_process.is_enhanced .digital_process_line li::after { display: none; }
.digital_services_body .digital_process.is_enhanced .digital_process_line::before,
.digital_services_body .digital_process.is_enhanced .digital_process_line::after { content: ''; position: absolute; pointer-events: none; left: 0; top: 0; width: var(--process_track_size, calc(100% - 100% / var(--process_stages))); height: 1px; background: #577c8633; transform-origin: left; }
.digital_services_body .digital_process.is_enhanced .digital_process_line::after { background: #439caa; transform: scaleX(var(--process_progress, 0)); }
.digital_services_body .digital_process[data-process-source='manual'] .digital_process_line::after { transition: transform .65s var(--services-ease-out, ease); }
.digital_services_body .digital_process_line .services_process_node { z-index: 1; transition: background .4s, border-color .4s, box-shadow .5s, transform .5s; }
.digital_services_body .digital_process_line .is_active .services_process_node { transform: scale(1.1); box-shadow: 0 0 0 6px #249ea411, 0 0 15px #5bcbcb25; }
.digital_services_body .digital_process_line .is_complete .services_process_node { background: #85b2b7; border-color: #85b2b7; }
.digital_services_body .digital_process_line a:hover .services_process_node,
.digital_services_body .digital_process_line a:focus-visible .services_process_node { box-shadow: 0 0 0 6px #249ea417; }
.digital_services_body .digital_process_line a:focus-visible { outline: 1px solid #38989f; outline-offset: 5px; }
.digital_services_body .digital_process_line :is(strong, small, .services_process_number) { transition: color .45s; }
.digital_services_body .services_process_arrows button > span { transition: transform .35s var(--services-ease-out, ease); }
.digital_services_body .services_process_arrows [data-process-next]:hover:not(:disabled) > span { transform: translateX(3px); }
.digital_services_body .services_process_arrows [data-process-previous]:hover:not(:disabled) > span { transform: translateX(-3px); }
@media (max-width: 700px) {
    .digital_services_body .digital_process.is_enhanced .digital_process_line li { border-left-color: transparent; }
    .digital_services_body .digital_process.is_enhanced .digital_process_line::before,
    .digital_services_body .digital_process.is_enhanced .digital_process_line::after { left: 5px; top: 9px; width: 1px; height: var(--process_track_size, calc(100% - 68px)); transform-origin: top; }
    .digital_services_body .digital_process.is_enhanced .digital_process_line::after { transform: scaleY(var(--process_progress, 0)); }
}
@media (prefers-reduced-motion: reduce) {
    .digital_services_body .digital_process .digital_process_line::after,
    .digital_services_body .digital_process :is(.services_process_node, strong, small, .services_process_number, .services_process_arrows button > span) { transition: none !important; }
    .digital_services_body .digital_process_line .is_active .services_process_node { transform: none; }
}
