/* Componente aprovado: geometria e movimento preservados, isolados do CSS do site. */
.lastro-diagram{--ink:#1e3948;--muted:#526773;--line:#9db5c4;--canvas:#eef3f6;--shadow:var(--shadow-soft);--ease:cubic-bezier(.16,1,.3,1);color:var(--navy);position:relative;margin:58px -10px 0;padding-top:36px;border-top:1px solid #bfd1dd}
.lastro-diagram .diagram-intro{text-align:center;margin:0 auto 26px;max-width:660px}
.lastro-diagram .diagram-intro h3{font-size:32px;font-weight:750;letter-spacing:-.025em;line-height:1.2}
.lastro-diagram .diagram-intro p{font-size:17px;color:var(--muted);margin-top:16px;line-height:1.65}
.lastro-diagram svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

.lastro-diagram .ecosystem{position:relative;max-width:1160px;margin:0 auto;padding:48px 24px 0}
.lastro-diagram .connections{position:absolute;left:0;top:0;z-index:0;overflow:visible;pointer-events:none;stroke-width:var(--wire-width,2px);shape-rendering:geometricPrecision}
.lastro-diagram .connections path,.lastro-diagram .connections circle{vector-effect:non-scaling-stroke}
.lastro-diagram .wire-base{stroke:var(--line)}
.lastro-diagram .wire-fill{stroke:var(--flow-ink,#356e8d)}
.lastro-diagram .wire-tip{stroke:#eef3f6;stroke-width:2;fill:var(--navy)}
.lastro-diagram .inputs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;position:relative;align-items:start}
.lastro-diagram .node{position:relative;z-index:1;min-width:0}
.lastro-diagram .node-face{background:white;border:1px solid #d7e3eb;box-shadow:var(--shadow);border-radius:14px}
.lastro-diagram .input-node .node-face{text-align:center;padding:22px 8px 21px;min-height:178px}
.lastro-diagram .input-node:nth-child(2),.lastro-diagram .input-node:nth-child(4){margin-top:30px}
.lastro-diagram .input-icon{display:block;width:39px;height:39px;margin:0 auto 15px;color:var(--blue);stroke-width:1.7}
.lastro-diagram .icon-back{stroke:#97b6c7}
.lastro-diagram .input-node h3{font-size:16px;font-weight:750;line-height:1.3;letter-spacing:0}
.lastro-diagram .input-node .node-face>span{font-size:12px;line-height:1.5;color:var(--muted);display:block;margin-top:10px}
.lastro-diagram .core{width:min(850px,92%);margin:164px auto 0;padding:0}
.lastro-diagram .core-face{border-radius:16px;background:white;box-shadow:0 32px 65px -25px #1e394832,0 4px 14px -6px #1e39481c;overflow:hidden}
.lastro-diagram .core-header{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--navy);color:#d2e0e8;padding:22px 30px}
.lastro-diagram .core-header img{width:132px;height:auto;display:block}
.lastro-diagram .core-header>span{font-size:13px;line-height:1.5;text-align:right}
.lastro-diagram .core-content{padding:30px}
.lastro-diagram .core-title{display:flex;justify-content:space-between;align-items:start;gap:24px}
.lastro-diagram .core-title h3{font-size:26px;letter-spacing:-.02em;line-height:1.25;max-width:280px}
.lastro-diagram .core-title>p{font-size:14px;color:var(--muted);max-width:245px;text-align:right;margin:0;line-height:1.6}
.lastro-diagram .process{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:34px 0 30px;position:relative}
.lastro-diagram .process:before,.lastro-diagram .process:after{content:'';position:absolute;height:2px;background:var(--line);left:17px;right:calc(25% - 17px);top:16px}
.lastro-diagram .process:after{height:2px;background:var(--flow-ink,#356e8d);transform-origin:left;transform:scaleX(var(--process-progress,1))}
.lastro-diagram .process li{position:relative;z-index:1}
.lastro-diagram .step-marker{display:grid;place-items:center;border:1px solid #b7cbd6;background:white;width:34px;height:34px;border-radius:50%;font-size:12px;font-weight:750}
.lastro-diagram .process h4{font-size:15px;line-height:1.4;margin:15px 0 0;font-weight:750}
.lastro-diagram .process p{font-size:13px;color:var(--muted);margin-top:7px;max-width:150px;padding-right:8px;line-height:1.5}
.lastro-diagram .process li.is-lit .step-marker{color:white;background:var(--navy);border-color:var(--navy)}
/* Quatro etapas equilibradas em toda a largura interna, sem sobra lateral. */
@media(min-width:651px){
  .lastro-diagram .process{width:100%}
  .lastro-diagram .process:before,.lastro-diagram .process:after{left:12.5%;right:12.5%}
  .lastro-diagram .process:before{top:16px}
  .lastro-diagram .process li{text-align:center}
  .lastro-diagram .step-marker{margin-inline:auto}
  .lastro-diagram .process p{max-width:none;padding-inline:8px}
}
.lastro-diagram .example{display:flex;align-items:flex-start;gap:16px;background:#eef3f6;border-radius:8px;padding:20px}
.lastro-diagram .example>svg{width:28px;height:28px;color:var(--blue)}
.lastro-diagram .example strong{font-size:15px;font-weight:750;line-height:1.5}
.lastro-diagram .example p{font-size:14px;color:var(--muted);margin-top:6px;max-width:67ch;line-height:1.6}
.lastro-diagram .core-foot{background:#f6f9fb;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;padding:15px 20px;color:var(--muted)}
.lastro-diagram .status-dot{width:6px;height:6px;background:var(--blue);border-radius:50%;flex:none}
.lastro-diagram .outputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;width:94%;margin:138px auto 0;align-items:start}
.lastro-diagram .output-node:nth-child(2){margin-top:85px}
.lastro-diagram .output-node .node-face{padding:28px 25px 22px}
.lastro-diagram .result-icon{width:46px;height:46px;stroke-width:1.55;color:var(--blue);margin-bottom:20px}
.lastro-diagram .output-node h3{font-size:27px;line-height:1.17;letter-spacing:-.025em;font-weight:750}
.lastro-diagram .output-node p{font-size:15px;color:var(--muted);margin-top:16px;min-height:70px;line-height:1.65}
.lastro-diagram .result-check{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:750;margin-top:22px;padding-top:15px;border-top:1px solid #e2ebf0;line-height:1.5}
.lastro-diagram .result-check svg{width:17px;height:17px;color:var(--blue)}

.lastro-diagram.no-motion .wire-tip{display:none}
.lastro-diagram .input-icon,.lastro-diagram .result-icon,.lastro-diagram .example>svg,.lastro-diagram .result-check svg{stroke-width:1.9}
.lastro-diagram .input-icon *,.lastro-diagram .result-icon *,.lastro-diagram .example>svg *,.lastro-diagram .result-check svg *{vector-effect:non-scaling-stroke}
.lastro-diagram .node-face{box-shadow:0 7px 18px -13px #1e39483b}
.lastro-diagram .core-face{border:1px solid #cfdee7;box-shadow:0 14px 28px -20px #1e39484d}
.lastro-diagram .input-node .node-face>span,.lastro-diagram .output-node p,.lastro-diagram .example p{color:#294655}
.lastro-diagram .input-icon,.lastro-diagram .result-icon{transition:color .35s var(--ease)}
.lastro-diagram .input-node:not(.is-lit) .input-icon,.lastro-diagram .output-node:not(.is-lit) .result-icon{color:#7898aa}
.lastro-diagram .input-node.is-lit .input-icon{color:var(--navy)}
@media(max-width:950px){.lastro-diagram .ecosystem{padding-inline:12px}.lastro-diagram .inputs{gap:12px}.lastro-diagram .input-node .node-face{min-height:180px;padding-inline:6px}.lastro-diagram .input-node h3{font-size:14px}.lastro-diagram .input-node .node-face>span{font-size:11px}.lastro-diagram .core{width:94%}.lastro-diagram .outputs{gap:22px;width:100%}.lastro-diagram .output-node .node-face{padding:24px 18px 20px}.lastro-diagram .output-node h3{font-size:23px}.lastro-diagram .output-node p{min-height:100px}.lastro-diagram .core-title h3{font-size:24px}}
@media(max-width:650px){.lastro-diagram{margin:38px 0 0;padding-top:32px}.lastro-diagram .diagram-intro{text-align:left;margin-bottom:20px}.lastro-diagram .diagram-intro h3{font-size:29px}.lastro-diagram .diagram-intro p{font-size:16px}.lastro-diagram .ecosystem{padding:30px 0 0 23px}.lastro-diagram .inputs{grid-template-columns:1fr;gap:16px;padding-left:22px}.lastro-diagram .input-node:nth-child(n){margin-top:0}.lastro-diagram .input-node .node-face{padding:16px 18px;min-height:88px;display:grid;grid-template-columns:32px 1fr;column-gap:14px;text-align:left;align-items:center}.lastro-diagram .input-icon{grid-row:1/3;width:32px;height:32px;margin:0}.lastro-diagram .input-node h3{font-size:15px;line-height:1.3}.lastro-diagram .input-node h3 br,.lastro-diagram .output-node h3 br{display:contents}.lastro-diagram .input-node h3 br:after,.lastro-diagram .output-node h3 br:after{content:' '}.lastro-diagram .input-node .node-face>span{font-size:12px;margin-top:4px}.lastro-diagram .core{width:100%;margin-top:85px}.lastro-diagram .core-header{padding:21px 20px}.lastro-diagram .core-header img{width:108px}.lastro-diagram .core-header>span{font-size:11px}.lastro-diagram .core-content{padding:24px 20px}.lastro-diagram .core-title{display:block}.lastro-diagram .core-title h3{font-size:24px}.lastro-diagram .core-title>p{text-align:left;margin-top:8px;max-width:none;font-size:14px}.lastro-diagram .process{display:block;margin:28px 0}.lastro-diagram .process li{display:grid;grid-template-columns:32px 1fr;gap:0 13px;padding-bottom:24px;align-items:center}.lastro-diagram .process li:last-child{padding:0}.lastro-diagram .step-marker{grid-row:1/3;width:32px;height:32px}.lastro-diagram .process h4{font-size:15px;margin:0}.lastro-diagram .process p{font-size:13px;margin:3px 0 0;max-width:none;padding:0}.lastro-diagram .process:before,.lastro-diagram .process:after{left:15px;top:15px;bottom:15px;width:1px;height:auto;right:auto}.lastro-diagram .process:after{width:2px;transform-origin:top;transform:scaleY(var(--process-progress,1))}.lastro-diagram .example{padding:16px;gap:10px}.lastro-diagram .example>svg{width:23px;height:23px}.lastro-diagram .example strong{font-size:14px}.lastro-diagram .example p{font-size:13px}.lastro-diagram .core-foot{font-size:11px;line-height:1.5;justify-content:flex-start;padding:14px 20px}.lastro-diagram .outputs{display:block;margin:85px 0 0;width:auto;padding-left:22px}.lastro-diagram .output-node:nth-child(n){margin-top:0;margin-bottom:24px}.lastro-diagram .output-node .node-face{padding:25px}.lastro-diagram .result-icon{width:37px;height:37px;margin-bottom:14px}.lastro-diagram .output-node h3{font-size:26px}.lastro-diagram .output-node p{min-height:0;font-size:15px;margin-top:12px}.lastro-diagram .result-check{margin-top:16px}}
@media(max-width:360px){.lastro-diagram .input-node .node-face{padding:15px 12px;column-gap:10px}.lastro-diagram .core-header>span{display:none}.lastro-diagram .core-content{padding:22px 16px}.lastro-diagram .output-node .node-face{padding:23px}}
@media(prefers-reduced-motion:reduce){.lastro-diagram .wire-tip{display:none}.lastro-diagram .input-icon,.lastro-diagram .result-icon{transition:none}}
@media(max-width:650px){.lastro-diagram .process:before{width:2px}}
@media print{.lastro-diagram .connections{display:none}.lastro-diagram .core,.lastro-diagram .outputs{margin-top:35px}.lastro-diagram .core-face,.lastro-diagram .node-face{box-shadow:none}.lastro-diagram .core,.lastro-diagram .output-node{break-inside:avoid}}
.lastro-diagram .process .process-traveler{position:absolute;z-index:3;left:0;top:0;display:block;box-sizing:border-box;width:10px;height:10px;border:2px solid #fff;border-radius:50%;background:#1e3948;pointer-events:none;box-shadow:0 0 0 3px #c4deec}
@media(prefers-reduced-motion:reduce){.lastro-diagram .process .process-traveler{display:none}.lastro-diagram .process-traveler::after{animation:none}}
@media print{.lastro-diagram .process .process-traveler{display:none}}
