/* Recommendation board. Native disclosures work without JavaScript. */
.diag59 { padding-block:64px; scroll-margin-top:28px; }
.diag59 .d59-icon { display:block; width:22px; height:22px; flex:0 0 22px; overflow:visible; }
body main.diag18 .d59-heading { max-width:880px; margin-bottom:28px; }
body main.diag18 .d59-intro { max-width:760px; font-size:17px; line-height:1.65; color:#536277; margin:22px 0 0; }
.d59-context { display:flex; align-items:center; gap:15px; background:#f0f4fa; border:1px solid #d8e1ed; padding:18px 24px; border-radius:12px; margin-bottom:20px; }
.d59-context > .d59-icon { color:#41699f; }
.d59-context > div { flex:1; }
.d59-context-label { display:block; color:#536277; font-size:12px; line-height:1.5; margin-bottom:3px; }
body main.diag18 .d59-context p { color:#263e60; font-size:14px; line-height:1.6; margin:0; }
.d59-stage { flex-shrink:0; font-size:11px; line-height:1.5; color:#415c81; background:#fff; border:1px solid #d4dfed; border-radius:20px; padding:7px 11px; }
.d59-board { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; scroll-margin-top:28px; }
.d59-card { display:flex; flex-direction:column; min-width:0; padding:26px 28px 0; border:1px solid #d4deeb; border-radius:13px; background:#fff; color:#172a46; }
.d59-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:22px; }
body main.diag18 .d59-label { display:flex; align-items:center; gap:11px; color:#466286; font-size:12px; line-height:1.5; font-weight:500; margin:0; }
.d59-label > span { display:inline-flex; width:27px; height:27px; flex:0 0 27px; align-items:center; justify-content:center; border:1px solid #d4deeb; border-radius:50%; font-size:10px; }
.d59-symbol { color:#466ca1; }
body main.diag18 .d59-card h3 { color:#172a46; font-size:clamp(23px,2.25vw,29px); line-height:1.25; letter-spacing:-.025em; font-weight:500; margin:0 0 14px; }
body main.diag18 .d59-body { font-size:15px; line-height:1.65; color:#536277; margin:0 0 24px; max-width:530px; }
.diag59 details { margin-top:auto; border-top:1px solid #d7e0ed; }
body main.diag18 .diag59 summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:60px; padding:17px 0; font-size:13px; line-height:1.5; font-weight:500; color:#294e89; letter-spacing:0; list-style:none; cursor:pointer; }
.diag59 summary::-webkit-details-marker { display:none; }
.diag59 summary::marker { content:""; }
.diag59 summary .d59-icon { width:18px; height:18px; flex-basis:18px; transition:transform .18s ease; }
.diag59 details[open] > summary .d59-icon { transform:rotate(45deg); }
.d59-detail { padding:3px 0 24px; }
.d59-detail > div + div { margin-top:19px; }
body main.diag18 .d59-detail h4 { color:#1b3555; font-size:14px; line-height:1.5; font-weight:600; margin:0 0 6px; }
body main.diag18 .d59-detail p { color:#536277; font-size:13px; line-height:1.7; margin:0; }
body main.diag18 .d59-detail .d59-detail-note { border-top:1px solid #d7e0ed; margin-top:20px; padding-top:16px; font-size:12px; }
.d59-prioridade { background:#12263e; border-color:#12263e; }
body main.diag18 .d59-prioridade :is(h3,h4) { color:#fff; }
body main.diag18 .d59-prioridade :is(.d59-label,.d59-symbol,summary) { color:#ccddf5; }
body main.diag18 .d59-prioridade :is(.d59-body,.d59-detail p) { color:#c5d4e9; }
.d59-prioridade .d59-label > span { border-color:#526a88; }
body main.diag18 .d59-prioridade :is(details,.d59-detail-note) { border-color:#415973; }
body main.diag18 .d59-note { font-size:12px; line-height:1.65; color:#536277; max-width:890px; margin:21px 0 0; }
.d59-related { display:flex; flex-wrap:wrap; align-items:center; gap:8px 30px; margin-top:17px; }
.d59-related a { display:inline-flex; align-items:center; gap:12px; min-height:44px; max-width:100%; color:#284e91; font-size:13px; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.d59-related .d59-icon { width:18px; height:18px; flex-basis:18px; }
.d59-contact { display:flex; justify-content:space-between; align-items:center; gap:30px; border-top:1px solid #d5deea; margin-top:23px; padding-top:30px; }
body main.diag18 .d59-contact h3 { font-size:24px; line-height:1.3; margin:0 0 10px; }
body main.diag18 .d59-contact p { font-size:14px; line-height:1.65; color:#536277; margin:0; max-width:650px; }
.diag59 .d59-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:15px; flex-shrink:0; max-width:100%; color:#fff; background:#2855ac; font-size:14px; line-height:1.5; padding:14px 20px; border:1px solid #2855ac; border-radius:8px; text-decoration:none; }
.diag59 .d59-cta:hover { background:#1b438e; }
.diag59 :is(a,summary):focus-visible { outline:3px solid #2859b8; outline-offset:4px; border-radius:4px; }
body main.diag18 .d59-prioridade summary:focus-visible { outline-color:#a9cbff; }
@media(max-width:1000px){
 .d59-card { padding:23px 23px 0; }
 .d59-contact { flex-direction:column; align-items:flex-start; gap:20px; }
 .d59-context { flex-wrap:wrap; }
 .d59-stage { margin-left:37px; }
}
@media(max-width:760px){
 .diag59 { padding-block:42px; }
 .d59-board { grid-template-columns:minmax(0,1fr); gap:14px; }
 .d59-card { padding:24px 24px 0; }
 .d59-card-top { margin-bottom:18px; }
 body main.diag18 .d59-card h3 { font-size:26px; }
 body main.diag18 .d59-intro { font-size:16px; }
 .d59-context { padding:18px; align-items:flex-start; gap:10px 14px; }
 .d59-context > .d59-icon { margin-top:3px; }
 .d59-stage { margin-left:36px; }
 .d59-context > div { flex-basis:calc(100% - 36px); }
 .d59-related { flex-direction:column; align-items:flex-start; gap:2px; }
}
@media(max-width:420px){
 .d59-card { padding:21px 20px 0; }
 body main.diag18 .d59-card h3 { font-size:24px; }
 body main.diag18 .d59-body { font-size:14px; }
 .diag59 .d59-cta { width:100%; }
}
@media(prefers-reduced-motion:reduce){.diag59 summary .d59-icon { transition:none; }}
