Networking & Infrastructure

/* ============================================================
SHS DESIGN SYSTEM v2.2 — commercial polish + conversion refinement
============================================================ */

/* === Tokens === */
:root {
–shs-ink: #0F1422;
–shs-ink-2: #1A2138;
–shs-ink-3: #232B43;
–shs-steel: #5C7290;
–shs-steel-light: #8AA0BC;
–shs-steel-dark: #2F3D52;
–shs-line: #2A3247;
–shs-line-on-light: #DDE2EA;
–shs-line-on-light-strong: #C2C9D6;
–shs-white: #FFFFFF;
–shs-paper: #F6F7FA;
–shs-text: #0F1422;
–shs-text-muted: #5A6276;
–shs-text-on-ink: #ECEFF5;
–shs-text-on-ink-muted: #9AA5BA;
–shs-mono: ui-monospace, SFMono-Regular, “SF Mono”, Menlo, Consolas, monospace;
–shs-shadow-card: 0 1px 2px rgba(15,20,34,0.04), 0 12px 28px -16px rgba(15,20,34,0.10);
}

/* === Page baseline === */
body, body.ast-separate-container, body.ast-plain-container {
font-family: ‘Inter’, system-ui, -apple-system, sans-serif;
color: var(–shs-text);
background: var(–shs-white);
-webkit-font-smoothing: antialiased;
}
body, .ast-container, .entry-content, .ast-row { margin: 0; }
.entry-content > .wp-block-html:not(:last-child) { margin: 0; }

/* === Astra HEADER overrides (tighter, enterprise) === */
header.site-header,
.ast-primary-header-bar.ast-primary-header.main-header-bar {
background: var(–shs-white) !important;
border-bottom: 1px solid var(–shs-line-on-light);
box-shadow: none !important;
position: relative;
}
.site-primary-header-wrap {
padding-top: 14px !important;
padding-bottom: 14px !important;
}
.ast-container { max-width: 1240px; }

.site-branding .site-title { font-family: ‘Manrope’, sans-serif !important; line-height: 1.1; }
.site-branding .site-title a {
font-family: ‘Manrope’, sans-serif !important;
font-size: 18px !important;
font-weight: 700 !important;
color: var(–shs-ink) !important;
letter-spacing: -0.014em;
text-decoration: none;
transition: color 0.12s ease;
}
.site-branding .site-title a:hover { color: var(–shs-steel-dark) !important; }

.ast-builder-menu-1 .menu-item > a,
.main-header-bar .main-navigation ul .menu-item > a {
font-family: ‘Inter’, sans-serif !important;
font-size: 13.5px !important;
font-weight: 500 !important;
color: var(–shs-ink) !important;
letter-spacing: 0.018em;
padding: 14px 16px !important;
transition: color 0.12s ease;
text-transform: none;
position: relative;
}
.ast-builder-menu-1 .menu-item > a:hover,
.main-header-bar .menu-item > a:hover { color: var(–shs-steel) !important; }
.ast-builder-menu-1 .menu-item.current-menu-item > a,
.ast-builder-menu-1 .menu-item.current_page_item > a {
color: var(–shs-ink) !important;
font-weight: 600 !important;
}
.ast-builder-menu-1 .menu-item.current-menu-item > a::after,
.ast-builder-menu-1 .menu-item.current_page_item > a::after {
content: “”;
position: absolute;
left: 16px; right: 16px; bottom: 4px;
height: 1.5px; background: var(–shs-steel);
}

/* Hide Astra below-footer (we ship our own footer) */
.site-below-footer-wrap { display: none !important; }

/* === Section system === */
.shs { font-family: ‘Inter’, system-ui, sans-serif; }
.shs-section { padding: 120px 24px; font-family: ‘Inter’, sans-serif; position: relative; }
.shs-section–ink { background: var(–shs-ink); color: var(–shs-text-on-ink); }
.shs-section–paper { background: var(–shs-paper); color: var(–shs-text); }
.shs-section–white { background: var(–shs-white); color: var(–shs-text); }
.shs-section–credibility { padding: 36px 24px; background: var(–shs-white); border-bottom: 1px solid var(–shs-line-on-light); }
.shs-container { max-width: 1200px; margin: 0 auto; }
.shs-narrow { max-width: 880px; }

