/* S&OP: an editorial planning instrument, drawn as a single connected composition. */
.problem-first{background:#fff;padding:90px 0}.problem-first-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%}.problem-first h2{font-size:clamp(34px,3.5vw,54px);line-height:1.12;letter-spacing:-.035em;font-weight:500;margin:20px 0 28px;hyphens:none}.problem-first-intro{font-size:17px;color:#556b83;line-height:1.8;max-width:390px}.problem-list{list-style:none;margin:0;padding:0}.problem-list li{padding:24px 0;border-top:1px solid #d5deea;display:block}.problem-list li:first-child{padding-top:0;border-top:0}.problem-list h3{font-size:23px;font-weight:500;letter-spacing:-.02em;color:#061527;line-height:1.3;margin:0 0 10px;hyphens:none}.problem-list p{color:#526780;line-height:1.8;font-size:16px;margin:0}.problem-cause{border-left:3px solid #2a5ce1;background:#f1f5fb;padding:24px 28px;margin-top:24px;font-size:17px;color:#304964;line-height:1.8}.problem-cause strong{color:#061527;font-weight:500}.problem-first-layout>*{min-width:0}.sop-motion-section{background:#f5f7fa;padding:90px 0}.sop-motion-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:0 10%;align-items:end}.sop-motion-heading>.eyebrow{grid-column:1/-1;margin-bottom:23px}.sop-motion-heading h2{font-size:clamp(36px,4vw,60px);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:0;hyphens:none}.sop-motion-heading>p:last-child{font-size:17px;line-height:1.8;color:#526780;max-width:470px;margin:0 0 3px}.sop-motion{margin:54px 0 0;background:#fff;border:1px solid #d9e1eb;border-radius:4px;box-shadow:0 20px 60px #0c254208;overflow:hidden}.sop-canvas{padding:28px 24px 0;background:radial-gradient(ellipse at 53% 47%,#edf3ff 0,white 39%);isolation:isolate}.sop-art{display:block;width:100%;height:auto;overflow:visible;font-family:Bai,Arial,sans-serif}.sop-art-mobile{display:none}.sop-guide{stroke:#dce4ee;fill:none;stroke-width:1}.sop-small{font-size:10px;letter-spacing:1.4px;fill:#718198}.sop-input-title{font-size:21px;font-weight:500;fill:#061527}.sop-input-sub{font-size:12px;fill:#718198}.sop-chart-guide{fill:none;stroke:#dce4ee;stroke-width:1}.sop-chart-unmatched,.sop-chart-matched{fill:none;stroke:#587190;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:opacity .45s ease}.sop-chart-unmatched{opacity:0}.sop-chart-matched{stroke:#285ddc;opacity:1}.sop-wire{stroke:#dbe3ee;stroke-width:1.4;fill:none}.sop-live{stroke:#285ddc;stroke-width:1.6;fill:none;opacity:1;transition:opacity .5s ease}.sop-traveler{fill:#2056dc;opacity:0}.sop-hub-orbit{fill:none;stroke:#c8d6ec;stroke-width:1}.sop-hub-mark{fill:none;stroke:#bacce6;stroke-width:1}.sop-hub-disc{fill:#061b35;stroke:#123d71;stroke-width:1}.sop-hub-ring{fill:none;stroke:#315274;stroke-width:1}.sop-hub-caption{font-size:9px;letter-spacing:1.1px;fill:#a9c7ed}.sop-hub-title{font-size:46px;letter-spacing:-1.5px;font-weight:500;fill:#fff}.sop-hub-sub{font-size:11px;fill:#b6c9e1}.sop-plan-spine,.sop-plan-tick{fill:none;stroke:#285ddc;stroke-width:1.5}.sop-plan-title{fill:#285ddc;font-size:24px;font-weight:500;letter-spacing:-.5px}.sop-output-label{font-size:20px;fill:#061527;font-weight:500}.sop-output-sub{font-size:12px;fill:#687f99}.sop-plan-dot{fill:#285ddc}.sop-plan{opacity:1;transition:opacity .45s ease,transform .6s cubic-bezier(.22,.61,.36,1)}.sop-feedback-line{fill:none;stroke:#bccde3;stroke-width:1;stroke-dasharray:3 4}.sop-feedback-text{font-size:9px;fill:#6b83a0;letter-spacing:1.1px}.sop-motion[data-state="0"] .sop-chart-unmatched,.sop-motion[data-state="1"] .sop-chart-unmatched{opacity:1}.sop-motion[data-state="0"] .sop-chart-matched,.sop-motion[data-state="1"] .sop-chart-matched{opacity:0}.sop-motion[data-state="0"] .sop-live,.sop-motion[data-state="1"] .sop-route-out{opacity:0}.sop-motion[data-state="0"] .sop-plan,.sop-motion[data-state="1"] .sop-plan{opacity:.22;transform:translateX(7px)}.sop-motion[data-state="0"] .sop-feedback-line,.sop-motion[data-state="1"] .sop-feedback-line,.sop-motion[data-state="0"] .sop-feedback-text,.sop-motion[data-state="1"] .sop-feedback-text{opacity:0}.sop-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #dbe3ee}.sop-controls button{border:0;border-top:2px solid transparent;background:white;color:#5e7188;font:inherit;font-size:15px;cursor:pointer;padding:23px 20px;text-align:center;display:flex;gap:15px;justify-content:center;align-items:center;transition:background .2s,color .2s}.sop-controls button+button{border-left:1px solid #dbe3ee}.sop-controls button span{font-size:11px;color:#8495aa}.sop-controls button[aria-pressed="true"]{color:#174fcf;border-top-color:#285ddc;background:#f3f7ff}.sop-controls button[aria-pressed="true"] span{color:#285ddc}.sop-story{display:flex;justify-content:space-between;align-items:center;gap:50px;padding:28px 36px;background:#f9fbfd;border-top:1px solid #e1e8f1;min-height:142px}.sop-story>p{font-size:17px;line-height:1.7;color:#334e6c;margin:0;max-width:800px;hyphens:none}.sop-replay{background:none;border:0;border-bottom:1px solid #b2c2d7;padding:8px 0;white-space:nowrap;font:inherit;font-size:13px;color:#244a79;cursor:pointer;display:inline-flex;gap:20px;align-items:center}.sop-replay span{font-size:22px}.sop-replay[aria-busy="true"]{opacity:.6}.sop-controls button:focus-visible,.sop-replay:focus-visible,.sop-process-detail summary:focus-visible{outline:3px solid #285ddc;outline-offset:-4px}.sop-process-detail{border-bottom:1px solid #cdd9e7;margin-top:30px;padding:0}.sop-process-detail summary{padding:22px 0;cursor:pointer;font-size:17px;color:#25476f}.sop-process-detail>p{max-width:800px;line-height:1.8;color:#526780;margin:15px 0 25px}.sop-process-detail ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 50px;margin:0;padding:0 0 30px;list-style:none;counter-reset:sop-detail}.sop-process-step{counter-increment:sop-detail;border-top:1px solid #d5dfec;padding-top:20px}.sop-process-step h3{font-size:21px;font-weight:500;line-height:1.3;margin:0 0 12px}.sop-process-step h3:before{content:counter(sop-detail,decimal-leading-zero) ' / ';font-size:13px;color:#5c78a1}.sop-process-step p{font-size:15px;line-height:1.7;color:#526780;margin:0 0 12px}.sop-process-step strong{font-weight:500;color:#183654}
@media(hover:hover){.sop-controls button:hover{background:#f3f7ff;color:#174fcf}.sop-replay:hover{color:#123bac}}
@media(max-width:900px){.sop-motion-heading{grid-template-columns:1fr;gap:24px}.sop-motion-heading>.eyebrow{margin-bottom:0}.sop-motion-heading>p:last-child{max-width:600px}.sop-story{gap:25px;padding:25px;align-items:flex-start;flex-direction:column}.sop-controls button{font-size:13px;gap:10px}.sop-process-detail ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.problem-first{padding:60px 0}.problem-first-layout{grid-template-columns:minmax(0,1fr);gap:32px}.problem-first h2{font-size:36px}.problem-first-intro{font-size:16px}.problem-list h3{font-size:22px}.problem-list p{font-size:15px}.problem-cause{padding:20px;font-size:16px}.sop-motion-section{padding:60px 0}.sop-motion-heading h2{font-size:38px}.sop-motion-heading>p:last-child{font-size:16px}.sop-motion{margin-top:30px}.sop-canvas{padding:12px 6px 0;background:radial-gradient(ellipse at 50% 52%,#edf3ff 0,white 43%)}.sop-art-desktop{display:none}.sop-art-mobile{display:block}.sop-art-mobile .sop-input-title{font-size:16px}.sop-art-mobile .sop-input-sub{font-size:10px}.sop-art-mobile .sop-hub-caption{font-size:7px;letter-spacing:.5px}.sop-art-mobile .sop-hub-title{font-size:37px}.sop-art-mobile .sop-hub-sub{font-size:8px}.sop-art-mobile .sop-output-label{font-size:13px}.sop-art-mobile .sop-plan-title{font-size:22px}.sop-controls button{flex-direction:column;gap:7px;padding:17px 7px;line-height:1.35;font-size:12px;min-width:0}.sop-controls button span{font-size:10px}.sop-story{padding:23px 20px;min-height:225px;gap:18px}.sop-story>p{font-size:15px}.sop-process-detail summary{font-size:16px;line-height:1.6}.sop-process-detail ol{grid-template-columns:minmax(0,1fr);gap:20px}.sop-process-detail>p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.sop-motion *{transition:none!important;animation:none!important}.sop-traveler{display:none}.sop-motion[data-state] .sop-plan{transform:none}}

/* Controls are progressive enhancement; the final illustration remains without scripts. */
.sop-controls,.sop-replay{display:none}.sop-motion.is-enhanced .sop-controls{display:grid}.sop-motion.is-enhanced .sop-replay{display:inline-flex}

.sop-hub{transition:opacity .45s ease}.sop-motion[data-state="0"] .sop-hub{opacity:.35}

/* Economic outcomes, with the trade-off kept visible across all three functions. */
.sop-economics{background:#fff}.economics-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}.economics-columns article{border-top:2px solid #285ddc;padding-top:25px;display:flex;flex-direction:column}.economics-columns h3{font-size:27px;font-weight:500;line-height:1.2;margin:0 0 20px}.economics-columns p{font-size:16px;line-height:1.8;color:#526780;margin-bottom:24px}.economics-columns strong{font-size:16px;line-height:1.6;font-weight:500;color:#163657;margin-top:auto}.economics-tradeoff{padding:28px 32px;border-left:3px solid #285ddc;background:#edf3fa;font-size:18px;line-height:1.8;color:#314c6b;margin-top:42px}.economics-scope{font-size:13px;color:#60758f;line-height:1.7;margin-top:20px;max-width:820px}@media(max-width:650px){.economics-columns{grid-template-columns:1fr;gap:30px}.economics-columns h3{font-size:25px}.economics-tradeoff{padding:23px;font-size:16px}}
