/* variables.css */
/*
 * Design tokens — palette, type, spacing, radius, shadow.
 *
 * Palette from the live netsafesolutions.com site (#0a77ba primary).
 *
 * Typography: Inter for body, Poppins for selective headings/buttons —
 * matching what the existing HubSpot CSS uses.
 */

/* Self-hosted Inter (variable, latin) and Poppins (static, latin).
 * Replaces a ~750ms cross-origin Google Fonts roundtrip with same-origin
 * loads. Subset to latin only — site copy is English. If non-Latin glyphs
 * become needed later, download the matching latin-ext .woff2 files from
 * fonts.gstatic.com and add corresponding @font-face blocks with
 * unicode-range hints. */
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url('../fonts/inter-variable-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('../fonts/poppins-500-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/poppins-600-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('../fonts/poppins-700-latin.woff2') format('woff2');
}

/* Metric-matched fallback fonts — eliminate CLS shift when Inter/Poppins
 * swap in. Each declaration takes a local system font (Arial — present on
 * every Win/Mac/iOS/Android device by default) and overrides its metrics
 * to match the web font, so the swap is visually seamless. Override values
 * are derived from the actual font tables, not heuristics. */
@font-face {
	font-family: 'Inter Fallback';
	src: local('Arial');
	size-adjust: 107%;
	ascent-override: 90%;
	descent-override: 22%;
	line-gap-override: 0%;
}
@font-face {
	font-family: 'Poppins Fallback';
	src: local('Arial');
	size-adjust: 112%;
	ascent-override: 92%;
	descent-override: 31%;
	line-gap-override: 9%;
}

:root {
	/* Brand */
	--ns-primary:        #0a77ba;
	--ns-primary-hover:  #085d94;
	--ns-accent-light:   #60a5fa;

	/* Text */
	--ns-text:           #191a1a;
	--ns-text-secondary: #4b5563;
	--ns-text-muted:     #6b7280;

	/* Surfaces / lines */
	--ns-bg:             #ffffff;
	--ns-bg-subtle:      #f9fafb;
	--ns-bg-section:     #f3f4f6;
	--ns-border:         #d1d5db;
	--ns-divider:        #e5e7eb;

	/* Accent (kept minimal — palette stays disciplined) */
	--ns-star:           #fbbc04;

	/* Type scale (clamped for fluid sizing without media queries on every step) */
	--ns-font-body:      'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--ns-font-heading:   'Poppins', 'Poppins Fallback', 'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, sans-serif;

	--ns-fs-body:        clamp(0.95rem, 0.9rem + 0.2vw, 1.0625rem);
	--ns-fs-small:       0.875rem;
	--ns-fs-h1:          clamp(2rem, 1.6rem + 1.6vw, 3rem);
	--ns-fs-h2:          clamp(1.5rem, 1.3rem + 0.8vw, 2.125rem);
	--ns-fs-h3:          clamp(1.125rem, 1.05rem + 0.3vw, 1.375rem);
	--ns-fs-hero-sub:    clamp(1rem, 0.95rem + 0.3vw, 1.25rem);

	/* Spacing scale (rem-based, multiples of 0.25) */
	--ns-space-1:        0.25rem;
	--ns-space-2:        0.5rem;
	--ns-space-3:        0.75rem;
	--ns-space-4:        1rem;
	--ns-space-6:        1.5rem;
	--ns-space-8:        2rem;
	--ns-space-12:       3rem;
	--ns-space-16:       4rem;
	--ns-space-20:       5rem;

	/* Radius + shadow */
	--ns-radius-sm:      4px;
	--ns-radius:         8px;
	--ns-radius-lg:      12px;
	--ns-shadow-sm:      0 1px 2px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(15, 23, 42, 0.08);
	--ns-shadow:         0 4px 6px rgba(15, 23, 42, 0.05), 0 10px 15px rgba(15, 23, 42, 0.08);

	/* Container width — maxes out around tablet portrait so long lines stay readable */
	--ns-container:      72rem;
	--ns-container-narrow: 48rem;
}

/* base.css */
/*
 * Base typography, body, links, headings, buttons.
 *
 * Loaded after GeneratePress's stylesheets (dependency on 'generatepress-style'
 * in functions.php) so these rules win over the parent theme defaults.
 */

body {
	margin: 0;
	font-family: var(--ns-font-body);
	font-size: var(--ns-fs-body);
	line-height: 1.6;
	color: var(--ns-text);
	background-color: var(--ns-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--ns-font-heading);
	color: var(--ns-text);
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin: 0 0 var(--ns-space-4);
}

h1 { font-size: var(--ns-fs-h1); font-weight: 700; }
h2 { font-size: var(--ns-fs-h2); font-weight: 600; }
h3 { font-size: var(--ns-fs-h3); font-weight: 600; }

p {
	margin: 0 0 var(--ns-space-4);
}

