/* Reviewed service pages only. Product, training and incomplete service pages are unaffected. */
.document-body.service-content > p,
.document-body .service-upgrade > p { margin-bottom:12px; }
.service-content .service-layout-space { display:none; }
.document-body.service-content .service-section-heading,
.document-body .service-upgrade .service-section-heading { margin:26px 0 12px; padding:0 0 0 12px; border-left:3px solid var(--blue); color:var(--ink); font-size:1.125rem; font-weight:650; line-height:1.6; }
.service-content .service-section-heading > strong { font-size:inherit; }
.document-body.service-content .service-item-heading,
.document-body .service-upgrade .service-item-heading { margin:0 0 8px; padding:0; border:0; color:var(--ink); font-size:1rem; font-weight:650; line-height:1.7; }
.document-body.service-content > .service-section-heading:first-child,
.document-body .service-upgrade > .service-section-heading:first-child { margin-top:0; }
.document-body.service-content .service-bullet-list,
.document-body .service-upgrade .service-bullet-list { margin:12px 0 22px; padding-left:1.4em; list-style-type:disc; }
.service-content .service-bullet-list > li { margin:0 0 7px; padding-left:5px; }
.service-content .service-bullet-list p { margin:0; }
.document-body.service-content .service-feature-list,
.document-body .service-upgrade .service-feature-list { margin:14px 0 26px; padding:0; list-style:none; }
.service-content .service-feature-list > li { position:relative; margin:0; padding:16px 0 16px 18px; border-bottom:1px solid #e3ebf3; }
.service-content .service-feature-list > li:first-child { padding-top:0; }
.service-content .service-feature-list > li::before { content:""; position:absolute; top:27px; left:0; width:5px; height:5px; border-radius:50%; background:var(--blue); }
.service-content .service-feature-list > li:first-child::before { top:11px; }
.service-content .service-feature-list p { margin:0 0 8px; }
.service-content .service-feature-list p:last-child { margin-bottom:0; }
.document-body.service-content .service-data-table { margin:12px 0 22px; }
.service-content .service-data-table table { line-height:1.7; }
.service-content .service-data-table :is(th,td) { padding:11px 14px; vertical-align:top; }
.service-content .service-data-table p { margin:0; }
.service-content .service-data-table th[scope=row] { background:#f6f9fc; font-weight:600; }
/* Fit the actual article column instead of forcing a minimum width and horizontal scrolling. */
.service-content .service-scope-table { container:rbl-scope / inline-size; }
.service-content .service-scope-table table { width:100%; min-width:0; max-width:100%; }
.service-content .service-scope-table :is(th,td) { min-width:0; padding:12px 16px; }
.service-content .service-scope-table tr > :first-child { width:1%; white-space:nowrap; }
.service-content .service-scope-table th[scope=row] { vertical-align:middle; }
.service-content .service-scope-table thead th:nth-child(2) { width:50%; }
.service-content .service-scope-label { display:none; }
@container rbl-scope (max-width:560px) {
	.service-content .service-scope-table :is(table,tbody,tr) { display:block; width:100%; }
	/* Retain column headers for assistive technology without duplicating visible labels. */
	.service-content .service-scope-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; clip-path:inset(50%); white-space:nowrap; }
	.service-content .service-scope-table tbody tr > :is(th,td) { display:block; box-sizing:border-box; width:100%; min-width:0; border:0; padding:12px 14px; }
	.service-content .service-scope-table tbody th[scope=row] { background:#edf4fb; }
	.service-content .service-scope-table tbody tr + tr { border-top:1px solid #dce6ef; }
	.service-content .service-scope-table td + td { border-top:1px solid #e5edf4; }
	.service-content .service-scope-label { display:block; margin-bottom:6px; color:var(--ink); font-weight:650; }
}
.service-content .service-price-table { max-width:560px; }
.service-content .service-price-table table { min-width:0; }
.service-content .service-price-table :is(th,td) { min-width:0; }
.service-content .service-price { color:var(--ink); font-size:1.125rem; font-weight:650; }
.service-content .service-note { padding:12px 16px; border-left:3px solid #85a8c5; background:#f3f7fb; font-size:.875rem; }
.service-content .service-diagram { text-align:center; margin:16px 0 24px; }
.service-content .service-diagram img { display:block; max-width:100%; height:auto; margin:0 auto; }
.service-content .service-faq { margin:12px 0 26px; border-top:1px solid #dce6ef; }
.service-content .service-faq details { border-bottom:1px solid #dce6ef; padding:0; }
.service-content .service-faq summary { position:relative; padding:15px 28px 15px 0; color:var(--ink); font-size:1rem; line-height:1.7; list-style:none; cursor:pointer; }
.service-content .service-faq summary::-webkit-details-marker { display:none; }
.service-content .service-faq summary::after { content:""; position:absolute; right:5px; top:23px; width:7px; height:7px; border-right:2px solid var(--blue); border-bottom:2px solid var(--blue); transform:rotate(45deg); }
.service-content .service-faq details[open] summary::after { top:27px; transform:rotate(225deg); }
.service-content .service-faq details > p { margin:0; padding:0 26px 18px 0; font-size:.9375rem; }
.service-content .service-faq summary:focus-visible { outline:2px solid var(--blue); outline-offset:3px; border-radius:3px; }
/* The completed upgrade page uses native HTML, including when JavaScript is disabled. */
.document-body .service-upgrade-process { margin:18px 0 20px; padding:0; list-style:none; }
.service-upgrade-process > li { position:relative; display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; margin:0; padding:0 0 24px; }
.service-upgrade-process > li:last-child { padding-bottom:0; }
.service-upgrade-process > li:not(:last-child)::before { content:""; position:absolute; left:17px; top:42px; bottom:7px; width:2px; background:#b3cadd; }
.service-upgrade-process > li:not(:last-child)::after { content:""; position:absolute; left:14px; bottom:7px; width:6px; height:6px; border-right:2px solid #83a5c1; border-bottom:2px solid #83a5c1; transform:rotate(45deg); }
.service-upgrade-number { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; background:#edf4fb; color:#1b639e; font-size:.8125rem; font-weight:650; font-variant-numeric:tabular-nums; }
.service-upgrade-process p { margin:0; }
/* Relay architecture: vector icons and parallel routes, readable without JavaScript. */
.document-body .relay-architecture { container:relay-architecture / inline-size; position:relative; margin:20px 0 28px; padding:24px; border:1px solid #dbe6ef; border-radius:16px; background:linear-gradient(145deg,#f5f9fd,#fff 65%); color:#24435f; }
.relay-architecture figcaption { display:grid; gap:5px; margin:0 0 24px; }
.relay-architecture .relay-title { color:#173d61; font-size:1.125rem; font-weight:650; line-height:1.5; }
.relay-architecture .relay-network { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.7fr) minmax(0,1fr); gap:24px; align-items:center; }
.relay-architecture .relay-network h3 { margin:0 0 18px; padding:0; border:0; font-size:.8125rem; font-weight:650; line-height:1.6; color:#365a79; text-align:center; }
.relay-architecture .relay-endpoint { position:relative; min-width:0; padding:18px 10px; border:1px solid #dce6ee; border-radius:12px; background:#fff; }
.relay-architecture .relay-endpoint-nodes { display:grid; gap:24px; margin:0; padding:0; list-style:none; }
.relay-architecture .relay-endpoint-nodes > li { position:relative; display:grid; justify-items:center; gap:9px; margin:0; padding:0; min-width:0; font-size:.8125rem; line-height:1.6; text-align:center; }
.relay-architecture .relay-icon { display:block; flex:none; width:36px; height:36px; color:#337ab4; background:currentColor; mask-size:contain; mask-position:center; mask-repeat:no-repeat; }
.relay-architecture .relay-icon-computer { mask-image:url('/images/relay-computer.svg'); }
.relay-architecture .relay-icon-server { mask-image:url('/images/relay-server.svg'); }
.relay-architecture .relay-icon-cluster { mask-image:url('/images/relay-cluster.svg'); }
.relay-architecture .relay-icon-cloud { mask-image:url('/images/relay-cloud.svg'); }
.relay-architecture .relay-endpoint-nodes > li:not(:last-child)::after { content:""; position:absolute; left:calc(50% - 4px); bottom:-20px; width:8px; height:14px; background:#9cb3c7; clip-path:polygon(40% 0,60% 0,60% 65%,100% 65%,50% 100%,0 65%,40% 65%); }
.relay-architecture .relay-sender::after,
.relay-architecture .relay-platform::after { content:""; position:absolute; left:100%; top:calc(50% - 5px); width:24px; height:10px; background:#7498b6; clip-path:polygon(0 40%,72% 40%,72% 0,100% 50%,72% 100%,72% 60%,0 60%); }
.relay-architecture .relay-platform { position:relative; min-width:0; padding:18px 14px 20px; border:1px solid #bcd5ea; border-radius:14px; background:#edf5fd; box-shadow:0 5px 16px #2257810a; }
.relay-architecture .relay-platform > h3 { margin-bottom:30px; color:#205f93; }
.relay-architecture .relay-platform-network { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr); gap:16px; align-items:center; }
.relay-architecture .relay-entry { position:relative; display:grid; justify-items:center; gap:12px; padding:16px 6px; border:1px solid #a9c9e2; border-radius:10px; background:#fff; font-size:.8125rem; font-weight:600; line-height:1.7; text-align:center; }
.relay-architecture .relay-entry .relay-icon { width:38px; height:38px; }
.relay-architecture .relay-entry::after { content:""; position:absolute; left:100%; top:calc(50% - 1px); width:16px; height:2px; background:#8eafca; }
.relay-architecture .relay-cloud-group { position:relative; min-width:0; }
.relay-architecture .relay-cloud-caption { position:absolute; bottom:calc(100% + 8px); left:0; right:0; text-align:center; color:#547897; font-size:.6875rem; line-height:1.5; }
.relay-architecture .relay-clouds { position:relative; display:grid; gap:12px; padding:0 12px; margin:0; list-style:none; }
.relay-architecture .relay-clouds::before,
.relay-architecture .relay-clouds::after { content:""; position:absolute; top:32px; bottom:32px; width:2px; background:#8eafca; }
.relay-architecture .relay-clouds::before { left:0; }
.relay-architecture .relay-clouds::after { right:0; }
.relay-architecture .relay-clouds > li { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:64px; margin:0; padding:8px 6px; border:1px solid #cbddec; border-radius:9px; background:#fff; font-size:.8125rem; font-weight:550; line-height:1.5; }
.relay-architecture .relay-clouds > li::before { content:""; position:absolute; right:100%; top:calc(50% - 4px); width:12px; height:8px; background:#8eafca; clip-path:polygon(0 40%,68% 40%,68% 0,100% 50%,68% 100%,68% 60%,0 60%); }
.relay-architecture .relay-clouds > li::after { content:""; position:absolute; left:100%; top:calc(50% - 1px); width:12px; height:2px; background:#8eafca; }
.relay-architecture .relay-clouds .relay-icon { width:28px; height:28px; }
.relay-architecture .relay-clouds small { display:block; margin-top:3px; color:#637f96; font-size:.6875rem; font-weight:400; }
.relay-architecture .relay-recipient { border-color:#cfe3df; background:#f7fbfa; }
.relay-architecture .relay-recipient .relay-icon { color:#3e8c81; }
.relay-architecture .relay-capabilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 16px; margin:24px 0 0; padding:18px 0 0; border-top:1px solid #dde8f0; list-style:none; }
.relay-architecture .relay-capabilities > li { display:flex; align-items:center; gap:7px; margin:0; padding:0; font-size:.75rem; line-height:1.6; color:#53708a; }
.relay-architecture .relay-capabilities > li::before { content:""; flex:none; width:5px; height:5px; border-radius:50%; background:#75a4c6; }
@container relay-architecture (max-width:640px) {
	.relay-architecture .relay-network { grid-template-columns:minmax(0,1fr); gap:28px; }
	.relay-architecture .relay-endpoint { padding:16px 20px; }
	.relay-architecture .relay-endpoint-nodes { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; align-items:center; }
	.relay-architecture .relay-endpoint-nodes > li { font-size:.875rem; }
	.relay-architecture .relay-endpoint-nodes > li:not(:last-child)::after { top:calc(50% - 4px); bottom:auto; left:calc(100% + 7px); width:18px; height:8px; clip-path:polygon(0 40%,70% 40%,70% 0,100% 50%,70% 100%,70% 60%,0 60%); }
	.relay-architecture .relay-sender::after,
	.relay-architecture .relay-platform::after { top:100%; left:calc(50% - 5px); width:10px; height:28px; clip-path:polygon(40% 0,60% 0,60% 75%,100% 75%,50% 100%,0 75%,40% 75%); }
	.relay-architecture .relay-platform { padding:18px; }
	.relay-architecture .relay-entry { font-size:.875rem; }
	.relay-architecture .relay-clouds > li { font-size:.875rem; }
	.relay-architecture .relay-clouds small { font-size:.75rem; }
}
@container relay-architecture (max-width:420px) {
	.relay-architecture .relay-platform-network { grid-template-columns:minmax(0,1fr); gap:26px; }
	.relay-architecture .relay-platform > h3 { margin-bottom:16px; }
	.relay-architecture .relay-entry { display:flex; justify-content:center; gap:16px; padding:14px; }
	.relay-architecture .relay-entry::after { top:100%; left:calc(50% - 4px); width:8px; height:26px; clip-path:polygon(40% 0,60% 0,60% 75%,100% 75%,50% 100%,0 75%,40% 75%); }
	.relay-architecture .relay-cloud-group { padding:12px 8px; border:1px solid #cbddec; border-radius:10px; }
	.relay-architecture .relay-cloud-caption { position:static; display:block; margin-bottom:12px; font-size:.75rem; }
	.relay-architecture .relay-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
}
@media(max-width:599.98px) {
	.document-body .relay-architecture { padding:18px 14px; border-radius:12px; }
}
/* Native, readable workflow. Branches are alternatives; the three service activities are parallel. */
.document-body .service-rbl-flow { container:rbl-flow / inline-size; margin:18px 0 26px; padding:24px; border:1px solid #dce7f1; border-radius:12px; background:linear-gradient(150deg,#f4f8fc,#fff 72%); font-size:.9375rem; line-height:1.7; text-align:center; }
.service-rbl-flow .service-flow-intake { display:grid; gap:24px; max-width:360px; margin:0 auto 26px; padding:0; list-style:none; }
.service-rbl-flow .service-flow-intake > li { position:relative; display:block; min-width:0; min-height:48px; margin:0; padding:12px 18px; border:1px solid #d3e1ee; border-radius:8px; color:var(--ink); background:#fff; text-align:center; font-weight:550; }
/* Retain the archived number nodes without displaying or reserving space for them. */
.service-rbl-flow .service-flow-number { display:none; }
.service-rbl-flow .service-flow-intake > li:not(:last-child)::after { content:""; position:absolute; left:calc(50% - 5px); top:calc(100% + 4px); width:10px; height:16px; background:#7e9fbc; clip-path:polygon(40% 0,60% 0,60% 65%,100% 65%,50% 100%,0 65%,40% 65%); }
.service-rbl-flow .service-flow-review { position:relative; width:fit-content; max-width:100%; margin:0 auto 24px; padding:13px 24px; border-radius:7px; color:#fff; background:#204e77; text-align:center; font-weight:650; }
.service-rbl-flow .service-flow-review::before { content:""; position:absolute; top:-23px; left:calc(50% - 5px); width:10px; height:18px; background:#7e9fbc; clip-path:polygon(40% 0,60% 0,60% 65%,100% 65%,50% 100%,0 65%,40% 65%); }
.service-rbl-flow .service-flow-branches { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; padding-top:24px; }
.service-rbl-flow .service-flow-branches::before { content:""; position:absolute; top:0; left:calc(25% - 6px); right:calc(25% - 6px); height:2px; background:#9ab5cc; }
.service-rbl-flow .service-flow-branches::after { content:""; position:absolute; top:-24px; left:calc(50% - 1px); width:2px; height:24px; background:#9ab5cc; }
.service-rbl-flow .service-flow-branches > section { position:relative; min-width:0; padding:18px; border:1px solid #cddfed; border-top:3px solid #5484a9; border-radius:8px; background:#fff; }
.service-rbl-flow .service-flow-branches > section::before { content:""; position:absolute; top:-26px; left:calc(50% - 5px); width:10px; height:18px; background:#7e9fbc; clip-path:polygon(40% 0,60% 0,60% 65%,100% 65%,50% 100%,0 65%,40% 65%); }
.service-rbl-flow .service-flow-branches h3 { margin:0 0 18px; padding:0 0 12px; border-bottom:1px solid #e1eaf2; color:#204e77; font-size:.9375rem; line-height:1.7; }
.service-rbl-flow .service-flow-accepted { grid-column:1; grid-row:1; }
.service-rbl-flow .service-flow-branches > .service-flow-rejected { grid-column:2; grid-row:1; border-color:#e2d4c6; border-top-color:#b89572; background:#fdfaf6; }
.service-rbl-flow .service-flow-rejected h3 { border-bottom-color:#ebe1d6; color:#765333; }
.service-rbl-flow .service-flow-rejected > p { margin:0; color:#765333; font-weight:650; }
.service-rbl-flow .service-flow-fulfilment { margin:0; padding:0; list-style:none; }
.service-rbl-flow .service-flow-fulfilment > li { position:relative; margin:0 0 22px; padding:9px 12px; border:1px solid #d3e2ef; border-radius:5px; color:#284c6b; background:#f1f6fb; text-align:center; }
.service-rbl-flow .service-flow-fulfilment > li::after { content:""; position:absolute; left:calc(50% - 5px); top:calc(100% + 3px); width:10px; height:15px; background:#7e9fbc; clip-path:polygon(40% 0,60% 0,60% 65%,100% 65%,50% 100%,0 65%,40% 65%); }
.service-rbl-flow .service-flow-work { margin:0 0 22px; padding:0 0 0 18px; list-style:disc; }
.service-rbl-flow .service-flow-work > li { margin:0; padding:8px 0 8px 3px; font-size:.875rem; }
.service-rbl-flow .service-flow-work > li + li { border-top:1px solid #e7edf3; }
.service-rbl-flow .service-flow-result { position:relative; margin:0; padding:11px 12px; border-radius:5px; color:#fff; background:#245982; text-align:center; font-weight:500; }
.service-rbl-flow .service-flow-result::before { content:""; position:absolute; left:calc(50% - 5px); top:-19px; width:10px; height:15px; background:#7e9fbc; clip-path:polygon(40% 0,60% 0,60% 65%,100% 65%,50% 100%,0 65%,40% 65%); }
@container rbl-flow (max-width:560px) {
	.service-rbl-flow .service-flow-branches { grid-template-columns:minmax(0,1fr); gap:20px; margin-left:0; padding:0 0 0 16px; border-left:2px solid #9ab5cc; }
	.service-rbl-flow .service-flow-branches::before { top:-13px; left:-2px; right:50%; height:13px; border-top:2px solid #9ab5cc; border-left:2px solid #9ab5cc; background:none; }
	.service-rbl-flow .service-flow-branches::after { top:-24px; left:calc(50% - 10px); width:2px; height:13px; }
	.service-rbl-flow .service-flow-branches > section { padding:14px; }
	.service-rbl-flow .service-flow-branches > section::before { top:18px; left:-18px; width:13px; height:10px; clip-path:polygon(0 40%,65% 40%,65% 0,100% 50%,65% 100%,65% 60%,0 60%); }
	.service-rbl-flow .service-flow-branches > .service-flow-rejected { grid-column:1; grid-row:1; }
	.service-rbl-flow .service-flow-accepted { grid-column:1; grid-row:2; }
}
@media(max-width:599.98px) {
	.document-body .service-rbl-flow { padding:16px 12px; }
	.service-rbl-flow .service-flow-intake > li { padding:12px; }
	.service-rbl-flow .service-flow-review { padding:12px 16px; }
}