/* CAD geometry → resource logic → a controlled experiment matrix. */
.sim-design-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.sdp-stage{position:relative;min-width:0;background:#0a1c29;border:1px solid #315262}
.sdp-stage+.sdp-stage::before{content:'→';position:absolute;z-index:1;left:-22px;top:49%;width:19px;text-align:center;color:#79c5b8;font:1.15rem/1 var(--mono)}
.sdp-stage:nth-child(2){background:#0b222b;border-color:#477b73}
.sdp-stage>header{display:flex;align-items:center;gap:12px;padding:20px 20px 18px;border-bottom:1px solid #294754;min-height:75px}
.sdp-number{color:#78aab9;font:.82rem/1 var(--mono)}
.sdp-stage:nth-child(2) .sdp-number{color:#79e0bf}
.sim-design-process h3{margin:0;font-size:1.02rem;line-height:1.5;color:#deedf2;letter-spacing:-.02em}
.sdp-picture{display:block;width:100%;height:auto;aspect-ratio:360/256;object-fit:contain}
.sdp-labels{display:flex;gap:15px;justify-content:space-between;align-items:center;min-height:60px;padding:16px 19px;border-top:1px solid #294754;color:#aac5d0;font-size:.75rem;line-height:1.55}
.sdp-labels>span{min-width:0}
.sdp-labels>span:last-child{text-align:right}
.sdp-labels strong{font-weight:500;color:#cce4e6}
.sdp-experiments{display:grid;grid-template-columns:26px repeat(2,minmax(0,1fr));grid-template-rows:54px 1fr 1fr;gap:8px;padding:16px 17px 18px;aspect-ratio:360/256;color:#b8d4de}
.sdp-table-row{display:contents}
.sdp-demand{text-align:center;align-self:center;font-size:.73rem;line-height:1.55}
.sdp-demand strong{display:block;font:1.2rem/1.4 var(--mono);color:#e1efef}
.sdp-layout{display:grid;place-items:center;color:#a9d2e2;font:1.2rem/1 var(--mono)}
.sdp-layout.sdp-cell{color:#83dfbf}
.sdp-run{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;background:#102c3b;border:1px solid #355968;border-radius:3px;color:#acd0de}
.sdp-run.sdp-cell{background:#103036;border-color:#356c64;color:#9fdbc8}
.sdp-run svg{width:24px;height:24px;flex:none}
.sdp-run>span{font:1rem/1 var(--mono);white-space:nowrap}
@media(max-width:1100px){.sim-design-process{gap:19px}.sdp-stage>header{padding:18px 15px;gap:9px}.sim-design-process h3{font-size:.91rem}.sdp-stage+.sdp-stage::before{left:-18px;width:16px;font-size:1rem}.sdp-labels{padding:14px 14px;font-size:.71rem;gap:8px}.sdp-experiments{padding:12px 12px 14px;gap:6px;grid-template-columns:21px repeat(2,minmax(0,1fr));grid-template-rows:46px 1fr 1fr}.sdp-demand{font-size:.67rem}.sdp-demand strong{font-size:1.1rem}.sdp-run{gap:6px}.sdp-run svg{width:21px;height:21px}.sdp-run>span{font-size:.9rem}}
@media(max-width:800px){.sim-design-process{grid-template-columns:1fr;gap:28px;max-width:520px;margin-inline:auto}.sdp-stage+.sdp-stage::before{content:'↓';top:-24px;left:50%;transform:translateX(-50%);width:22px;font-size:1.1rem}.sdp-stage>header{min-height:0;padding:17px 21px}.sim-design-process h3{font-size:1rem}.sdp-picture{max-height:265px}.sdp-labels{font-size:.77rem;padding:15px 21px;min-height:52px}.sdp-experiments{height:255px;aspect-ratio:auto;grid-template-rows:51px 1fr 1fr;padding:15px 21px 20px;grid-template-columns:30px repeat(2,minmax(0,1fr));gap:9px}.sdp-demand{font-size:.78rem}.sdp-demand strong{font-size:1.3rem}.sdp-run svg{width:27px;height:27px}.sdp-run>span{font-size:1.1rem}}
@media(max-width:360px){.sdp-stage>header{padding:15px}.sdp-labels{padding:13px 14px;gap:9px;font-size:.69rem}.sdp-experiments{padding:13px 13px 17px;gap:7px;grid-template-columns:23px repeat(2,minmax(0,1fr));height:237px}.sdp-demand{font-size:.7rem}.sdp-run>span{font-size:.95rem}.sdp-run svg{width:23px;height:23px}}