/* Eyebrow */
.shs-eyebrow {
font-family: var(–shs-mono); font-size: 11.5px; font-weight: 500;
letter-spacing: 0.2em; text-transform: uppercase;
color: var(–shs-steel-light); margin: 0 0 22px; display: inline-block;
}
.shs-section–paper .shs-eyebrow,
.shs-section–white .shs-eyebrow,
.shs-section–credibility .shs-eyebrow { color: var(–shs-steel); }
.shs-eyebrow::before { content: “// “; opacity: 0.6; }

/* Headings — tighter, more enterprise */
.shs-h1 {
font-family: ‘Manrope’, sans-serif; font-size: clamp(40px, 5.4vw, 66px);
font-weight: 700; line-height: 1.02; letter-spacing: -0.028em;
margin: 0 0 28px; max-width: 16ch;
}
.shs-h1–wide { max-width: 22ch; }
.shs-h2 {
font-family: ‘Manrope’, sans-serif; font-size: clamp(28px, 3.2vw, 42px);
font-weight: 700; line-height: 1.1; letter-spacing: -0.022em;
margin: 0 0 18px; max-width: 22ch;
}
.shs-h3 {
font-family: ‘Manrope’, sans-serif; font-size: 19px; font-weight: 700;
line-height: 1.3; letter-spacing: -0.008em; margin: 0 0 10px; color: var(–shs-text);
}
.shs-section–ink .shs-h3 { color: var(–shs-white); }

/* Body */
.shs-lead {
font-size: clamp(17px, 1.35vw, 19px); line-height: 1.55; max-width: 680px;
margin: 0 0 40px; font-weight: 400;
}
.shs-section–ink .shs-lead { color: var(–shs-text-on-ink); opacity: 0.95; }
.shs-body { font-size: 16px; line-height: 1.65; color: var(–shs-text-muted); margin: 0; }
.shs-section–ink .shs-body { color: var(–shs-text-on-ink-muted); }

.shs-rule { width: 56px; height: 2px; background: var(–shs-steel); margin: 0 0 28px; border: 0; }
.shs-section–ink .shs-rule { background: var(–shs-steel-light); }

/* === Buttons — slightly larger, sharper === */
.shs-cta-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.shs-btn {
display: inline-flex; align-items: center; gap: 10px;
padding: 17px 32px; font-family: ‘Inter’, sans-serif;
font-size: 15.5px; font-weight: 600; text-decoration: none;
border-radius: 2px;
transition: background 0.14s ease, color 0.14s ease, border-color 0.14s ease;
cursor: pointer; border: 1.5px solid transparent;
letter-spacing: 0.01em; line-height: 1;
}
.shs-btn–primary { background: var(–shs-white); color: var(–shs-ink); }
.shs-btn–primary:hover { background: var(–shs-paper); color: var(–shs-ink); }
.shs-btn–ghost-light { background: transparent; color: var(–shs-white); border-color: rgba(255,255,255,0.32); }
.shs-btn–ghost-light:hover { border-color: var(–shs-white); background: rgba(255,255,255,0.06); color: var(–shs-white); }
.shs-btn–steel { background: var(–shs-steel); color: var(–shs-white); }
.shs-btn–steel:hover { background: var(–shs-steel-dark); color: var(–shs-white); }
.shs-btn–ink { background: var(–shs-ink); color: var(–shs-white); }
.shs-btn–ink:hover { background: var(–shs-ink-2); color: var(–shs-white); }
.shs-btn–ghost-ink { background: transparent; color: var(–shs-ink); border-color: var(–shs-ink); }
.shs-btn–ghost-ink:hover { background: var(–shs-ink); color: var(–shs-white); }
.shs-btn__arrow { font-family: var(–shs-mono); transition: transform 0.14s ease; font-weight: 400; }
.shs-btn:hover .shs-btn__arrow { transform: translateX(3px); }

/* === Trust strip (under hero CTAs) === */
.shs-trust-strip {
margin-top: 52px; padding-top: 28px; border-top: 1px solid var(–shs-line);
display: flex; gap: 28px 32px; flex-wrap: wrap;
font-family: var(–shs-mono); font-size: 11.5px; letter-spacing: 0.16em;
text-transform: uppercase; color: var(–shs-steel-light);
}
.shs-trust-strip__item { display: flex; align-items: center; gap: 10px; }
.shs-trust-strip__item::before { content: “”; width: 5px; height: 5px; background: var(–shs-steel); display: inline-block; transform: rotate(45deg); }

/* === Credibility strip (between hero and categories) === */
.shs-credibility-row {
display: flex; align-items: center; gap: 14px 28px; flex-wrap: wrap; justify-content: center;
font-family: var(–shs-mono); font-size: 11.5px; letter-spacing: 0.18em;
text-transform: uppercase; color: var(–shs-text-muted);
}
.shs-credibility-row strong {
font-family: ‘Inter’, sans-serif; font-size: 13px; font-weight: 600;
color: var(–shs-ink); letter-spacing: 0.04em; margin-right: 8px;
}
.shs-credibility-row span { position: relative; padding-right: 28px; }
.shs-credibility-row span:not(:last-child)::after {
content: “”; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
width: 4px; height: 4px; background: var(–shs-steel-light); border-radius: 0;
}

/* === Category cards — stronger hover, cleaner border === */
.shs-cat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-top: 52px; }
.shs-cat-card {
background: var(–shs-white); border: 1px solid var(–shs-line-on-light);
border-radius: 2px; padding: 36px 28px 28px;
transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
display: flex; flex-direction: column; text-decoration: none; color: inherit;
position: relative;
}
.shs-cat-card::before {
content: “”; position: absolute; top: 0; left: 0; right: 0;
height: 2px; background: transparent; transition: background 0.16s ease;
}
.shs-cat-card:hover {
border-color: var(–shs-steel);
box-shadow: var(–shs-shadow-card);
transform: translateY(-2px);
}
.shs-cat-card:hover::before { background: var(–shs-steel); }
.shs-cat-card__num {
font-family: var(–shs-mono); font-size: 11px; font-weight: 500;
letter-spacing: 0.18em; color: var(–shs-steel); margin: 0 0 18px; text-transform: uppercase;
}
.shs-cat-card .shs-h3 { margin-bottom: 10px; font-size: 19px; }
.shs-cat-card__desc { font-size: 14.5px; line-height: 1.6; color: var(–shs-text-muted); margin: 0 0 24px; flex-grow: 1; }
.shs-cat-card__cta {
font-family: ‘Inter’, sans-serif; font-size: 13px; font-weight: 600;
color: var(–shs-ink); align-self: flex-start;
border-bottom: 1.5px solid var(–shs-ink); padding-bottom: 2px;
letter-spacing: 0.02em; transition: color 0.14s, border-color 0.14s;
text-transform: uppercase;
}
.shs-cat-card:hover .shs-cat-card__cta { color: var(–shs-steel); border-color: var(–shs-steel); }

