/* Loaded only for the seven reviewed Services detail routes. No scripts or database content in CSS. */
[data-content-path^="/Services/"] { container:service-page / inline-size; }
[data-content-path^="/Services/"] .service-art { display:block; width:84px; height:70px; margin:0 auto 8px; background:center / contain no-repeat; }
[data-content-path^="/Services/"] .service-art-server { background-image:url('/images/solution-exchange.svg'); }
[data-content-path^="/Services/"] .service-art-access { background-image:url('/images/solution-access.svg'); }
[data-content-path^="/Services/"] .service-art-client { background-image:url('/images/solution-client.svg'); }
[data-content-path^="/Services/"] .service-art-cloud { background-image:url('/images/solution-cloud.svg'); }
[data-content-path^="/Services/"] .service-art-external { background-image:url('/images/solution-external-mail.svg'); }
[data-content-path^="/Services/"] .service-art-filter { background-image:url('/images/solution-mail-gateway.svg'); }
[data-content-path^="/Services/"] .service-visual-map { margin:18px 0 26px; padding:20px; border:1px solid #d5e3ef; border-radius:12px; background:linear-gradient(140deg,#f2f7fc,#fff); }
[data-content-path^="/Services/"] .service-visual-map figcaption { margin-bottom:18px; color:#254f72; font-size:1rem; font-weight:650; }
[data-content-path^="/Services/"] .service-visual-nodes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
[data-content-path^="/Services/"] .service-visual-nodes > li { position:relative; min-width:0; padding:12px 10px; margin:0; border:1px solid #d6e4ef; border-radius:9px; background:#fff; text-align:center; font-size:.875rem; line-height:1.7; }
[data-content-path^="/Services/"] .service-visual-nodes strong { display:block; margin-bottom:6px; font-size:.9375rem; }
[data-content-path^="/Services/"] .service-visual-route { gap:28px; }
[data-content-path^="/Services/"] .service-visual-route > li:nth-child(2) { background:#eaf5f0; border-color:#bddbce; }
[data-content-path^="/Services/"] .service-visual-route > li:not(:last-child)::after { content:""; position:absolute; top:46px; left:100%; width:28px; height:12px; background:#5b9989; clip-path:polygon(0 38%,72% 38%,72% 0,100% 50%,72% 100%,72% 62%,0 62%); }
[data-content-path^="/Services/"] .service-visual-caption { margin:14px 0 0; font-size:.8125rem; color:#597489; }
/* Parallel service capabilities, not an ordered project plan. */
[data-content-path^="/Services/"] .service-content .service-feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
[data-content-path^="/Services/"] .service-feature-list > li { position:relative; min-width:0; margin:0; padding:18px 16px 16px; border:1px solid #d9e5ee; border-radius:10px; background:#f8fbfd; }
[data-content-path^="/Services/"] .service-feature-list > li::before { position:static; display:block; width:58px; height:48px; margin-bottom:10px; border-radius:0; background:center / contain no-repeat; }
/* Reviewed page-specific meanings, not a repeating server/shield/cloud sequence.
	Keep these mappings in step with the exact headings in docs/icon-semantics.md. */
/* Deployment: planning, readiness, installation, mail configuration, access security, backup. */
[data-content-path="/Services/Exchange.html"] .service-feature-list > li:nth-child(1)::before { background-image:url('/images/semantic-plan.svg'); }
[data-content-path="/Services/Exchange.html"] .service-feature-list > li:nth-child(2)::before { background-image:url('/images/semantic-checklist.svg'); }
[data-content-path="/Services/Exchange.html"] .service-feature-list > li:nth-child(3)::before { background-image:url('/images/semantic-maintenance.svg'); }
[data-content-path="/Services/Exchange.html"] .service-feature-list > li:nth-child(4)::before { background-image:url('/images/solution-exchange.svg'); }
[data-content-path="/Services/Exchange.html"] .service-feature-list > li:nth-child(5)::before { background-image:url('/images/solution-access.svg'); }
[data-content-path="/Services/Exchange.html"] .service-feature-list > li:nth-child(6)::before { background-image:url('/images/semantic-backup.svg'); }
/* Upgrade: assessment, planning, target setup, data migration, cutover, monitoring. */
[data-content-path="/Services/upserv.html"] .service-feature-list > li:nth-child(1)::before { background-image:url('/images/semantic-checklist.svg'); }
[data-content-path="/Services/upserv.html"] .service-feature-list > li:nth-child(2)::before { background-image:url('/images/semantic-plan.svg'); }
[data-content-path="/Services/upserv.html"] .service-feature-list > li:nth-child(3)::before { background-image:url('/images/semantic-maintenance.svg'); }
[data-content-path="/Services/upserv.html"] .service-feature-list > li:nth-child(4)::before { background-image:url('/images/semantic-migration.svg'); }
[data-content-path="/Services/upserv.html"] .service-feature-list > li:nth-child(5)::before { background-image:url('/images/semantic-connection.svg'); }
[data-content-path="/Services/upserv.html"] .service-feature-list > li:nth-child(6)::before { background-image:url('/images/semantic-monitor.svg'); }
/* Hosting: IP/DNS records, PTR, international relay, hosting hardware, maintenance. */
[data-content-path="/Services/mailserver_hosting.html"] .service-feature-list > li:nth-child(1)::before,
[data-content-path="/Services/mailserver_hosting.html"] .service-feature-list > li:nth-child(2)::before { background-image:url('/images/semantic-dns.svg'); }
[data-content-path="/Services/mailserver_hosting.html"] .service-feature-list > li:nth-child(3)::before { background-image:url('/images/solution-external-mail.svg'); }
[data-content-path="/Services/mailserver_hosting.html"] .service-feature-list > li:nth-child(4)::before { background-image:url('/images/solution-exchange.svg'); }
[data-content-path="/Services/mailserver_hosting.html"] .service-feature-list > li:nth-child(5)::before { background-image:url('/images/semantic-maintenance.svg'); }
/* Operations: implementation, domain/PTR, mail protection, maintenance, relay. */
[data-content-path="/Services/mailserver_outsourcing.html"] .service-feature-list > li:nth-child(1)::before { background-image:url('/images/semantic-plan.svg'); }
[data-content-path="/Services/mailserver_outsourcing.html"] .service-feature-list > li:nth-child(2)::before,
[data-content-path="/Services/mailserver_outsourcing.html"] .service-feature-list > li:nth-child(3)::before { background-image:url('/images/semantic-dns.svg'); }
[data-content-path="/Services/mailserver_outsourcing.html"] .service-feature-list > li:nth-child(4)::before { background-image:url('/images/solution-mail-gateway.svg'); }
[data-content-path="/Services/mailserver_outsourcing.html"] .service-feature-list > li:nth-child(5)::before { background-image:url('/images/semantic-maintenance.svg'); }
[data-content-path="/Services/mailserver_outsourcing.html"] .service-feature-list > li:nth-child(6)::before { background-image:url('/images/solution-external-mail.svg'); }
/* Parallel scope diagrams: network records/maintenance and build/recovery/connectivity. */
[data-content-path="/Services/mailserver_hosting.html"] .service-art-access { background-image:url('/images/semantic-dns.svg'); }
[data-content-path="/Services/mailserver_hosting.html"] .service-art-client { background-image:url('/images/semantic-maintenance.svg'); }
[data-content-path="/Services/mailserver_outsourcing.html"] .service-art-server { background-image:url('/images/semantic-maintenance.svg'); }
[data-content-path="/Services/mailserver_outsourcing.html"] .service-art-access { background-image:url('/images/semantic-backup.svg'); }
[data-content-path="/Services/mailserver_outsourcing.html"] .service-art-cloud { background-image:url('/images/semantic-connection.svg'); }
[data-content-path^="/Services/"] .service-feature-list p:not(.service-item-heading) { font-size:.9375rem; line-height:1.85; }
[data-content-path^="/Services/"] .service-feature-list .service-item-heading { font-size:1rem; }
/* Workflows use numbers, connectors and text only; no decorative step illustrations. */
[data-content-path^="/Services/"] .service-upgrade-process { margin:20px 0 24px; }
[data-content-path^="/Services/"] .service-upgrade-process > li > div { min-width:0; }
[data-content-path^="/Services/"] .service-upgrade-process p { font-size:.875rem; }
[data-content-path^="/Services/"] .service-content .service-note { font-size:.875rem; line-height:1.85; }
/* Existing relay topology and RBL decisions remain intact; only their visual treatment changes. */
[data-content-path="/Services/relay.html"] .relay-architecture .relay-icon { width:58px; height:48px; background:center / contain no-repeat; mask-image:none; }
[data-content-path="/Services/relay.html"] .relay-architecture .relay-icon-computer { background-image:url('/images/solution-client.svg'); }
[data-content-path="/Services/relay.html"] .relay-architecture .relay-icon-server { background-image:url('/images/solution-exchange.svg'); }
[data-content-path="/Services/relay.html"] .relay-architecture .relay-icon-cluster { background-image:url('/images/semantic-cluster.svg'); }
[data-content-path="/Services/relay.html"] .relay-architecture .relay-icon-cloud { background-image:url('/images/solution-cloud.svg'); }
[data-content-path="/Services/relay.html"] .relay-architecture .relay-clouds > li { flex-direction:column; min-height:128px; padding:10px 6px; }
[data-content-path="/Services/relay.html"] .relay-architecture .relay-clouds::before,
[data-content-path="/Services/relay.html"] .relay-architecture .relay-clouds::after { top:64px; bottom:64px; }
[data-content-path="/Services/relay.html"] .relay-clouds small { text-align:center; }
/* Relay details: numbered issues, quiet benefit cards and compact audience labels, not a workflow. */
[data-content-path="/Services/relay.html"] .service-content > .relay-detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0 30px; padding:0; list-style:none; }
[data-content-path="/Services/relay.html"] .relay-detail-list > li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:12px; align-items:start; min-width:0; margin:0; padding:16px; border:1px solid #dce6ee; border-radius:10px; background:#f8fafc; }
[data-content-path="/Services/relay.html"] .relay-detail-list > li:last-child:nth-child(odd) { grid-column:1 / -1; }
[data-content-path="/Services/relay.html"] .relay-detail-list p { min-width:0; margin:0; color:#36546c; font-size:.9375rem; line-height:1.85; overflow-wrap:anywhere; }
[data-content-path="/Services/relay.html"] .relay-list-marker { display:flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid #d7e4ee; border-radius:7px; background:#edf3f8; color:#416b8d; font-size:.75rem; font-weight:650; font-variant-numeric:tabular-nums; }
[data-content-path="/Services/relay.html"] .relay-problems > li { align-items:center; }
[data-content-path="/Services/relay.html"] .relay-benefits > li { border-color:#d5e5f0; background:#f2f8fc; }
[data-content-path="/Services/relay.html"] .relay-benefits .relay-list-marker { border-color:#d5e8e0; border-radius:50%; background:#e5f2ed; }
[data-content-path="/Services/relay.html"] .relay-benefits .relay-list-marker::after { content:""; width:6px; height:10px; margin-top:-3px; border-right:2px solid #36816c; border-bottom:2px solid #36816c; transform:rotate(45deg); }
[data-content-path="/Services/relay.html"] .relay-audiences > li { display:flex; align-items:center; padding:14px 16px; border-left:3px solid #aac8df; background:#fff; }
[data-content-path="/Services/relay.html"] .relay-audiences p { color:#285474; font-weight:550; }
[data-content-path="/Services/rbl.html"] .service-flow-work { display:grid; gap:10px; margin:0 0 22px; padding:0; list-style:none; }
[data-content-path="/Services/rbl.html"] .service-flow-work > li { padding:10px; border:1px solid #dce8f0; border-radius:8px; background:#f6fafd; }
[data-content-path="/Services/rbl.html"] .service-scope-table thead th { background:#edf4fb; }
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-content > .service-bullet-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; list-style:none; }
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-bullet-list > li { margin:0; padding:14px; border:1px solid #d9e5ef; border-radius:9px; background:#f7fbfd; }
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-bullet-list > li::before { content:""; display:block; width:58px; height:48px; margin-bottom:8px; background:center / contain no-repeat; }
/* Cost, staffing, time, throughput and protection are five different promises. */
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-filter-features > li:nth-child(1)::before { background-image:url('/images/semantic-cost.svg'); }
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-filter-features > li:nth-child(2)::before { background-image:url('/images/semantic-support.svg'); }
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-filter-features > li:nth-child(3)::before { background-image:url('/images/semantic-time.svg'); }
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-filter-features > li:nth-child(4)::before { background-image:url('/images/semantic-speed.svg'); }
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-filter-features > li:nth-child(5)::before { background-image:url('/images/solution-mail-gateway.svg'); }
/* These five short labels sit below their icons at every width; descriptions stay left aligned. */
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-filter-features > li::before { margin:0 auto 8px; }
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-filter-features .service-item-heading { text-align:center; }
[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-filter-features p { text-align:left; font-size:.9375rem; line-height:1.85; }
/* Center visual anchors only in the wide card layout; long descriptions remain left aligned. */
@container service-page (min-width:581px) {
	[data-content-path^="/Services/"] .service-feature-list > li::before { margin:0 auto 10px; }
	[data-content-path^="/Services/"] .service-feature-list .service-item-heading { text-align:center; }
	[data-content-path^="/Services/"] .service-feature-list p:not(.service-item-heading) { text-align:left; }
	[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-bullet-list > li::before { margin:0 auto 8px; }
	[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-bullet-list > li { text-align:left; }
}
@container service-page (min-width:701px) {
	[data-content-path="/Services/relay.html"] .service-content > .relay-audiences { grid-template-columns:repeat(3,minmax(0,1fr)); }
	[data-content-path^="/Services/"] .service-upgrade-process { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
	[data-content-path^="/Services/"] .service-upgrade-process > li { display:flex; flex-direction:column; gap:12px; padding:0; }
	[data-content-path^="/Services/"] .service-upgrade-process .service-upgrade-number { margin-inline:auto; }
	[data-content-path^="/Services/"] .service-upgrade-process .service-item-heading { text-align:center; }
	[data-content-path^="/Services/"] .service-upgrade-process p { text-align:left; }
	[data-content-path^="/Services/"] .service-upgrade-process > li:not(:last-child)::before { left:calc(50% + 28px); right:calc(-50% + 4px); top:17px; bottom:auto; width:auto; height:2px; }
	[data-content-path^="/Services/"] .service-upgrade-process > li:not(:last-child)::after { top:14px; bottom:auto; left:auto; right:calc(-50% + 4px); transform:rotate(-45deg); }
}
@container service-page (max-width:580px) {
	[data-content-path^="/Services/"] .service-content .service-feature-list { grid-template-columns:minmax(0,1fr); }
	[data-content-path^="/Services/"] .service-feature-list > li { padding:16px; }
	[data-content-path^="/Services/"] .service-feature-list > li::before { float:left; margin:0 12px 8px 0; }
	[data-content-path^="/Services/"] .service-feature-list p:not(.service-item-heading) { clear:both; }
	[data-content-path^="/Services/"] .service-visual-map { padding:16px 12px; }
	[data-content-path^="/Services/"] .service-visual-nodes { grid-template-columns:minmax(0,1fr); gap:12px; }
	[data-content-path^="/Services/"] .service-visual-nodes > li { display:grid; grid-template-columns:60px minmax(0,1fr); gap:4px 12px; text-align:left; align-items:center; }
	[data-content-path^="/Services/"] .service-visual-nodes .service-art { grid-column:1; grid-row:1 / span 2; width:60px; height:50px; margin:0; }
	[data-content-path^="/Services/"] .service-visual-nodes strong { margin:0; }
	[data-content-path^="/Services/"] .service-visual-nodes > li > span:not(.service-art) { grid-column:2; }
	[data-content-path^="/Services/"] .service-visual-route { gap:24px; }
	[data-content-path^="/Services/"] .service-visual-route > li:not(:last-child)::after { top:100%; left:calc(50% - 6px); width:12px; height:24px; clip-path:polygon(38% 0,62% 0,62% 72%,100% 72%,50% 100%,0 72%,38% 72%); }
	[data-content-path="/Services/relay.html"] .service-content > .relay-detail-list,
	[data-content-path="/Services/Hosted_Spam_Filter.html"] .service-content > .service-bullet-list { grid-template-columns:minmax(0,1fr); }
	[data-content-path="/Services/relay.html"] .relay-detail-list > li { padding:14px; gap:10px; }
}