/* ex-process: numbered orange-circle steps on a line that fills as the section scrolls by. */
/* Columns follow the real step count (t3595u): steps share the full row; the line runs from the first circle centre to the last. */
.ex-steps{--n:6;--gap:1.2rem;position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:var(--gap)}
.ex-steps:has(> .ex-step:nth-of-type(2):last-of-type){--n:2}.ex-steps:has(> .ex-step:nth-of-type(3):last-of-type){--n:3}
.ex-steps:has(> .ex-step:nth-of-type(4):last-of-type){--n:4}.ex-steps:has(> .ex-step:nth-of-type(5):last-of-type){--n:5}
.ex-steps:has(> .ex-step:nth-of-type(7):last-of-type){--n:7}.ex-steps:has(> .ex-step:nth-of-type(8):last-of-type){--n:8}
.ex-steps-line{position:absolute;left:24px;right:calc((100% - (var(--n) - 1) * var(--gap)) / var(--n) - 24px);top:24px;height:3px;background:var(--line-c)}
.ex-steps-line i{position:absolute;inset:0;background:var(--orange-hi);transform-origin:left;transform:scaleX(var(--ex-fill,0))}
.ex-step{position:relative;min-width:0}
.ex-step-n{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--bg3);color:var(--cream);font-family:var(--serif),sans-serif;font-weight:800;margin-bottom:1rem;transition:background-color .3s,color .3s}
.ex-step.is-on .ex-step-n{background:var(--orange);color:#fff}
.ex-step h3{margin:0 0 .25rem;font-size:1.05rem;color:var(--olive)}
.theme-dark .ex-step h3{color:var(--cream)}
.ex-step-meta{margin:0 0 .4rem;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--terra)}
.ex-step p{margin:0;font-size:.9rem;color:var(--muted)}
@media (max-width:960px){.ex-steps{grid-template-columns:1fr 1fr 1fr;row-gap:2rem}.ex-steps-line{display:none}}
@media (max-width:560px){.ex-steps{grid-template-columns:1fr}}
