/* Shared backgrounds: imagery follows the service or section topic. */
.cts-backgrounds { --cts-pattern:url("background-reading.svg"); }
.cts-bg-web { --cts-pattern:url("wordpress-background-pattern.svg"); }
.cts-bg-network { --cts-pattern:url("background-network.svg"); }
.cts-bg-devices { --cts-pattern:url("background-devices.svg"); }
.cts-bg-cloud { --cts-pattern:url("background-cloud.svg"); }
.cts-bg-security { --cts-pattern:url("background-security.svg"); }
.cts-bg-contact { --cts-pattern:url("background-contact.svg"); }
body.cts-backgrounds:not(.wp-showcase) #main { background:linear-gradient(110deg,rgba(248,250,249,.98),rgba(238,244,247,.94)),var(--cts-pattern) right top/900px 700px repeat-y; }
.cts-backgrounds .hero,.cts-backgrounds .service-hero { position:relative; isolation:isolate; background:radial-gradient(ellipse at 100% 10%,#4f6e8b,transparent 70%),linear-gradient(120deg,#2b465f,#425e7d); }
.cts-backgrounds .hero:before,.cts-backgrounds .service-hero:before { content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--cts-pattern) right center/900px 700px no-repeat;filter:brightness(0) invert(1);opacity:.45; }
.cts-backgrounds .hero:before { background-image:url("background-network.svg"); }
.cts-backgrounds .service-hero-grid figure { position:relative; }
body.cts-backgrounds #services { background:linear-gradient(110deg,rgba(240,246,246,.94),rgba(225,237,244,.83)),url("services-network-background-v2.webp") center/cover no-repeat!important; }
body.cts-backgrounds .about { background:linear-gradient(110deg,rgba(244,248,240,.97),rgba(236,244,239,.83)),url("background-devices.svg") right center/900px 700px no-repeat!important; }
body.cts-backgrounds .cts-how { background:linear-gradient(110deg,rgba(238,244,247,.97),rgba(228,238,245,.8)),url("background-contact.svg") right center/900px 700px no-repeat!important; }
body.cts-backgrounds .cts-quote { background:radial-gradient(ellipse at 100% 0,#dceacf,transparent 65%),linear-gradient(120deg,#f6f9f3,#e7f0f4)!important; }
body.cts-backgrounds .cts-projects { background:radial-gradient(ellipse at 95% 0,#dce9d2,transparent 55%),radial-gradient(ellipse at 0 100%,#dfeaf3,transparent 65%),#f7faf6!important; }
body.cts-backgrounds .cts-guides { background:linear-gradient(110deg,rgba(239,245,248,.97),rgba(230,240,245,.86)),url("background-reading.svg") right top/900px 700px repeat-y!important; }
body.cts-backgrounds .cts-callback,body.cts-backgrounds .cts-request { background:linear-gradient(110deg,rgba(242,247,238,.96),rgba(231,241,240,.87)),url("background-contact.svg") left center/900px 700px no-repeat!important; }
body.cts-backgrounds .cts-request { background-position:right center!important; }
.cts-backgrounds .contact { background:linear-gradient(110deg,rgba(32,56,78,.98),rgba(54,82,110,.93)),url("background-contact.svg") right center/900px 700px no-repeat; }
.cts-backgrounds .support-strip { background:linear-gradient(110deg,#edf5e7,#e5efed); }
body.cts-backgrounds .cts-registrar-section { background:linear-gradient(110deg,rgba(240,246,244,.95),rgba(226,237,245,.83)),url("background-domains.svg") right center/900px 700px no-repeat; padding-top:60px; padding-bottom:60px; }
.cts-backgrounds .cts-registrar { background:rgba(255,255,255,.94); }
body.cts-backgrounds:not(.wp-showcase) .service-related { background:linear-gradient(110deg,rgba(235,243,232,.97),rgba(229,240,243,.84)),var(--cts-pattern) right center/900px 700px no-repeat!important; }
body.cts-backgrounds .service-enquiry { background:linear-gradient(140deg,#fff,#edf5e8)!important; }
body.cts-backgrounds .cts-request-form,body.cts-backgrounds .cts-project-grid,body.cts-backgrounds .cts-guides .cts-help-grid article { background:rgba(255,255,255,.97)!important; }
.cts-backgrounds footer { background:linear-gradient(110deg,#20384e,#304b64); }
@media(max-width:760px) { .cts-backgrounds .hero:before,.cts-backgrounds .service-hero:before { background-size:700px auto;opacity:.25; } body.cts-backgrounds .cts-registrar-section { padding-top:45px;padding-bottom:45px; } }

/* Wireless platform specialisms. Official manufacturer logo files. */
body.cts-backgrounds .cts-network-platforms { background:linear-gradient(110deg,rgba(239,246,246,.97),rgba(224,237,244,.84)),url("background-network.svg") right center/900px 700px no-repeat; border-bottom:1px solid #dce5e8; }
.cts-platform-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.cts-platform-card { min-width:0;background:#fff;border:1px solid #dce5e8;border-radius:12px;overflow:hidden;box-shadow:0 12px 32px #233b5508; }
.cts-platform-logo { min-height:120px;display:flex;align-items:center;justify-content:center;padding:28px; }
.cts-platform-logo img { display:block;width:165px;max-width:100%;height:auto; }
.cts-platform-unifi { background:#fff;border-bottom:1px solid #e4eaee; }
.cts-platform-omada { background:#20384e; }
.cts-platform-copy { padding:30px; }
.cts-platform-copy .eyebrow { font-size:10px;letter-spacing:1.6px;margin-bottom:16px; }
.cts-platform-copy h3 { font-size:25px;line-height:1.25;letter-spacing:-.7px;margin:0 0 18px; }
.cts-platform-copy p,.cts-platform-copy li { font-size:15px;line-height:1.8;color:var(--muted); }
.cts-platform-copy ul { padding-left:20px;margin:20px 0 26px; }
.cts-platform-copy li { margin:9px 0; }
.cts-platform-copy a { font-size:14px;font-weight:600;text-underline-offset:5px; }
.cts-platform-note { max-width:800px;margin:28px 0 0;color:var(--muted);font-size:15px;line-height:1.8; }
.cts-platform-trademarks { font-size:11px;color:var(--muted);margin:18px 0 0; }
@media(max-width:760px) { .cts-platform-grid { grid-template-columns:1fr;gap:22px; } .cts-platform-copy { padding:25px; } .cts-platform-copy h3 { font-size:23px; } }

/* Building link explainer beside the service text. */
.cts-building-link-sidebar { position:static; }
.cts-building-link-diagram { margin:0 -10px 30px; }
.cts-building-link-diagram img { display:block;width:100%;height:auto; }
.cts-building-link-diagram figcaption { color:var(--muted);font-size:12px;line-height:1.6;margin:12px 3px 0; }
@media(max-width:760px) { .cts-building-link-diagram { max-width:400px;margin:0 auto 30px; } }

.cts-bg-automation { --cts-pattern:url("background-automation.svg"); }

/* Page-specific motifs for the additional services. */
.cts-bg-it-consultancy-audits { --cts-pattern:url("background-it-consultancy-audits.svg"); }
.cts-bg-computer-supply-installation { --cts-pattern:url("background-computer-supply-installation.svg"); }
.cts-bg-server-installation-support { --cts-pattern:url("background-server-installation-support.svg"); }
.cts-bg-voip-telephone-systems { --cts-pattern:url("background-voip-telephone-systems.svg"); }
.cts-bg-cctv-access-control { --cts-pattern:url("background-cctv-access-control.svg"); }
.cts-bg-email-migrations { --cts-pattern:url("background-email-migrations.svg"); }
.cts-bg-it-training { --cts-pattern:url("background-it-training.svg"); }
.cts-bg-ai-tools-integration { --cts-pattern:url("background-ai-tools-integration.svg"); }
.cts-bg-database-development { --cts-pattern:url("background-database-development.svg"); }
.cts-bg-printer-scanner-support { --cts-pattern:url("background-printer-scanner-support.svg"); }
.cts-bg-meeting-room-technology { --cts-pattern:url("background-meeting-room-technology.svg"); }
.cts-bg-equipment-lifecycle-services { --cts-pattern:url("background-equipment-lifecycle-services.svg"); }
