/* Docker service — same visual system as the approved case-study layout. */
.docker-page [id] { scroll-margin-top:105px; }
.docker-page .pd-hero-grid { grid-template-columns:1.05fr 1fr; gap:55px; }
.docker-page .pd-lead { max-width:570px; font-size:16px; }
.docker-page .docker-architecture { transform:rotate(1deg); padding:25px; }
.docker-page .docker-board { padding-block:25px; }
.docker-page .docker-board-users { text-align:center; color:#656e81; font-size:12px; }
.docker-page .docker-flow { text-align:center; color:#bdc6da; line-height:1; margin:12px 0; font-size:24px; }
.docker-page .docker-gateway { padding:12px; border:1px solid #dfe4f0; border-radius:6px; text-align:center; background:#f1f4fa; font-size:13px; font-weight:700; }
.docker-page .docker-nodes { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.docker-page .docker-nodes>div { padding:19px 8px; text-align:center; color:#fff; background:#202b48; border-radius:6px; font-size:12px; }
.docker-page .docker-nodes span { display:block; color:#ffb805; font-size:10px; margin-bottom:10px; letter-spacing:.15em; }
.docker-page .docker-platform { display:flex; justify-content:center; align-items:center; gap:12px; padding:16px 8px; font-size:12px; color:#4b5c92; border-bottom:1px dashed #c9d2e5; }
.docker-page .docker-platform img { width:36px; height:36px; margin:0; object-fit:contain; }
.docker-page .docker-data { text-align:center; background:#fff5db; border:1px solid #efcf7c; border-radius:6px; padding:14px 8px; font-size:12px; }
.docker-page .docker-index { display:flex; flex-wrap:wrap; gap:12px 26px; padding-block:23px; border-bottom:1px solid #e0e4ee; }
.docker-page .docker-index a { font-size:12px; color:#4b5c92; text-decoration:none; }
.docker-page .docker-index a:hover { text-decoration:underline; text-underline-offset:4px; }
.docker-page .docker-service-note { font-size:13px; color:#c5cbd9; margin-top:25px; max-width:960px; }
.docker-page .docker-section { padding-block:75px; }
.docker-page .docker-case-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.docker-page .docker-client { border:1px solid #e2e6ee; border-radius:12px; overflow:hidden; background:#fff; }
.docker-page .docker-client figure { background:#f1f4f9; padding:24px; }
.docker-page .docker-client figure img { width:100%; height:260px; object-fit:contain; display:block; }
.docker-page .docker-client figcaption { color:#4b5c92; font-size:12px; font-weight:700; margin-top:16px; }
.docker-page .docker-client-body { padding:30px; }
.docker-page .docker-client h3 { font-size:26px; margin-bottom:24px; }
.docker-page .docker-client dt { color:#4b5c92; font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; margin-top:20px; margin-bottom:6px; }
.docker-page .docker-client dd { color:#555e6f; font-size:15px; line-height:1.75; }
.docker-page .docker-caption { color:#697182; font-size:12px; line-height:1.7; margin-top:18px; }
.docker-page .docker-intro { margin-top:24px; max-width:860px; color:#555e6f; }
.docker-page .docker-growth { padding-block:70px; background:#f1f4fa; }
.docker-page .docker-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; list-style:none; padding:0; margin:40px 0; }
.docker-page .docker-steps>li { padding-top:22px; border-top:2px solid #c3cee2; }
.docker-page .docker-steps>li>span { color:#8090b3; font-size:36px; font-weight:700; }
.docker-page .docker-steps h3 { font-size:19px; margin:15px 0; }
.docker-page .docker-steps p { font-size:14px; color:#596276; }
.docker-page .docker-fact { border-left:4px solid #ffb805; background:#fff; padding:25px 30px; }
.docker-page .docker-fact p { font-size:14px; color:#596276; margin-top:9px; }
.docker-page .docker-fact a,.docker-page .docker-operations a { color:#4b5c92; text-underline-offset:3px; }
.docker-page .docker-operations { display:grid; grid-template-columns:1fr 1fr; gap:32px 50px; margin-top:38px; }
.docker-page .docker-operations>div { border-top:1px solid #dfe4ed; padding-top:25px; }
.docker-page .docker-operations h3 { font-size:22px; margin-bottom:16px; }
.docker-page .docker-operations p { font-size:15px; color:#596276; line-height:1.85; }
.docker-page .docker-delivery { display:grid; grid-template-columns:1fr 1fr; gap:75px; border-top:1px solid #e0e4ee; }
.docker-page .docker-delivery>div>p:not(.pd-eyebrow) { margin:25px 0; color:#596276; max-width:430px; }
.docker-page .docker-delivery ol { list-style:none; padding:0; margin:0; counter-reset:delivery; }
.docker-page .docker-delivery li { position:relative; padding:0 0 25px 50px; counter-increment:delivery; }
.docker-page .docker-delivery li::before { content:counter(delivery); display:grid; place-items:center; position:absolute; left:0; top:0; width:30px; height:30px; border-radius:50%; background:#f0f3f9; color:#4b5c92; font-size:12px; }
.docker-page .docker-delivery li strong { font-size:17px; display:block; }
.docker-page .docker-delivery li span { display:block; color:#596276; font-size:14px; margin-top:8px; }
.docker-page .docker-evidence { background:#f7f8fa; padding-block:60px; }
.docker-page .docker-evidence h2 { font-size:32px; }
.docker-page .docker-evidence dl { display:grid; grid-template-columns:1fr 1fr; gap:22px 45px; margin-top:30px; }
.docker-page .docker-evidence dt { font-size:12px; font-weight:700; color:#4b5c92; margin-bottom:8px; }
.docker-page .docker-evidence dd { color:#596276; font-size:14px; }
.docker-page .docker-faq { margin-top:32px; border-top:1px solid #e0e4ee; }
.docker-page .docker-faq details { border-bottom:1px solid #e0e4ee; padding:22px 0; }
.docker-page .docker-faq summary { cursor:pointer; font-size:18px; font-weight:700; padding-right:20px; }
.docker-page .docker-faq details p { max-width:900px; font-size:15px; line-height:1.85; color:#596276; margin-top:18px; }
.docker-page .docker-faq summary:focus-visible { outline:3px solid #b57a00; outline-offset:5px; }
.docker-page .docker-references { margin-top:45px; font-size:12px; color:#697182; }
.docker-page .docker-references h3 { font-size:16px; margin-bottom:12px; }
.docker-page .docker-references ul { padding-left:20px; margin-top:12px; }
.docker-page .docker-references a { color:#4b5c92; }
.docker-page .pd-cta { margin-top:0; }
.docker-page .docker-related { margin-top:30px; font-size:13px!important; }
@media(max-width:950px) {
 .docker-page .pd-hero-grid { gap:30px; }
 .docker-page .docker-architecture { padding:18px; }
 .docker-page .docker-steps { grid-template-columns:1fr 1fr; }
 .docker-page .docker-client figure img { height:220px; }
 .docker-page .docker-delivery { gap:40px; }
}
@media(max-width:680px) {
 .docker-page .pd-hero-grid,.docker-page .docker-case-grid,.docker-page .docker-operations,.docker-page .docker-delivery,.docker-page .docker-evidence dl { grid-template-columns:1fr; }
 .docker-page .docker-architecture { transform:none; }
 .docker-page .docker-section,.docker-page .docker-growth { padding-block:48px; }
 .docker-page .docker-client-body { padding:24px; }
 .docker-page .docker-client h3 { font-size:25px; }
 .docker-page .docker-client figure img { height:auto; }
 .docker-page .docker-index { gap:12px 18px; }
 .docker-page .docker-fact { padding:22px; }
 .docker-page .docker-steps { gap:24px 20px; }
 .docker-page .docker-steps h3 { font-size:18px; }
 .docker-page .docker-faq summary { font-size:17px; }
 .docker-page .docker-evidence h2 { font-size:28px; }
}
