/* NumeraSense shared header — scoped to avoid altering page layouts */
.ns-header{position:sticky;top:0;z-index:1000;background:rgba(2,10,24,.96);border-bottom:1px solid rgba(80,151,174,.22);backdrop-filter:blur(14px);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.ns-header *{box-sizing:border-box}
.ns-header .ns-inner{width:min(1180px,calc(100% - 40px));min-height:78px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ns-header .ns-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}
.ns-header .ns-logo{width:42px;height:42px;flex-shrink:0;filter:drop-shadow(0 0 9px rgba(38,222,211,.15))}
.ns-header .ns-wordmark{display:flex;flex-direction:column;line-height:1.15;gap:4px}
.ns-header .ns-wordmark strong{color:#49e1dc;font-size:15px;letter-spacing:.16rem;font-weight:850;white-space:nowrap}
.ns-header .ns-wordmark small{color:#9eb4c9;font-size:10px;letter-spacing:.04rem;white-space:nowrap}
.ns-header .ns-links{display:flex;align-items:center;gap:5px}
.ns-header .ns-links a{display:inline-flex;align-items:center;min-height:40px;padding:9px 11px;border-radius:9px;color:#c6d6e6;text-decoration:none;font-size:13px;font-weight:650;white-space:nowrap;transition:background .15s,color .15s}
.ns-header .ns-links a:hover,.ns-header .ns-links a[aria-current=page]{background:rgba(38,222,211,.09);color:#70f2ea}
.ns-header .ns-links .ns-cta{border:1px solid rgba(38,222,211,.55);color:#59e7df;margin-left:7px;background:rgba(38,222,211,.055)}
.ns-header .ns-toggle{display:none;border:1px solid rgba(103,169,193,.4);background:#092238;color:#63e7e1;border-radius:10px;width:44px;height:42px;align-items:center;justify-content:center;font-size:22px;cursor:pointer}
.ns-header a:focus-visible,.ns-header button:focus-visible{outline:2px solid #62eee5;outline-offset:3px}
@media(max-width:900px){.ns-header .ns-toggle{display:flex}.ns-header .ns-links{display:none;position:absolute;top:100%;left:0;right:0;background:#061628;border-bottom:1px solid #265164;padding:12px max(20px,calc((100vw - 1180px)/2));flex-direction:column;align-items:stretch;box-shadow:0 16px 30px #0007}.ns-header .ns-links.ns-open{display:flex}.ns-header .ns-links a{width:100%;padding:12px}.ns-header .ns-links .ns-cta{margin-left:0}}
@media(max-width:420px){.ns-header .ns-inner{width:calc(100% - 28px)}.ns-header .ns-wordmark strong{font-size:12px}.ns-header .ns-wordmark small{font-size:9px}.ns-header .ns-logo{width:35px;height:35px}}
@media print{.ns-header{display:none!important}}

/* Isolation from legacy page-level header selectors */
body > #ns-site-header.ns-header{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;display:block!important;position:sticky!important;top:0!important;left:auto!important;right:auto!important;min-height:0!important;background:rgba(2,10,24,.97)!important;color:#f5faff!important;border:0!important;border-bottom:1px solid rgba(80,151,174,.22)!important;box-shadow:none!important;transform:none!important}
#ns-site-header.ns-header .ns-inner{max-width:1180px!important;width:calc(100% - 40px)!important;margin:0 auto!important;padding:0!important;min-height:78px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
#ns-site-header.ns-header .ns-brand{padding:0!important;margin:0!important;display:inline-flex!important;gap:12px!important;align-items:center!important;text-decoration:none!important;background:none!important;border:0!important}
#ns-site-header.ns-header .ns-logo{width:38px!important;height:38px!important;max-width:none!important;display:block!important}
#ns-site-header.ns-header .ns-wordmark strong{color:#49e1dc!important;font-size:15px!important;line-height:1.2!important;letter-spacing:.16rem!important}
#ns-site-header.ns-header .ns-wordmark small{color:#9eb4c9!important;font-size:10px!important;line-height:1.2!important}
#ns-site-header.ns-header .ns-links{margin:0!important;padding:0!important;align-items:center!important;gap:5px!important}
#ns-site-header.ns-header .ns-links a{margin:0!important;padding:9px 11px!important;color:#c6d6e6!important;font-size:13px!important;font-weight:650!important;text-decoration:none!important;line-height:1.4!important;background:transparent!important;border:0!important}
#ns-site-header.ns-header .ns-links .ns-cta{border:1px solid rgba(38,222,211,.55)!important;color:#59e7df!important;background:rgba(38,222,211,.055)!important;margin-left:7px!important}
#ns-site-header.ns-header .ns-links a:hover{color:#70f2ea!important;background:rgba(38,222,211,.09)!important}
@media(max-width:900px){#ns-site-header.ns-header .ns-toggle{display:flex!important}#ns-site-header.ns-header .ns-links{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;flex-direction:column!important;align-items:stretch!important;padding:12px 20px!important;background:#061628!important}#ns-site-header.ns-header .ns-links.ns-open{display:flex!important}#ns-site-header.ns-header .ns-links a{width:100%!important}#ns-site-header.ns-header .ns-links .ns-cta{margin-left:0!important}}
@media(max-width:420px){#ns-site-header.ns-header .ns-inner{width:calc(100% - 28px)!important}#ns-site-header.ns-header .ns-wordmark strong{font-size:12px!important}#ns-site-header.ns-header .ns-wordmark small{font-size:9px!important}}
@media print{body > #ns-site-header.ns-header{display:none!important}}

/* Shared brand identity: same SVG and typography in header and footer. */
.site-footer .ns-footer-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;max-width:100%}
.site-footer .ns-footer-brand .ns-logo{display:block;width:38px;height:38px;flex:none;filter:drop-shadow(0 0 9px rgba(38,222,211,.15))}
.site-footer .ns-footer-brand .ns-wordmark{display:flex;flex-direction:column;gap:4px;line-height:1.15}
.site-footer .ns-footer-brand .ns-wordmark strong{font-size:15px;font-weight:850;letter-spacing:.16rem;color:#49e1dc;white-space:nowrap}
.site-footer .ns-footer-brand .ns-wordmark small{font-size:10px;letter-spacing:.04rem;color:#9eb4c9;white-space:nowrap}
@media(max-width:420px){.site-footer .ns-footer-brand .ns-logo{width:35px;height:35px}.site-footer .ns-footer-brand .ns-wordmark strong{font-size:12px}.site-footer .ns-footer-brand .ns-wordmark small{font-size:9px}}
.ns-header .ns-links a[aria-current="page"]{background:rgba(38,222,211,.12);color:#76f5ee;box-shadow:inset 0 -2px 0 #38deda}

/* Shared copyright notice: single implementation for all pages */
.copyright-notice {
  position: fixed;
  right: 22px;
  bottom: 82px;
  z-index: 210;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
  width: min(390px, calc(100vw - 32px));
  border: 1px solid rgba(38, 222, 211, 0.38);
  border-radius: 16px;
  background:
    radial-gradient(circle at 0 0, rgba(38, 222, 211, 0.12), transparent 52%),
    rgba(3, 13, 29, 0.97);
  padding: 16px;
  box-shadow: 0 22px 65px rgba(0, 0, 0, 0.42);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
  backdrop-filter: blur(16px);
}

.copyright-notice.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.copyright-notice-mark {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(38, 222, 211, 0.38);
  border-radius: 50%;
  background: rgba(38, 222, 211, 0.08);
  color: #26ded3;
  font-size: 1rem;
  font-weight: 900;
}

.copyright-notice strong {
  display: block;
  margin: 1px 0 5px;
  color: #f2fbff;
  font-size: 0.85rem;
}

.copyright-notice p {
  margin: 0;
  color: #b7cbd9;
  font-size: 0.76rem;
  line-height: 1.55;
}

.copyright-notice-close {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #c6dbe6;
  cursor: pointer;
  font: inherit;
  font-size: 1.2rem;
  line-height: 1;
}

.copyright-notice-close:hover,
.copyright-notice-close:focus-visible {
  background: rgba(38, 222, 211, 0.1);
  color: #26ded3;
  outline: none;
}

/* Two-color header wordmark */
#ns-site-header.ns-header .ns-wordmark strong .brand-numera {
  color: #ffffff !important;
}

#ns-site-header.ns-header .ns-wordmark strong .brand-sense {
  color: #2dbbfa !important;
}
.ns-header .ns-logo {
  filter: drop-shadow(0 0 9px rgba(45, 187, 250, 0.15));
}
/* Center navigation after removing duplicate header branding */
#ns-site-header.ns-header .ns-inner {
  justify-content: center !important;
}

#ns-site-header.ns-header .ns-links {
  margin: 0 auto !important;
}
@media (max-width: 900px) {
  #ns-site-header.ns-header .ns-inner {
    justify-content: flex-end !important;
  }
}
/* NumeraSense footer logo */
.site-footer .footer-logo {
  display: block;
  width: 260px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 640px) {
  .site-footer .footer-logo {
    width: 210px;
  }
}