/* Recorrido completo, sin desplazamiento horizontal. Orden de lectura 1 → 10. */
.project-progress{padding:30px 5% 20px;background:#fff;border-bottom:1px solid #dde5db}
.project-progress-inner{max-width:1280px;margin:0 auto;min-width:0}
.project-progress h2{font-size:clamp(22px,2.2vw,30px);margin:6px 0 24px;line-height:1.3}
.project-progress .eyebrow{margin:0}
.phase-serpentine{position:relative;isolation:isolate;container-type:inline-size;padding:8px 0 0;border:0}
.phase-serpentine ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(126px,auto);gap:26px 0;overflow:visible;padding:10px 0 0;position:relative;z-index:1;align-items:start}
.phase-serpentine li{min-width:0;width:auto;margin:0;padding:0 12px;position:relative;flex:none}
.phase-serpentine li:before{content:none}
.phase-serpentine .phase-dot{width:36px;height:36px;font-size:14px;margin-bottom:15px}
.phase-serpentine .phase-name{font-size:14px;line-height:1.5;padding:0;max-width:190px;margin:auto}
.phase-serpentine summary{padding:0 0 6px;position:relative;outline-offset:7px;border-radius:10px}
.phase-serpentine summary:focus-visible{outline:2px solid #b94c0d}
.phase-serpentine .phase-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:visible}
.phase-connections path{fill:none;stroke:#dfe5de;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.phase-connections path.phase-line-done{stroke:#c25814}
.phase-serpentine .phase-popover{position:relative;z-index:2;margin:12px 0 0;padding:12px;background:#f7faf5;overflow-wrap:anywhere;font-size:14px}
.phase-serpentine .phase-strip-caption{padding-top:16px;font-size:13px}
.phase-serpentine li:nth-child(1){grid-row:1;grid-column:1}
.phase-serpentine li:nth-child(2){grid-row:1;grid-column:2}
.phase-serpentine li:nth-child(3){grid-row:2;grid-column:2}
.phase-serpentine li:nth-child(4){grid-row:2;grid-column:1}
.phase-serpentine li:nth-child(5){grid-row:3;grid-column:1}
.phase-serpentine li:nth-child(6){grid-row:3;grid-column:2}
.phase-serpentine li:nth-child(7){grid-row:4;grid-column:2}
.phase-serpentine li:nth-child(8){grid-row:4;grid-column:1}
.phase-serpentine li:nth-child(9){grid-row:5;grid-column:1}
.phase-serpentine li:nth-child(10){grid-row:5;grid-column:2}
@container (min-width:620px){
.phase-serpentine ol{grid-template-columns:repeat(3,minmax(0,1fr))}
.phase-serpentine li:nth-child(1){grid-row:1;grid-column:1}
.phase-serpentine li:nth-child(2){grid-row:1;grid-column:2}
.phase-serpentine li:nth-child(3){grid-row:1;grid-column:3}
.phase-serpentine li:nth-child(4){grid-row:2;grid-column:3}
.phase-serpentine li:nth-child(5){grid-row:2;grid-column:2}
.phase-serpentine li:nth-child(6){grid-row:2;grid-column:1}
.phase-serpentine li:nth-child(7){grid-row:3;grid-column:1}
.phase-serpentine li:nth-child(8){grid-row:3;grid-column:2}
.phase-serpentine li:nth-child(9){grid-row:3;grid-column:3}
.phase-serpentine li:nth-child(10){grid-row:4;grid-column:3}
}
@container (min-width:1000px){
.phase-serpentine ol{grid-template-columns:repeat(5,minmax(0,1fr))}
.phase-serpentine li:nth-child(1){grid-row:1;grid-column:1}
.phase-serpentine li:nth-child(2){grid-row:1;grid-column:2}
.phase-serpentine li:nth-child(3){grid-row:1;grid-column:3}
.phase-serpentine li:nth-child(4){grid-row:1;grid-column:4}
.phase-serpentine li:nth-child(5){grid-row:1;grid-column:5}
.phase-serpentine li:nth-child(6){grid-row:2;grid-column:5}
.phase-serpentine li:nth-child(7){grid-row:2;grid-column:4}
.phase-serpentine li:nth-child(8){grid-row:2;grid-column:3}
.phase-serpentine li:nth-child(9){grid-row:2;grid-column:2}
.phase-serpentine li:nth-child(10){grid-row:2;grid-column:1}
}
@media(max-width:550px){.project-progress{padding:25px 5% 18px}.phase-serpentine li{padding:0 9px}.phase-serpentine .phase-name{font-size:13px}.phase-serpentine .phase-popover{font-size:13px;padding:10px}.phase-serpentine ol{row-gap:24px}}
