/* SWD Process — numbered stages on a track that fills as you scroll. */
.swd-process .pr__list { position: relative; display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); gap: 16px; counter-reset: none; }
.swd-process .pr__track { position: absolute; left: 28px; right: 28px; top: 27px; height: 2px; background: rgba(255, 255, 255, .1); border-radius: 2px; overflow: hidden; }
.swd-process .pr__track i { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, var(--a), var(--a2)); transform-origin: left; transform: scaleX(var(--p, 0)); transition: transform .2s linear; }
.swd-process .pr__step { position: relative; display: flex; flex-direction: column; gap: 10px; }
.swd-process .pr__dot { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--bg); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--a) 60%, transparent); font-size: 20px; font-weight: 500; color: var(--a); margin-bottom: 18px; transition: background .4s, color .4s; }
.swd-process .pr__step.is-on .pr__dot { background: var(--a); color: var(--ink); box-shadow: 0 0 0 6px color-mix(in srgb, var(--a) 18%, transparent); }
.swd-process .pr__time { align-self: flex-start; padding: 5px 11px; border-radius: 999px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px var(--edge); font-size: 13px; color: #C9D1E3; }
.swd-process .pr__step h3 { font-size: 22px; letter-spacing: -.03em; }
.swd-process .pr__step p { font-size: 15.5px; line-height: 1.55; color: var(--muted); }

@media (max-width: 1080px) {
	.swd-process .pr__list { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-left: 0; }
	.swd-process .pr__track { left: 27px; right: auto; top: 28px; bottom: 28px; width: 2px; height: auto; }
	.swd-process .pr__track i { height: 100%; transform-origin: top; transform: scaleY(var(--p, 0)); }
	.swd-process .pr__step { padding-left: 80px; min-height: 56px; }
	.swd-process .pr__dot { position: absolute; left: 0; top: 0; margin: 0; }
}
