/* NT Step Process ─ Shared Static CSS */
        .nt-steps-wrapper {
            width: 100%;
            max-width: var(--nts-max-width, 1150px);
            margin: 60px auto;
            position: relative;
        }
        .nt-steps-container {
            position: relative;
            min-height: 190px;
        }
        .nt-steps-inner-items {
            display: flex;
            width: 100%;
            justify-content: space-between;
            align-items: flex-start;
        }
        .nt-steps-svg-line {
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 190px;
            z-index: 1; pointer-events: none;
        }
        .nt-electric-path {
            stroke-dasharray: 2000;
            stroke-dashoffset: 2000;
            animation: ntsFlow var(--nts-speed, 6s) infinite ease-in-out;
            filter: drop-shadow(0 0 6px var(--nts-accent, #8bc34a));
        }
        @keyframes ntsFlow {
            0%   { stroke-dashoffset: 2000; opacity: 0; }
            5%   { opacity: 1; }
            80%  { stroke-dashoffset: 0; opacity: 1; }
            90%  { opacity: 0; }
            100% { stroke-dashoffset: 2000; opacity: 0; }
        }
        .nt-step-item {
            flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            position: relative;
            z-index: 2;
        }
        .nt-step-item.is-low  { margin-top: 80px; }
        .nt-step-item.is-high { margin-top: 0; }
        .nt-step-circle {
            width: var(--nts-circle, 85px);
            height: var(--nts-circle, 85px);
            border-radius: var(--nts-radius, 50%);
            background: var(--nts-node-bg, #fff);
            display: flex; align-items: center; justify-content: center;
            box-shadow: 0 10px 30px rgba(0,0,0,.1);
            border: 2px solid rgba(255,255,255,.15);
            margin-bottom: 14px;
            transition: transform .45s cubic-bezier(.175,.885,.32,1.275), border-color .3s;
            overflow: hidden;
        }
        .nt-step-item.nt-active .nt-step-circle {
            transform: scale(1.15);
            border-color: var(--nts-accent, #8bc34a);
            box-shadow: 0 0 30px var(--nts-accent, #8bc34a), inset 0 0 12px var(--nts-accent, #8bc34a);
        }
        .nt-step-no {
            font-size: calc(var(--nts-circle, 85px) * .35);
            font-weight: 800;
            color: var(--nts-accent, #8bc34a);
            transition: color .3s;
        }
        .nt-step-item.nt-active .nt-step-no {
            color: var(--nts-accent, #8bc34a);
        }
        .nt-step-circle img { width: 55%; height: 55%; object-fit: contain; }
        .nt-step-subtitle {
            font-size: 13px; opacity: .7; margin-top: 5px;
            color: var(--nts-text, #fff);
        }
        /* Mobile card styling - Desktop is transparent */
        .nt-step-info {
            width: 100%;
            transition: transform .3s, box-shadow .3s, border-color .3s;
        }

        /* Mobile connector */
        .nt-mob-connector {
            display: none;
            position: absolute;
            left: 50%;
            width: 40px;
            transform: translateX(-50%);
            z-index: 1;
        }
        .nt-mob-connector svg { width: 100%; height: 100%; overflow: visible; }
        .nt-mob-electric {
            stroke-dasharray: 1000; stroke-dashoffset: 1000;
            filter: drop-shadow(0 0 8px var(--nts-accent, #8bc34a));
        }
        .nt-wire-on .nt-mob-electric {
            animation: ntsMobFlow 1.5s forwards ease-in-out;
        }
        @keyframes ntsMobFlow { from { stroke-dashoffset:1000 } to { stroke-dashoffset:0 } }
        @media (max-width: 767px) {
            .nt-steps-inner-items {
                flex-direction: column;
                align-items: center;
                gap: var(--nts-gap-mob, 110px);
                padding: 40px 15px;
            }
            .nt-steps-svg-line  { display: none; }
            .nt-step-item       { margin: 0 !important; width: 100%; z-index: 5; }
            
            .nt-step-circle     {
                width: var(--nts-circle-mob, 75px);
                height: var(--nts-circle-mob, 75px);
                z-index: 10;
                position: relative;
                margin-bottom: -15px; /* Pull circle closer to card */
            }

            /* Card look on Mobile */
            .nt-step-info {
                background: rgba(255,255,255, 0.05);
                border: 1px solid rgba(255,255,255, 0.1);
                border-radius: 15px;
                padding: 25px 20px;
                box-shadow: 0 10px 30px rgba(0,0,0,0.2);
                z-index: 5;
                position: relative;
            }
            .nt-step-item.nt-active .nt-step-info {
                border-color: var(--nts-accent, #8bc34a);
                background: rgba(255,255,255, 0.08);
                box-shadow: 0 0 25px color-mix(in srgb, var(--nts-accent, #8bc34a) 25%, transparent);
            }

            .nt-mob-connector   { 
                display: block; 
                top: 100%; /* Start from bottom of card */
                height: var(--nts-gap-mob, 110px);
                margin-top: -5px;
            }
        }