/* The common stages object stays open. Motion follows actual row geometry. */
.imp-stages{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(40px,6vw,96px);align-items:start;--stages-progress:1}
.imp-stage-list{list-style:none;margin:0;padding:0;position:relative}
.imp-stage-list:before,.imp-stage-list:after{content:"";position:absolute;left:21px;top:22px;bottom:auto;height:var(--stages-rail-height,calc(100% - 44px));width:2px;background:#806b73;transform-origin:top}
.imp-stage-list:after{background:#ff5a2b;transform:scaleY(var(--stages-progress));}
.imp-stage{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:28px;padding:0 0 40px;min-width:0;--stage-progress:1}
.imp-stage:last-child{padding-bottom:0}
.imp-stage-number{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#32131d;color:#fff;border:1px solid #806b73;font-size:16px}
.imp-stage[data-active="true"] .imp-stage-number{background:#ff5a2b;border-color:#ff5a2b;color:#171717}
.imp-stage h3{font-size:clamp(26px,2.3vw,34px);line-height:1.18;letter-spacing:-.02em;margin:4px 0 16px;font-weight:400;color:#fff}
.imp-stage p{font-size:18px!important;line-height:1.55!important;margin:0!important;color:#c4b8bd!important;max-width:47ch}
.imp-stage-result{margin-top:20px;padding-top:16px;border-top:1px solid #806b73;font-size:16px;line-height:1.5;color:#fff}
.imp-stage-result>span{display:block;font-size:14px;color:#c4b8bd;margin-bottom:6px}
.imp-stage-material{position:static;top:calc(var(--actual-header-h,76px) + var(--actual-subnav-h,66px) + 24px);min-width:0}
.imp-stage-document{padding:32px;background:#fff;border-radius:8px;color:#171717;transform:translateY(calc((1 - var(--stages-progress))*12px));}
.imp-stage-document-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;color:#656565}
.imp-stage-document-top svg{color:#ff5a2b;width:32px;height:32px}
.imp-stage-document h3{font-size:clamp(28px,2.6vw,38px);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin:24px 0 16px;color:#171717}
.imp-stage-document-intro{font-size:16px!important;line-height:1.5!important;margin:0 0 28px!important;color:#656565!important}
.imp-stage-field{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;gap:16px;padding:14px 0;border-top:1px solid #d6d6d6;position:relative;--field-progress:1}
.imp-stage-field:before{content:"";position:absolute;top:-1px;left:0;width:100%;height:2px;background:#ff5a2b;transform:scaleX(var(--field-progress));transform-origin:left}
.imp-stage-field>span{font-size:14px;color:#656565;line-height:26px}
.imp-stage-field>p{font-size:16px!important;line-height:1.5!important;margin:0!important;color:#171717!important}
.imp-stage-field i{height:8px;width:8px;background:#ff5a2b;margin:8px;transform:scale(var(--field-progress));border-radius:50%}
.imp-stage-document-end{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;border-top:1px solid #d6d6d6;margin-top:8px;font-size:14px;color:#656565}
.imp-stage-seal{display:grid;place-items:center;border:1px solid #ff5a2b;border-radius:50%;width:44px;height:44px;color:#171717;flex-shrink:0;transform:scale(calc(.85 + var(--stages-progress)*.15))}
.imp-stage-caption{font-size:14px!important;line-height:1.5!important;color:#c4b8bd!important;margin:20px 0 0!important;max-width:52ch}
.imp-stages[data-static="true"] .imp-stage-material{position:static}
@media(max-width:1000px){.imp-stages{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:32px}.imp-stage{gap:20px}.imp-stage-document{padding:24px}}
@media(max-width:760px){.imp-stages{grid-template-columns:minmax(0,1fr);gap:40px}.imp-stage-material{position:static}.imp-stage{gap:20px;padding-bottom:32px}.imp-stage h3{font-size:26px}.imp-stage p{font-size:16px!important}.imp-stage-document{padding:24px}.imp-stage-document h3{font-size:30px}}
@media(prefers-reduced-motion:reduce){.imp-stage-material{position:static}.imp-stage-document,.imp-stage-seal{transform:none}.imp-stage-field:before,.imp-stage-list:after,.imp-stage-field i{transform:none}}
/* A compact document fits ordinary laptop windows; step prose keeps its full size. */
@media(min-width:761px){.imp-stage-document{padding:24px}.imp-stage-document-top svg{width:28px;height:28px}.imp-stage-document h3{font-size:30px;margin:20px 0 16px}.imp-stage-document-intro{display:none}.imp-stage-field{padding:8px 0}.imp-stage-document-end{padding-top:12px}.imp-stage-seal{width:32px;height:32px}.imp-stage-caption{margin-top:16px!important}}

.imp-stages[data-motion="true"]:not([data-static="true"]) .imp-stage-material{position:sticky}
