/* Ladder self-test pages (/tools/garment-factory-ladder/, /tools/auto-component-supplier-ladder/). Scoped to .ld. */
.ld{background:#F6F7F9;font-size:16px;line-height:1.5;color:var(--ink,#0A0D12)}
.ld-in{max-width:880px;margin:0 auto;padding:0 16px;box-sizing:border-box}
.ld-hdr{background:#fff;border-bottom:1px solid #E7E9EE;padding:22px 0 20px}
.ld-crumb{font-size:13px;color:#6B7482;margin-bottom:10px}.ld-crumb a{text-decoration:underline;text-decoration-color:#C0C8D2;text-underline-offset:3px}
.ld-kick{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#E63E4C;margin-bottom:6px}
.ld-hdr h1{font-size:30px;line-height:1.15;letter-spacing:-.025em;font-weight:700;margin:0;text-wrap:balance}
.ld-sub{font-size:16px;line-height:1.5;color:#3B4453;margin:10px 0 0;max-width:68ch}
.ld-meta{font-size:13px;color:#6B7482;margin:10px 0 0}
.ld-main{padding-top:18px;padding-bottom:8px}
.ld-app{background:#fff;border:1px solid #D5DBE1;border-radius:16px;padding:20px 18px 22px;box-shadow:0 1px 2px rgba(10,13,18,.04)}
.ld-load{color:#6B7482}
.ld-prog{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;color:#545969;margin-bottom:14px}
.ld-bar{height:6px;border-radius:6px;background:#EEF1F5;overflow:hidden}.ld-bar i{display:block;height:100%;background:#E63E4C;border-radius:6px;transition:width .25s}
.ld-q{font-size:22px;line-height:1.25;letter-spacing:-.015em;font-weight:700;margin:0 0 14px;outline:none}
.ld-answers{display:flex;flex-direction:column;gap:10px}
.ld-ans{display:block;width:100%;text-align:left;min-height:52px;padding:13px 16px;border:1.5px solid #C9CED7;border-radius:12px;background:#fff;font:inherit;font-size:16px;line-height:1.35;color:inherit;cursor:pointer}
.ld-ans:hover{border-color:#0A0D12}
.ld-ans.sel{border-color:#0A0D12;background:#0A0D12;color:#fff}
.ld button:focus-visible,.ld a:focus-visible,.ld input:focus-visible,.ld select:focus-visible,.ld summary:focus-visible{outline:2px solid #0A0D12;outline-offset:2px}
.ld-nav{display:flex;justify-content:space-between;margin-top:14px;min-height:24px}
.ld-link{background:none;border:0;padding:8px 0;font:inherit;font-size:15px;color:#3B4453;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ld-hint{font-size:14px;line-height:1.45;color:#545969;margin:0 0 12px}
.ld-lab{display:block;font-size:14px;font-weight:600;margin:12px 0 6px}
.ld-in{font:inherit}
.ld-app input.ld-in,.ld-app select.ld-in{width:100%;font-size:17px;padding:13px 14px;border:1.5px solid #C9CED7;border-radius:12px;background:#fff;box-sizing:border-box;max-width:none;margin:0}
.ld-err{min-height:20px;font-size:14px;color:#C42A38;margin:6px 0 0}
.ld-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;align-items:center}
.ld-btn,.ld-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;border-radius:12px;border:0;font:inherit;font-size:16px;font-weight:700;background:#0A0D12;color:#fff;cursor:pointer;text-align:center;text-decoration:none}
.ld-btn.ghost{background:#fff;color:#0A0D12;border:1.5px solid #C9CED7;font-weight:600}
.ld-cta{background:#25D366;color:#06210F;margin:6px 0 4px}
.ld-cta:hover{background:#1FBE5B}
.ld-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#E63E4C;margin:0 0 6px}
.ld-res-h{font-size:26px;line-height:1.15;letter-spacing:-.025em;font-weight:700;margin:0 0 14px;outline:none}
.ld-viz{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 14px;padding:0}
.ld-viz li{height:44px;border-radius:10px;background:#EEF1F5;color:#8A92A3;display:flex;align-items:center;justify-content:center;font-size:16px}
.ld-viz li.past{background:#DDE3EA;color:#545969}
.ld-viz li.on{background:#0A0D12;color:#fff;transform:translateY(-4px);box-shadow:0 6px 14px rgba(10,13,18,.25)}
.ld-prio{font-size:16px;margin:0 0 10px;color:#3B4453}.ld-prio b{color:#0A0D12}
.ld-copy{font-size:16px;line-height:1.55;margin:0 0 10px}
.ld-box{border:1px solid #E3E7EC;background:#F6F8FA;border-radius:12px;padding:12px 14px;font-size:15px;line-height:1.5;margin:12px 0}
.ld-box.warn{background:#FFF7E0;border-color:#F0DCA0}
.ld-box small{color:#545969;font-size:13px}
.ld-h3{font-size:20px;letter-spacing:-.015em;margin:22px 0 4px}
.ld-move{border:1px solid #D5DBE1;border-radius:14px;padding:16px;margin:12px 0;background:#fff}
.ld-mh{display:flex;gap:10px;align-items:flex-start}
.ld-mh h4{font-size:17px;line-height:1.3;margin:0;font-weight:700;min-width:0;overflow-wrap:anywhere}
.ld-mi{flex:0 0 28px;height:28px;border-radius:50%;background:#0A0D12;color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}
.ld-vals{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 8px}
.ld-v{font-size:12px;line-height:1.3;padding:3px 9px;border-radius:999px;background:#EEF1F5;color:#414552;font-weight:600}
.ld-v.hot{background:#FDE6E8;color:#9E1F2B}
.ld-what{font-size:15px;margin:0 0 10px;color:#3B4453}
.ld-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px}
.ld-facts div{background:#F6F8FA;border-radius:10px;padding:9px 11px;min-width:0}
.ld-facts .wide{grid-column:1/-1}
.ld-facts dt{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#545969;margin-bottom:2px}
.ld-facts dd{margin:0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.ld-facts small{color:#545969}
.ld-ev,.ld-sup,.ld-more{font-size:14px;line-height:1.5;margin:8px 0 0;color:#3B4453}
.ld-ev small,.ld-sup small{color:#545969;font-size:13px}
.ld-ev b,.ld-sup b{color:#0A0D12}
.ld a{text-decoration:underline;text-decoration-color:#C0C8D2;text-underline-offset:3px}
.ld a:hover{text-decoration-color:#0A0D12}
.ld a.ld-cta,.ld a.ld-btn{text-decoration:none}
.ld-row.end{margin-top:18px}
/* result: the three moves at a glance, right under the step */
.ld-sum{list-style:none;margin:8px 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.ld .ld-sum a{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #D5DBE1;border-radius:12px;background:#fff;color:inherit;text-decoration:none}
.ld .ld-sum a:hover{border-color:#0A0D12}
.ld-sum b{display:block;font-size:16px;line-height:1.3}
.ld-sum small{display:block;margin-top:3px;font-size:14px;line-height:1.35;color:#3B4453;font-weight:600}
.ld-move{scroll-margin-top:84px}
.ld-mdet{margin-top:10px;border-top:1px solid #E7E9EE}
.ld-mdet summary{cursor:pointer;font-size:14px;font-weight:600;padding:10px 0 2px;color:#3B4453}
.ld-note{font-size:14px;color:#545969;margin-bottom:10px}
.ld-tablewrap{overflow-x:auto}
.ld-table{border-collapse:collapse;width:100%;font-size:14px}.ld-table caption{text-align:left;font-weight:700;margin-bottom:6px}
.ld-table th,.ld-table td{border-top:1px solid #E7E9EE;padding:8px 10px;text-align:left;vertical-align:top}
.ld-prose{margin-top:26px;font-size:16px;line-height:1.6;color:#2B3340}
.ld-prose h2{font-size:22px;letter-spacing:-.015em;margin:28px 0 8px;color:#0A0D12}
.ld-prose h3{font-size:18px;margin:20px 0 6px;color:#0A0D12}
.ld-prose p,.ld-prose ul,.ld-prose ol{margin:0 0 12px;max-width:70ch}
.ld-prose ul,.ld-prose ol{padding-left:22px}
.ld-prose table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%;font-size:14px;margin:0 0 16px}
.ld-prose th,.ld-prose td{border:1px solid #E7E9EE;padding:8px 10px;text-align:left;vertical-align:top;background:#fff;min-width:110px}
.ld-prose th{background:#F6F8FA}
.ld-det{background:#fff;border:1px solid #D5DBE1;border-radius:12px;margin:12px 0;padding:0 14px}
.ld-det summary{cursor:pointer;font-weight:600;padding:13px 0;min-height:24px}
.ld-list{margin:0 0 12px;padding-left:18px;font-size:14px;line-height:1.5;color:#3B4453}.ld-list li{margin:0 0 6px}
.ld-sid{display:inline-block;font-size:11px;font-weight:700;background:#EEF1F5;border-radius:5px;padding:1px 6px;margin-right:4px}
.ld-related,.ld-foot{font-size:15px;color:#3B4453;margin:14px 0}
.ld-foot{padding-bottom:36px;border-top:1px solid #D5DBE1;padding-top:14px}
@media (max-width:640px){.ld-app select.ld-in{font-size:16px;padding-right:34px}
  .ld-hdr{padding:16px 0 16px}.ld-hdr h1{font-size:25px}
  .ld-app{padding:16px 14px 18px;border-radius:14px}
  .ld-q{font-size:20px}.ld-res-h{font-size:23px}
  .ld-facts{grid-template-columns:1fr}
  .ld-row .ld-btn,.ld-row .ld-cta,.ld-copy+.ld-cta{width:100%}
  .ld-cta{width:100%}
}

/* consulting layout: hero with the test card, staircase, moves + metric, money, library */
.ld{background:#FAFAF8}
.ld-wide{max-width:1160px}
.ld-hdr{background:transparent;border:0;padding:26px 0 8px}
.ld-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start}
.ld-hdr h1{font-size:42px;line-height:1.08}
.ld-hero .ld-app{position:sticky;top:84px;align-self:start}
.ld-main{padding-top:18px}
.ld-sec{margin:34px 0 0}.ld-sec h2{font-size:28px;letter-spacing:-.02em;margin:0 0 4px}
.ld-subh{font-size:15px;color:#545969;margin:0 0 18px}
.ld-stairs{list-style:none;margin:0;padding:34px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:end}
.ld-st{position:relative;border-radius:14px;padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px;border:2px solid transparent;font-size:14px;line-height:1.4;color:#3B4453}
.ld-st b{font-size:20px;line-height:1.2;color:#0A0D12;letter-spacing:-.01em}
.ld-sn{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#545969}
.ld-st.s1{background:#F4D7DA;min-height:150px}.ld-st.s2{background:#F6E1CD;min-height:190px}.ld-st.s3{background:#EFE9C9;min-height:230px}
.ld-st.s4{background:#DDEBD7;min-height:270px}.ld-st.s5{background:#D3E5EE;min-height:310px}
.ld-st.on{border-color:#0A0D12;box-shadow:0 8px 20px rgba(10,13,18,.15)}
.ld-here{position:absolute;top:-14px;left:12px;background:#0A0D12;color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:7px}
.ld-two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:start}
.ld-card{display:block;background:#fff;border:1px solid #E3E7EC;border-radius:16px;padding:20px;color:inherit}
.ld-card h3{font-size:21px;letter-spacing:-.015em;margin:0 0 6px}
.ld-two .ld-move{border:0;border-top:1px solid #E7E9EE;border-radius:0;padding:14px 0;margin:0}
.ld-big{font-size:40px;font-weight:700;letter-spacing:-.025em;line-height:1.1;margin:8px 0 4px}
.ld-band{position:relative;height:14px;border-radius:7px;margin:22px 0 0;background:#EEF1F5}
.ld-band i{position:absolute;top:0;height:100%}.ld-band i:first-child{border-radius:7px 0 0 7px}.ld-band i:nth-child(4){border-radius:0 7px 7px 0}
.ld-band b{position:absolute;top:-6px;width:4px;height:26px;margin-left:-2px;background:#0A0D12;border-radius:2px}
.ld-band b span{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:12px;background:#0A0D12;color:#fff;padding:3px 7px;border-radius:6px}
.ld-ticks{position:relative;height:38px;font-size:12px;color:#545969}.ld-ticks span{position:absolute;top:6px;transform:translateX(-50%);text-align:center;white-space:nowrap}.ld-ticks small{display:block;font-size:11px}
.ld-money,.ld-lib{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ld-lib{grid-template-columns:repeat(4,minmax(0,1fr))}
.ld .ld-card{text-decoration:none}.ld a.ld-card:hover{border-color:#0A0D12}
.ld-card b{display:block;font-size:16px;line-height:1.3}.ld-card span,.ld-card small{display:block;font-size:13px;color:#545969;margin-top:6px}
.ld-strip{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:34px 0 0;background:#FFF1F2;border:1px solid #F7D3D6;border-radius:16px;padding:20px 24px}
.ld-strip p{margin:0;font-size:16px;max-width:66ch}.ld-strip .ld-cta{flex:0 0 auto;margin:0;background:#E63E4C;color:#fff}
@media (max-width:900px){
  .ld-hero{grid-template-columns:1fr;gap:20px}.ld-hero .ld-app{position:static}.ld-hdr h1{font-size:30px}
  .ld-stairs{grid-template-columns:1fr;gap:10px;padding-top:12px}.ld-st{min-height:0!important}.ld-st.s2{margin-left:12px}.ld-st.s3{margin-left:24px}.ld-st.s4{margin-left:36px}.ld-st.s5{margin-left:48px}
  .ld-st.on{margin-top:14px}
  .ld-two,.ld-money,.ld-lib{grid-template-columns:1fr}.ld-strip{flex-direction:column;align-items:stretch}.ld-sec h2{font-size:24px}.ld-big{font-size:32px}
}
