/* Diagnóstico v18: opportunity, decision and concrete deliverables. */
body main.diag18 { color:var(--navy); }
body main.diag18 :is(h1,h2,h3) { font-weight:500; letter-spacing:-.04em; text-wrap:balance; }
body main.diag18 .eyebrow { color:#4a5c75; margin:0 0 20px; font-size:12px; line-height:1.5; letter-spacing:.01em; text-transform:none; }
body main.diag18 h1 { font-size:clamp(46px,4.6vw,68px); line-height:1.06; margin:0; }
body main.diag18 h1 em { font-style:normal; color:var(--blue); }
body main.diag18 h2 { font-size:clamp(31px,3.05vw,43px); line-height:1.14; margin:0; }
body main.diag18 h3 { font-size:25px; line-height:1.2; margin:0 0 15px; }
.diag18-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--blue); margin-right:10px; }
.diag18-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr); gap:clamp(40px,6vw,86px); padding-block:52px 65px; align-items:center; }
body main.diag18 .diag18-back { display:inline-flex; align-items:center; gap:9px; text-decoration:none; color:var(--muted); font-size:12px; margin-bottom:30px; }
body main.diag18 .diag18-lead { margin:25px 0 16px; font-size:23px; line-height:1.45; letter-spacing:-.02em; }
body main.diag18 .diag18-intro { font-size:16px; line-height:1.75; color:var(--muted); max-width:585px; margin:0 0 26px; }
.diag18-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 28px; }
body main.diag18 .button { gap:18px; font-size:13px; }
body main.diag18 .button > span { font-size:20px; font-weight:400; }
body main.diag18 .text-link { color:var(--navy); font-size:13px; }
.diag18-priority { padding:32px; border-radius:16px; background:var(--navy); color:white; }
body main.diag18 .diag18-caption { font-size:11px; margin:0 0 17px; line-height:1.5; letter-spacing:.02em; }
.diag18-priority > .diag18-caption { color:#b6c8e1; }
.diag18-signals { display:grid; gap:9px; list-style:none; padding:0; margin:0; }
.diag18-signals li { display:flex; align-items:center; gap:15px; border:1px solid #32445f; border-radius:8px; padding:13px 17px; font-size:15px; color:#dde7f7; }
.diag18-signals li > span { color:#8eaefa; font-size:25px; line-height:1; width:24px; text-align:center; }
.diag18-connector { height:47px; display:flex; align-items:center; justify-content:center; color:#a8c1ff; font-size:22px; }
.diag18-choice { position:relative; border:1px solid #5074c5; border-radius:10px; background:#183762; padding:24px; }
.diag18-choice > span { display:block; color:#b6cffc; font-size:11px; margin-bottom:14px; line-height:1.5; }
.diag18-choice strong { display:block; font-size:28px; line-height:1.2; font-weight:500; letter-spacing:-.035em; padding-right:30px; }
.diag18-choice svg { position:absolute; width:32px; height:32px; right:20px; bottom:25px; color:#92b2ff; }
.diag18-deliveries { padding-block:64px; background:white; border-block:1px solid var(--line); }
.diag18-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(40px,8vw,115px); }
body main.diag18 .diag18-split header > p:not(.eyebrow) { color:var(--muted); font-size:15px; line-height:1.75; margin:22px 0 0; max-width:410px; }
body main.diag18 .diag18-split header > p.diag18-scope { font-size:12px; margin-top:28px; padding-top:20px; border-top:1px solid var(--line); }
.diag18-delivery-list details, .diag18-faq-list details { border-bottom:1px solid var(--line); }
.diag18-delivery-list details:first-child, .diag18-faq-list details:first-child { border-top:1px solid var(--line); }
body main.diag18 summary { display:flex; align-items:center; gap:18px; cursor:pointer; list-style:none; padding:21px 0; font-size:20px; line-height:1.3; letter-spacing:-.025em; }
body main.diag18 summary::-webkit-details-marker { display:none; }
body main.diag18 summary::marker { content:''; }
.diag18-number { flex:0 0 26px; color:#657c9e; font-size:11px; letter-spacing:0; }
.diag18-delivery-list summary small { display:block; margin-top:7px; color:var(--muted); font-size:12px; letter-spacing:0; font-weight:400; line-height:1.5; }
.diag18-expand { display:block; position:relative; width:18px; height:18px; flex:0 0 18px; margin-left:auto; }
.diag18-expand::before,.diag18-expand::after { content:''; position:absolute; left:2px; top:8px; width:14px; height:1px; background:var(--blue); }
.diag18-expand::after { transform:rotate(90deg); }
details[open] > summary .diag18-expand::after { transform:none; }
body main.diag18 details > p { color:var(--muted); margin:0; padding:0 35px 22px 44px; font-size:14px; line-height:1.75; }
body main.diag18 summary:hover { color:var(--blue); }
body main.diag18 :is(summary,a):focus-visible { outline:3px solid var(--blue); outline-offset:4px; border-radius:3px; }
.diag18-example { padding-block:64px; }
.diag18-example-heading { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr); gap:60px; align-items:end; margin-bottom:38px; }
body main.diag18 .diag18-example-heading > p { margin:0; font-size:15px; line-height:1.75; color:var(--muted); }
.diag18-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.diag18-options article { padding:26px; border:1px solid #dce5f2; border-radius:12px; background:#eef3fb; }
.diag18-symbol { margin-bottom:24px; width:62px; height:62px; }
.diag18-symbol svg { width:100%; height:100%; stroke:#91a4c1; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.diag18-symbol .accent { stroke:var(--blue); stroke-width:1.8; }
body main.diag18 .diag18-options .diag18-caption { color:#4b648c; margin-bottom:10px; }
body main.diag18 .diag18-options h3 { font-size:25px; }
body main.diag18 .diag18-options article > p:last-child { margin:0; font-size:14px; line-height:1.7; color:var(--muted); }
.diag18-example-close { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-top:28px; }
body main.diag18 .diag18-example-close p { margin:0; font-size:19px; line-height:1.5; letter-spacing:-.02em; }
.diag18-example-close p span { display:block; font-size:11px; color:var(--muted); margin-bottom:5px; letter-spacing:0; }
.diag18-example-close .text-link { flex-shrink:0; }
.diag18-work { padding-block:55px; background:var(--navy); color:white; }
body main.diag18 .diag18-work .eyebrow { color:#b6c8e1; }
body main.diag18 .diag18-work h2, body main.diag18 .diag18-work h3 { color:white; }
.diag18-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; padding:0; margin:35px 0 0; gap:40px; }
.diag18-steps li { border-top:1px solid #32445f; padding-top:20px; }
.diag18-steps li > span { color:#91b2fc; display:block; font-size:12px; margin-bottom:18px; }
body main.diag18 .diag18-steps h3 { font-size:23px; }
body main.diag18 .diag18-steps p { color:#c2cede; margin:0; font-size:14px; line-height:1.7; }
.diag18-faq { padding-block:64px; }
body main.diag18 .diag18-faq summary { font-size:19px; padding-block:24px; }
body main.diag18 .diag18-faq details > p { padding-left:0; }
.diag18-contact { background:#edf2fb; border-top:1px solid #dce5f2; padding-block:55px; }
.diag18-contact > .container { display:flex; align-items:center; justify-content:space-between; gap:50px; }
body main.diag18 .diag18-contact p:not(.eyebrow) { margin:22px 0 0; font-size:15px; line-height:1.75; max-width:560px; color:var(--muted); }
.diag18-contact .button { flex-shrink:0; }
@media(max-width:1050px) {
 .diag18-hero { gap:35px; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); }
 body main.diag18 h1 { font-size:clamp(40px,5vw,56px); }
 .diag18-priority { padding:22px; }
 .diag18-choice { padding:22px 18px; }
 .diag18-choice strong { font-size:25px; }
 .diag18-signals li { padding:12px; font-size:13px; gap:10px; }
 .diag18-split { gap:45px; }
 .diag18-example-heading { gap:40px; }
 .diag18-options article { padding:22px; }
}
@media(max-width:760px) {
 .diag18-hero { grid-template-columns:1fr; padding-block:36px 42px; gap:35px; }
 body main.diag18 h1 { max-width:630px; font-size:clamp(41px,7.7vw,56px); }
 .diag18-priority { max-width:none; }
 .diag18-split,.diag18-example-heading { grid-template-columns:1fr; gap:30px; }
 body main.diag18 .diag18-split header > p:not(.eyebrow) { max-width:600px; }
 .diag18-deliveries,.diag18-example,.diag18-faq { padding-block:44px; }
 .diag18-options { grid-template-columns:1fr; gap:14px; }
 .diag18-options article { display:grid; grid-template-columns:62px minmax(0,1fr); column-gap:22px; padding:23px; }
 .diag18-symbol { grid-row:span 3; margin:5px 0 0; }
 body main.diag18 .diag18-options h3 { font-size:25px; margin-bottom:10px; }
 .diag18-example-close { align-items:flex-start; flex-direction:column; gap:20px; }
 .diag18-work { padding-block:44px; }
 .diag18-steps { grid-template-columns:1fr; gap:26px; }
 .diag18-steps li { position:relative; padding:23px 0 0 40px; }
 .diag18-steps li > span { position:absolute; left:0; top:26px; }
 .diag18-contact { padding-block:44px; }
 .diag18-contact > .container { flex-direction:column; align-items:flex-start; gap:28px; }
}
@media(max-width:480px) {
 body main.diag18 h1 { font-size:clamp(37px,9.4vw,45px); text-wrap:initial; }
 body main.diag18 h2 { font-size:32px; text-wrap:initial; }
 body main.diag18 .diag18-lead { font-size:21px; }
 body main.diag18 .diag18-intro { font-size:15px; }
 .diag18-actions { align-items:flex-start; flex-direction:column; }
 body main.diag18 .button { padding-inline:18px; gap:12px; }
 .diag18-priority { padding:24px; }
 .diag18-signals li { font-size:14px; }
 .diag18-choice strong { font-size:26px; }
 body main.diag18 summary { gap:12px; font-size:19px; }
 .diag18-number { flex-basis:21px; }
 body main.diag18 details > p { padding-left:33px; padding-right:15px; }
 .diag18-options article { column-gap:14px; padding:20px; grid-template-columns:45px minmax(0,1fr); }
 .diag18-symbol { width:45px; height:50px; }
 body main.diag18 .diag18-options h3 { font-size:23px; }
}

/* Override legacy internal-page defaults only inside this page. */
body main.diag18 .diag18-signals li { color:#dde7f7; }
body main.diag18 .diag18-choice strong { color:#fff; font-weight:500; }
body main.diag18 .diag18-steps { margin:35px 0 0; }
