/* Detailed CMS body only. The shared header, footer and page theme stay intact. */
body.legacy-visual .detail-depth { color:#425665; font-size:15px; line-height:1.85; min-width:0; }
body.legacy-visual .detail-depth > h3 { margin:42px 0 18px; color:#183b51; font-size:24px; line-height:1.4; }
body.legacy-visual .detail-depth .dd-lead { max-width:940px; margin:0 0 28px; font-size:17px; line-height:1.9; }
body.legacy-visual .detail-depth .dd-matrix { margin:18px 0 32px; border-top:3px solid #087fc0; background:#fff; }
body.legacy-visual .dd-matrix-head,
body.legacy-visual .dd-matrix-row { display:grid; grid-template-columns:minmax(120px,.9fr) minmax(0,1.2fr) minmax(0,2fr) minmax(0,1.4fr); }
body.legacy-visual .dd-matrix[data-columns="3"] > div { grid-template-columns:minmax(130px,1fr) minmax(0,1.8fr) minmax(0,1.8fr); }
body.legacy-visual .dd-matrix-head { background:#edf5fa; color:#205779; font-size:13px; font-weight:600; }
body.legacy-visual .dd-matrix-head > span { padding:15px 18px; }
body.legacy-visual .dd-matrix-row { border-bottom:1px solid #dce7ee; }
body.legacy-visual .dd-matrix-row > div { min-width:0; padding:22px 18px; overflow-wrap:anywhere; }
body.legacy-visual .dd-matrix-row > .dd-key { color:#183b51; font-size:17px; font-weight:600; background:#f7fafc; }
body.legacy-visual .detail-depth .dd-example { margin:42px 0; padding:28px 32px; background:#f1f7fb; border-left:3px solid #1689bf; }
body.legacy-visual .dd-example header > small { color:#1678a5; letter-spacing:.08em; font-size:12px; }
body.legacy-visual .dd-example h3 { margin:8px 0 22px; font-size:25px; color:#183b51; line-height:1.45; }
body.legacy-visual .dd-example ol { margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; list-style:none; counter-reset:none; }
body.legacy-visual .dd-example ol > li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:12px; padding:19px 0; border-top:1px solid #d4e3ed; margin:0; }
body.legacy-visual .dd-example ol > li::before { content:none; }
body.legacy-visual .dd-example ol > li > span { color:#087fc0; font-size:18px; line-height:1.7; }
body.legacy-visual .dd-example ol > li > p { margin:0; }
body.legacy-visual .detail-depth .dd-result { padding-top:22px; margin:15px 0 0; border-top:1px solid #d4e3ed; }
body.legacy-visual .dd-result > strong { display:block; color:#205779; margin-bottom:6px; }
body.legacy-visual .detail-depth .dd-media-grid { margin:30px 0; }
body.legacy-visual .dd-media-grid figure { margin:0; padding:24px; border:1px solid #dce7ee; background:#fff; }
body.legacy-visual .dd-media-grid figure a { display:block; }
body.legacy-visual .dd-media-grid img { display:block; width:100%; height:auto; max-height:590px; object-fit:contain; }
body.legacy-visual .dd-media-grid figcaption { font-size:13px; line-height:1.7; text-align:center; margin-top:14px; color:#667d8c; }
body.legacy-visual .solution-depth-section { padding:55px 0; }
body.legacy-visual .solution-depth-section > .shell > h2 { margin:0 0 24px; font-size:34px; line-height:1.4; color:#183b51; scroll-margin-top:95px; }
body.legacy-visual .detail-depth .dd-case-group > h3 { margin:42px 0 20px; font-size:25px; color:#183b51; }
body.legacy-visual .dd-case { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:32px; margin:0 0 30px; padding:28px; background:#f7fafc; border:1px solid #dce7ee; }
body.legacy-visual .dd-case > figure { margin:0; align-self:start; }
body.legacy-visual .dd-case > figure > img { width:100%; height:auto; max-height:390px; object-fit:contain; display:block; background:#fff; }
body.legacy-visual .dd-case > div { min-width:0; }
body.legacy-visual .dd-case h4 { margin:8px 0 13px; font-size:23px; color:#183b51; line-height:1.5; }
body.legacy-visual .dd-case h4 a { color:inherit; }
body.legacy-visual .dd-case p { margin:0 0 15px; }
body.legacy-visual .dd-case ul { padding-left:1.3em; margin:0 0 18px; }
body.legacy-visual .dd-case li { margin:0 0 9px; }
body.legacy-visual .dd-case .dd-case-label { font-size:12px; letter-spacing:.08em; color:#1678a5; }
body.legacy-visual .dd-case .dd-case-note { color:#667d8c; font-size:13px; line-height:1.7; }
body.legacy-visual .dd-case-link { display:inline-block; padding:9px 0; color:#0876ac; border-bottom:1px solid #4c9cc3; }
body.legacy-visual .solution-construction-notes { background:#f6f9fb; padding:42px 0; }
body.legacy-visual .solution-construction-notes .prose { max-width:100%; column-count:2; column-gap:48px; }
body.legacy-visual .solution-construction-notes h2 { color:#183b51; font-size:25px; line-height:1.5; margin:24px 0 12px; break-after:avoid; }
body.legacy-visual .solution-construction-notes .prose p,
body.legacy-visual .solution-construction-notes .prose ul { break-inside:avoid; }
body.legacy-visual .dd-case a:focus-visible { outline:3px solid #1689bf; outline-offset:4px; }
@media(max-width:850px) {
 body.legacy-visual .dd-matrix-head { display:none; }
 body.legacy-visual .dd-matrix-row,
 body.legacy-visual .dd-matrix[data-columns="3"] > .dd-matrix-row { display:block; padding:18px 20px; }
 body.legacy-visual .dd-matrix-row > div { padding:8px 0; font-size:14px; }
 body.legacy-visual .dd-matrix-row > .dd-key { padding:0 0 12px; background:none; font-size:19px; }
 body.legacy-visual .dd-matrix-row > [role="cell"]::before { content:attr(data-label); display:block; font-size:12px; color:#1678a5; font-weight:600; margin-bottom:3px; }
 body.legacy-visual .dd-matrix-row:nth-child(even) { background:#f7fafc; }
 body.legacy-visual .dd-case { grid-template-columns:minmax(0,1fr); padding:22px; gap:22px; }
 body.legacy-visual .dd-case > figure > img { max-height:330px; }
 body.legacy-visual .solution-construction-notes .prose { column-count:1; }
}
@media(max-width:560px) {
 body.legacy-visual .detail-depth { font-size:14px; line-height:1.85; }
 body.legacy-visual .detail-depth .dd-lead { font-size:15px; margin-bottom:22px; }
 body.legacy-visual .detail-depth > h3 { font-size:21px; margin:30px 0 16px; }
 body.legacy-visual .detail-depth .dd-matrix { margin-bottom:26px; }
 body.legacy-visual .detail-depth .dd-example { padding:22px 18px; margin:30px 0; }
 body.legacy-visual .dd-example ol { grid-template-columns:minmax(0,1fr); }
 body.legacy-visual .dd-example h3 { font-size:22px; }
 body.legacy-visual .dd-media-grid figure { padding:13px; }
 body.legacy-visual .solution-depth-section { padding:32px 0; }
 body.legacy-visual .solution-depth-section > .shell > h2 { font-size:27px; scroll-margin-top:76px; }
 body.legacy-visual .dd-case { padding:18px; }
 body.legacy-visual .dd-case h4 { font-size:21px; }
 body.legacy-visual .dd-case > figure > img { max-height:280px; }
}
