/* Three moments, scoped to the approved Implementation example. */
.impl58 { padding-block:65px; scroll-margin-top:28px; }
.impl58 [hidden] { display:none!important; }
.impl58 .i58-icon { display:block; width:22px; height:22px; flex:0 0 22px; overflow:visible; }
body main.impl20 .i58-heading { max-width:870px; margin-bottom:30px; }
body main.impl20 .i58-intro { color:#536277; font-size:17px; line-height:1.65; max-width:740px; margin:23px 0 0; }
.i58-context { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 30px; background:#f1f5fa; border:1px solid #d5deea; border-radius:14px; padding:22px 26px 0; margin-bottom:26px; }
body main.impl20 .i58-context h3 { font-size:20px; line-height:1.35; margin:0 0 7px; }
body main.impl20 .i58-context p { color:#536277; font-size:14px; line-height:1.6; margin:0; }
.i58-hold { align-self:start; background:#fff5e8; color:#775017; border:1px solid #e3caa4; border-radius:30px; padding:7px 12px; font-size:12px; line-height:1.5; }
.i58-sources { grid-column:1/-1; border-top:1px solid #d5deea; }
body main.impl20 .impl58 summary { justify-content:space-between; gap:16px; min-height:54px; padding:15px 0; font-size:14px; line-height:1.5; letter-spacing:0; color:#29416a; }
.impl58 summary .i58-icon { width:18px; height:18px; flex-basis:18px; transition:transform .18s; }
.impl58 details[open] > summary .i58-icon { transform:rotate(45deg); }
.i58-sources > div { padding:6px 0 22px; }
.i58-sources ul { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.i58-sources li { display:flex; gap:12px; align-items:flex-start; }
.i58-sources li .i58-icon { color:#3764ad; }
.i58-sources strong { font-size:13px; font-weight:600; line-height:1.5; display:block; margin-bottom:5px; }
body main.impl20 .i58-sources .i58-source-boundary { border-top:1px solid #d5deea; padding-top:17px; margin-top:20px; font-size:13px; }
.i58-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.impl58 .i58-choice { display:flex; align-items:center; gap:12px; min-height:76px; font:inherit; font-size:16px; line-height:1.4; font-weight:500; text-align:left; padding:17px 20px; border:1px solid #cdd8e7; background:#fff; color:#263e60; border-radius:10px; cursor:pointer; }
.i58-number { font-size:12px; color:#456494; padding:6px; flex:0 0 30px; text-align:center; background:#edf2fa; border-radius:6px; }
.impl58 .i58-choice:hover { border-color:#315ab3; }
.impl58 .i58-choice[aria-pressed="true"] { background:#edf3ff; border-color:#315ab3; box-shadow:inset 0 -3px #315ab3; color:#193d83; }
.impl58 :is(button,a,summary):focus-visible { outline:3px solid #2859b8; outline-offset:3px; border-radius:4px; }
.i58-panel { padding:28px; background:white; border:1px solid #d4deeb; border-radius:15px; scroll-margin-top:28px; }
.i58-panel + .i58-panel { margin-top:22px; }
.i58-choices:not([hidden]) ~ .i58-panels .i58-panel { margin-top:0; }
.i58-panel-heading { margin-bottom:24px; }
body main.impl20 .i58-status { display:inline-flex; align-items:center; gap:9px; color:#31558a; font-size:13px; font-weight:500; line-height:1.5; padding:6px 10px; border-radius:7px; background:#eef3fc; margin:0 0 14px; }
body main.impl20 [data-impl58-panel="pendente"] .i58-status { background:#fff3de; color:#7d5110; }
body main.impl20 [data-impl58-panel="registrado"] .i58-status { background:#e9f5ee; color:#226146; }
.i58-status .i58-icon { width:18px; height:18px; flex-basis:18px; }
body main.impl20 .i58-panel-heading h3 { font-size:clamp(25px,2.5vw,32px); line-height:1.25; margin:0; max-width:850px; }
.i58-workspace { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:28px; align-items:stretch; }
.i58-team { padding:22px 24px; background:#f7f9fc; border:1px solid #dce4ee; border-radius:10px; }
body main.impl20 .impl58 .i58-label { font-size:12px; line-height:1.5; color:#4f627f; margin:0 0 11px; }
body main.impl20 .impl58 h4 { color:#172a46; font-size:18px; line-height:1.35; letter-spacing:-.015em; font-weight:550; margin:0 0 12px; }
body main.impl20 .i58-team-body { font-size:16px; line-height:1.6; color:#263e60; margin:0; }
.i58-owner { display:flex; flex-wrap:wrap; gap:4px 16px; margin-top:20px; border-top:1px solid #d7e0ec; padding-top:16px; font-size:12px; line-height:1.6; color:#536277; }
.i58-owner strong { color:#263e60; font-weight:550; }
body main.impl20 .i58-decision { color:#536277; font-size:13px; line-height:1.65; margin:10px 0 0; }
.i58-system { background:#12263e; border-radius:10px; padding:22px 24px; color:#fff; }
body main.impl20 .i58-system .i58-label { color:#b5c9e7; }
body main.impl20 .i58-system h4 { color:#fff; font-size:21px; }
body main.impl20 .i58-reference { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 16px; margin:0 0 18px; color:#bdcee7; font-size:12px; line-height:1.5; }
body main.impl20 .i58-reference strong { font-size:15px; color:#fff; font-weight:500; letter-spacing:.02em; }
.i58-system dl { margin:0; }
.i58-system dl > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; border-top:1px solid #3c526b; padding:13px 0; align-items:start; }
.i58-system dl > div:last-child { padding-bottom:0; }
body main.impl20 .i58-system dt { color:#bdcee7; font-size:12px; line-height:1.6; }
body main.impl20 .i58-system dd { color:#fff; font-size:14px; line-height:1.5; font-weight:500; margin:0; }
.i58-next { display:flex; align-items:flex-start; gap:13px; padding:20px 0 22px; }
.i58-next-icon { margin-top:2px; color:#315ab3; }
body main.impl20 .i58-next h4 { font-size:13px; margin:0 0 5px; }
body main.impl20 .i58-next p { color:#304563; font-size:15px; line-height:1.6; margin:0; }
.i58-evidence { border-top:1px solid #d6dfeb; }
.i58-evidence > div { padding:7px 0 5px; max-width:930px; }
body main.impl20 .i58-evidence h4 { font-size:16px; }
body main.impl20 .i58-evidence p { color:#536277; font-size:14px; line-height:1.7; margin:0; }
body main.impl20 .i58-evidence p + p { margin-top:12px; }
.i58-value { margin-top:34px; }
body main.impl20 .i58-value h3 { font-size:24px; margin-bottom:21px; }
.i58-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.i58-benefits > div { padding-left:17px; border-left:2px solid #acc2e6; }
body main.impl20 .i58-benefits h4 { font-size:16px; margin-bottom:8px; }
body main.impl20 .i58-benefits p { font-size:14px; line-height:1.6; color:#536277; margin:0; }
body main.impl20 .i58-note { font-size:12px; color:#536277; line-height:1.6; margin:25px 0 0; max-width:880px; }
.i58-contact { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-top:30px; margin-top:30px; border-top:1px solid #d5deea; }
body main.impl20 .i58-contact h3 { font-size:24px; margin:0 0 10px; }
body main.impl20 .i58-contact p { font-size:14px; line-height:1.6; color:#536277; margin:0; max-width:660px; }
.impl58 .i58-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:15px; flex-shrink:0; color:#fff; background:#2855ac; font-size:14px; line-height:1.5; padding:14px 20px; border:1px solid #2855ac; border-radius:8px; text-decoration:none; max-width:100%; }
.impl58 .i58-cta:hover { background:#1b438e; }
.i58-related { display:flex; flex-wrap:wrap; gap:18px 30px; margin-top:25px; }
.i58-related a { display:inline-flex; align-items:center; gap:12px; color:#284e91; font-size:13px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.i58-live { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:1000px){
 .i58-workspace { gap:18px; }
 .impl58 .i58-choice { padding:15px 13px; font-size:14px; gap:9px; }
 .i58-panel { padding:24px; }
 .i58-contact { align-items:flex-start; flex-direction:column; gap:20px; }
}
@media(max-width:760px){
 .impl58 { padding-block:42px; }
 .i58-context { grid-template-columns:1fr; padding:20px 20px 0; gap:13px; }
 .i58-hold { justify-self:start; }
 .i58-sources ul { grid-template-columns:1fr; gap:18px; }
 .i58-workspace { grid-template-columns:1fr; }
 .i58-benefits { grid-template-columns:1fr; gap:19px; }
 .i58-panel { padding:22px; }
 .i58-team,.i58-system { padding:20px; }
 body main.impl20 .i58-intro { font-size:16px; }
 .i58-number { display:none; }
 .impl58 .i58-choice { align-items:flex-start; min-height:95px; font-size:13px; padding:13px 10px; }
}
@media(max-width:420px){
 .i58-choices { gap:8px; }
 .impl58 .i58-choice { font-size:12px; padding:12px 9px; }
 .i58-panel { padding:18px; }
 .i58-team,.i58-system { padding:18px; }
 body main.impl20 .i58-team-body { font-size:15px; }
 .i58-system dl > div { gap:10px; }
 body main.impl20 .i58-system dd { font-size:13px; }
 .impl58 .i58-cta { width:100%; }
}
@media(prefers-reduced-motion:reduce){.impl58 summary .i58-icon { transition:none; }}
