.cm-case-visual040{margin:24px 0 28px;padding:20px 20px 16px;border:1px solid #d9d0df;border-radius:6px;background:#fbfaf7;color:#2d2535;min-width:0;max-width:100%;box-sizing:border-box;container-type:inline-size}
.cm-case-visual040>figcaption{font-size:21px;font-weight:700;line-height:1.35;margin:0 0 16px}
.cv040-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-gutter:stable;outline-offset:4px}
.cv040-scroll:focus-visible{outline:3px solid #745185}
.cv040-plot{display:block;width:100%;min-width:720px;height:auto;font-family:inherit;font-size:19px;color:inherit}
.cv040-grid{stroke:#e2dce4;stroke-width:1;fill:none}.cv040-axis{stroke:#6e6174;stroke-width:1.5;fill:none}.cv040-connector{stroke:#8a7b91;stroke-width:1.4;stroke-dasharray:4 3;fill:none}
.cv040-tick{font-size:17px;fill:#62566a}.cv040-axis-label{font-size:19px;fill:#403348}.cv040-category{font-size:19px;fill:#403348}.cv040-value,.cv040-point-label{font-size:18px;font-weight:600;fill:#34283d}.cv040-inside{font-size:17px;font-weight:600;fill:#fff}.cv040-matrix-value{font-size:18px;fill:#302537}
.cv040-legend{list-style:none!important;padding:0!important;margin:12px 0 0!important;display:flex;flex-wrap:wrap;gap:9px 22px}.cv040-legend li{font-size:17px;line-height:1.5;display:flex;align-items:center;gap:9px;margin:0!important}.cv040-legend li>span{width:13px;height:13px;flex:none;border-radius:50%}
.cv040-note,.cv040-pan-hint{font-size:17px!important;line-height:1.55!important;margin:12px 0 0!important;color:#62566a!important}.cv040-pan-hint{display:none}
.cv040-mobile-chart{display:none}.cv040-overview{display:block;width:100%;height:auto}.cv040-overview-title{font-size:18px!important;font-weight:700;line-height:1.4!important;margin:0 0 10px!important}.cv040-overview-axes{margin:10px 0 18px;display:grid;gap:9px}.cv040-overview-axes>div{display:grid;gap:3px}.cv040-overview-axes dt{font-size:17px;font-weight:700;line-height:1.4}.cv040-overview-axes dd{font-size:18px;line-height:1.5;margin:0}.cv040-full{margin:16px 0 0;max-width:100%;min-width:0}.cv040-full>summary{padding:12px 14px;border:1px solid #a795b3;border-radius:4px;font-size:18px;line-height:1.4;font-weight:600;cursor:pointer;background:#fff}.cv040-full>summary:focus-visible{outline:3px solid #745185;outline-offset:3px}.cv040-full[open]>summary{margin-bottom:16px}
@container(max-width:760px){.cv040-pan-hint{display:block}}
.cv040-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 32px;list-style:none!important;padding:0!important;margin:0!important}.cv040-flow>li{position:relative;display:flex;flex-direction:column;justify-content:center;gap:10px;background:#fff;border:1px solid #d9d0df;border-left:3px solid #745185;border-radius:4px;min-height:110px;box-sizing:border-box;padding:17px;margin:0!important}.cv040-flow-label{font-size:17px;line-height:1.45;color:#62566a}.cv040-flow strong{font-size:20px;line-height:1.4;overflow-wrap:anywhere}.cv040-flow-arrow{position:absolute;width:22px;height:22px;right:-28px;top:calc(50% - 11px);fill:none;stroke:#745185;stroke-width:1.8}.cv040-flow>li:nth-child(3n)>.cv040-flow-arrow{display:none}
.cv040-callout{stroke:#62566a;stroke-width:1.5;fill:none}.cv040-callout-back{fill:#fbfaf7;fill-opacity:.94}.cv040-overview-point-label{font-family:inherit;font-size:28px;font-weight:650;fill:#34283d}
.cv040-process-demand{display:flex;flex-direction:column;gap:6px;padding:0 0 20px;margin-bottom:22px;border-bottom:1px solid #ddd5e2}.cv040-process-demand>span,.cv040-process-stages>li>span,.cv040-process-repeat>span{font-size:17px;line-height:1.5;color:#62566a}.cv040-process-demand>strong,.cv040-process-stages>li>strong,.cv040-process-repeat>strong{font-size:20px;line-height:1.45;overflow-wrap:anywhere}.cv040-process-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;list-style:none!important;padding:0!important;margin:0!important}.cv040-process-stages>li{position:relative;display:flex;flex-direction:column;gap:8px;padding:17px;background:#fff;border:1px solid #d9d0df;border-left:3px solid #745185;border-radius:4px;margin:0!important;min-width:0}.cv040-process-arrow{position:absolute;width:22px;height:22px;right:-27px;top:29px;stroke:#745185;stroke-width:1.8;fill:none}.cv040-process-repeat{display:flex;flex-direction:column;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid #ddd5e2}.cv040-process-repeat>svg{width:90px;height:41px;fill:none;stroke:#745185;stroke-width:2;align-self:center}
@media(max-width:900px){.cv040-process-stages{grid-template-columns:minmax(0,1fr)}.cv040-process-arrow{right:calc(50% - 11px);top:auto;bottom:-27px;transform:rotate(90deg)}}
.cv040-schematic>section+section{margin-top:22px;padding-top:20px;border-top:1px solid #ddd5e2}.cv040-schematic h4{font-size:18px;line-height:1.4;margin:0 0 12px}.cv040-equation{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.cv040-operand{flex:1 1 135px;min-width:0;padding:12px 14px;background:#fff;border:1px solid #ddd5e2;border-radius:4px;display:flex;flex-direction:column;gap:9px}.cv040-operand>span{font-size:17px;line-height:1.45;color:#62566a}.cv040-operand>strong{font-size:20px;line-height:1.45;overflow-wrap:anywhere}.cv040-operator{font-size:19px;line-height:1.4;color:#56366b;font-weight:600}
@media(max-width:1050px){.cv040-pan-hint{display:block}.cv040-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.cv040-flow>li:nth-child(3n)>.cv040-flow-arrow{display:block}.cv040-flow>li:nth-child(2n)>.cv040-flow-arrow{display:none}}
@media(max-width:600px){.cm-case-visual040{padding:17px 14px 15px;margin:20px 0 24px}.cm-case-visual040>figcaption{font-size:20px}.cv040-desktop-chart{display:none}.cv040-mobile-chart{display:block}.cv040-flow{grid-template-columns:minmax(0,1fr);gap:27px}.cv040-flow>li{min-height:0;padding:15px}.cv040-flow strong{font-size:20px}.cv040-flow-label{font-size:18px}.cv040-flow>li>.cv040-flow-arrow,.cv040-flow>li:nth-child(2n)>.cv040-flow-arrow,.cv040-flow>li:nth-child(3n)>.cv040-flow-arrow{display:block;top:auto;bottom:-25px;right:calc(50% - 11px);transform:rotate(90deg)}.cv040-legend{gap:8px 16px}.cv040-legend li{font-size:17px}.cv040-equation{flex-direction:column;align-items:stretch}.cv040-operand{flex:initial}.cv040-operator{align-self:center}.cv040-operand>span{font-size:18px}}