/* === Why Buy grid === */
.shs-why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 52px 60px; margin-top: 56px; }
.shs-why__num {
font-family: ‘Manrope’, sans-serif; font-size: 56px; font-weight: 700;
line-height: 1; color: var(–shs-steel-light); letter-spacing: -0.04em;
margin: 0 0 16px; display: block; opacity: 0.85;
}
.shs-why__title {
font-family: ‘Manrope’, sans-serif; font-size: 18.5px; font-weight: 700;
line-height: 1.3; color: var(–shs-white); margin: 0 0 12px; letter-spacing: -0.008em;
}
.shs-why__desc { font-size: 14.5px; line-height: 1.62; color: var(–shs-text-on-ink-muted); margin: 0; }

/* === Featured solutions === */
.shs-fs-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin-top: 52px; }
.shs-fs-card {
background: var(–shs-white); border: 1px solid var(–shs-line-on-light);
border-top: 3px solid var(–shs-steel); border-radius: 2px;
padding: 32px 28px 28px;
transition: box-shadow 0.16s ease, transform 0.16s ease;
}
.shs-fs-card:hover {
box-shadow: var(–shs-shadow-card);
transform: translateY(-2px);
}
.shs-fs-card .shs-h3 { font-size: 18px; margin-bottom: 14px; }
.shs-fs-card__list {
font-family: var(–shs-mono); font-size: 13px; line-height: 1.95;
color: var(–shs-text-muted); margin: 0 0 22px; padding: 0; list-style: none;
}
.shs-fs-card__list li { padding-left: 18px; position: relative; }
.shs-fs-card__list li::before { content: “—”; position: absolute; left: 0; color: var(–shs-steel); }
.shs-fs-card__link {
font-family: ‘Inter’, sans-serif; font-size: 13px; font-weight: 600;
color: var(–shs-steel); text-decoration: none; letter-spacing: 0.02em; text-transform: uppercase;
}
.shs-fs-card__link:hover { color: var(–shs-ink); }
.shs-fs-card__link::after { content: ” →”; font-family: var(–shs-mono); }