a {
	color: var(--ns-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 120ms ease;
}
a:hover, a:focus {
	color: var(--ns-primary-hover);
}

/* Buttons (used by the footer CTA + can be applied anywhere via .btn) */
.btn,
.footer-cta__button {
	display: inline-block;
	padding: var(--ns-space-3) var(--ns-space-6);
	font-family: var(--ns-font-heading);
	font-size: var(--ns-fs-body);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	color: #fff;
	background-color: var(--ns-primary);
	border: 0;
	border-radius: var(--ns-radius);
	cursor: pointer;
	transition: background-color 120ms ease, transform 120ms ease;
}
.btn:hover, .btn:focus,
.footer-cta__button:hover, .footer-cta__button:focus {
	background-color: var(--ns-primary-hover);
	color: #fff;
	text-decoration: none;
	transform: translateY(-1px);
}

.btn--ghost {
	background-color: transparent;
	color: var(--ns-primary);
	border: 1px solid var(--ns-primary);
}
.btn--ghost:hover, .btn--ghost:focus {
	background-color: var(--ns-primary);
	color: #fff;
}

/* Container — used inside sections that need to constrain content width */
.container,
.site-main > section > .container {
	max-width: var(--ns-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ns-space-6);
	padding-right: var(--ns-space-6);
}

/* Selection color matches brand */
::selection {
	background-color: var(--ns-primary);
	color: #fff;
}

/* header-nav.css */
/* Header base — matches Generator theme header height ~149px */
.show-for-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
a.show-for-sr:focus { position: fixed; top: 8px; left: 8px; z-index: 10000; width: auto; height: auto; margin: 0; padding: 10px 16px; overflow: visible; clip: auto; background: #fff; color: #0a77ba; font-weight: 600; border-radius: 4px; outline: 2px solid #0a77ba; }

/* Utility bar — above main nav, Sterling-style subtle */
.ns-util { background: #1a1a2e; border-bottom: 1px solid rgba(255,255,255,0.08); font-family: Inter, sans-serif; font-size: 14px; color: #d1d5db; }
.ns-util__inner { box-sizing: border-box; width: 100%; margin: 0; padding: 9px 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ns-util__left { display: flex; align-items: center; flex-wrap: wrap; }
.ns-util__item { display: inline-flex; align-items: center; gap: 10px; padding: 0 18px; color: #d1d5db; text-decoration: none; transition: color 0.15s ease; white-space: nowrap; font-family: Inter, sans-serif; }
.ns-util__item:first-child { padding-left: 0; }
.ns-util__item + .ns-util__item { border-left: 1px solid rgba(255,255,255,0.15); }
.ns-util__item svg { width: 17px; height: 17px; fill: #60a5fa; flex-shrink: 0; }
.ns-util__item--phone svg { width: 20px; height: 20px; }
.ns-util__item--phone { font-weight: 500; }
.ns-util__item:hover { color: #60a5fa; }
.ns-util__right { display: flex; align-items: center; gap: 0; }
.ns-util__social { display: inline-flex; align-items: center; justify-content: center; width: auto; min-width: 38px; height: 30px; padding: 0 14px; color: #d1d5db; transition: color 0.15s ease; text-decoration: none; }
.ns-util__social + .ns-util__social { border-left: 1px solid rgba(255,255,255,0.15); }
.ns-util__social:hover { color: #60a5fa; }
.ns-util__social svg { width: 17px; height: 17px; fill: currentColor; }
@media (min-width: 1600px) {
  .ns-util__inner { padding: 9px 96px; }
}
@media (max-width: 900px) {
  .ns-util__item--hours,
  .ns-util__item--support { display: none; }
  .ns-util__inner { padding: 9px 32px; }
}
@media (max-width: 700px) {
  .ns-util__item--email { display: none; }
  .ns-util__inner { padding: 8px 16px; }
}
@media (max-width: 480px) {
  .ns-util__social { display: none; }
}

.ns-header { background: #fff; padding: 24px 0; position: relative; z-index: 1000; box-shadow: 0 1px 4px rgba(0,0,0,0.06); min-height: 90px; }
.ns-header__inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; }
.ns-header__logo img, .ns-logo { display: block; width: 220px; height: auto; }
.ns-header__logo a { display: inline-block; }

/* Desktop nav — Inter 18px to match Generator theme */
.ns-nav { display: flex; align-items: center; }
.ns-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.ns-nav__item { position: relative; }
.ns-nav__link { display: inline-flex; align-items: center; gap: 6px; padding: 14px 16px; color: #191a1a; text-decoration: none; font-size: 18px; font-weight: 400; letter-spacing: 0.2px; white-space: nowrap; transition: color 0.15s ease; font-family: Inter, sans-serif; cursor: pointer; }
button.ns-nav__link { background: none; border: 0; appearance: none; }
.ns-nav__link:hover { color: #0a77ba; }
.ns-nav__link--active { color: #0a77ba; }
.ns-nav__chevron { width: 11px; height: 11px; fill: currentColor; flex-shrink: 0; transition: transform 0.2s ease; }
.ns-nav__item--open .ns-nav__chevron { transform: rotate(180deg); }

/* Standard dropdown menu — refined cosmetic treatment */
.ns-nav__dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 9999;
  background: #ffffff;
  min-width: 260px;
  width: max-content;
  max-width: 320px;
  border-top: 2px solid #0a77ba;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04), 0 14px 40px rgba(10,119,186,0.10);
  padding: 8px 0;
  list-style: none;
  margin: 0;
}
.ns-nav__item--open > .ns-nav__dropdown {
  display: block;
  animation: ns-dropdown-fade 0.16s ease-out;
}
@keyframes ns-dropdown-fade {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.ns-nav__dropdown li { display: block; width: 100%; }
.ns-nav__dropdown li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 22px;
  color: #1f2937;
  text-decoration: none;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.1px;
  white-space: nowrap;
  transition: background 0.15s ease, color 0.15s ease, padding 0.15s ease;
  font-family: Inter, sans-serif;
}
.ns-nav__dropdown li a::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 3.5px solid transparent;
  border-bottom: 3.5px solid transparent;
  border-left: 5px solid #0a77ba;
  opacity: 0.5;
  transition: opacity 0.15s ease, transform 0.15s ease;
  flex-shrink: 0;
}
.ns-nav__dropdown li a:hover {
  background: #f0f7fc;
  color: #0a77ba;
}
.ns-nav__dropdown li a:hover::before {
  opacity: 1;
  transform: translateX(3px);
}

/* Mega menu for Services, Industries — 2 columns */
.ns-nav__dropdown.ns-nav__dropdown--mega { min-width: 580px; max-width: 640px; width: 620px; }
.ns-nav__item--open > .ns-nav__dropdown.ns-nav__dropdown--mega {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.ns-nav__dropdown--mega li { width: auto; }
.ns-nav__dropdown--mega li a { padding: 10px 22px; font-size: 15px; white-space: normal; }

/* Mega menu for Services — 3 columns with category sections */
.ns-nav__dropdown.ns-nav__dropdown--mega-3col {
  display: none;
  min-width: 900px;
  max-width: 980px;
  width: 940px;
  padding: 16px 0;
}
.ns-nav__item--open > .ns-nav__dropdown.ns-nav__dropdown--mega-3col {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
}
.ns-nav__dropdown-section {
  padding: 0 4px;
  border-right: 1px solid #e5e7eb;
  list-style: none;
  display: block;
}
.ns-nav__dropdown-section:last-child { border-right: none; }
.ns-nav__dropdown-section::before { display: none !important; }
.ns-nav__dropdown-heading {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #0a77ba;
  padding: 2px 22px 8px;
  margin: 0 0 6px;
  font-family: Inter, sans-serif;
  border-bottom: 1px solid #eef4f9;
}
.ns-nav__dropdown-section ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ns-nav__dropdown-section ul li a {
  padding: 8px 22px;
  font-size: 14px;
  white-space: normal;
  line-height: 1.35;
}

/* Single-column labeled dropdown — for Resources + About */
.ns-nav__dropdown.ns-nav__dropdown--labeled {
  min-width: 240px;
  max-width: 300px;
  width: 260px;
  padding: 16px 0;
}
.ns-nav__item--open > .ns-nav__dropdown.ns-nav__dropdown--labeled {
  display: block;
}
.ns-nav__dropdown--labeled .ns-nav__dropdown-section {
  padding: 0;
  border-right: none;
}
.ns-nav__dropdown--labeled .ns-nav__dropdown-section ul li a {
  padding: 9px 22px;
  font-size: 15px;
}

/* Menus that would run under the fixed Get Support tab open to the left.
   Mega menus stay left-aligned to their item until the 940px panel would
   pass the tab (75px) plus an 8px gap, then shift. About is right-aligned
   to its item. Resources already clears the tab. */
@media (min-width: 1025px) {
  .ns-nav__item:nth-child(1) { anchor-name: --ns-nav-1; }
  .ns-nav__item:nth-child(2) { anchor-name: --ns-nav-2; }
  .ns-nav__item:nth-child(1) > .ns-nav__dropdown--mega-3col { position-anchor: --ns-nav-1; }
  .ns-nav__item:nth-child(2) > .ns-nav__dropdown--mega-3col { position-anchor: --ns-nav-2; }
  .ns-nav__dropdown.ns-nav__dropdown--mega-3col {
    position: fixed;
    top: anchor(bottom);
    right: auto;
    margin: 0;
    left: max(8px, min(anchor(left), calc(100vw - 1023px)));
  }
  .ns-nav__item:nth-last-child(2) > .ns-nav__dropdown--labeled {
    left: auto;
    right: 0;
  }
}

/* Mobile nav — category headings inside Services dropdown */
.ns-mobile-nav__dropdown-heading {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #0a77ba;
  padding: 14px 24px 6px;
  font-family: Inter, sans-serif;
  background: #f9fafb;
}

/* CTA button */
.ns-nav__cta { display: inline-block; padding: 12px 22px; background: #0a77ba; color: #fff !important; text-decoration: none; border-radius: 6px; font-size: 16px; font-weight: 600; white-space: nowrap; transition: background 0.15s ease; font-family: Inter, sans-serif; margin-left: 16px; }
.ns-nav__cta:hover { background: #085d94; color: #fff !important; }

/* Mobile hamburger */
.ns-header__mobile-toggle { display: none; background: none; border: none; cursor: pointer; padding: 8px; }
.ns-header__mobile-toggle svg { width: 28px; height: 28px; fill: #191a1a; }

/* Mobile nav panel */
.ns-mobile-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; box-shadow: 0 8px 32px rgba(0,0,0,0.12); z-index: 9998; max-height: 80vh; overflow-y: auto; }
.ns-mobile-nav--open { display: block; }
.ns-mobile-nav__list { list-style: none; margin: 0; padding: 16px 0; }
.ns-mobile-nav__item { display: block; width: 100%; position: relative; }
.ns-mobile-nav__link { display: block; padding: 14px 24px; color: #191a1a; text-decoration: none; font-size: 18px; font-weight: 400; font-family: Inter, sans-serif; }
button.ns-mobile-nav__link { width: 100%; background: none; border: 0; appearance: none; text-align: left; cursor: pointer; }
.ns-mobile-nav__link--support { color: #0a77ba; font-weight: 600; }
.ns-mobile-nav__link:hover { background: #f0f7fc; color: #0a77ba; }
.ns-mobile-nav__toggle { background: none; border: none; cursor: pointer; padding: 14px 20px; position: absolute; right: 0; top: 0; }
.ns-mobile-nav__toggle svg { width: 14px; height: 14px; fill: #191a1a; transition: transform 0.2s ease; }
.ns-mobile-nav__item--open > .ns-mobile-nav__toggle svg { transform: rotate(180deg); }
.ns-mobile-nav__dropdown { display: none; list-style: none; margin: 0; padding: 0; background: #f9fafb; }
.ns-mobile-nav__item--open > .ns-mobile-nav__dropdown { display: block; }
.ns-mobile-nav__dropdown li a { display: block; padding: 12px 24px 12px 40px; color: #191a1a; text-decoration: none; font-size: 16px; font-family: Inter, sans-serif; }
.ns-mobile-nav__dropdown li a:hover { color: #0a77ba; }
.ns-mobile-nav__cta { display: block; margin: 12px 24px; padding: 14px 20px; background: #0a77ba; color: #fff !important; text-decoration: none; border-radius: 6px; font-size: 16px; font-weight: 600; text-align: center; font-family: Inter, sans-serif; }

/* Responsive */
@media (max-width: 1024px) {
  .ns-nav { display: none; }
  .ns-header__mobile-toggle { display: block; }
  .ns-support-float { display: none; }
}
@media (min-width: 1025px) {
  .ns-mobile-nav { display: none !important; }
}

/* Floating Support Button — fixed right edge */
.ns-support-float { position: fixed; right: 0; top: 35%; transform: translateY(-50%); z-index: 9990; }
.ns-support-float__btn { display: flex; align-items: center; gap: 12px; padding: 22px 24px; background: #0a77ba; color: #fff; text-decoration: none; font-family: Poppins, Inter, sans-serif; font-size: 18px; font-weight: 600; letter-spacing: 1.2px; text-transform: uppercase; border-radius: 12px 0 0 12px; box-shadow: -3px 3px 16px rgba(0,0,0,0.2); transition: background 0.15s ease, padding-right 0.15s ease; writing-mode: vertical-rl; text-orientation: mixed; white-space: nowrap; }
.ns-support-float__btn:hover { background: #085d94; padding-right: 30px; color: #fff; }
.ns-support-float__btn svg { width: 26px; height: 26px; fill: #fff; flex-shrink: 0; }
@media (max-width: 768px) {
  .ns-support-float { top: 40%; }
  .ns-support-float__btn { padding: 14px 14px; font-size: 13px; }
  .ns-support-float__btn svg { width: 18px; height: 18px; }
}

/* footer.css */
/* Extracted from rendered HubSpot HTML — footer CSS lives in an inline <style> tag */


.ns-footer { background: #1a1a2e; color: #d1d5db; padding: 48px 0 0 0; font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif; }
.ns-footer__inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.ns-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.4fr; gap: 40px; }
.ns-footer h4 { color: #fff; font-size: 16px; font-weight: 600; margin: 0 0 16px 0; font-family: Poppins, Inter, sans-serif; }
.ns-footer h5 { color: #0a77ba; font-size: 11px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; margin: 0 0 10px 0; font-family: Inter, sans-serif; }
.ns-footer p { font-size: 14px; line-height: 1.7; color: #9ca3af; margin: 0 0 8px 0; }
.ns-footer a { color: #9ca3af; text-decoration: none; transition: color 0.15s ease; }
.ns-footer a:hover { color: #0a77ba; }

/* About column */
.ns-footer__about p { margin-bottom: 6px; }
.ns-footer__about strong { color: #d1d5db; }

/* Links columns */
.ns-footer__links ul, .ns-footer__newsletter ul { list-style: none; margin: 0; padding: 0; }
.ns-footer__links li { margin-bottom: 7px; }
.ns-footer__links a { font-size: 13.5px; line-height: 1.45; }

/* Social icons */
.ns-footer__social { display: flex; gap: 16px; margin-top: 20px; }
.ns-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(255,255,255,0.08); transition: background 0.15s ease; }
.ns-footer__social a:hover { background: #0a77ba; }
.ns-footer__social svg { width: 16px; height: 16px; fill: #d1d5db; }

/* Bottom bar */
.ns-footer__bottom { border-top: 1px solid rgba(255,255,255,0.08); margin-top: 40px; padding: 20px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.ns-footer__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.ns-footer__copyright { font-size: 13px; color: #7f8591; }
.ns-footer__managed { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: #9ca3af; border: 1px solid rgba(255,255,255,0.16); border-radius: 999px; padding: 4px 10px; line-height: 1.2; }
.ns-footer__managed span { color: #d1d5db; letter-spacing: 0.02em; }
.ns-footer a.ns-footer__managed:hover { color: #fff; border-color: #0a77ba; background: rgba(10,119,186,0.18); }
.ns-footer a.ns-footer__managed:hover span { color: #fff; }
.ns-footer__legal { display: flex; gap: 20px; }
.ns-footer__legal a { font-size: 13px; color: #7f8591; }
.ns-footer__legal a:hover { color: #60a5fa; }

.ns-newsletter__note { font-size: 13px; margin: 0 0 10px; }
.ns-footer .ns-newsletter-form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; max-width: 520px; }
.ns-footer .ns-newsletter-form input[type="email"] { flex: 1; min-width: 200px; padding: 10px 12px; border-radius: 6px; border: 1px solid #cbd5e1; font-size: 14px; font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif; }
.ns-footer .ns-newsletter-form .ns-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.ns-footer .ns-newsletter-form button { padding: 10px 18px; border: 0; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; background: #0a77ba; color: #ffffff; font-family: Inter, -apple-system, BlinkMacSystemFont, sans-serif; }
.ns-footer .ns-nl-status { flex-basis: 100%; font-size: 13px; margin-top: 6px; color: #475569; }

/* Mobile */
@media (max-width: 768px) {
  .ns-footer__grid { grid-template-columns: 1fr; gap: 32px; }
  .ns-footer__links li { margin-bottom: 4px; }
  .ns-footer__links a { font-size: 16px; display: inline-block; padding: 6px 0; min-height: 44px; line-height: 32px; }
  .ns-footer__bottom { flex-direction: column; text-align: center; }
  .ns-footer__meta { justify-content: center; }
  .ns-footer__managed { font-size: 12px; padding: 8px 14px; min-height: 44px; }
  .ns-footer__legal { justify-content: center; }
  .ns-footer__legal a { font-size: 15px; padding: 8px 0; min-height: 44px; display: inline-block; line-height: 28px; }
}

/* frame.css */
/* Frame pages: staging home, office block, placeholders, and the partner line. */

.ns-footer__grid {
  grid-template-columns: 2fr 1fr 1fr 1.4fr;
}

.ns-footer__partner {
  font-size: 13px;
  color: #9ca3af;
}

.ns-footer a.ns-footer__partner:hover {
  color: #fff;
}

.frame-hero {
  background: var(--ns-primary);
  color: #fff;
  padding: 4.5rem 1.25rem 5rem;
}

.frame-hero__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.frame-eyebrow {
  margin: 0 0 0.75rem;
  font-family: var(--ns-font-body);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
}

.frame-hero h1 {
  margin: 0 0 1rem;
  color: #fff;
  font-size: clamp(2.25rem, 1.6rem + 2vw, 3.25rem);
}

.frame-lede,
.frame-note {
  max-width: 40rem;
  margin: 0 0 1rem;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.95);
}

.frame-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.btn {
  display: inline-block;
  padding: 0.75rem 1.25rem;
  font-family: var(--ns-font-heading);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  border-radius: 6px;
  border: 1px solid transparent;
}

.btn--on-blue {
  background: #fff;
  color: var(--ns-primary);
}

.btn--on-blue:hover,
.btn--on-blue:focus {
  background: #f3f4f6;
  color: var(--ns-primary-hover);
  text-decoration: none;
}

.btn--outline {
  background: transparent;
  color: #fff;
  border-color: #fff;
}

.btn--outline:hover,
.btn--outline:focus {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  text-decoration: none;
}

.frame-office {
  background: #fff;
  padding: 3rem 1.25rem 4rem;
}

.frame-office__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.frame-office h2 {
  margin-bottom: 0.75rem;
}

.frame-office address {
  font-style: normal;
  line-height: 1.7;
  color: var(--ns-text);
}

.frame-page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3.5rem 1.25rem 5rem;
}

.frame-page .frame-kicker {
  margin: 0 0 0.5rem;
  color: var(--ns-primary);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:focus-visible {
  outline: 2px solid var(--ns-primary);
  outline-offset: 2px;
}

.frame-hero :focus-visible {
  outline-color: #fff;
}

@media (max-width: 768px) {
  .ns-footer__grid {
    grid-template-columns: 1fr;
  }

  .frame-hero {
    padding: 3rem 1.25rem 3.5rem;
  }
}

/* .frame-actions sets display:flex, which would override the hidden attribute
   (newsletter unsubscribe confirm form starts hidden until its token is read). */
.frame-actions[hidden],
.frame-note[hidden] {
  display: none;
}

button.btn {
  cursor: pointer;
}

/* content.css */
:where(.is-layout-grid){gap:.5em}
.location-hero{background-size:cover;background-position:center center;padding:120px 20px;min-height:400px;text-align:center;position:relative}
.location-hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:0}
.location-hero>*{position:relative;z-index:1}
.location-hero .hero-sub{color:#fff;font-size:22px;font-weight:700;line-height:1.56;margin:0 auto 40px;max-width:720px}
.location-hero .cta-btn{display:inline-block;font-weight:500;font-size:16px;color:#fff;border:2px solid #fff;border-radius:50px;padding:16px 40px;text-decoration:none;transition:background .2s ease,color .2s ease}
.location-hero .cta-btn:hover{background:rgba(255,255,255,.85);color:#000}
.section-white{max-width:1200px;margin:0 auto;padding:64px 20px;text-align:center}
.section-white p{max-width:800px;margin-left:auto;margin-right:auto;text-align:left}
.section-gray{background:#f8fafc}
.section-gray-inner{max-width:1200px;margin:0 auto;padding:64px 20px;text-align:center}
.section-gray-inner p{max-width:800px;margin-left:auto;margin-right:auto;text-align:left}
.section-dark{background:#1a2332;color:#fff;text-align:center}
.section-dark h2{color:#fff}
.section-dark p{color:#cbd5e1;max-width:800px;margin-left:auto;margin-right:auto;text-align:left}
.section-dark strong{color:#fff}
.section-dark a{color:#60a5fa}
.section-dark a:hover{color:#93bbfd}
.section-gray-inner h2,.section-white h2{margin-top:0;margin-bottom:20px}
.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px;text-align:center}
@media (max-width:767px){.section-gray-inner,.section-white{padding:48px 20px}.stats-bar{grid-template-columns:repeat(2,1fr);gap:16px}}
.stat-item{padding:24px 16px;background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.stat-number{display:block;font-size:36px;font-weight:700;color:#0a77ba;line-height:1.2;margin-bottom:6px}
.stat-label{display:block;font-size:14px;color:#64748b;line-height:1.4}
.split-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;max-width:1200px;margin:0 auto;text-align:left}
.split-row img{width:100%;border-radius:12px;object-fit:cover;height:100%;max-height:400px}
.split-row h2{margin-top:0;text-align:left}
@media (max-width:767px){.blog-body-wrap .split-row h2{margin:0}}
.split-row p{max-width:none;margin-left:0;margin-right:0}
@media (max-width:767px){.split-row{grid-template-columns:1fr;gap:24px}.split-row img{max-height:280px}}
.faq-section{margin-top:32px;max-width:800px;margin-left:auto;margin-right:auto}
.faq-item{padding:28px 0;border-bottom:1px solid #e5e7eb;text-align:left}
.faq-item:last-child{border-bottom:none}
.faq-item h3{margin:0 0 10px;color:#191a1a}
.faq-item p{margin:0;color:#4b5563;line-height:1.7}
.faq-item p+p{margin-top:12px}
.faq-item h3+p{padding-bottom:0;margin-bottom:0;border-bottom:none}
.location-hero{background:linear-gradient(135deg,#0a2540 0,#0a77ba 100%)}
.faq-accordion{max-width:920px;margin:24px auto 0}
.faq-accordion details{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px 22px;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.03)}
.faq-accordion summary{cursor:pointer;font-weight:600;color:#0a2540;font-size:1.04rem;list-style:none}
.faq-accordion summary::-webkit-details-marker{display:none}
.faq-accordion summary::after{content:'+';float:right;color:#0a77ba;font-weight:300;font-size:1.5rem;line-height:1}
.faq-accordion details[open] summary::after{content:'−'}
.faq-accordion details[open]{box-shadow:0 4px 16px rgba(10,119,186,.08)}
.faq-accordion details>p{margin:14px 0 0;color:#475569;line-height:1.65}
.home-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:40px auto 0;text-align:left}
.home-service-card{padding:28px 24px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:box-shadow .2s ease,transform .2s ease}
.home-service-card:hover{box-shadow:0 6px 20px rgba(10,119,186,.1);transform:translateY(-3px)}
.home-service-card h3{margin:0 0 10px;font-size:18px}
.home-service-card p{margin:0 0 14px;color:#4b5563;font-size:15px;line-height:1.6}
.home-service-card a{color:#0a77ba;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:6px;font-size:15px}
.home-service-card a:hover{color:#065a8c;gap:10px}
.home-service-card a::after{content:"\2192";font-size:1.1em}
.home-industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1000px;margin:32px auto 0}
.home-industry-pill{display:block;padding:20px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;text-decoration:none;color:#191a1a;font-weight:500;font-size:15px;text-align:center;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.home-industry-pill:hover{box-shadow:0 4px 16px rgba(10,119,186,.1);transform:translateY(-2px);border-color:#0a77ba;color:#0a77ba}
.home-why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:1000px;margin:40px auto 0;text-align:left}
.home-why-item{display:flex;gap:18px;align-items:flex-start}
.home-why-icon{flex-shrink:0;width:48px;height:48px;background:#e8f4fb;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#0a72b2;font-weight:700;font-size:16px}
.home-why-text strong{display:block;margin-bottom:4px}
.home-why-text p{margin:0;color:#4b5563;font-size:15px;line-height:1.6}
@media (max-width:900px){.home-services-grid{grid-template-columns:repeat(2,1fr)}.home-industry-grid{grid-template-columns:repeat(2,1fr)}}
.location-hero{background-size:cover;background-position:center center;padding:120px 20px;min-height:400px}
.location-hero h1{color:#fff;margin:0 0 10px}
.location-hero .hero-sub{color:#fff;font-size:22px;line-height:1.56;margin:0 0 40px}
@media (max-width:767px){.home-services-grid{grid-template-columns:1fr}.home-industry-grid{grid-template-columns:1fr 1fr}.home-why-grid{grid-template-columns:1fr}.location-hero{padding:80px 20px}.location-hero .hero-sub{font-size:18px}}
.location-hero .cta-btn{display:inline-block;font-weight:500;font-size:16px;color:#fff;border:2px solid #fff;border-radius:50px;padding:16px 40px;text-decoration:none;transition:all .15s linear}
.location-hero .cta-btn:hover{background:rgba(255,255,255,.8);color:#000}
.location-hero{background-size:cover;background-position:center}
.ns-support-float{position:fixed;right:0;top:35%;transform:translateY(-50%);z-index:9990}
.ns-support-float__btn{display:flex;align-items:center;gap:12px;padding:22px 24px;background:#0a77ba;color:#fff;text-decoration:none;font-family:Poppins,Inter,sans-serif;font-size:18px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;border-radius:12px 0 0 12px;box-shadow:-3px 3px 16px rgba(0,0,0,.2);transition:background .15s ease,padding-right .15s ease;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap}
.ns-support-float__btn:hover{background:#085d94;padding-right:30px;color:#fff}
.ns-support-float__btn svg{width:26px;height:26px;fill:#fff;flex-shrink:0}
@media (max-width:768px){.ns-support-float{top:40%}.ns-support-float__btn{padding:14px;font-size:13px}.ns-support-float__btn svg{width:18px;height:18px}}
.ns-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px}
@media (max-width:768px){.ns-footer__grid{grid-template-columns:1fr;gap:32px}}
.faq-section{max-width:100%;margin:32px auto 0}
.faq-section>.faq-item{border-bottom:1px solid #e5e7eb;padding:24px 0;max-width:100%}
.faq-section>.faq-item:last-child{border-bottom:0}
.faq-section>.faq-item h3{margin:0 0 12px;font-size:1.15rem}
.faq-section>.faq-item p{margin:0;color:#4b5563;line-height:1.7}
.faq-section.faq--desktop{text-align:left}
.faq-section.faq--desktop .faq-twopane{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:28px;align-items:stretch}
.faq-section.faq--desktop .faq-list{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}
.faq-section.faq--desktop .faq-q{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #f0f1f3;padding:16px 18px;font-size:.95rem;font-weight:500;color:#374151;cursor:pointer;font-family:inherit;line-height:1.4;transition:background .15s ease,color .15s ease}
.faq-section.faq--desktop .faq-q:last-child{border-bottom:0}
.faq-section.faq--desktop .faq-q:hover{background:#f9fafb;color:#0a77ba}
.faq-section.faq--desktop .faq-q.is-active{background:#e8f4fb;color:#0a77ba;font-weight:600}
.faq-section.faq--desktop .faq-panels{display:flex;flex-direction:column}
.faq-section.faq--desktop .faq-panel{display:none;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:32px}
.faq-section.faq--desktop .faq-panel.is-active{display:flex;flex-direction:column;flex:1}
.faq-section.faq--desktop .faq-panel h3{margin:0 0 14px;font-size:1.4rem;color:#191a1a}
.faq-section.faq--desktop .faq-panel p{margin:0;color:#4b5563;line-height:1.7;max-width:100%}
.faq-section.faq--mobile{text-align:left}
.faq-section.faq--mobile .faq-accordion{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}
.faq-section.faq--mobile details{border-bottom:1px solid #f0f1f3}
.faq-section.faq--mobile details:last-child{border-bottom:0}
.faq-section.faq--mobile summary{padding:16px 44px 16px 18px;font-size:1rem;font-weight:500;color:#191a1a;cursor:pointer;position:relative;list-style:none;line-height:1.4}
.faq-section.faq--mobile summary::-webkit-details-marker{display:none}
.faq-section.faq--mobile summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:#0a77ba;font-weight:400;line-height:1}
.faq-section.faq--mobile details[open] summary::after{content:"−"}
.faq-section.faq--mobile details[open] summary{background:#f9fafb;color:#0a77ba}
.faq-section.faq--mobile .faq-answer{padding:4px 18px 20px;color:#4b5563;line-height:1.7}
.faq-section.faq--mobile .faq-answer p{margin:0}
.entry-content:not(:first-child){margin-top:2em}
.entry-content>p:last-child{margin-bottom:0}
body .content-area,body .entry-content,body .inside-article,body .site-main,body article.page,body article.post,body article[id^=post-]{max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
body .inside-article{box-shadow:none!important;border:0!important}
.location-hero,.location-hero h1,.location-hero h2,.location-hero p,.location-hero>div{text-align:center!important}
.location-hero .hero-sub,.location-hero .hero-tagline{margin-left:auto!important;margin-right:auto!important;max-width:720px!important;text-align:center!important;display:block!important}
.section-gray-inner,.section-white{margin-left:auto!important;margin-right:auto!important}
.location-hero{width:100%;max-width:100%;box-sizing:border-box}
.section-dark,.section-gray,.section-white{width:100%;box-sizing:border-box}
.section-gray-inner{max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding-left:24px!important;padding-right:24px!important;padding-top:64px!important;padding-bottom:64px!important;box-sizing:border-box}
.section-gray:has(+ .section-dark)>.section-gray-inner{padding-bottom:32px!important}
.section-gray{background-color:#f4f7fa;background-image:repeating-linear-gradient(135deg,transparent 0,transparent 14px,rgba(10,119,186,.06) 14px,rgba(10,119,186,.06) 15px);border-top:1px solid #e5eaf0;border-bottom:1px solid #e5eaf0}
.location-hero .hero-trust{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:16px 40px;margin:32px auto 0;max-width:760px;padding:0;list-style:none}
.location-hero .hero-trust__item{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.92);font-size:17px;font-weight:500;line-height:1.3;margin:0}
.location-hero .hero-trust__icon{width:26px;height:26px;flex-shrink:0;color:#fff;stroke:currentColor}
@media (max-width:600px){.location-hero .hero-trust{flex-direction:column;align-items:center;gap:14px}}
.location-hero h1{font-size:clamp(2.5rem, 1.8rem + 3vw, 4.5rem)!important;font-weight:700!important;line-height:1.1!important;margin:0 0 16px!important;letter-spacing:-.01em}
.location-hero .hero-tagline{color:#fff;font-size:clamp(1.25rem, 1rem + 1vw, 1.875rem);font-weight:500;line-height:1.35;margin:0 auto 16px;max-width:820px;text-align:center}
.location-hero .hero-sub{font-size:clamp(.95rem, .9rem + .3vw, 1.125rem)!important;font-weight:500!important;color:rgba(255,255,255,.85)!important;margin:0 auto 32px!important;max-width:720px!important}
.service-area{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:32px;align-items:start;max-width:1200px;margin:0 auto}
@media (max-width:768px){.service-area{grid-template-columns:1fr}}
.service-area__map .carolinas-map{margin:0;max-width:100%}
.service-area__list h4{margin:0 0 8px;font-size:.75rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#0a77ba}
.service-area__list .city-cols{column-count:2;column-gap:16px;margin:0 0 24px;padding:0;list-style:none}
.service-area__list .city-cols--single{column-count:1}
.service-area__list .city-cols li{font-size:.875rem;color:#475569;line-height:1.7;break-inside:avoid}
.carolinas-map{width:100%;height:auto;display:block;margin:16px auto 0}
.carolinas-map .state{fill:#e2e8ef;stroke:#94a3b8;stroke-width:1.5;stroke-linejoin:round;transition:fill .2s ease}
.carolinas-map .state--nc{fill:#dbe6ef}
.carolinas-map .state--sc{fill:#e6edf4}
.carolinas-map .state-label{fill:#64748b;font-size:12px;font-weight:700;letter-spacing:1.5px;font-family:Poppins,Inter,-apple-system,sans-serif;text-anchor:middle;pointer-events:none}
.carolinas-map .city circle{fill:#0a77ba;stroke:#ffffff;stroke-width:2;cursor:pointer;transition:stroke-width .15s ease,fill .15s ease}
.carolinas-map .city:hover circle{fill:#065a8c;stroke-width:4}
.carolinas-map .city--anchor circle{fill:#0a77ba;stroke:#ffffff;stroke-width:3}
.carolinas-map .city--anchor:hover circle{stroke-width:5}
.lt-decision{background:#fff;border-radius:12px;padding:36px 32px;box-shadow:0 18px 40px rgba(0,0,0,.22),0 4px 10px rgba(0,0,0,.08)}
.lt-decision__heading{position:relative;margin:0 0 26px;padding-bottom:14px;font-size:1.5rem;font-weight:700;color:#0f172a;text-align:center;line-height:1.25}
.lt-decision__heading::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:36px;height:3px;background:#0a77ba;border-radius:2px}
.lt-tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.lt-tiles{grid-template-columns:1fr}}
.lt-tile{display:flex;flex-direction:column;align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;padding:26px 20px 22px;text-align:center;text-decoration:none;color:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease;font:inherit;width:100%}
.lt-tile:hover{border-color:#0a77ba;background:#fff;transform:translateY(-2px);box-shadow:0 8px 20px rgba(10,119,186,.12)}
.lt-tile:focus{outline:0}
.lt-tile:focus-visible{outline:#0a77ba solid 2px;outline-offset:2px}
.lt-tile[aria-expanded=true]{border-color:#0a77ba;background:#fff;box-shadow:0 4px 14px rgba(10,119,186,.1)}
.lt-tile__icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 0 12px;color:#0a77ba}
.lt-tile__icon svg{width:100%;height:100%}
.lt-tile__title{display:block;margin:0 0 4px;font-size:.98rem;font-weight:700;color:#0f172a;line-height:1.3}
.lt-tile__desc{display:block;margin:0 0 12px;font-size:.82rem;color:#64748b;line-height:1.45}
.lt-tile__cta{display:inline-block;margin-top:auto;font-size:.84rem;font-weight:700;color:#0a77ba}
.lt-form-panel{max-width:1200px;margin:0 auto;background:#fff;border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.22),0 4px 10px rgba(0,0,0,.08);overflow:hidden;max-height:0;opacity:0;transform:translateY(-12px);transition:max-height .45s cubic-bezier(.16, 1, .3, 1),opacity .3s ease 50ms,transform .35s ease,margin-top .4s ease,padding .4s ease;padding:0 36px}
.lt-form-panel.is-open{max-height:1600px;opacity:1;transform:translateY(0);margin-top:28px;padding:36px}
.lt-form-helper{margin:0 0 18px;font-size:.85rem;color:#64748b;line-height:1.4}
.lt-required-mark{color:#c1272d;font-weight:700}
.lt-form-panel form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:14px 22px;border:none;padding:0;margin:0;min-inline-size:100%}
.lt-form-panel form fieldset>input[type=hidden],.lt-form-panel form fieldset>legend{display:none}
@media (max-width:700px){.lt-form-panel form fieldset{grid-template-columns:1fr}.lt-form-panel.is-open{padding:24px}}
.location-hero a.cta-btn{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#0a77ba;border:2px solid #fff;border-radius:50px;padding:16px 36px;font-size:16px;font-weight:700;letter-spacing:.2px;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.location-hero a.cta-btn::after{content:"\2192";font-size:18px;font-weight:700;line-height:1;transition:transform .2s ease}
.location-hero a.cta-btn:focus-visible,.location-hero a.cta-btn:hover{background:#fff;color:#0a77ba;transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,.28);outline:0}
.location-hero a.cta-btn:focus-visible::after,.location-hero a.cta-btn:hover::after{transform:translateX(5px)}
body.page .content-area,body.page .entry-content,body.page .inside-article,body.page .site-main,body.page article.page{padding-top:0!important;margin-top:0!important}
body.page .entry-content>:first-child{margin-top:0!important}
.home-service-card{padding:0!important;display:flex!important;flex-direction:column;overflow:hidden}
.home-service-card h3{padding:24px 24px 0!important;margin:0 0 10px!important}
.home-service-card p{padding:0 24px!important;margin:0 0 20px!important;flex-grow:1}
.home-service-card a{display:flex!important;align-items:center;justify-content:space-between;background:#0a77ba!important;color:#fff!important;padding:14px 20px!important;font-weight:600;font-size:15px;text-decoration:none!important;margin-top:auto;gap:0!important;transition:background .18s ease}
.home-service-card a:hover{background:#095e96!important;color:#fff!important;gap:0!important}
.home-service-card a::after{content:"\2192";margin-left:12px;transition:transform .18s ease}
.home-service-card a:hover::after{transform:translateX(4px)}
@media (max-width:768px){.home-pricing-grid{grid-template-columns:1fr!important}}
.leader-row{display:flex;gap:48px;max-width:1100px;margin:0 auto;align-items:stretch}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1100px;margin:0 auto}
@media (max-width:1023px){.leader-row{flex-direction:column;gap:24px}.values-grid{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.values-grid{grid-template-columns:1fr}}
.location-hero .hero-eyebrow{display:block;margin:0 0 18px!important;font-size:1.05rem!important;font-weight:700!important;letter-spacing:3px!important;color:#fff!important;text-transform:uppercase!important;text-align:center!important;line-height:1.2!important}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 40px;margin:32px auto 0;max-width:1000px;text-align:left}
.service-grid .service-card{padding:28px 24px;border-radius:12px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:box-shadow .2s ease,transform .2s ease}
.service-grid .service-card:hover{box-shadow:0 6px 20px rgba(10,119,186,.1);transform:translateY(-3px)}
.service-card .card-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:16px;background:#e8f4fb;border-radius:12px;color:#0a77ba;padding:12px}
.service-grid .service-card h3{margin:0 0 10px}
.service-grid .service-card p{margin:0 0 14px}
@media (max-width:767px){.service-grid{grid-template-columns:1fr;gap:24px}}
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 64px;margin:48px 0}
@media (max-width:767px){.service-grid{grid-template-columns:1fr;gap:32px}}
.service-grid .service-card h3{margin:0 0 12px}
.service-grid .service-card p{margin:0 0 16px}
.service-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:32px 40px!important;margin:32px auto 0!important;max-width:1000px!important;text-align:left!important;width:100%;box-sizing:border-box}
@media (max-width:767px){.service-grid{grid-template-columns:1fr!important;gap:24px!important}}
.service-grid .service-card{padding:0!important;margin:0!important;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.service-grid .service-card .card-icon{margin:28px 24px 16px!important}
.service-grid .service-card h3{margin:0 24px 10px!important;max-width:calc(100% - 48px)!important}
.service-grid .service-card p{margin:0 24px 24px!important;max-width:calc(100% - 48px)!important;flex:1}
.blog-list-hero{background:#1a2332;color:#fff;padding:80px 20px 64px;text-align:center}
.blog-list-hero__inner{max-width:820px;margin:0 auto}
.blog-list-hero__eyebrow{color:#60a5fa;font-size:14px;letter-spacing:1px;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.blog-list-hero h1{color:#fff;font-size:2.6rem;line-height:1.2;margin:0 0 16px;font-weight:700;letter-spacing:-.5px}
.blog-list-hero p{color:#cbd5e1;font-size:18px;line-height:1.6;max-width:640px;margin:0 auto}
.blog-list-hero p+p{margin-top:16px}
.blog-list-hero__topics{font-size:14px!important;color:#94a3b8!important;max-width:720px!important;margin-top:24px!important}
.blog-list-hero__topics a{color:#cbd5e1;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.25)}
.blog-list-hero__topics a:hover{color:#fff;text-decoration-color:rgba(255,255,255,.6)}
.blog-list-wrap{max-width:1200px;margin:0 auto;padding:64px 20px}
.blog-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.blog-list-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .25s ease,box-shadow .25s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column;border:1px solid #eef0f3}
.blog-list-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(10,119,186,.12)}
.blog-list-card__image{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#e8f4fb;display:block}
.blog-list-card__body{padding:24px;flex:1;display:flex;flex-direction:column}
.blog-list-card__topic{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:#0a77ba;font-weight:600;margin-bottom:10px}
.blog-list-card__title{font-size:19px;margin:0 0 12px;color:#191a1a;font-weight:700;line-height:1.35;letter-spacing:-.2px}
.blog-list-card__excerpt{color:#4b5563;font-size:15px;line-height:1.6;margin:0 0 16px;flex:1}
.blog-list-card__meta{color:#64748b;font-size:13px;padding-top:16px;border-top:1px solid #f1f5f9}
.blog-list-card__meta strong{color:#1f2937;font-weight:600}
.blog-pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}
.blog-pagination--top{margin-bottom:40px}
.blog-pagination--bottom{margin-top:56px}
.blog-pagination a,.blog-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 14px;border-radius:6px;text-decoration:none;color:#1f2937;font-size:15px;font-weight:500;border:1px solid #e5e7eb}
.blog-pagination a:hover{background:#0a77ba;color:#fff;border-color:#0a77ba}
.blog-pagination .current{background:#0a77ba;color:#fff;border-color:#0a77ba}
@media (max-width:900px){.blog-list-grid{grid-template-columns:repeat(2,1fr);gap:24px}}
@media (max-width:640px){.blog-list-hero{padding:56px 20px 40px}.blog-list-hero h1{font-size:2rem}.blog-list-grid{grid-template-columns:1fr}}
.section-dark{width:100%;box-sizing:border-box}
.blog-hero{background:#1a2332;color:#fff;padding:72px 20px 56px;text-align:center}
.blog-hero__inner{max-width:820px;margin:0 auto}
.blog-hero__meta{color:#94a3b8;font-size:14px;letter-spacing:.3px;text-transform:uppercase;margin-bottom:16px}
.blog-hero__meta a{color:#60a5fa;text-decoration:none}
.blog-hero__meta a:hover{text-decoration:underline}
.blog-hero h1{color:#fff;font-size:2.4rem;line-height:1.2;margin:0 0 20px;font-weight:700;letter-spacing:-.5px}
.blog-hero__author{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:28px;color:#cbd5e1;font-size:15px}
.blog-hero__author strong{color:#fff;font-weight:600}
.blog-featured-image{max-width:940px;margin:-40px auto 48px;padding:0 20px}
.blog-featured-image img{display:block;width:100%;height:auto;aspect-ratio:940/495;object-fit:cover;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.blog-body-wrap{max-width:820px;margin:0 auto;padding:0 20px 80px;color:#1f2937;font-size:18px;line-height:1.75}
.blog-body-wrap h2{font-size:1.8rem;color:#191a1a;margin:48px 0 16px;font-weight:700;letter-spacing:-.3px}
.blog-body-wrap h3{font-size:1.4rem;color:#191a1a;margin:36px 0 12px;font-weight:600}
.blog-body-wrap h4{font-size:1.15rem;color:#191a1a;margin:28px 0 10px;font-weight:600}
.blog-body-wrap p{margin:0 0 20px}
.blog-body-wrap a{color:#0a77ba;text-decoration:underline}
.blog-body-wrap a:hover{color:#085d94}
.blog-body-wrap ol,.blog-body-wrap ul{padding-left:24px;margin:0 0 24px}
.blog-body-wrap li{margin-bottom:10px}
.blog-body-wrap img{max-width:100%;height:auto;border-radius:8px;margin:24px 0}
.blog-body-wrap blockquote{border-left:4px solid #0a77ba;padding:8px 0 8px 24px;margin:28px 0;color:#4b5563;font-style:italic}
.blog-body-wrap pre{background:#f3f4f6;padding:20px;border-radius:8px;overflow-x:auto;font-size:14px}
.blog-body-wrap code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:.9em}
.blog-body-wrap table{width:100%;border-collapse:collapse;margin:24px 0}
.blog-body-wrap td,.blog-body-wrap th{border:1px solid #e5e7eb;padding:12px;text-align:left}
.blog-body-wrap th{background:#f3f4f6;font-weight:600}
.blog-author-bio{max-width:820px;margin:48px auto 0;padding:28px;background:#f8fafc;border-radius:12px;display:flex;gap:20px;align-items:flex-start}
.blog-author-bio__avatar{flex-shrink:0;width:64px;height:64px;border-radius:50%;background:#0a77ba;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:22px}
.blog-author-bio__text{flex:1}
.blog-author-bio__name{color:#191a1a;font-weight:700;font-size:17px;margin:0 0 4px}
.blog-author-bio__role{color:#64748b;font-size:14px;margin:0 0 8px}
.blog-author-bio__blurb{color:#4b5563;font-size:15px;line-height:1.6;margin:0}
@media (max-width:640px){.blog-hero{padding:56px 20px 40px}.blog-hero h1{font-size:1.8rem}.blog-featured-image{margin:-24px auto 32px}.blog-body-wrap{font-size:17px}.blog-body-wrap h2{font-size:1.5rem}.blog-body-wrap h3{font-size:1.25rem}.blog-author-bio{flex-direction:column}}
.author .page-header .page-title{display:flex;align-items:center}
.page-header>:last-child{margin-bottom:0}
.entry-summary>p:last-child,.taxonomy-description p:last-child{margin-bottom:0}
.page-header,.site-main>*{margin-bottom:20px}
.one-container.archive .post:not(:last-child):not(.is-loop-template-item){padding-bottom:40px}
.post-image:not(:first-child){margin-top:2em}
body .content-area,body .inside-article,body .site-main,body article.page,body article.post,body article[id^=post-]{max-width:100%!important;width:100%!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
body.page .content-area,body.page .inside-article,body.page .site-main,body.page article.page{padding-top:0!important;margin-top:0!important}
.service-grid .service-card .learn-more{color:#0a77ba;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:gap .2s ease,color .2s ease}
.service-grid .service-card .learn-more:hover{color:#065a8c;gap:10px}
.service-grid .service-card .learn-more{color:#0a77ba;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:6px}
.service-grid .service-card .learn-more:hover{color:#065a8c}
.service-grid .service-card .learn-more::after{content:"\2192";font-size:1.1em}
.service-grid .service-card .learn-more{display:flex!important;align-items:center;justify-content:space-between;background:#0a77ba!important;color:#fff!important;padding:14px 24px!important;margin:0!important;font-weight:500;text-decoration:none;border:0;width:100%;box-sizing:border-box;transition:background .15s ease;gap:12px!important}
.service-grid .service-card .learn-more:hover{background:#065a8c!important;color:#fff!important;gap:12px!important}
.service-grid .service-card .learn-more::after{content:"\2192"!important;color:#fff!important;font-size:1.2em;margin-left:auto}
.testimonials-aggregate{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:8px auto 36px;font-size:1rem;color:#475569}
.testimonials-aggregate__stars{color:#fbbc04;font-size:1.4rem;letter-spacing:2px;line-height:1}
.testimonials-aggregate__rating{font-weight:700;color:#191a1a;font-size:1.15rem}
.testimonials-aggregate__count{color:#627288}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;text-align:left}
@media (max-width:768px){.testimonials-grid{grid-template-columns:1fr}}
.testimonial{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:28px 24px;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.testimonial__stars{color:#fbbc04;font-size:1.1rem;letter-spacing:2px;line-height:1;margin-bottom:16px}
.testimonial__quote{font-size:1rem;line-height:1.65;color:#374151;margin:0 0 24px;font-style:normal;flex:1;max-width:100%!important;text-align:left!important}
.testimonial__quote::before{content:open-quote}
.testimonial__quote::after{content:close-quote}
.testimonial__author{display:flex;flex-direction:column;gap:2px;font-style:normal}
.testimonial__name{font-weight:600;color:#191a1a;font-size:.95rem}
.testimonial__date{font-size:.8rem;color:#6b7280}
.testimonials-link{color:#0a77ba;text-decoration:none;font-weight:500;font-size:.95rem;transition:color .15s ease}
.testimonials-link:hover{color:#065a8c;text-decoration:underline}
.pre-footer{background:#e6ecf2;border-top:1px solid #d4dde6;padding:56px 20px}
.pre-footer__inner{max-width:1200px;margin:0 auto;text-align:center}
.pre-footer__heading{margin:0 0 28px;font-size:.875rem;font-weight:700;letter-spacing:1.8px;color:#475569;text-transform:uppercase}
.pre-footer__pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.related-pill{display:inline-flex;align-items:center;padding:8px 16px;background:#fff;border:1px solid #e2e8ef;border-radius:999px;font-size:.875rem;font-weight:500;color:#374151;text-decoration:none;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;line-height:1.2}
.related-pill:hover{background:#fff;border-color:#0a77ba;color:#0a77ba;box-shadow:0 2px 8px rgba(10,119,186,.1)}
.service-template{padding-bottom:var(--ns-space-16)}
.service-body{max-width:var(--ns-container-narrow);margin:0 auto var(--ns-space-12);padding:0 var(--ns-space-6)}
body .service-body,body .service-body__content,body .site-main.service-template,body article.page{padding-bottom:0!important;margin-bottom:0!important}
.service-body,.service-body__content{max-width:100%!important;width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
@media (max-width:700px){.ns-job-card .ns-job-body,.ns-job-card header{padding-left:24px!important;padding-right:24px!important}}
.section-white h2{margin-top:0;margin-bottom:20px}
@media (max-width:767px){.section-white{padding:48px 20px}}
.section-white{margin-left:auto!important;margin-right:auto!important}
.section-dark,.section-white{width:100%;box-sizing:border-box}
.case-studies-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.case-studies-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.04),0 8px 24px rgba(15,23,42,.06);transition:transform .18s ease,box-shadow .18s ease}
.case-studies-card:hover{transform:translateY(-2px);box-shadow:0 1px 2px rgba(15,23,42,.06),0 12px 32px rgba(15,23,42,.1)}
.case-studies-card__link{display:block;text-decoration:none;color:inherit}
.case-studies-card__image{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#e8f4fb}
.case-studies-card__ribbon{background:linear-gradient(90deg,#0a77ba 0,#0c5d8e 100%);color:#fff;padding:14px 28px;display:flex;justify-content:center;align-items:center}
.case-studies-card__industry{font-size:.78rem;letter-spacing:.18em;font-weight:700;text-transform:uppercase}
.case-studies-card__body{padding:28px 32px 32px}
.case-studies-card__customer{margin:0 0 10px;color:#64748b;font-size:.78rem;letter-spacing:.13em;font-weight:700;text-transform:uppercase}
.case-studies-card__title{margin:0 0 22px;color:#0f172a;font-size:1.4rem;line-height:1.28;font-weight:700;letter-spacing:-.2px}
.case-studies-card__metrics{display:grid;gap:0;margin:0 0 24px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
.case-studies-card__metric{padding:18px 16px}
.case-studies-card__metric--divider{border-right:1px solid #e2e8f0}
.case-studies-card__metric-value{color:#0a77ba;font-size:1.4rem;line-height:1.1;font-weight:800;letter-spacing:-.4px;margin-bottom:4px}
.case-studies-card__metric-label{color:#0f172a;font-size:.85rem;font-weight:600;margin-bottom:2px}
.case-studies-card__metric-unit{color:#64748b;font-size:.78rem;font-weight:400}
.case-studies-card__excerpt{margin:0 0 24px;color:#334155;line-height:1.65;font-size:.96rem}
.case-studies-card__cta{display:inline-flex;align-items:center;gap:8px;background:#0a77ba;color:#fff;font-weight:600;font-size:.92rem;padding:12px 22px;border-radius:999px;letter-spacing:.2px}
@media (max-width:900px){.case-studies-grid{grid-template-columns:1fr}}
@media (max-width:600px){.case-studies-card__body{padding:24px 22px 26px}.case-studies-card__title{font-size:1.25rem}.case-studies-card__metrics{grid-template-columns:1fr!important}.case-studies-card__metric{border-right:none!important;border-bottom:1px solid #e2e8f0;padding:14px 0}.case-studies-card__metric:last-child{border-bottom:none}}
.case-studies-grid{grid-template-columns:repeat(3,1fr);gap:24px}
.case-studies-card{border-radius:12px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 4px 14px rgba(15,23,42,.05)}
.case-studies-card__ribbon{background:0 0;padding:14px 18px 0;justify-content:flex-start}
.case-studies-card__industry{color:#0a77ba;font-size:.68rem;letter-spacing:.14em}
.case-studies-card__customer,.case-studies-card__excerpt,.case-studies-card__metrics{display:none!important}
.case-studies-card__body{padding:8px 18px 18px}
.case-studies-card__title{font-size:1.05rem;line-height:1.32;margin:0 0 14px;letter-spacing:-.1px}
.case-studies-card__cta{background:0 0;color:#0a77ba;padding:0;border-radius:0;font-size:.88rem;gap:6px}
@media (max-width:980px){.case-studies-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.case-studies-grid{grid-template-columns:1fr}}
.case-study-template{padding-bottom:0}
.section-gray-inner h2{margin-top:0;margin-bottom:20px}
@media (max-width:767px){.section-gray-inner{padding:48px 20px}}
.cs-eyebrow{display:inline-block;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:18px}
.cs-financial-headlines{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:980px;margin:36px auto 0}
@media (max-width:720px){.cs-financial-headlines{grid-template-columns:1fr}}
.cs-financial-headlines .cs-fh{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:24px 22px;text-align:left;backdrop-filter:blur(2px)}
.cs-financial-headlines .cs-fh-amount{display:block;font-size:2.4rem;font-weight:700;color:#fff;line-height:1;margin-bottom:8px}
.cs-financial-headlines .cs-fh-label{display:block;color:#cbd5e1;font-size:.95rem}
.cs-snapshot-card{background:#fff;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.06),0 24px 48px rgba(10,37,64,.1);padding:32px 36px;max-width:1040px;margin:-60px auto 56px;position:relative;z-index:2}
.cs-snapshot-card h2{margin:0 0 18px;font-size:1.3rem;color:#0a2540;letter-spacing:.02em;text-transform:uppercase}
.cs-snapshot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px 28px;margin:0}
.cs-snapshot-grid dt{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:600;margin-bottom:4px}
.cs-snapshot-grid dd{margin:0;color:#0f172a;font-weight:500;line-height:1.4}
.cs-callout{border-left:4px solid #0a77ba;background:#f8fafc;padding:18px 22px;border-radius:0 10px 10px 0;margin:24px 0;color:#1e293b}
.cs-condition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:28px}
.cs-condition-grid .cs-condition{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 6px rgba(0,0,0,.04)}
.cs-condition h3{margin:0 0 10px;color:#0a77ba;font-size:1.05rem}
.cs-condition p{margin:0;color:#475569;font-size:.97rem;line-height:1.55}
.cs-tag-row{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 8px}
.cs-tag{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#eff6ff;color:#0a72b2;font-size:.88rem;font-weight:500;text-decoration:none;transition:background .15s ease}
.cs-tag:hover{background:#dbeafe;color:#075985}
.section-gray-inner{margin-left:auto!important;margin-right:auto!important}
.section-dark,.section-gray{width:100%;box-sizing:border-box}
.cs-snapshot-card{padding:44px 48px!important;margin-top:-56px!important}
.cs-snapshot-card h2{font-size:.78rem!important;letter-spacing:.18em!important;color:#0a77ba!important;margin:0 0 26px!important;font-weight:700!important}
.cs-snapshot-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important}
.cs-snapshot-grid>div{padding:18px 28px 18px 0;border-bottom:1px solid #eef1f5}
.cs-snapshot-grid>div:nth-child(2n){padding-right:0;padding-left:28px}
.cs-snapshot-grid>div:nth-last-child(-n+2){border-bottom:0;padding-bottom:4px}
.cs-snapshot-grid dt{font-size:.72rem!important;letter-spacing:.14em!important;text-transform:uppercase;color:#64748b!important;font-weight:700!important;margin-bottom:8px!important}
.cs-snapshot-grid dd{margin:0!important;color:#0f172a!important;font-weight:500!important;font-size:1.05rem!important;line-height:1.55!important}
@media (max-width:768px){.cs-snapshot-card{padding:28px 24px!important;margin-top:-32px!important}.cs-snapshot-grid{grid-template-columns:1fr!important}.cs-snapshot-grid>div,.cs-snapshot-grid>div:nth-child(2n){padding:16px 0!important;border-bottom:1px solid #eef1f5!important}.cs-snapshot-grid>div:last-child{border-bottom:0!important;padding-bottom:4px!important}}
.cs-data-table{width:100%;border-collapse:collapse;margin:24px 0 8px;font-size:.97rem}
.cs-data-table td,.cs-data-table th{padding:12px 14px;text-align:left;border-bottom:1px solid #e5e7eb;vertical-align:top}
.cs-data-table thead th{background:#f1f5f9;color:#0a2540;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}
.cs-data-table tbody tr:nth-child(2n) td{background:#f9fafb}
.cs-data-table tfoot td{font-weight:700;background:#0a2540;color:#fff;border-bottom:none}
.cs-data-table .cs-num{font-variant-numeric:tabular-nums;white-space:nowrap}
.split-row.reverse{direction:rtl}
.split-row.reverse>*{direction:ltr}
@media (max-width:767px){.split-row.reverse{direction:ltr}}
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1200px;margin:0 auto}
.contact-info-col{background:#1a2332;color:#fff;padding:64px 48px}
.contact-info-col h2{color:#fff;margin:0 0 32px;text-align:left}
.contact-info-col a{color:#60a5fa;text-decoration:none}
.contact-info-col a:hover{color:#93bbfd;text-decoration:underline}
.contact-detail{display:flex;gap:16px;align-items:flex-start;margin-bottom:28px}
.contact-detail-icon{flex-shrink:0;width:44px;height:44px;background:rgba(255,255,255,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#60a5fa}
.contact-detail-text p{margin:0;color:rgba(255,255,255,.85);line-height:1.6}
.contact-detail-text strong{color:#fff;display:block;margin-bottom:4px;font-size:15px}
@media (max-width:900px){.contact-split{grid-template-columns:1fr}.contact-info-col{padding:48px 24px}}
.contact-help-col{background:#fff;padding:64px 48px;display:flex;flex-direction:column;gap:16px}
.contact-help-col>h2{margin:0 0 8px!important;text-align:left!important;color:#0f172a;font-size:1.5rem}
.ct-tile{display:block;text-align:left;width:100%;background:#f8fafc!important;color:inherit!important;border:1px solid #e2e8f0!important;border-radius:12px;padding:32px 32px 28px!important;text-decoration:none;cursor:pointer;font-family:inherit;-webkit-appearance:none;appearance:none;transition:border-color .15s ease}
.ct-tile:hover{background:#f8fafc!important;color:inherit!important;border-color:#0a77ba!important}
.ct-tile:active,.ct-tile:focus{background:#f8fafc!important;color:inherit!important;border-color:#e2e8f0!important;outline:0;box-shadow:none}
.ct-tile:focus-visible{outline:#0a77ba solid 2px;outline-offset:2px}
.ct-tile__icon{display:block;color:#0a77ba;margin-bottom:14px;line-height:0}
.ct-tile__icon svg{width:28px;height:28px}
.ct-tile__eyebrow{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#0a77ba;margin-bottom:6px}
.ct-tile__title{display:block;font-size:1.15rem;font-weight:700;color:#0f172a;margin-bottom:10px;line-height:1.3}
.ct-tile__desc{display:block;font-size:.95rem;color:#475569;line-height:1.65;margin-bottom:16px}
.ct-tile__cta{display:inline-flex;align-items:center;gap:6px;color:#0a77ba;font-weight:600;font-size:.95rem}
@media (max-width:900px){.contact-help-col{padding:48px 24px}}
.stats-bar--dark .stat-item{background:#fff;border:none;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.stats-bar--dark .stat-number{color:#0a77ba}
.stats-bar--dark .stat-label{color:#475569}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:960px;margin:0 auto}
@media (max-width:768px){.why-grid{grid-template-columns:1fr}}
.why-card{padding:28px 28px 26px;background:#fff;border:1px solid #e2e8f0;border-top:3px solid #0a77ba;border-radius:8px}
.why-card h3{margin:0 0 12px;font-size:1.05rem;font-weight:700;color:#0f172a;line-height:1.3}
.why-card p{margin:0;font-size:.95rem;line-height:1.6;color:#475569}
.diff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:1000px;margin:32px auto 0;text-align:left}
.diff-item{display:flex;gap:20px;align-items:flex-start}
.diff-icon{flex-shrink:0;width:48px;height:48px;background:#e8f4fb;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#0a77ba;font-weight:700;font-size:18px}
.diff-text strong{display:block;margin-bottom:4px}
@media (max-width:767px){.diff-grid{grid-template-columns:1fr;gap:20px}}
.industry-template{padding-bottom:var(--ns-space-16)}
.industry-body{max-width:var(--ns-container-narrow);margin:0 auto var(--ns-space-12);padding:0 var(--ns-space-6)}
body .industry-body,body article.page{padding-bottom:0!important;margin-bottom:0!important}
.industry-body,.industry-body__content{max-width:100%!important;width:100%!important;margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}
.area-template{color:var(--ns-text)}
.area-container{width:100%;max-width:var(--ns-container);margin-left:auto;margin-right:auto;padding-left:var(--ns-space-6);padding-right:var(--ns-space-6);box-sizing:border-box}
.area-container--narrow{max-width:var(--ns-container-narrow)}
.area-section{padding-top:var(--ns-space-12);padding-bottom:var(--ns-space-12)}
@media (min-width:768px){.area-section{padding-top:var(--ns-space-16);padding-bottom:var(--ns-space-16)}}
.area-section--subtle{background-color:var(--ns-bg-subtle)}
.area-h2{font-size:var(--ns-fs-h2);text-align:center;margin:0 0 var(--ns-space-8)}
.area-hero{position:relative;background-color:var(--ns-primary);color:#fff;overflow:hidden;padding-top:var(--ns-space-16);padding-bottom:var(--ns-space-16)}
.area-hero__inner{position:relative;z-index:1;max-width:46rem;text-align:center}
.area-hero__title{color:#fff;font-size:var(--ns-fs-h1);margin:0 0 var(--ns-space-4)}
.area-hero__subtitle{color:rgba(255,255,255,.96);font-size:var(--ns-fs-hero-sub);margin:0 auto;max-width:42rem}
.area-hero__cta{display:inline-block;margin-top:var(--ns-space-8);padding:.75rem 1.5rem;background:#fff;color:var(--ns-primary);font-weight:700;border-radius:var(--ns-radius);text-decoration:none;transition:transform 120ms ease,box-shadow 120ms ease}
.area-hero__cta:hover{transform:translateY(-1px);box-shadow:var(--ns-shadow);color:var(--ns-primary);text-decoration:none}
.area-prose{font-size:var(--ns-fs-body);line-height:1.7}
.area-prose p{margin:0 0 var(--ns-space-4)}
.area-prose p:last-child{margin-bottom:0}
.area-callout{margin:var(--ns-space-8) 0 0;padding:var(--ns-space-4) var(--ns-space-6);background-color:#fff;border:1px solid var(--ns-divider);border-left:4px solid var(--ns-primary);border-radius:var(--ns-radius);font-weight:600}
.area-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--ns-space-2);justify-content:center}
.area-chip{padding:.4rem .9rem;background-color:#fff;border:1px solid var(--ns-divider);border-radius:999px;font-size:var(--ns-fs-small);color:var(--ns-text-secondary)}
.area-grid{display:grid;grid-template-columns:1fr;gap:var(--ns-space-4)}
@media (min-width:600px){.area-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.area-grid{grid-template-columns:repeat(3,1fr)}}
.area-card{display:flex;flex-direction:column;gap:var(--ns-space-2);padding:var(--ns-space-6);background-color:#fff;border:1px solid var(--ns-divider);border-radius:var(--ns-radius-lg);text-decoration:none;color:var(--ns-text);transition:border-color 120ms ease,transform 120ms ease,box-shadow 120ms ease}
.area-card:hover{border-color:var(--ns-primary);transform:translateY(-2px);box-shadow:var(--ns-shadow-sm);color:var(--ns-text);text-decoration:none}
.area-card__title{font-weight:700;color:var(--ns-primary)}
.area-card__desc{font-size:var(--ns-fs-small);color:var(--ns-text-secondary)}
.area-faq{border-top:1px solid var(--ns-divider)}
.area-faq__item{border-bottom:1px solid var(--ns-divider)}
.area-faq__q{list-style:none;cursor:pointer;padding:var(--ns-space-4) var(--ns-space-8) var(--ns-space-4) 0;position:relative;font-weight:600;font-size:var(--ns-fs-body);color:var(--ns-text)}
.area-faq__q::-webkit-details-marker{display:none}
.area-faq__q::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.4rem;font-weight:400;color:var(--ns-primary);line-height:1}
.area-faq__item[open] .area-faq__q::after{content:'\2013'}
.area-faq__a{padding:0 0 var(--ns-space-4);color:var(--ns-text-secondary);line-height:1.7}
.area-faq__a p{margin:0}
.area-nearby{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--ns-space-3) var(--ns-space-6);justify-content:center}
.area-nearby a{font-weight:600}
.area-back{margin:var(--ns-space-8) 0 0;text-align:center}
.area-back a{font-size:var(--ns-fs-small);color:var(--ns-text-secondary)}
@media (max-width:768px){.price-row{grid-template-columns:1fr!important;gap:4px!important}}
.sp-btn{display:inline-block;padding:14px 32px;background:#0a77ba;color:#fff!important;text-decoration:none;border-radius:8px;font-family:Inter,sans-serif;font-size:16px;font-weight:600;transition:background .15s ease,transform .1s ease;text-align:center;border:none;cursor:pointer}
.sp-btn:hover{background:#085d94;color:#fff!important;transform:translateY(-1px)}
.sp-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.sp-qc{display:flex;flex-direction:column;gap:10px;flex-grow:1;justify-content:center;margin:8px 0 20px}
.sp-qc__row{display:flex;gap:10px}
.sp-qc__input{flex:1;padding:14px 16px;font-family:'Courier New',monospace;font-size:20px;font-weight:600;color:#191a1a;letter-spacing:2px;text-align:center;border:2px solid #d1d5db;border-radius:8px;background:#fff;transition:border-color .15s ease}
.sp-qc__input:focus{outline:0;border-color:#0a77ba}
.sp-qc__status{font-family:Inter,sans-serif;font-size:13px;color:#059669;min-height:18px;margin:4px 0 0;font-weight:500}
.section-gray,.section-white{width:100%;box-sizing:border-box}
.nsf-form{max-width:660px;margin:0 auto;text-align:left}
.nsf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.nsf-row{grid-template-columns:1fr}}
.nsf-field{margin:0 0 18px}
.nsf-field label{display:block;font-size:.82rem;font-weight:700;letter-spacing:.3px;color:#1f2937;margin:0 0 6px}
.nsf-field .nsf-req{color:#dc2626}
.nsf-field input,.nsf-field textarea{width:100%;box-sizing:border-box;padding:12px 14px;font-size:1rem;font-family:inherit;color:#111827;background:#fff;border:1px solid #cbd5e1;border-radius:8px;transition:border-color .15s,box-shadow .15s}
.nsf-field input:focus,.nsf-field textarea:focus{outline:0;border-color:#0a77ba;box-shadow:0 0 0 3px rgba(10,119,186,.15)}
.nsf-field textarea{min-height:150px;resize:vertical}
.nsf-consent{margin:6px 0 0;font-size:.72rem;line-height:1.4;color:#64748b}
.nsf-consent a{color:#0a77ba;text-decoration:underline}
.nsf-textin{max-width:660px;margin:0 auto 28px;padding:18px 20px;background:#f0f7fc;border:1px solid #cfe4f3;border-radius:10px}
.nsf-textin__head{display:flex;align-items:flex-start;gap:12px}
.nsf-textin__icon{flex:0 0 auto;color:#0a77ba;margin-top:2px}
.nsf-textin__title{margin:0 0 2px;font-size:1.05rem;font-weight:700;color:#1a1a2e}
.nsf-textin__num{margin:0;font-size:.95rem;color:#334155}
.nsf-textin__num a{color:#0a77ba;font-weight:700;text-decoration:none}
.nsf-textin__num a:hover{text-decoration:underline}
.nsf-textin .nsf-consent{margin-top:10px}
.nsf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nsf-submit{display:inline-flex;align-items:center;justify-content:center;background:#0a77ba;color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:8px;padding:14px 32px;cursor:pointer;transition:background .15s}
.nsf-submit:hover{background:#085e94}
.nsf-submit:disabled{opacity:.6;cursor:default}
.nsf-status{margin:18px 0 0;font-size:.95rem;line-height:1.5}
.nsf-status--ok{color:#15803d;font-weight:600}
.nsf-status--err{color:#dc2626;font-weight:600}
/* Cloudflare Turnstile box (src/assets/js/forms.js); empty and zero-height unless a challenge shows. */
.ns-turnstile:not(:empty){margin:.75rem 0}
/* Inline "Let's talk" sales form. The migrated markup is a flat label/control list (not the
   Fluent Forms fieldset the rules above target) and inherited white text from the dark band,
   so labels were invisible on the white card. Dark labels, two columns like live, one on mobile. */
.lt-form-panel{color:#191a1a}
.lt-form-panel .lt-form-helper{color:#4b5563}
.lt-form-panel .fluentform{border:0;padding:0;background:none;box-shadow:none}
.lt-form-panel form.ns-sales{border:0;padding:0;background:none;box-shadow:none;display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-items:end;grid-template-areas:"l1 l2" "i1 i2" "l3 l4" "i3 i4" "l5 l6" "i5 i6" "l7 l7" "i7 i7" "l8 l8" "i8 i8"}
.lt-form-panel form.ns-sales>*{grid-column:1/-1}
.lt-form-panel form.ns-sales label{color:#191a1a;font-weight:600;font-size:.9rem;margin:14px 0 6px;text-align:left;justify-self:start}
.lt-form-panel form.ns-sales .nsf-req{color:#c0392b}
.lt-form-panel form.ns-sales input,.lt-form-panel form.ns-sales select,.lt-form-panel form.ns-sales textarea{width:100%;margin:0}
.lt-form-panel form.ns-sales label[for$="-full_name"]{grid-area:l1}
.lt-form-panel form.ns-sales [name="full_name"]{grid-area:i1}
.lt-form-panel form.ns-sales label[for$="-email"]{grid-area:l2}
.lt-form-panel form.ns-sales [name="email"]{grid-area:i2}
.lt-form-panel form.ns-sales label[for$="-company"]{grid-area:l3}
.lt-form-panel form.ns-sales [name="company"]{grid-area:i3}
.lt-form-panel form.ns-sales label[for$="-phone"]{grid-area:l4}
.lt-form-panel form.ns-sales [name="phone"]{grid-area:i4}
.lt-form-panel form.ns-sales label[for$="-role"]{grid-area:l5}
.lt-form-panel form.ns-sales [name="role"]{grid-area:i5}
.lt-form-panel form.ns-sales label[for$="-company_size"]{grid-area:l6}
.lt-form-panel form.ns-sales [name="company_size"]{grid-area:i6}
.lt-form-panel form.ns-sales label[for$="-interest"]{grid-area:l7}
.lt-form-panel form.ns-sales [name="interest"]{grid-area:i7}
.lt-form-panel form.ns-sales label[for$="-source"]{grid-area:l8}
.lt-form-panel form.ns-sales [name="source"]{grid-area:i8}
.lt-form-panel form.ns-sales button[type="submit"]{justify-self:center;margin-top:20px}
@media (max-width:767px){.lt-form-panel form.ns-sales{display:block}}

/* content-extra.css */
/* Supplements the migrated component CSS: hero photos, forms, and small-screen stacks. */

.location-hero {
  position: relative;
  overflow: hidden;
}

.location-hero > picture,
.location-hero > img.hero-photo {
  position: absolute !important;
  inset: 0;
  z-index: 0 !important;
  width: 100%;
  height: 100%;
  margin: 0;
  display: block;
}

.location-hero picture img,
.location-hero > img.hero-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.location-hero::before {
  z-index: 1;
}

.location-hero > :not(picture):not(img.hero-photo) {
  position: relative;
  z-index: 2;
}

main picture {
  display: block;
  max-width: 100%;
}

main picture img,
.blog-list-card img,
.blog-list-card picture {
  max-width: 100%;
  height: auto;
}

.blog-list-card picture,
.blog-list-card img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.ns-sales,
.ns-form {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 8px 4px 4px;
}

.ns-sales label,
.ns-form label {
  display: block;
  font-weight: 600;
  font-size: 0.92rem;
  margin: 12px 0 4px;
}

.ns-sales input,
.ns-sales select,
.ns-sales textarea,
.ns-form input,
.ns-form select,
.ns-form textarea,
.nsf-form input,
.nsf-form textarea,
.ns-newsletter-form input[type="email"] {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font: inherit;
  background: #fff;
  color: #191a1a;
}

.ns-sales button,
.ns-form button,
.nsf-submit,
.ns-newsletter-form button {
  background: #0a77ba;
  color: #fff;
  border: 0;
  border-radius: 6px;
  padding: 12px 18px;
  font-weight: 600;
  cursor: pointer;
  margin-top: 12px;
}

.ns-role-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  margin: 32px auto 0;
  max-width: 1100px;
  text-align: left;
}

.ns-role-list--solo {
  max-width: 680px;
  grid-template-columns: 1fr;
}

.ns-role-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 280px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  padding: 28px;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.ns-role-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(10, 119, 186, 0.12);
}

.ns-role-card h3 {
  margin: 0 0 14px;
  font-size: 1.85rem;
  font-weight: 600;
  line-height: 1.2;
}

.ns-role-card__meta {
  display: grid;
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.ns-role-card__meta li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #374151;
  font-size: 0.98rem;
}

.ns-role-card__meta svg {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  stroke: #0a77ba;
}

.ns-role-card__summary {
  flex: 1;
  margin: 0 0 20px;
  color: #4b5563;
  line-height: 1.6;
}

.ns-role-card__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  margin-top: auto;
}

.ns-role-empty {
  background: #fff;
  border: 1px dashed var(--ns-border, #e5e7eb);
  border-radius: 12px;
  padding: 28px;
  text-align: left;
}

.ns-role-card--skeleton {
  min-height: 160px;
  background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 37%, #f3f4f6 63%);
  background-size: 400% 100%;
  animation: ns-role-shimmer 1.2s ease infinite;
}

@keyframes ns-role-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

.ns-role-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  grid-template-areas: "intro aside" "body aside";
  gap: 28px 40px;
  max-width: 1080px;
  margin: 0 auto;
  padding: 48px 24px 16px;
  text-align: left;
  align-items: start;
}

.ns-role__intro { grid-area: intro; }
.ns-role__body { grid-area: body; max-width: 68ch; line-height: 1.65; }

.ns-role-aside {
  grid-area: aside;
  position: sticky;
  top: 24px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
  padding: 22px;
}

.ns-role-aside dl { margin: 0 0 18px; }
.ns-role-aside dt {
  margin-top: 12px;
  color: #6b7280;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ns-role-aside dd { margin: 2px 0 0; font-weight: 600; }
.ns-role-aside .btn { width: 100%; text-align: center; margin-bottom: 10px; }
.ns-role-aside__back { display: block; text-align: center; }

.ns-role {
  max-width: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.ns-role__back {
  margin-bottom: 12px;
}

.ns-role__org {
  color: var(--ns-text-secondary, #4b5563);
}

.ns-role__facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin: 20px 0 28px;
}

.ns-role__facts div {
  background: #f8fafc;
  border-radius: 10px;
  padding: 12px 14px;
}

.ns-role__facts dt {
  color: var(--ns-text-muted, #6b7280);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ns-role__facts dd {
  margin: 4px 0 0;
}

.ns-role__section {
  margin: 0 0 28px;
}

.ns-role__section h2 {
  font-size: 1.45rem;
  font-weight: 600;
  padding-bottom: 8px;
  border-bottom: 1px solid #e5e7eb;
  margin-bottom: 14px;
}

@media (max-width: 800px) {
  .ns-role-layout {
    grid-template-columns: 1fr;
    grid-template-areas: "intro" "aside" "body";
    padding: 32px 16px 8px;
  }
  .ns-role-aside { position: static; }
  .ns-role-card__actions { justify-content: stretch; }
  .ns-role-card__actions .btn { flex: 1; text-align: center; }
}

.ns-role__section ul,
.ns-role__section ol {
  padding-left: 1.2rem;
}

.ns-apply-band {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 8px 24px 72px;
  box-sizing: border-box;
}

.ns-apply-wrap {
  width: min(820px, 100%);
  margin: 0 auto;
  text-align: left;
}

.ns-apply-wrap > h2 {
  text-align: left;
  margin-bottom: 8px;
}

.ns-apply {
  display: grid;
  gap: 20px;
}

.ns-apply__section {
  border: 0;
  margin: 0;
  padding: 8px 0 4px;
  background: transparent;
}

.ns-apply__heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e5e7eb;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
}

.ns-apply__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #e8f3fb;
  color: #0a77ba;
  font-size: 0.9rem;
}

.ns-apply__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
}

.ns-apply__field {
  margin-top: 0;
}

.ns-apply__field--full {
  grid-column: 1 / -1;
}

@media (max-width: 700px) {
  .ns-apply__grid { grid-template-columns: 1fr; }
}

.ns-drop__label,
.ns-apply label {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 8px;
}

.ns-apply input,
.ns-apply select,
.ns-apply textarea {
  width: 100%;
  box-sizing: border-box;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font: inherit;
  font-size: 1rem;
  background: #fff;
  color: inherit;
}

.ns-apply textarea { min-height: 120px; }

.ns-apply input:focus-visible,
.ns-apply select:focus-visible,
.ns-apply textarea:focus-visible,
.ns-apply button:focus-visible,
.ns-drop:focus-within {
  outline: 2px solid var(--ns-primary, #0a77ba);
  outline-offset: 2px;
}

.ns-apply input[aria-invalid="true"],
.ns-apply select[aria-invalid="true"],
.ns-apply textarea[aria-invalid="true"] {
  border-color: #b91c1c;
}

.ns-apply__hint,
.ns-apply__count {
  margin: 6px 0 0;
  color: var(--ns-text-muted, #6b7280);
  font-size: 0.88rem;
}

.ns-apply__error {
  margin: 6px 0 0;
  color: #b91c1c;
  font-size: 0.9rem;
}

.ns-apply__summary {
  border: 1px solid #fecaca;
  background: #fef2f2;
  border-radius: 10px;
  padding: 12px 14px;
}

.ns-apply__summary a {
  color: #991b1b;
}

.ns-apply__actions { margin-top: 8px; }

.ns-apply__submit {
  width: 100%;
  min-height: 52px;
  font-size: 1.05rem;
}

.ns-apply__submit.is-busy {
  opacity: 0.75;
  cursor: progress;
}

.ns-apply__submit.is-busy::after {
  content: "";
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  margin-left: 10px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  vertical-align: -1px;
  animation: ns-apply-spin 0.7s linear infinite;
}

@keyframes ns-apply-spin { to { transform: rotate(360deg); } }

.ns-apply__privacy {
  margin: 10px 0 0;
  color: #6b7280;
  font-size: 0.9rem;
  text-align: center;
}

.ns-apply__progress {
  margin: 8px 0 0;
  font-weight: 600;
}

.ns-drop {
  position: relative;
}

.ns-drop__input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  outline: none;
}

.ns-drop__zone {
  border: 1.5px dashed #94a3b8;
  border-radius: 14px;
  background: #f8fafc;
  padding: 28px 16px;
  text-align: center;
}

.ns-drop__zone svg {
  width: 36px;
  height: 36px;
  stroke: #0a77ba;
}

.ns-drop__zone p { margin: 8px 0 0; }

.ns-apply .ns-drop__input {
  min-height: 0;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

.ns-apply .ns-drop__input:focus,
.ns-apply .ns-drop__input:focus-visible {
  outline: none;
}

.ns-drop.is-drag .ns-drop__zone,
.ns-drop:hover .ns-drop__zone {
  border-color: #0a77ba;
  background: #eff6ff;
}

.ns-drop__browse {
  background: none;
  border: 0;
  color: #0a77ba;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
  padding: 0;
}

.ns-drop__chip[hidden],
.ns-drop__zone[hidden],
.ns-apply__progress[hidden],
.ns-apply__summary[hidden],
.ns-apply__error[hidden] {
  display: none !important;
}

.ns-drop__chip {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  padding: 12px 14px;
}

.ns-drop__chip svg { width: 22px; height: 22px; stroke: #0a77ba; flex: 0 0 auto; }
.ns-drop__meta { flex: 1; min-width: 0; }
.ns-drop__meta strong { display: block; word-break: break-word; }
.ns-drop__meta span { color: #6b7280; font-size: 0.88rem; }

.ns-drop__remove {
  background: none;
  border: 0;
  color: #b91c1c;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  padding: 6px 4px;
}

.ns-apply-success {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 28px;
}

.ns-sales .ns-hp,
.ns-apply .ns-hp,
.nsf-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.ns-status,
.nsf-status,
.ns-nl-status {
  min-height: 1.2em;
  font-size: 0.92rem;
}

.industry-index {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px 64px;
}

.industry-index a {
  display: block;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  text-decoration: none;
  color: inherit;
}

.industry-index h2 {
  font-size: 1.15rem;
  margin: 0 0 8px;
}

.ns-reading {
  max-width: 820px;
  margin: 32px auto;
  padding: 0 20px;
}

.ns-reading ul {
  padding-left: 1.2rem;
}

@media (max-width: 800px) {
  .home-services-grid,
  .home-pricing-grid,
  .home-why-grid,
  .area-grid,
  .blog-list-grid,
  .split-row,
  .cs-snapshot-grid,
  .contact-split {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }

  .split-row,
  .contact-split {
    display: flex !important;
    flex-direction: column !important;
  }
}

/* components.css */
/* Shared components. Values match the inline styles these classes replace. */

.band {
	max-width: 1200px;
	margin: 0 auto;
	padding: 64px 20px;
}

.band-tight {
	max-width: 1200px;
	margin: 0 auto;
}

.band-pad {
	padding: 64px 20px;
}

.band-rule {
	padding: 56px 20px;
	border-top: 1px solid #e5e7eb;
}

.flush { margin: 0; }
.flush-tight { margin: 0 0 8px; }
.u-left { text-align: left; }
.u-center { text-align: center; }
.u-center-space { text-align: center; margin-top: 32px; }
.is-brand { background: #0a77ba; }
.lede { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.lede-intro { max-width: 820px; margin: 0 auto 48px; font-size: 1.15rem; line-height: 1.7; text-align: center; color: #374151; }
/* Short intro line used as a heading, matching the live .lead rule. */
.lead {
	font-size: 1.5rem;
	font-weight: 700;
	color: #0f172a;
	line-height: 1.3;
	margin: 0 0 16px;
	text-align: left;
}
.kicker { text-align: center; margin: 0 0 32px; font-size: 0.85rem; font-weight: 700; letter-spacing: 1.5px; color: #627288; text-transform: uppercase; }
.reviewed { margin: 32px 0 0; text-align: center; font-size: 0.78rem; color: #606a78; }
.body-copy { color: #374151; line-height: 1.75; }
.body-copy-relaxed { color: #374151; line-height: 1.7; }
.muted { color: #475569; }
.link-brand { color: #0a77ba; text-decoration: underline; text-underline-offset: 2px; }
.link-strong { color: #0a77ba; font-weight: 600; }
.pill { display: inline-flex; align-items: center; padding: 8px 14px; background: #f1f5f9; border-radius: 999px; font-size: 0.92rem; color: #1e293b; font-weight: 500; }
.row-loose { align-items: center; gap: 32px; margin: 32px 0; }

.band-narrow {
	max-width: 880px;
	margin: 0 auto;
	padding: 64px 20px;
}

.band-copy {
	max-width: 880px;
	margin: 0 auto;
	padding: 64px 20px;
	color: #ffffff;
}

.prose {
	max-width: 920px;
}

.prose-center {
	max-width: 920px;
	margin: 0 auto;
}

.phone-link {
	font-size: 28px;
	font-weight: 700;
	color: #ffffff;
	text-decoration: none;
}

.on-dark-title {
	color: #ffffff;
	font-size: 18px;
}

.on-dark-strong {
	color: #ffffff;
	font-size: 1.05rem;
	display: block;
	margin-bottom: 8px;
}

.on-dark-body {
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
}

.on-dark-soft {
	color: rgba(255, 255, 255, 0.9);
}

/* On the brand-blue band, .section-dark p/a colours (#cbd5e1 / #60a5fa) fail
   WCAG AA against #0a77ba. Restore near-white so they clear 4.5:1 / 3:1. */
.section-dark.is-brand .on-dark-soft {
	color: rgba(255, 255, 255, 0.96);
}

.section-dark.is-brand .phone-link,
.section-dark.is-brand .phone-link:hover {
	color: #ffffff;
}

.section-dark.is-brand .phone-link:hover {
	text-decoration: underline;
}

.on-dark-faint {
	margin-top: 32px;
	color: rgba(255, 255, 255, 0.75);
}

.on-dark-left {
	text-align: left;
	color: #ffffff;
}

.on-dark-center {
	color: #ffffff;
	text-align: center;
}

.on-dark-lede {
	color: rgba(255, 255, 255, 0.92);
	text-align: center;
	max-width: 680px;
	margin: 0 auto 32px;
}

.on-dark-note {
	color: rgba(255, 255, 255, 0.85);
	text-align: center;
	font-size: 0.95rem;
	margin: 0;
}

.price-card {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 12px;
	padding: 24px 28px;
}

.price-card--gap {
	margin-bottom: 18px;
}

.price-card--gap-lg {
	margin-bottom: 24px;
}

.price-card__title {
	color: #ffffff;
	font-size: 1.05rem;
	display: block;
	margin-bottom: 8px;
}

.price-card__body {
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
}

.area-card {
	display: block;
	padding: 20px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	text-decoration: none;
	color: #191a1a;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

.area-card__title {
	display: block;
	font-weight: 700;
	color: #0a77ba;
	margin-bottom: 0;
}

h2.area-card__title {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 8px;
}

.area-card__desc {
	display: block;
	font-size: 0.875rem;
	color: #4b5563;
	line-height: 1.5;
}

.ns-job-apply-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	flex-wrap: wrap;
}

.partner-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: #fff;
	border: 1px solid #e8eef4;
	border-radius: 12px;
	padding: 26px 18px 20px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.partner-tile__logo {
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.partner-tile__name {
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 700;
	color: #1a2332;
}

.partner-tile__desc {
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
	color: #6b7280;
}

.ns-newsletter--callout {
	margin: 32px 0;
	padding: 24px;
	border-radius: 10px;
	background: #0a77ba;
	color: #fff;
}

.ns-newsletter--callout .nl-title {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 4px;
}

.ns-newsletter--callout .nl-desc {
	font-size: 14px;
	opacity: 0.96;
	margin-bottom: 12px;
}

.ns-newsletter--callout .ns-newsletter-form {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
	max-width: 520px;
}

.ns-newsletter--callout .ns-newsletter-form input[type="email"] {
	flex: 1;
	min-width: 200px;
	padding: 10px 12px;
	border-radius: 6px;
	border: 1px solid #cbd5e1;
	font-size: 14px;
}

.ns-newsletter--callout .ns-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.ns-newsletter--callout .ns-newsletter-form button {
	padding: 10px 18px;
	border: 0;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	background: #ffffff;
	color: #0a77ba;
}

.ns-newsletter--callout .ns-nl-status {
	flex-basis: 100%;
	font-size: 13px;
	margin-top: 6px;
	color: #fff;
}

/* Shared pieces pulled out of one-off lifted rules. */
html body .ns-badge {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	border-radius: 4px;
}
html body .ns-panel {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
}
html body .ns-kicker {
	color: #0a77ba;
	font-weight: 700;
	text-transform: uppercase;
}

/* live-cascade.css */
/*
 * Rules that win on https://netsafesolutions.com.
 * GeneratePress is printed after the child theme, so these values are what
 * getComputedStyle returns. Sizes below were read at a 1280px viewport;
 * heading steps have no mobile override in the live stylesheet. Hero type
 * uses the clamps in content.css, which compute to 40.5px at 390px wide.
 */

html {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

body,
button,
input,
select,
textarea {
	font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
	font-weight: 400;
	font-size: 17px;
	line-height: 1.5;
	letter-spacing: normal;
	text-transform: none;
}

body {
	background-color: #f7f8f9;
	color: #222222;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	letter-spacing: -0.01em;
	line-height: 1.2;
	color: #191a1a;
	margin: 0;
}

h1 {
	font-size: 42px;
	font-weight: 400;
	line-height: 1.2em;
	margin-bottom: 20px;
}

h2 {
	font-size: 35px;
	font-weight: 400;
	line-height: 1.2em;
	margin-bottom: 20px;
}

h3 {
	font-size: 29px;
	font-weight: 400;
	line-height: 1.2em;
	margin-bottom: 20px;
}

h4 {
	font-size: 24px;
}

h5 {
	font-size: 20px;
}

h4,
h5,
h6 {
	margin-bottom: 20px;
}

p {
	margin-bottom: 1.5em;
}

a {
	color: #1e73be;
	text-decoration: none;
}

img {
	height: auto;
	max-width: 100%;
}

ol,
ul {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

/* Side photos in a flex row. Live renders these at 380px and 340px, radius 8px. */
.media-aside,
picture.media-aside {
	flex: 0 1 380px;
	max-width: 380px;
	width: 100%;
	height: auto;
	border-radius: 8px;
	overflow: hidden;
}

.media-aside--narrow,
picture.media-aside--narrow {
	flex-basis: 340px;
	max-width: 340px;
}

picture.media-aside img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	border-radius: inherit;
}

picture.content-photo,
img.content-photo {
	border-radius: 14px;
}

picture.content-photo {
	display: block;
	overflow: hidden;
}

.split-row picture.content-photo,
.split-row picture.content-photo img,
.split-row img.content-photo {
	border-radius: 12px;
}

.split-row picture {
	display: block;
	width: 100%;
	max-height: 400px;
	border-radius: 12px;
	overflow: hidden;
}

.split-row picture img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 400px;
	object-fit: cover;
	object-position: center;
	border-radius: 12px;
}

/* An inline image inside a picture leaves a line-box gap and shifts everything below it. */
picture img,
figure img {
	display: block;
}

svg.card-icon {
	box-sizing: border-box;
	width: 52px;
	height: 52px;
	flex: 0 0 52px;
	align-self: flex-start;
}

.ns-header__logo picture,
.ns-header__logo img {
	display: block;
	width: 220px;
	height: auto;
}

.location-hero {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

/* The photo is the section background, matching live. Keep the picture
   available to assistive tech without painting a second copy. */
.location-hero > picture.hero-photo,
.location-hero > img.hero-photo {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

.area-section:last-child {
	margin-bottom: 0;
}

/* Live .site-main > * adds 20px under each city-page band. */
.area-hero,
.area-section {
	margin-bottom: 20px;
}

/* Live .site-main > * puts 20px under these heroes before the next band. */
.blog-list-hero,
.blog-hero {
	margin-bottom: 20px;
}

/* Blog cards are 3:2. Featured images stay a 940/495 cover crop at radius 12. */
.blog-list-card picture,
.blog-list-card img,
.blog-list-card__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	box-shadow: none;
	background: #e8f4fb;
}

/* Award hero photo is 680×383 on the live page. */
.ns-i-3cf933c9 > img,
.ns-i-3cf933c9 > picture,
.ns-i-3cf933c9 > picture img {
	display: block;
	width: 680px;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
	border-radius: 12px;
	aspect-ratio: auto;
	object-fit: fill;
}

/* Industry body photos that are not in a split row render at 720px. */
figure.wp-block-image,
figure.wp-block-image picture,
figure.wp-block-image img {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

figure.wp-block-image img,
figure.wp-block-image picture img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	object-fit: fill;
}

/* Live leader photos are 150×190 ellipses beside the bio. */
.leader-row img,
.leader-row picture {
	width: 150px;
	height: 190px;
	flex: 0 0 150px;
	object-fit: cover;
	object-position: center top;
	border-radius: 50%;
}

.ns-job-meta {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px 20px;
	margin: 16px 0 0;
}

.ns-job-meta dt {
	margin: 0 0 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #64748b;
}

.ns-job-meta dd {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	color: #334155;
}

.mission-split {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}

.team-grid img,
.team-grid picture,
.team-grid picture img {
	display: block;
	width: 150px;
	height: 190px;
	margin: 0 auto 14px;
	object-fit: cover;
	object-position: center top;
	border-radius: 50%;
}

.testimonial__quote {
	padding: 20px;
}

/* Warranty lines on the terms page use a tighter leading than the body copy. */
.legal-page .caps {
	line-height: 1.6;
}

/* Cybersecurity comparison, copied from the live stylesheet. */
.threat-comparison {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	text-align: left;
}

.threat-comparison__col {
	padding: 32px 28px;
	border-radius: 12px;
	background: #fff;
}

.threat-comparison__col h3 {
	margin: 0 0 18px;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.3px;
	line-height: 1.3;
}

.threat-comparison__col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.threat-comparison__col li {
	padding: 10px 0 10px 30px;
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	color: #334155;
	position: relative;
	border-top: 1px solid rgba(15, 23, 42, 0.06);
}

.threat-comparison__col li:first-child {
	border-top: none;
}

.threat-comparison__col li::before {
	position: absolute;
	left: 4px;
	top: 8px;
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.6;
}

.threat-comparison__col--before {
	border-top: 4px solid #c1272d;
}

.threat-comparison__col--before h3,
.threat-comparison__col--before li::before {
	color: #c1272d;
}

.threat-comparison__col--before li::before {
	content: "×";
}

.threat-comparison__col--after {
	border-top: 4px solid #0a77ba;
}

.threat-comparison__col--after h3,
.threat-comparison__col--after li::before {
	color: #0a77ba;
}

.threat-comparison__col--after li::before {
	content: "✓";
}

@media (max-width: 768px) {
	.threat-comparison {
		grid-template-columns: 1fr;
	}
}

/* Empty newsletter status must not reserve a row. */
.ns-newsletter-form [data-ns-status]:empty {
	display: none;
}

/* Pax8 pull quotes include 20px of vertical padding inside the tinted figure. */
.ns-i-44655be1 {
	padding: 20px 0;
}

/* Newsletter index bands keep the live 20px gap under each section. */
main:has(.ns-i-9f6c4bf3) > section:not(:last-of-type) {
	margin-bottom: 20px;
}


main:has(.cs-hero-inner) {
	padding-bottom: 0;
}

@media (max-width: 767px) {
	.area-hero {
		padding: 64px 0;
	}

	.area-hero__title {
		font-size: 32px;
	}
}

@media (max-width: 700px) {
	.ns-i-3cf933c9 > img,
	.ns-i-3cf933c9 > picture,
	.ns-i-3cf933c9 > picture img,
	figure.wp-block-image,
	figure.wp-block-image picture,
	figure.wp-block-image img {
		width: 100%;
		max-width: 100%;
	}

	.ns-job-meta {
		grid-template-columns: 1fr;
	}
}

.blog-featured-image picture {
	display: block;
	width: 100%;
}

.blog-featured-image picture,
.blog-featured-image img {
	aspect-ratio: 940 / 495;
	object-fit: cover;
	object-position: center;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
}

.blog-featured-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* GeneratePress category and industry archives. Images keep their natural box. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.archive-loop .page-header {
	margin-bottom: 20px;
}

.archive-loop .page-title {
	margin-bottom: 20px;
}

.archive-loop .taxonomy-description p {
	margin-bottom: 0;
}

.archive-loop .entry-meta {
	margin: 0.425em 0 0;
	color: #575760;
	font-size: 0.85em;
	line-height: 1.5;
}

.archive-loop .author-name {
	color: #1e73be;
}

.archive-loop .post-image {
	margin-top: 2em;
	line-height: 0;
}

.archive-loop .post-image picture {
	display: inline-block;
	max-width: 100%;
	border-radius: 0;
	overflow: visible;
}

.archive-loop .post-image img {
	width: auto;
	max-width: 100%;
	height: auto;
	aspect-ratio: auto;
	object-fit: fill;
	border-radius: 0;
	box-shadow: none;
	vertical-align: top;
}

.archive-loop .entry-summary {
	margin-top: 2em;
}

.archive-loop .entry-summary p {
	margin-bottom: 0;
}

.archive-loop .gp-icon {
	display: inline-block;
	margin-right: 0.4em;
	vertical-align: middle;
}

.archive-loop .gp-icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
	position: relative;
	top: 0.125em;
}

.archive-loop .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-top: 8px;
}

.archive-loop--excerpt .entry-summary,
.archive-loop--excerpt article {
	margin-top: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.archive-loop--excerpt .inside-article {
	margin: 0;
	padding: 0;
}

/* Legal column. Live h1 is Poppins 36/700 inside an 800px measure. */
.legal-page {
	max-width: 800px;
	margin: 0 auto;
	padding: 60px 20px 80px;
	color: #191a1a;
	font-family: Inter, sans-serif;
	font-size: 17px;
	line-height: 1.8;
}

.legal-page h1 {
	font-family: Poppins, Inter, sans-serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin: 0 0 8px;
	color: #191a1a;
}

.legal-page h2 {
	font-family: Poppins, Inter, sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin: 40px 0 16px;
	color: #191a1a;
}

.legal-page h3 {
	font-family: Poppins, Inter, sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.01em;
	margin: 28px 0 12px;
	color: #191a1a;
}

.legal-page p,
.legal-page li {
	font-size: 16px;
	line-height: 1.8;
}

.legal-page p {
	margin: 0 0 16px;
}

.legal-page .legal-date {
	margin: 0 0 40px;
	color: #6b7280;
	font-size: 14px;
	line-height: 1.8;
}

.legal-page ul,
.legal-page ol {
	margin: 0 0 16px 24px;
	padding: 0;
}

.legal-page li {
	margin: 0 0 8px;
}

.legal-page a {
	color: #0a77ba;
}

/* Partner logos. Live caps tile marks at 150×48 and the Pax8 badge at 46px tall. */
.partner-tile__logo {
	width: auto;
	max-width: 150px;
	height: 52px;
	margin-left: auto;
	margin-right: auto;
}

.partner-tile__logo picture,
.partner-tile__logo img,
img.partner-logo,
picture.partner-logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 150px;
	max-height: 48px;
	object-fit: contain;
	border-radius: 0;
	box-shadow: none;
}

picture.partner-mark,
img.partner-mark,
picture.partner-mark img {
	display: block;
	width: auto;
	height: 46px;
	max-width: none;
	max-height: none;
	border-radius: 0;
	box-shadow: none;
	object-fit: fill;
}

/* Cybersecurity defense stack. Live is a 3-up grid; unstyled icons otherwise fill the column. */
.defense-stack {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	text-align: center;
}

.defense-layer {
	margin: 0;
	padding: 28px 24px 24px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	text-align: center;
}

.defense-layer__icon {
	display: block;
	width: 36px;
	height: 36px;
	margin: 0 auto 16px;
	color: #0a77ba;
}

.defense-layer h3 {
	margin: 0 0 12px;
	color: #0f172a;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: normal;
	text-align: center;
}

.defense-layer p {
	margin: 0;
	color: #475569;
	font-size: 0.95rem;
	line-height: 1.6;
	text-align: left;
}

article.blog-single {
	margin-bottom: 20px;
}

.blog-body-wrap hr {
	height: 1px;
	margin: 40px 0;
	border: 0;
	border-top: 1px solid #e5e7eb;
	background: none;
}

/* Case study blocks use a 20px bottom margin. The snapshot card's negative top margin collapses with the hero, so that wrapper stays flush. */
main:has(.cs-hero-inner) > *:not(script) {
	margin-bottom: 20px;
}

main:has(.cs-hero-inner) > :has(.cs-snapshot-card) {
	margin-bottom: 0;
}

@media (max-width: 800px) {
	.defense-stack {
		grid-template-columns: 1fr;
	}
}

/* lifted.css */
/* Declarations lifted off style attributes. Specificity matches a late author rule. */
html body .ns-i-0026fcdb { background:#854d0e; color:#ffffff; padding:4px 10px; }
html body .ns-i-01325430 { font-size:1.05rem;line-height:1.7;text-align:left;color:#374151;margin:0; }
html body .ns-i-01c51ef5 { max-width:980px;margin:0 auto; }
html body .ns-i-033e2a29 { font-size:20px;font-weight:600;color:#ffffff; }
html body .ns-i-0380ebb7 { margin:0;color:#475569;font-size:0.92rem;line-height:1.5; }
html body .support-guidance, html body .ns-i-05a91455 { display:grid;grid-template-columns:repeat(2, 1fr);gap:20px;max-width:880px;margin:0 auto; }
html body .ns-i-05d36ed7 { font-size:14px;color:rgba(255,255,255,0.7);margin:0 0 32px; }
html body .ns-i-060ab348 { background:#fff;border-radius:12px;padding:20px 26px;flex:0 0 auto; }
html body .ns-i-064028e7 { color:#64748b; }
html body .ns-i-0671cea3 { border:1px solid #fed7aa;background:#fff7ed;border-radius:10px;padding:18px 22px;display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start; }
html body .ns-i-06b1efff { display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center; }
html body .ns-i-07ac54b8 { display:flex;gap:16px;justify-content:center;flex-wrap:wrap; }
html body .ns-i-080aaf7a { display:inline-block;background:#0a77ba;color:#ffffff;padding:12px 20px;border-radius:8px;text-decoration:none;font-weight:600;font-size:14px;white-space:nowrap; }
html body .ns-i-08b0c446 { display:grid;grid-template-columns:repeat(3, 1fr);gap:8px;margin-bottom:14px;font-size:0.82rem; }
html body .ns-i-094e0c57 { text-align:center;max-width:680px;margin:0 auto 32px; }
html body .ns-i-0b55ab59 { font-size:22px;letter-spacing:0.18em;margin:0 0 6px; }
html body .ns-i-0c1d0e4c { font-size:20px;font-weight:700;color:#1a2332;margin:0 0 10px; }
html body .ns-i-0d2499b1 { max-width:820px;margin:0 auto 40px;font-size:1.15rem;line-height:1.7;text-align:center;color:#374151; }
html body .ns-i-0d4dfbd1 { display:flex;align-items:center;gap:12px;margin-bottom:32px;justify-content:center;flex-wrap:wrap; }
html body .ns-i-0d6ee5a6 { font-size:13px;color:#64748b; }
html body .ns-i-0de739ed { color:#0a77ba;font-size:0.78rem;letter-spacing:0.5px;display:block;margin-bottom:4px; }
html body .ns-i-0f1596ae { padding:8px 40px 40px;color:#475569;font-size:15px;line-height:1.75; }
html body .ns-i-0f8d0d57 { max-width:1100px;margin:0 auto; }
html body .ns-i-0fde5c1b { background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:32px;display:flex;gap:24px;align-items:flex-start; }
html body .ns-i-11f81a0d { display:block;color:#0a77ba;font-weight:700;font-size:1.6rem;line-height:1.1; }
html body .ns-i-1271abbe { margin:18px 0 0;color:#7c3aed;font-weight:700;font-size:1.05rem; }
html body .ns-i-12fd4700 { font-size:28px;margin-bottom:10px; }
html body .quick-connect-band, html body .ns-i-12ff2cd6 { background:#374151;border:1px solid #4b5563;border-radius:12px;padding:28px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center; }
html body .ns-i-13f26513 { font-size:18px;font-weight:700;color:#1a1a2e;font-family:Poppins,Inter,sans-serif;line-height:1.3; }
html body .gap-domain-grid, html body .ns-i-142b9e09 { display:grid;grid-template-columns:repeat(2, 1fr);gap:14px; }
html body .ns-i-1447b919 { margin:0 0 12px;color:#0f172a; }
html body .ns-i-14b912c5 { color:#0a77ba;text-decoration:underline; }
html body .ns-i-15418ae1 { color:rgba(255,255,255,0.9);max-width:600px;margin:0 auto 28px;line-height:1.6; }
html body .ns-i-15592e9a { display:grid;grid-template-columns:repeat(2, 1fr);gap:16px; }
html body .ns-i-16a95246 { font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#1a2332;max-width:1100px;margin:0 auto;padding:0 20px 64px; }
html body .ns-i-16c62582 { text-align:center;max-width:720px;margin:40px auto 0; }
html body .faq-section-wrapper, html body .ns-i-16d7fcc3 { margin-bottom:48px; }
html body .ns-i-17d18214 { max-width:880px;margin:0 auto;padding:72px 20px;text-align:center; }
html body .ns-i-18adbedc { max-width:1100px; }
html body .engagement-shape-row, html body .ns-i-18da19f5 { display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-left:6px solid #0a77ba;border-radius:10px;padding:24px 28px; }
html body .ns-i-194945a5 { background:#ffffff;border:1px solid #e2e8f0;border-radius:10px;padding:20px 16px;text-align:center; }
html body .ns-i-1b832cce { background:#dcfce7; color:#166534; padding:3px 8px; margin-bottom:8px; }
html body .ns-i-1c049267 { display:inline-flex;width:64px;height:64px;background:rgba(10,119,186,0.18);border-radius:50%;align-items:center;justify-content:center;color:#60a5fa;flex-shrink:0; }
html body .ns-i-1c6d4467 { color:#0f172a;display:block;margin-bottom:4px; }
html body .ns-i-1d26dac7 { font-size:18px;font-weight:700;line-height:1.35;margin:0 0 10px;color:#1a2332; }
html body .ns-i-1da0803f { color:#0a77ba;font-weight:600;text-decoration:none; }
html body .ns-i-1dac4a50 { margin:0 0 10px;color:#0f172a;font-size:1.3rem; }
html body .ns-i-1e5c77d6 { max-width:780px;margin:0 auto;text-align:center; }
html body .ns-i-1fa59242 { margin:0 0 4px;color:#0f172a;font-size:1.05rem; }
html body .ns-i-21f61bfb { padding:28px 0 0; }
html body .ns-i-22c32e1d { font-size:17px;color:#cbd5e1;line-height:1.6;margin:0 auto 28px;max-width:620px; }
html body .ns-i-239dfe33 { margin:0 0 12px;color:#0a77ba;font-weight:600;font-size:0.88rem;letter-spacing:0.5px; }
html body .ns-i-24849b40 { display:flex; flex-wrap:wrap; gap:10px; }
html body .ns-i-252a5b3f { font-size:14px;line-height:1.65;color:rgba(255,255,255,0.9);margin:0 0 18px; }
html body .ns-i-25bd7246 { flex:1;padding:12px 14px;border:1px solid #6b7280;border-radius:8px;font-size:1rem;text-transform:uppercase;letter-spacing:1px;font-family:ui-monospace,Menlo,monospace;background:#ffffff;color:#0f172a; }
html body .ns-i-2694beb3 { font-size:14px;color:#475569;line-height:1.6;margin:0; }
html body .ns-i-26d3d195 { margin-top:auto; }
html body .ns-i-2760a57f { width:28px;height:28px; }
html body .ns-i-28293677 { border:1px solid #fecaca;background:#fef2f2;border-radius:10px;padding:18px 22px;display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start; }
html body .ns-i-29d90d9c { max-width:1200px;margin:0 auto;padding:72px 20px; }
html body .ns-i-29fd3c9f { font-size:16px;line-height:1.7;color:#4a5568;max-width:720px;margin:0 auto; }
html body .ns-i-2a4fe388 { font-size:14px;color:#475569;line-height:1.6;margin:8px 0 0; }
html body .ns-i-2b226ef5 { display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:880px;margin:0 auto 40px; }
html body .ns-i-2b3959f5 { display:block;color:#64748b;font-size:0.85rem;margin-top:6px;line-height:1.4; }
html body .ns-i-2b8caaf5 { border:1px solid #fde68a;background:#fefce8;border-radius:10px;padding:18px 22px;display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start; }
html body .engagement-shapes, html body .ns-i-2cde2ff4 { display:flex;flex-direction:column;gap:18px; }
html body .ns-i-2d1c3fbd { margin:0 0 6px;color:#ffffff;font-size:1.35rem; }
html body .ns-i-2d432030 { display:inline-block; font-size:11px; letter-spacing:0.08em; background:#e8f4fb; padding:5px 10px; border-radius:4px; }
html body .ns-i-2e3d51a4 { font-size:11px; letter-spacing:0.08em; margin:0 0 10px; }
html body .ns-i-2fec314c { margin:0 0 10px;color:#ffffff;font-size:1.05rem; }
html body .ns-i-30e73654 { margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#94a3b8; }
html body .ns-i-31338de2 { font-size:17px;font-weight:700;color:#1a1a2e;margin-bottom:6px;font-family:Poppins,Inter,sans-serif; }
html body .ns-i-315e058b { font-size:0.92rem; color:#64748b; margin-top:12px; }
html body .ns-i-325505ad { text-align:center;color:#64748b;font-size:0.92rem;max-width:680px;margin:28px auto 0;font-style:italic; }
html body .ns-i-32eb502c { font-size:15px;line-height:1.75;color:#2d3a47;margin:0 0 20px; }
html body .ns-i-33c8ad47 { padding:22px 24px 26px; }
html body .ns-i-33dc63c3 { font-size:0.78rem; letter-spacing:0.8px; line-height:1.45; padding-top:2px; }
html body .ns-i-344d204b { padding:24px 20px 48px; }
html body .ns-i-34bceacf { max-width:920px;margin:48px auto 8px;padding:0 20px; }
html body .ns-i-356c5383 { max-width:700px;margin:0 auto 8px;color:#4b5563; }
html body .ns-i-3881961e { font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin:0 0 14px; }
html body .ns-i-389cb37e { max-width:820px;margin:0 0 32px;color:#475569;line-height:1.65; }
html body .ns-i-39050d2d { padding:22px 24px; border-top:4px solid #0a77ba; }
html body .ns-i-396fe652 { margin:0 0 14px;color:#0f172a; }
html body .ns-i-398f08bc { margin-top:16px;font-size:0.78rem;color:#94a3b8; }
html body .ns-i-3af72c7f { display:block;color:#0f172a;font-size:1.05rem;margin-bottom:4px; }
html body .support-channels, html body .ns-i-3b082992 { display:grid;grid-template-columns:repeat(3, 1fr);gap:20px; }
html body .ns-i-3c764eaf { margin:0 0 8px;color:#475569;font-size:0.92rem;line-height:1.55; }
html body .ns-i-3cf933c9 { background:linear-gradient(135deg,#0a77ba 0%,#1a2332 100%);border-radius:12px;padding:56px 48px 48px;margin-bottom:48px;text-align:center;color:#fff; }
html body .ns-i-3dc79886 { color:#ffffff;margin:0 0 8px;font-size:2.75rem;line-height:1.15;letter-spacing:-0.5px;font-weight:700; }
html body .ns-i-3f4c9318 { background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.16);border-radius:12px;padding:28px; }
html body .ns-i-417d94fb { background:#0a77ba; color:#ffffff; padding:4px 10px; margin-bottom:14px; }
html body .ns-i-42d7b646 { font-size:15px;line-height:1.75;color:#2d3a47;margin:0 0 16px; }
html body .ns-i-42d7d8f4 { background:#f5f9ff;border-radius:12px;padding:38px 40px;text-align:center;margin-top:8px; }
html body .ns-i-4343a6a9 { background:#475569; color:#ffffff; padding:4px 10px; }
html body .ns-i-434fe1bf { margin:0;color:#475569;font-size:0.95rem; }
html body .ns-i-4435fb0b { color:#ffffff;font-size:18px;font-weight:600; }
html body .ns-i-44655be1 { margin:0;font-size:16px;line-height:1.75;color:#1a2332;font-style:italic; }
html body .ns-i-448f5995 { margin:0 0 20px; }
html body .ns-i-452cd136 { font-size:1.08rem; line-height:1.75; color:#334155; }
html body .wireless-symptoms, html body .ns-i-4565e5a2 { display:grid;grid-template-columns:repeat(2, 1fr);gap:18px; }
html body .ns-i-4644f92b { text-align:left; max-width:800px; margin:0 auto; }
html body .ns-i-46babdf7 { color:#0f172a; }
html body .ns-i-46cc4246 { color:#0a77ba;font-size:0.85rem;letter-spacing:0.5px;display:block;margin-bottom:6px; }
html body .ns-i-46d8cabd { color:#475569;font-size:0.78rem;line-height:1.4;margin-top:4px; }
html body .ns-i-46de3805 { margin:0;color:#374151;font-size:0.9rem;line-height:1.5; }
html body .ns-i-4779dae8 { color:rgba(255,255,255,0.88);margin:0 auto 28px;max-width:720px;font-size:1.1rem;line-height:1.65;font-weight:400; }
html body .ns-i-48034a33 { margin:0;font-size:14px;color:#475569;line-height:1.55; }
html body .ns-i-49fcd855 { margin-top:24px; }
html body .ns-i-4a571a7e { display:block;text-decoration:none;color:inherit;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.06);transition:box-shadow .2s,transform .2s; }
html body .ns-i-4b2443be { color:rgba(255,255,255,0.85);text-align:center;font-size:0.95rem;margin:0;max-width:780px;margin:0 auto; }
html body .ns-i-4b48525f { max-width:780px;margin:0 auto; }
html body .ns-i-4b7825bb { display:inline-flex;width:56px;height:56px;background:#e8f4fb;border-radius:14px;align-items:center;justify-content:center;color:#0a77ba;margin:0 auto 18px; }
html body .ns-i-4d947923 { display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0a77ba;color:#ffffff;border-radius:50%;font-weight:700;margin-bottom:10px; }
html body .ns-i-4e3c8728 { padding:8px 20px 8px; }
html body .ns-i-4e762656 { margin:0;color:#475569;line-height:1.6; }
html body .ns-i-4fedbb94 { display:inline-block;background:#0a77ba;color:#fff;font-size:14px;font-weight:700;text-decoration:none;padding:13px 26px;border-radius:8px; }
html body .ns-i-501d242f { margin:18px 0 0;color:#0a77ba;font-weight:700;font-size:1.05rem; }
html body .support-expectations, html body .ns-i-52695d08 { display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;text-align:center; }
html body .ns-i-52b6722f { margin:0 0 20px;color:#475569;line-height:1.6;font-size:0.95rem; }
html body .ns-i-52d83f41 { max-width:1200px;margin:0 auto;padding:64px 20px;color:#ffffff; }
html body .ns-i-535808b0 { margin:0 0 20px;font-size:15px;color:#64748b; }
html body .ns-i-54244b91 { font-size:1.08rem;line-height:1.75;color:#334155; }
html body .ns-i-54c2afb7 { text-align:right; }
html body .ns-i-54ee0b39 { border:0;display:block;width:100%;max-width:100%; }
html body .ns-i-55c0adae { overflow:hidden; }
html body .ns-i-55e2fc5d { padding:32px 36px; margin-bottom:20px; }
html body .ns-i-56bc384a { display:inline-flex;width:48px;height:48px;background:rgba(96,165,250,0.18);border-radius:12px;align-items:center;justify-content:center;color:#60a5fa;margin-bottom:16px; }
html body .ns-i-583ec46e { width:32px;height:32px; }
html body .ns-i-5890c3f8 { font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.2;margin:0 0 16px;color:#1a2332; }
html body .ns-i-58fcc317 { display:block;background:#0a77ba;color:#ffffff;text-align:center;padding:14px 16px;border-radius:8px;text-decoration:none;font-weight:600;font-size:0.98rem;word-break:break-word; }
html body .ns-i-5a94e408 { max-width:1100px;margin:0 auto;padding:24px 20px 64px; }
html body .ns-i-5b23393c { display:block;background:#0a77ba;color:#ffffff;text-align:center;padding:14px 20px;border-radius:8px;text-decoration:none;font-weight:600;font-size:1.05rem; }
html body .ns-i-5b93ed0d { margin:0;padding-left:20px;color:#374151;line-height:1.75;font-size:0.95rem; }
html body .ns-i-5db9fca0 { padding:32px 28px; display:flex; flex-direction:column; text-align:center; }
html body .ns-i-5dddf916 { margin:0 0 8px;font-size:1.75rem;line-height:1.25;color:#0f172a;font-weight:700;letter-spacing:-0.02em; }
html body .ns-i-5e0faad2 { font-size:13px; }
html body .ns-i-5e34d136 { display:grid;grid-template-columns:repeat(2, 1fr);gap:32px; }
html body .ns-i-5e8b571b { font-size:13px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;opacity:0.95; }
html body .ns-i-5ed365dc { font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1.2;margin:0 0 18px;color:#fff; }
html body .ns-i-5edc6b5b { text-align:center;font-size:26px;margin:0 0 8px;font-family:Poppins,Inter,sans-serif;color:#1a1a2e; }
html body .ns-i-5eea550a { max-width:1200px; }
html body .ns-i-5efda842 { max-width:1100px;margin:0 auto;padding:64px 20px; }
html body .ns-i-5f5af7ac { max-width:880px;margin:0 auto;padding:48px 20px 32px; }
html body .ns-i-606a41c9 { max-width:880px;margin:0 auto;padding:72px 20px; }
html body .ns-i-622504cc { max-width:880px;margin:32px auto;padding:24px 0; }
html body .ns-i-634bc155 { display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:18px; }
html body .ns-i-6446b06b { display:grid;grid-template-columns:repeat(4, 1fr);gap:20px; }
html body .ns-i-646f39e6 { display:block;color:#0f172a;font-size:1.05rem;margin-bottom:8px; }
html body .ns-i-649fbbf6 { font-size:16px;line-height:1.7;color:#4a5568;max-width:680px;margin:0 auto; }
html body .ns-i-64bf8a72 { font-size:13px;color:#6b7280;border-top:1px solid #e5e7eb;padding-top:20px;margin:0; }
html body .ns-i-6502c489 { margin:0 0 10px;color:#475569;font-size:0.92rem;line-height:1.55; }
html body .ns-i-65647e1f { font-size:14px;line-height:1.2; }
html body .ns-i-65752a87 { max-width:1200px;margin:0 auto;padding:64px 20px;text-align:center; }
html body .ns-i-65cf874b { margin:0 0 14px;color:#374151;line-height:1.6; }
html body .ns-i-6607e5d5 { color:rgba(255,255,255,0.7);margin:0 0 20px;font-size:1.1rem;font-weight:500;letter-spacing:0.3px; }
html body .ns-i-67bd8947 { display:inline-block;background:#ffffff;color:#0a77ba;padding:16px 32px;border-radius:8px;text-decoration:none;font-weight:700;font-size:1.05rem;letter-spacing:0.3px; }
html body .ns-i-68c0fedb { font-size:12px; letter-spacing:1px; margin-bottom:12px; }
html body .ns-i-68e0a930 { text-align:center;max-width:640px;margin:8px auto 0;color:#4b5563; }
html body .ns-i-6a30c89e { color:#64748b;font-size:14px;max-width:580px;margin:0 auto;line-height:1.6; }
html body .ns-i-6aed9f8c { background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;padding:28px; }
html body .ns-i-6bff8ed5 { display:flex;align-items:center;gap:40px;flex-wrap:wrap;max-width:1040px;margin:0 auto 48px; }
html body .ns-i-6c09b551 { margin:0 0 12px; font-size:12px; letter-spacing:0.08em; }
html body .ns-i-6cfc87b8 { display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px; }
html body .ns-i-6d543a63 { text-align:left;max-width:800px;margin:0 auto; }
html body .ns-i-6dce0489 { background:linear-gradient(135deg, #0a77ba 0%, #1a2332 100%);padding:88px 20px;text-align:center; }
html body .ns-i-6ea719ed { margin:0;color:#475569;font-size:0.95rem;line-height:1.5; }
html body .ns-i-6ee0661e { flex-shrink:0; }
html body .ns-i-6efdadd3 { background:#991b1b; color:#ffffff; padding:4px 10px; }
html body .ns-i-7033556c { padding-left:20px;margin:8px 0; }
html body .ns-i-70bf0e84 { background:#f5f3ff;border:1px solid #ddd6fe;border-top:6px solid #7c3aed;border-radius:12px;padding:28px; }
html body .ns-i-710448f5 { margin:0 0 8px;color:#0f172a;font-size:1.35rem;scroll-margin-top:80px; }
html body .ns-i-7214c817 { margin:0;font-size:14px;color:#334155;font-weight:500; }
html body .ns-i-724b368e { font-size:17px;line-height:1.7;color:#1a2332;margin:0 0 28px;font-weight:400; }
html body .ns-i-724d9eaa { margin:0 0 4px;color:#0f172a; }
html body .ns-i-728433d3 { background:#dbeafe; color:#1e40af; padding:3px 8px; margin-bottom:8px; }
html body .ns-i-74e40b8d { color:#0a77ba;font-size:0.78rem;letter-spacing:0.5px;display:block;margin-bottom:6px; }
html body .ns-i-758d3cb3 { margin:8px 0 0;font-size:0.85rem;color:rgba(255,255,255,0.6);min-height:1.2em; }
html body .ns-i-75956c5e { grid-template-columns:repeat(3, 1fr); }
html body .ns-i-75adc393 { text-align:center;padding:48px 0 40px; }
html body .ns-i-7601ccb7 { color:#0f172a;font-size:1.15rem;display:block;line-height:1.3; }
html body .ns-i-774b2b38 { padding:36px 40px 28px;border-bottom:1px solid #eef2f7; }
html body .project-portfolio, html body .ns-i-779ce116 { display:grid;grid-template-columns:repeat(2, 1fr);gap:20px; }
html body .ns-i-77ec55e4 { max-width:1080px;margin:0 auto;text-align:center;color:#ffffff; }
html body .ns-i-78781525 { text-align:center;color:#64748b;font-size:15px;margin:0 0 36px; }
html body .ns-i-7896e746 { color:#ffffff;font-size:1.45rem;display:block;line-height:1.2;margin-bottom:4px; }
html body .ns-i-79182870 { text-align:center;max-width:720px;margin:56px auto 0;color:#4b5563; }
html body .ns-i-7af2e82e { max-width:880px; }
html body .ns-i-7c619740 { align-items:center; }
html body .ns-i-7cd8de4a { background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:18px 20px; }
html body .ns-i-7d0b01be { margin:0 0 16px; }
html body .ns-i-7d32e0e5 { color:rgba(255,255,255,0.96);font-size:1rem;line-height:1.5; }
html body .ns-i-7f80284a { text-align:center;max-width:720px;margin:0 auto 32px; }
html body .ns-i-80b0682a { flex:1;min-width:200px;padding:10px 12px;border-radius:6px;border:1px solid #cbd5e1;font-size:14px; }
html body .ns-i-80e6856e { background:rgba(255,255,255,0.12);color:#ffffff;padding:8px 16px;border-radius:999px;font-size:14px;text-decoration:none;line-height:1.4; }
html body .ns-i-813e0de7 { display:inline-block;background:#fff;color:#0a77ba;font-size:13px;font-weight:700;text-decoration:none;padding:11px 20px;border-radius:8px; }
html body .ns-i-821b2545 { margin:0;color:rgba(255,255,255,0.78);line-height:1.6;font-size:0.92rem; }
html body .ns-i-8382be76 { background:#f8fafc;border-left:4px solid #0a77ba;border-radius:6px;padding:20px 24px; }
html body .ns-i-83d50a35 { font-size:14px;line-height:1.6;color:#4a5568;margin:0 0 14px; }
html body .ns-i-83d6099e { display:flex;gap:8px;flex-wrap:wrap;align-items:center;max-width:520px; }
html body .ns-i-83ef2f4f { display:grid;grid-template-columns:200px 1fr;gap:28px;padding:18px 0; }
html body .ns-i-848e1e7a { font-size:13px;line-height:1.2; }
html body .ns-i-860a1233 { font-size:20px;font-weight:700;color:#0a77ba;margin:0 0 14px; }
html body .ns-i-866ef280 { border:1px solid #cbd5e1;background:#f8fafc;border-radius:10px;padding:18px 22px;display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start; }
html body .ns-i-867a360a { text-align:center;max-width:760px;margin:32px auto 0;color:#475569;font-size:0.95rem;font-style:italic; }
html body .ns-i-87dd1c44 { margin:0;color:#374151;font-size:0.9rem;font-style:italic; }
html body .ns-i-88ec2556 { display:block;color:#0f172a;margin-bottom:4px; }
html body .ns-i-8964b51c { background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px; }
html body .ns-i-8a595dc9 { background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;padding:32px 36px;margin-bottom:20px; }
html body .ns-i-8af51c2b { margin-top:14px;font-size:13px;color:#4a5568;font-style:normal; }
html body .ns-i-8c2443c1 { display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:24px auto;max-width:1080px; }
html body .ns-i-8d003877 { display:inline-flex; align-items:center; padding:8px 14px; background:#f1f5f9; border-radius:999px; font-size:0.92rem; color:#1e293b; font-weight:500; text-decoration:none; }
html body .ns-i-8d9bb486 { display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px; }
html body .ns-i-8eb4dd29 { font-size:22px;font-weight:700;color:#0a77ba;margin:40px 0 18px;border-bottom:2px solid #e8f0f8;padding-bottom:10px; }
html body .ns-i-8f1856a0 { background:#ffffff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 12px;text-align:center; }
html body .ns-i-8fcec252 { color:#065f46;font-size:0.85rem;letter-spacing:0.5px;display:block;margin-bottom:14px; }
html body .ns-i-8fd988a7 { width:24px;height:24px; }
html body .ns-i-8fe74eec { color:#ffffff;margin:0 0 16px;font-size:3.75rem;line-height:1.1;letter-spacing:-0.75px; }
html body .ns-i-914d4bce { padding-left:18px;margin:0;color:#374151;line-height:1.7; }
html body .ns-i-91b8fe97 { font-size:15px;line-height:1.7;color:#4a5568;max-width:640px;margin:0 auto 22px; }
html body .ns-i-936d188c { flex:1 1 520px; }
html body .ns-i-93fa075c { background:#f8fafc;border-left:4px solid #0a77ba;border-radius:6px;padding:16px 20px; }
html body .ns-i-958a0182 { max-width:1400px;margin:0 auto;padding:64px 20px; }
html body .ns-i-9682e9bd { margin:0;color:#374151;line-height:1.6;font-size:0.95rem; }
html body .ns-i-96db0956 { display:inline-block;background:#0a77ba;color:#ffffff;padding:8px 16px;border-radius:20px;text-decoration:none;font-size:0.92rem;font-weight:500; }
html body .routing-row, html body .ns-i-98b63ff5 { display:grid;grid-template-columns:1fr 140px;gap:20px;align-items:center;background:#ffffff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 22px; }
html body .cabling-split, html body .camera-tco, html body .phone-paths, html body .ns-i-9a20f383 { display:grid;grid-template-columns:repeat(2, 1fr);gap:24px; }
html body .ns-i-9b53d5d1 { background:#0a77ba;border-radius:14px;padding:22px 28px;margin:0 auto 40px;display:flex;align-items:center;gap:20px;max-width:780px;box-shadow:0 8px 24px rgba(10,119,186,0.25); }
html body .ns-i-9bb3a384 { margin:0;padding-left:20px;color:#374151;line-height:1.7;font-size:0.95rem; }
html body .ns-i-9c2d8377 { color:#0a77ba;text-decoration:none;font-weight:600; }
html body .ns-i-9d541eee { max-width:1100px;margin:0 auto;padding:32px 20px 48px; }
html body .ns-i-9ec9b4d7 { max-width:720px;margin:0 auto 48px;font-size:1.15rem;line-height:1.7;text-align:center;color:#374151; }
html body .ns-i-9edb7f5c { padding:44px 20px;text-align:center; }
html body .ns-i-9ef3a7e8 { font-size:13px; letter-spacing:0.08em; margin:0 0 18px; }
html body .ns-i-9f6c4bf3 { background:#1a1a2e;color:#fff;padding:64px 20px; }
html body .ns-i-9fc9f5ae { background:#7c3aed; color:#ffffff; padding:5px 12px; }
html body .ns-i-a0e1e15e { color:#0a77ba;display:block; }
html body .ns-i-a3f1e566 { text-align:center;max-width:680px;margin:0 auto 40px;color:#475569; }
html body .ns-i-a43de148 { font-size:11px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin:0 0 8px; }
html body .ns-i-a4c837df { display:inline-flex;width:48px;height:48px;background:#e8f4fb;border-radius:12px;align-items:center;justify-content:center;color:#0a77ba;margin-bottom:12px; }
html body .ticket-routing, html body .ns-i-a56c85e3 { display:flex;flex-direction:column;gap:10px; }
html body .ns-i-a59590f3 { max-width:1200px;margin:0 auto;padding:24px 20px 64px; }
html body .ns-i-a7721c43 { text-align:center; padding:20px; }
html body .ns-i-a7e9d8cc { position:absolute;left:-9999px;width:1px;height:1px;opacity:0; }
html body .ns-i-a9a0a19a { background:#1f2937;color:#ffffff; }
html body .ns-i-aa4f1599 { align-items:center;gap:32px;margin:0 0 28px; }
html body .ns-i-abe1839a { align-items:center;gap:48px; }
html body .ns-i-ad016456 { padding:32px; }
html body .ns-i-ad182a19 { background:#ffffff;border-left:4px solid #0a77ba;border-radius:6px;padding:20px 24px; }
html body .ns-i-ad3e7656 { display:inline-flex;align-items:center;gap:10px;background:#ffffff;color:#0a77ba;font-weight:700;font-size:1rem;padding:16px 32px;border-radius:8px;text-decoration:none;letter-spacing:0.2px; }
html body .ns-i-ad8a058f { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;margin-bottom:44px; }
html body .ns-i-adc62c6d { text-align:left; padding:24px; }
html body .ns-i-b300d6f6 { color:#ffffff;margin:0 0 10px; }
html body .ns-i-b449ee4c { font-size:1.05rem;line-height:1.8;color:#4b5569;margin:0; }
html body .ns-i-b55b31dd { color:#ffffff; }
html body .ns-i-b57b5be8 { text-align:center;color:#64748b;font-size:0.8rem;line-height:1.6;max-width:680px;margin:12px auto 0; }
html body .ns-i-b5d1276b { padding:28px 0;border-bottom:1px solid #f1f5f9; }
html body .ns-i-b644d246 { display:flex;align-items:center;gap:40px;flex-wrap:wrap; }
html body .ns-i-b66ddb59 { text-align:center;max-width:720px;margin:0 auto 48px; }
html body .gap-timeline, html body .ns-i-b68e9653 { display:grid;grid-template-columns:repeat(5, 1fr);gap:14px; }
html body .ns-i-b76359ef { padding:56px 20px;background:#f8fafc; }
html body .ns-i-b7717c5b { font-size:15px;line-height:1.75;color:#2d3a47;margin:0 0 32px; }
html body .ns-i-b7be5904 { color:#374151;line-height:1.7;font-size:1.05rem;margin:0; }
html body .ns-i-b8b2af7d { width:44px;height:44px;background:#e8f4fb;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#0a77ba;margin-bottom:14px; }
html body .compliance-pillars, html body .ns-i-ba1816cb { display:grid;grid-template-columns:repeat(3, 1fr);gap:24px; }
html body .ns-i-bab9e5b8 { padding:10px 18px;border:0;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;background:#0a77ba;color:#ffffff; }
html body .ns-i-baf4adbc { background:#ffffff;border:1px solid #e2e8f0;border-radius:10px;padding:20px;text-align:center; }
html body .ns-i-bb4f37da { color:rgba(255,255,255,0.85); }
html body .ns-i-bc31c971 { margin-top:6px;font-size:14px; }
html body .ns-i-bdf2225b { color:#0f172a;font-size:0.98rem; }
html body .ns-i-bf304052 { margin:0 auto 32px; }
html body .ns-i-c0337366 { background:linear-gradient(135deg,#0a77ba 0%,#1a2332 100%);border-radius:14px;padding:34px 40px;margin:0 0 52px;display:flex;flex-wrap:wrap;align-items:center;gap:30px;color:#fff; }
html body .ns-i-c051704c { text-align:center;max-width:720px;margin:0 auto 36px; }
html body .ns-i-c095d7d8 { max-width:880px;margin:0 auto;padding:56px 20px;text-align:center;color:#ffffff; }
html body .ns-i-c0b0947a { margin-top:40px; padding:28px 32px; }
html body .ns-i-c0fef6dd { margin:0;color:#475569;line-height:1.6;font-size:0.95rem;font-style:italic; }
html body .ns-i-c1105bdf { margin-top:64px; }
html body .ns-i-c182490a { max-width:1040px;margin:0 auto; }
html body .ns-i-c2f8546b { margin-top:32px; }
html body .ns-i-c608a584 { font-size:12px; letter-spacing:1px; margin-bottom:6px; }
html body .ns-i-c6210a9f { font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#1a2332;max-width:1080px;margin:0 auto;padding:0 20px 60px; }
html body .ns-i-c6c0d930 { flex-shrink:0;width:52px;height:52px;background:#ffffff;border-radius:50%;display:flex;align-items:center;justify-content:center; }
html body .assessment-findings, html body .ns-i-c7da9158 { display:flex;flex-direction:column;gap:14px; }
html body .ns-i-c8844546 { background:#7c3aed; color:#ffffff; padding:4px 10px; margin-bottom:14px; }
html body .ns-i-c98633de { margin:0 0 10px;color:#0f172a;font-size:1.08rem; }
html body .ns-i-ca2403d3 { text-align:center;max-width:720px;margin:0 auto 56px; }
html body .ns-i-cad5ed0e { max-width:1100px;margin:0 auto;padding:64px 20px;color:#ffffff; }
html body .ns-i-cc77d4e4 { background:#0a77ba;color:#ffffff;padding:14px 20px;font-size:0.78rem;letter-spacing:1px;font-weight:700; }
html body .ns-i-cd0649c6 { margin:0;color:#374151; }
html body .ns-i-ce4f902d { line-height:1.7;list-style:disc;padding-left:20px;margin:0; }
html body .ns-i-ce63de6d { margin:0 0 8px;color:#374151;line-height:1.6; }
html body .pricing-toc, html body .ns-i-ce7e5402 { display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:36px auto 0;max-width:920px; }
html body .ns-i-cf7700e9 { font-size:1.15rem;line-height:1.8;color:#374151;margin:0 0 16px; }
html body .ns-i-cfc77d05 { align-items:center;gap:48px;max-width:1100px;margin:0 auto; }
html body .ns-i-d0473aad { flex:1 1 320px;min-width:280px; }
html body .ns-i-d10f4e08 { background:#f5f9ff;border-radius:10px;padding:32px 36px;margin-bottom:36px; }
html body .ns-i-d3ce0685 { display:block;color:#0f172a;font-size:0.95rem;margin-bottom:6px; }
html body .ns-i-d40e08d6 { max-width:920px;margin:0 auto 8px;padding:0 20px; }
html body .ns-i-d4968538 { text-align:center;color:#64748b;font-size:15px;margin:0 0 32px; }
html body .ns-i-d52e2722 { display:block;color:#0a77ba;font-size:0.78rem;letter-spacing:0.5px;margin-bottom:6px; }
html body .ns-i-d5645d4d { font-size:22px;font-weight:700;color:#0a77ba;margin:32px 0 14px;border-bottom:2px solid #e8f0f8;padding-bottom:10px; }
html body .ns-i-d59dc72a { display:block;padding:20px 4px;border-bottom:1px solid #e5e7eb;text-decoration:none; }
html body .ns-i-d61146f3 { aspect-ratio:16/9;overflow:hidden;background:#0a77ba; }
html body .ns-i-d6758a1e { margin:0 0 14px; }
html body .ns-i-d6f2af6e { margin-top:14px; }
html body .ns-i-d70eb693 { margin:0;color:#475569;line-height:1.6;font-size:0.94rem; }
html body .ns-i-d7bcff0d { padding:0 20px; }
html body .ns-i-d8cdb0f6 { background:#eff6ff;border:1px solid #bfdbfe;border-top:6px solid #0a77ba;border-radius:12px;padding:28px; }
html body .ns-i-d953e537 { margin:36px 0;padding:28px 36px;background:#f0f7ff;border-left:5px solid #0a77ba;border-radius:0 8px 8px 0; }
html body .ns-i-d9a19799 { max-width:1080px;margin:0 auto; }
html body .ns-i-da103e19 { display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px; }
html body .ns-i-dc2ea581 { background:#9a3412; color:#ffffff; padding:4px 10px; }
html body .ns-i-ddaf9ee3 { padding:24px; }
html body .ns-i-dea8f8ad { background:linear-gradient(135deg,#0a77ba 0%,#1a2332 100%);padding:80px 20px 96px; }
html body .ns-i-debb2228 { display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:36px; }
html body .ns-i-df04ee6c { max-width:1080px; margin:0 auto; }
html body .ns-i-df75369e { font-size:22px;font-weight:800;margin:0 0 10px;color:#fff; }
html body .ns-i-dff7aae7 { margin:0 0 14px; font-size:0.78rem; letter-spacing:0.18em; }
html body .ns-i-e2147305 { margin-top:48px; }
html body .ns-i-e3616763 { display:grid;grid-template-columns:repeat(2, 1fr);gap:18px;margin-bottom:24px; }
html body .ns-i-e380ad0f { display:block;background:#0a77ba;color:#ffffff;text-align:center;padding:14px 20px;border-radius:8px;text-decoration:none;font-weight:600; }
html body .ns-i-e414407e { max-width:880px;padding-top:32px; }
html body .ns-i-e51c70fe { background:#0a77ba;color:#ffffff;border:none;padding:12px 22px;border-radius:8px;font-weight:600;cursor:pointer; }
html body .ns-i-e55d5ab5 { text-align:left;border-bottom:2px solid #0a77ba;padding-bottom:8px; }
html body .ns-i-e564491c { display:grid;grid-template-columns:200px 1fr;gap:28px;padding:18px 0;border-bottom:1px solid #e2e8f0; }
html body .ns-i-e63ef7cb { display:flex;gap:8px;max-width:420px; }
html body .ns-i-e6eebcd1 { margin:0;color:#475569; }
html body .ns-i-e73df416 { color:#991b1b;font-size:0.85rem;letter-spacing:0.5px;display:block;margin-bottom:14px; }
html body .ns-i-e743e10e { text-align:center;max-width:720px;margin:32px auto 0;color:#475569;font-size:0.95rem;font-style:italic; }
html body .ns-i-e93dc39b { margin:0;color:#64748b;font-size:0.88rem;text-align:center; }
html body .ns-i-e9abb923 { flex:1 1 420px;margin:0;font-size:1.15rem;line-height:1.7;text-align:left;color:#374151; }
html body .ns-i-e9ee664e { text-align:center;max-width:680px;margin:0 auto 48px; }
html body .ns-i-ea1f81a4 { color:rgba(255,255,255,0.88);margin:0 auto;max-width:820px;font-size:1.15rem;line-height:1.65;font-weight:400; }
html body .ns-i-ea32bb61 { color:#374151;line-height:1.7;font-size:1.05rem;margin:0 0 12px; }
html body .ns-i-ea88c4f2 { color:#0a77ba;font-weight:700;font-size:0.95rem;line-height:1.2; }
html body .ns-i-eb23e022 { font-family: 'Source Serif Pro', serif; font-size: 32px; font-weight: 600; background-color: transparent; }
html body .ns-i-ebac9efd { background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:28px; }
html body .ns-i-ebc7508e { flex-basis:100%;font-size:13px;margin-top:6px;color:#475569; }
html body .ns-i-ed8d098f { max-width:1100px;margin:0 auto;padding:72px 20px; }
html body .ns-i-edb4ea6f { box-shadow:0 1px 2px rgba(15,23,42,0.04); max-width:800px; margin:0 auto; overflow:hidden; }
html body .ns-i-ee25adcc { margin:0 0 16px;color:rgba(255,255,255,0.78);line-height:1.6;font-size:0.95rem; }
html body .ns-i-ef0b7a11 { margin-bottom:0; }
html body .ns-i-ef49a073 { max-width:540px;margin:0 auto;background:#fff;border-radius:12px;padding:24px;text-align:left;box-shadow:0 10px 30px rgba(0,0,0,.25); }
html body .ns-i-f0598c19 { text-align:center;margin:-20px auto 28px;font-size:0.78rem;color:#94a3b8; }
html body .ns-i-f06459ea { padding:56px 20px;background:#fff; }
html body .ns-i-f28be976 { background:linear-gradient(135deg,#0a77ba 0%,#1a2332 100%);padding:80px 20px 88px;text-align:center; }
html body .ns-i-f2ad8628 { aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#0a77ba 0%,#075a8c 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff; }
html body .ns-i-f3a1a7d4 { text-align:left; max-width:800px; margin:0 auto 24px; padding-left:24px; }
html body .ns-i-f3b224ef { font-size:13px;color:rgba(255,255,255,0.5);margin-top:4px; }
html body .ns-i-f3bd4de0 { font-size:15px;font-weight:600;color:#1a1a2e;margin-bottom:12px; }
html body .ns-i-f4ba504f { color:#0a77ba;text-decoration:none; }
html body .ns-i-f4e114ff { font-size:11px; letter-spacing:0.12em; margin:0 0 12px; }
html body .ns-i-f51bada5 { font-size:1.4rem;color:#0f172a;margin:0 0 14px; }
html body .ns-i-f5c736ba { margin-top:40px;border-radius:10px;overflow:hidden; }
html body .ns-i-f6237c95 { font-size:22px;font-weight:700;color:#0a77ba;margin:0 0 14px;border-bottom:2px solid #e8f0f8;padding-bottom:10px; }
html body .ns-i-f6678b4b { margin:0;color:#475569;font-size:0.92rem; }
html body .ns-i-f763d20b { background:#0a77ba; color:#ffffff; padding:5px 12px; }
html body .ns-i-f7fd65cd { max-width:880px;margin:0 auto;padding:40px 20px 28px; }
html body .ns-i-f980f138 { background:#ffffff;padding:72px 20px;border-top:1px solid #e5e7eb; }
html body .ns-i-f9a6a597 { display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:380px;margin-left:auto; }
html body .ns-i-f9f6efd8 { max-width:880px;text-align:center; }
html body .ns-i-fa15dd64 { text-align:center;max-width:640px;margin:8px auto 32px;color:#4b5563; }
html body .ns-i-faefd4ab { display:inline-block;background:#ffffff;color:#0a77ba;font-weight:700;padding:14px 28px;border-radius:999px;text-decoration:none; }
html body .ns-i-fc63ae72 { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px; }
html body .ns-i-fd0c9a7a { font-size:13px;font-weight:600;color:#0a77ba; }
html body .ns-i-ff60df74 { font-size:clamp(28px,5vw,40px);line-height:1.15;margin:0 0 14px;font-family:Poppins,Inter,sans-serif;color:#fff; }
html body .ns-i-ff8fdcf8 { color:rgba(255,255,255,0.85);font-size:16px;line-height:1.6;margin:0 0 24px; }

/* live-components.css */
/*
 * Component rules harvested from the live site's head <style> blocks.
 * Only selectors for classes that had no rule in the shared CSS.
 * Plugin-only rules (forms and page builders we do not render) are omitted.
 */

/* aligncenter */
.aligncenter { clear: both; display: block; margin: 0px auto; }

/* byline */
.byline, .entry-header .cat-links { display: inline; }

/* cat-links */
.cat-links { display: block; }

/* entry-header */
.entry-header { overflow-wrap: break-word; }
.entry-header .gp-icon, .posted-on .updated { display: none; }

/* entry-meta */
footer.entry-meta .byline, footer.entry-meta .posted-on { display: block; }

/* has-text */
:root .has-text-align-center { text-align: center; }

/* page */
body.page .entry-header { display: none !important; }

/* size-large */
.size-large { max-width: 100%; height: auto; }

/* heroes.css */
/* Generated cover backgrounds for .location-hero. The picture stays for alt text. */
.location-hero:has(img[src="/assets/img/169apX9x_b-480.jpeg"]){background-image:url("/assets/img/169apX9x_b-1920.jpeg")}
.location-hero:has(img[src="/assets/img/1ymg8T1Wh2-480.jpeg"]){background-image:url("/assets/img/1ymg8T1Wh2-1920.jpeg")}
.location-hero:has(img[src="/assets/img/4e77iZ2vwp-480.jpeg"]){background-image:url("/assets/img/4e77iZ2vwp-1920.jpeg")}
.location-hero:has(img[src="/assets/img/5AiwVqtG4W-480.jpeg"]){background-image:url("/assets/img/5AiwVqtG4W-1920.jpeg")}
.location-hero:has(img[src="/assets/img/5rrPXMlXN_-480.jpeg"]){background-image:url("/assets/img/5rrPXMlXN_-1920.jpeg")}
.location-hero:has(img[src="/assets/img/76YAqddqFB-480.jpeg"]){background-image:url("/assets/img/76YAqddqFB-1920.jpeg")}
.location-hero:has(img[src="/assets/img/9dcBiR7oWX-480.jpeg"]){background-image:url("/assets/img/9dcBiR7oWX-1920.jpeg")}
.location-hero:has(img[src="/assets/img/A0UVjsWSRV-480.jpeg"]){background-image:url("/assets/img/A0UVjsWSRV-1920.jpeg")}
.location-hero:has(img[src="/assets/img/AED00_F83w-480.jpeg"]){background-image:url("/assets/img/AED00_F83w-1920.jpeg")}
.location-hero:has(img[src="/assets/img/EbseDwzzcQ-480.jpeg"]){background-image:url("/assets/img/EbseDwzzcQ-1244.jpeg")}
.location-hero:has(img[src="/assets/img/GXt3hcp5R--480.jpeg"]){background-image:url("/assets/img/GXt3hcp5R--1920.jpeg")}
.location-hero:has(img[src="/assets/img/InhqIl_g1q-480.jpeg"]){background-image:url("/assets/img/InhqIl_g1q-1920.jpeg")}
.location-hero:has(img[src="/assets/img/JsUl4_XmeW-480.jpeg"]){background-image:url("/assets/img/JsUl4_XmeW-1920.jpeg")}
.location-hero:has(img[src="/assets/img/KGceaXOl9j-480.jpeg"]){background-image:url("/assets/img/KGceaXOl9j-1920.jpeg")}
.location-hero:has(img[src="/assets/img/KekxhJ-y-F-480.jpeg"]){background-image:url("/assets/img/KekxhJ-y-F-1920.jpeg")}
.location-hero:has(img[src="/assets/img/MSTQK4Sr59-480.jpeg"]){background-image:url("/assets/img/MSTQK4Sr59-1920.jpeg")}
.location-hero:has(img[src="/assets/img/MrOTdoVYQo-480.jpeg"]){background-image:url("/assets/img/MrOTdoVYQo-1920.jpeg")}
.location-hero:has(img[src="/assets/img/NimMXM1rZj-480.jpeg"]){background-image:url("/assets/img/NimMXM1rZj-1920.jpeg")}
.location-hero:has(img[src="/assets/img/O2LkeM7LRs-480.jpeg"]){background-image:url("/assets/img/O2LkeM7LRs-1920.jpeg")}
.location-hero:has(img[src="/assets/img/P4BLbNQLEO-480.jpeg"]){background-image:url("/assets/img/P4BLbNQLEO-1920.jpeg")}
.location-hero:has(img[src="/assets/img/Q3MOUE9zjX-480.jpeg"]){background-image:url("/assets/img/Q3MOUE9zjX-1920.jpeg")}
.location-hero:has(img[src="/assets/img/Q3gnmhfUOn-480.jpeg"]){background-image:url("/assets/img/Q3gnmhfUOn-1920.jpeg")}
.location-hero:has(img[src="/assets/img/QLQZxLrhZP-480.jpeg"]){background-image:url("/assets/img/QLQZxLrhZP-1920.jpeg")}
.location-hero:has(img[src="/assets/img/Qxl7TVpQgP-480.jpeg"]){background-image:url("/assets/img/Qxl7TVpQgP-1440.jpeg")}
.location-hero:has(img[src="/assets/img/Vdgg9_WmH6-480.jpeg"]){background-image:url("/assets/img/Vdgg9_WmH6-1920.jpeg")}
.location-hero:has(img[src="/assets/img/ZRiotCaqzQ-480.jpeg"]){background-image:url("/assets/img/ZRiotCaqzQ-1920.jpeg")}
.location-hero:has(img[src="/assets/img/cA_3mVGPhF-480.jpeg"]){background-image:url("/assets/img/cA_3mVGPhF-1920.jpeg")}
.location-hero:has(img[src="/assets/img/g2vvn2q-P9-480.jpeg"]){background-image:url("/assets/img/g2vvn2q-P9-1920.jpeg")}
.location-hero:has(img[src="/assets/img/gDZWGROTP0-480.jpeg"]){background-image:url("/assets/img/gDZWGROTP0-1920.jpeg")}
.location-hero:has(img[src="/assets/img/jAZlxTZKrx-480.jpeg"]){background-image:url("/assets/img/jAZlxTZKrx-1920.jpeg")}
.location-hero:has(img[src="/assets/img/jXRbYlt8mg-480.jpeg"]){background-image:url("/assets/img/jXRbYlt8mg-1920.jpeg")}
.location-hero:has(img[src="/assets/img/kdsmZR-Eb6-480.jpeg"]){background-image:url("/assets/img/kdsmZR-Eb6-1920.jpeg")}
.location-hero:has(img[src="/assets/img/nKua7vX-AU-480.jpeg"]){background-image:url("/assets/img/nKua7vX-AU-1920.jpeg")}
.location-hero:has(img[src="/assets/img/nbWFURh6gG-480.jpeg"]){background-image:url("/assets/img/nbWFURh6gG-1920.jpeg")}
.location-hero:has(img[src="/assets/img/rJPIoTSo58-480.jpeg"]){background-image:url("/assets/img/rJPIoTSo58-1920.jpeg")}
.location-hero:has(img[src="/assets/img/rTFwzqytp6-480.jpeg"]){background-image:url("/assets/img/rTFwzqytp6-1440.jpeg")}
.location-hero:has(img[src="/assets/img/unNE2yOk3E-480.jpeg"]){background-image:url("/assets/img/unNE2yOk3E-1440.jpeg")}
.location-hero:has(img[src="/assets/img/vs5Vx49YW3-480.jpeg"]){background-image:url("/assets/img/vs5Vx49YW3-1920.jpeg")}
.location-hero:has(img[src="/assets/img/zYWrD1RobW-480.jpeg"]){background-image:url("/assets/img/zYWrD1RobW-1920.jpeg")}