/* === Final CTA === */
.shs-cta-final { max-width: 720px; margin: 0 auto; text-align: center; }
.shs-cta-final .shs-eyebrow { color: var(–shs-steel); }
.shs-cta-final .shs-cta-row { justify-content: center; margin-top: 10px; }
.shs-section-head { display: flex; flex-direction: column; align-items: flex-start; max-width: 760px; }

/* === Mobile === */
@media (max-width: 900px) {
.shs-section { padding: 80px 22px; }
.shs-h1 { font-size: 36px; max-width: 100%; }
.shs-h2 { font-size: 26px; }
.shs-trust-strip { gap: 16px; margin-top: 40px; padding-top: 22px; }
.shs-trust-strip__item { font-size: 11px; }
.shs-credibility-row { gap: 10px 20px; flex-direction: column; }
.shs-credibility-row span { padding-right: 0; }
.shs-credibility-row span::after { display: none !important; }
.shs-cat-grid { gap: 12px; margin-top: 40px; }
.shs-why-grid { gap: 40px; margin-top: 40px; }
.shs-why__num { font-size: 48px; }
.shs-btn { padding: 15px 24px; font-size: 14.5px; }
.ast-builder-menu-1 .menu-item > a { padding: 12px 12px !important; font-size: 13px !important; }
.site-branding .site-title a { font-size: 17px !important; }
}
@media (max-width: 560px) {
.shs-cat-grid { grid-template-columns: 1fr; }
.shs-trust-strip { flex-direction: column; gap: 12px; }
}

// Networking & Infrastructure · Commercial Catalog
The infrastructure that carries surveillance, access, and alarm traffic without surprises. PoE switches, structured cabling, and the rack hardware that organizes a clean install.

// What We Carry
Networking & Infrastructure hardware on the shelf.

Commercial PoE Switches
8, 16, 24, 48-port managed and unmanaged PoE/PoE+/PoE++ switches sized to camera and access power budgets.

Structured Cabling
Cat5e, Cat6, Cat6a riser and plenum cable for security-system runs — 305m boxes and pre-terminated patch cords.

Racks & Enclosures
Wall-mount, open-frame, and 4-post racks; IP-rated outdoor enclosures for site cabinets and head-end gear.

Patch Panels & Jacks
Cat5e/Cat6/Cat6a patch panels in 12, 24, 48-port; keystone jacks and wall plates.

Fiber & Media Conversion
Singlemode/multimode fiber, SFP modules, media converters for runs beyond copper distance limits.

Cable Management & Termination
Wire managers, J-hooks, runway, conduit, terminators, testers — the small stuff that determines whether the install looks finished.

// Compatibility
Brands & platforms we stock for.

We stock networking & infrastructure hardware compatible with the integrator-standard platforms our customers actually deploy: Cisco, Ubiquiti, Netgear ProSAFE, TP-Link Omada, Hikvision/Dahua PoE switches, Tripp Lite, Panduit, Hubbell. Not sure if a specific SKU fits your existing system? Ask us before you order.

// Bulk Pricing & Technical Guidance
Need bulk pricing on networking & infrastructure?
Tell us the SKUs, quantities, and timeline. We come back with project pricing, lead times, and compatibility checks before you order.

Request Bulk Quote →
Ask a Technical Question

Scroll to Top