:root {
  --ns-shell-ink: #102044;
  --ns-shell-muted: #63708a;
  --ns-shell-line: #e3e7ef;
  --ns-shell-violet: #7656e8;
  --ns-shell-blue: #258bd7;
  --ns-shell-orange: #f39a28;
  --ns-shell-teal: #23ab9d;
}

/* Shared public header - matched to the Resources editorial navigation. */
.ns-global-header,
.ns-global-header.is-scrolled,
html[data-resources-theme="dark"] .ns-global-header,
html[data-resources-theme="dark"] .ns-global-header.is-scrolled {
  height: 84px;
  color: #142347;
  border-bottom: 1px solid rgba(222, 224, 232, 0.88);
  background: rgba(255, 253, 249, 0.95);
  box-shadow: none;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

.ns-global-header.is-scrolled,
html[data-resources-theme="dark"] .ns-global-header.is-scrolled {
  background: rgba(255, 253, 249, 0.985);
  box-shadow: 0 12px 34px rgba(28, 40, 78, 0.09);
}

.ns-global-header__spectrum,
.ns-global-header::after,
.ns-global-brand__descriptor {
  display: none;
}

.ns-global-header__inner {
  width: min(1320px, calc(100% - 48px));
  gap: 28px;
}

.ns-global-brand img {
  width: 244px;
  max-height: 66px;
  object-fit: contain;
}

.ns-global-nav,
html[data-resources-theme="dark"] .ns-global-nav {
  min-height: 84px;
  gap: clamp(18px, 2.2vw, 34px);
}

.ns-global-nav__link,
html[data-resources-theme="dark"] .ns-global-nav__link {
  min-height: 84px;
  padding: 0;
  border-radius: 0;
  color: #39435c !important;
  background: transparent !important;
  font-size: 13px;
  font-weight: 600;
}

.ns-global-nav__link:hover,
.ns-global-nav__link:focus-visible,
html[data-resources-theme="dark"] .ns-global-nav__link:hover,
html[data-resources-theme="dark"] .ns-global-nav__link:focus-visible,
.ns-global-nav__link.is-active,
html[data-resources-theme="dark"] .ns-global-nav__link.is-active {
  color: #142347 !important;
}

.ns-global-nav__link.is-active::after {
  right: 0;
  bottom: 15px;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, #7656e8, #f15c67, #f39a28, #23ab9d, #2b83df);
  box-shadow: none;
}

.ns-global-header .ns-global-offer {
  min-height: 40px;
  padding: 0 18px;
  gap: 9px;
  color: #142347;
  border: 1px solid #cfd4df;
  background: #fff;
  box-shadow: none;
}

.ns-global-header .ns-global-offer b {
  width: auto;
  height: auto;
  color: #7656e8;
  background: transparent;
  box-shadow: none;
}

.ns-global-header .ns-global-offer:hover {
  color: #142347;
  border-color: #bfc5d2;
  background: #fffaf3;
  box-shadow: 0 10px 26px rgba(23, 39, 79, 0.1);
}

.ns-global-theme,
.ns-global-menu,
html[data-resources-theme="dark"] .ns-global-theme,
html[data-resources-theme="dark"] .ns-global-menu {
  color: #142347;
  border-color: #e1e3e9;
  background: #fff;
}

.ns-global-mobile,
html[data-resources-theme="dark"] .ns-global-mobile {
  color: #142347;
  border-color: #e1e3e9;
  background: rgba(255, 253, 249, 0.99);
  box-shadow: 0 28px 70px rgba(18, 31, 64, 0.16);
}

@media (max-width: 1180px) {
  .ns-global-brand img { width: 224px; }
}

@media (max-width: 860px) {
  .ns-global-header,
  .ns-global-header.is-scrolled,
  html[data-resources-theme="dark"] .ns-global-header,
  html[data-resources-theme="dark"] .ns-global-header.is-scrolled {
    height: 76px;
  }
  .ns-global-brand img {
    width: 218px;
    max-height: 58px;
  }
}

@media (max-width: 560px) {
  .ns-global-header__inner { width: calc(100% - 24px); }
  .ns-global-brand img {
    width: 203px;
    max-height: 54px;
  }
}

@media (max-width: 390px) {
  .ns-global-brand img { width: 184px; }
}

.ns-shell-replaced {
  display: none !important;
}

body.ns-menu-lock {
  overflow: hidden !important;
}

body.ns-resource-shell #root {
  padding-top: 78px;
}

.ns-global-wrap {
  width: min(1280px, calc(100% - 56px));
  margin-inline: auto;
}

.ns-global-header,
.ns-global-header *,
.ns-global-footer,
.ns-global-footer * {
  box-sizing: border-box;
}

.ns-global-header a,
.ns-global-footer a {
  color: inherit;
  text-decoration: none;
}

.ns-global-header button,
.ns-global-footer button {
  font: inherit;
}

.ns-global-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 80;
  height: 78px;
  color: var(--ns-shell-ink);
  border-bottom: 1px solid rgba(218, 223, 234, 0.86);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 38px rgba(22, 35, 69, 0.05);
  -webkit-backdrop-filter: blur(20px) saturate(1.15);
  backdrop-filter: blur(20px) saturate(1.15);
  transition: height 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.ns-global-header.is-scrolled {
  height: 72px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 14px 42px rgba(19, 33, 68, 0.1);
}

.ns-global-header__spectrum {
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, #7656e8 0%, #ed5375 26%, #f39a28 48%, #23ab9d 73%, #258bd7 100%);
}

.ns-global-header__inner {
  height: 100%;
  display: flex;
  align-items: center;
  gap: clamp(22px, 3vw, 48px);
}

.ns-global-brand {
  display: block;
  flex: 0 0 auto;
}

.ns-global-brand img {
  width: 174px;
  height: auto;
  display: block;
}

.ns-global-nav {
  min-height: 44px;
  margin-left: auto;
  padding: 4px;
  display: flex;
  align-items: center;
  gap: 2px;
  border: 1px solid #e8ebf1;
  border-radius: 99px;
  background: rgba(246, 248, 252, 0.86);
}

.ns-global-nav__link {
  position: relative;
  min-height: 34px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  border-radius: 99px;
  color: #596780 !important;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.ns-global-nav__link:hover,
.ns-global-nav__link:focus-visible {
  color: var(--ns-shell-ink) !important;
  background: #fff;
}

.ns-global-nav__link.is-active {
  color: #fff !important;
  background: #16254a;
  box-shadow: 0 7px 18px rgba(21, 37, 74, 0.16);
}

.ns-global-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.ns-global-offer,
.ns-global-footer__offer,
.ns-global-mobile__offer {
  border: 0;
  color: #fff;
  background: linear-gradient(110deg, #7656e8, #6648d9 62%, #2d7fd0);
  box-shadow: 0 10px 24px rgba(111, 79, 232, 0.24);
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.ns-global-offer {
  min-height: 42px;
  padding: 0 17px;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 800;
}

.ns-global-offer b,
.ns-global-footer__offer b {
  font-size: 15px;
  line-height: 1;
}

.ns-global-offer:hover,
.ns-global-footer__offer:hover,
.ns-global-mobile__offer:hover {
  transform: translateY(-2px);
  filter: saturate(1.08);
  box-shadow: 0 15px 32px rgba(111, 79, 232, 0.32);
}

.ns-global-theme,
.ns-global-menu {
  width: 42px;
  height: 42px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid #dfe4ec;
  border-radius: 50%;
  color: #5c48bb;
  background: #fff;
  cursor: pointer;
}

.ns-global-theme {
  font-size: 18px;
}

.ns-global-menu {
  display: none;
}

.ns-global-menu i {
  width: 18px;
  height: 2px;
  display: block;
  border-radius: 3px;
  background: currentColor;
  transition: transform 180ms ease, opacity 180ms ease;
}

.ns-global-menu i + i {
  margin-top: 4px;
}

.ns-global-header.is-menu-open .ns-global-menu i:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.ns-global-header.is-menu-open .ns-global-menu i:nth-child(2) {
  opacity: 0;
}

.ns-global-header.is-menu-open .ns-global-menu i:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.ns-global-mobile {
  position: absolute;
  inset: 100% 14px auto;
  max-height: calc(100vh - 92px);
  padding: 20px;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-10px) scale(0.985);
  border: 1px solid #dde3ed;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 28px 70px rgba(18, 31, 64, 0.2);
  transition: opacity 190ms ease, transform 190ms ease, visibility 190ms;
}

.ns-global-header.is-menu-open .ns-global-mobile {
  visibility: visible;
  opacity: 1;
  transform: translateY(0) scale(1);
}

.ns-global-mobile__label {
  margin: 0 4px 10px;
  color: #8a94a7;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ns-global-mobile nav {
  display: grid;
}

.ns-global-mobile .ns-global-nav__link {
  min-height: 49px;
  justify-content: space-between;
  padding: 0 14px;
  border-radius: 10px;
  font-size: 14px;
}

.ns-global-mobile .ns-global-nav__link::after {
  content: "→";
  opacity: 0.6;
}

.ns-global-mobile .ns-global-nav__link.is-active {
  margin-block: 2px;
}

.ns-global-mobile__offer {
  width: 100%;
  min-height: 48px;
  margin-top: 16px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 800;
}

.ns-global-mobile > p {
  margin: 14px 4px 0;
  color: #8b95a8;
  font-size: 10px;
  text-align: center;
}

.ns-global-footer {
  position: relative;
  z-index: 2;
  padding: 0 0 24px;
  overflow: hidden;
  color: #dfe7f5;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(circle at 10% 35%, rgba(111, 79, 232, 0.16), transparent 30%),
    radial-gradient(circle at 88% 70%, rgba(35, 171, 157, 0.1), transparent 28%),
    #07101f;
}

.ns-global-footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, #7656e8, #ed5375, #f39a28, #23ab9d, #258bd7);
}

.ns-global-footer__cta {
  min-height: 146px;
  padding: 30px 34px;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ns-global-footer__mark {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(167, 139, 250, 0.38);
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(145deg, rgba(118, 86, 232, 0.3), rgba(37, 139, 215, 0.18));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.ns-global-footer__mark span {
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.ns-global-footer__cta p,
.ns-global-footer__cta h2,
.ns-global-footer__cta span {
  margin: 0;
}

.ns-global-footer__cta p {
  color: #ad99ff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ns-global-footer__cta h2 {
  margin: 5px 0 6px;
  color: #fff;
  font-size: clamp(25px, 2.6vw, 38px);
  letter-spacing: -0.045em;
  line-height: 1.06;
}

.ns-global-footer__cta > div:nth-child(2) > span {
  display: block;
  color: #9ba8bc;
  font-size: 12px;
  line-height: 1.55;
}

.ns-global-footer__offer {
  min-height: 48px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 99px;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.ns-global-footer__main {
  padding: 54px 0 50px;
  display: grid;
  grid-template-columns: 1.45fr 0.7fr 0.85fr 1.05fr;
  gap: clamp(34px, 5vw, 74px);
}

.ns-global-footer__logo {
  width: 210px;
  padding: 10px 14px;
  display: inline-block;
  border-radius: 12px;
  background: #fff;
}

.ns-global-footer__logo img {
  width: 100%;
  height: auto;
  display: block;
}

.ns-global-footer__brand > p {
  max-width: 360px;
  margin: 22px 0 23px;
  color: #9ba8bd;
  font-size: 13px;
  line-height: 1.72;
}

.ns-global-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.ns-global-trust span {
  padding: 7px 9px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;
  color: #abb7c9;
  background: rgba(255, 255, 255, 0.025);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.ns-global-trust i {
  color: #44cfb5;
  font-style: normal;
}

.ns-global-footer__column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
}

.ns-global-footer__column h3 {
  margin: 5px 0 7px;
  color: #fff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.ns-global-footer__column a {
  color: #96a5bb !important;
  font-size: 12px;
  line-height: 1.45;
  transition: color 180ms ease, transform 180ms ease;
}

.ns-global-footer__column a:hover,
.ns-global-footer__column a:focus-visible {
  color: #fff !important;
  transform: translateX(3px);
}

.ns-global-footer__bottom {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: #718097;
  font-size: 10px;
}

.ns-global-footer__bottom p {
  margin: 0;
}

.ns-global-footer__bottom > div {
  display: flex;
  align-items: center;
  gap: 22px;
}

.ns-global-footer__bottom a {
  color: #9aa8bd !important;
}

html[data-resources-theme="dark"] .ns-global-header {
  color: #eef4ff;
  border-bottom-color: rgba(47, 64, 91, 0.84);
  background: rgba(7, 16, 31, 0.93);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
}

html[data-resources-theme="dark"] .ns-global-header.is-scrolled {
  background: rgba(7, 16, 31, 0.98);
}

html[data-resources-theme="dark"] .ns-global-nav {
  border-color: #27354d;
  background: #0d182a;
}

html[data-resources-theme="dark"] .ns-global-nav__link {
  color: #9eacc1 !important;
}

html[data-resources-theme="dark"] .ns-global-nav__link:hover,
html[data-resources-theme="dark"] .ns-global-nav__link:focus-visible {
  color: #fff !important;
  background: #142138;
}

html[data-resources-theme="dark"] .ns-global-nav__link.is-active {
  color: #fff !important;
  background: #7656e8;
}

html[data-resources-theme="dark"] .ns-global-theme,
html[data-resources-theme="dark"] .ns-global-menu {
  color: #ffc45c;
  border-color: #33415a;
  background: #111d31;
}

html[data-resources-theme="dark"] .ns-global-mobile {
  border-color: #2a3952;
  background: rgba(10, 21, 37, 0.99);
}

@media (max-width: 1120px) {
  .ns-global-wrap {
    width: min(100% - 38px, 980px);
  }

  .ns-global-header__inner {
    gap: 18px;
  }

  .ns-global-nav__link {
    padding-inline: 10px;
    font-size: 11px;
  }

  .ns-global-offer span {
    display: none;
  }

  .ns-global-offer {
    width: 42px;
    padding: 0;
    justify-content: center;
  }

  .ns-global-footer__main {
    grid-template-columns: 1.25fr repeat(3, 0.8fr);
    gap: 36px;
  }
}

@media (max-width: 860px) {
  body.ns-resource-shell #root {
    padding-top: 70px;
  }

  .ns-global-header,
  .ns-global-header.is-scrolled {
    height: 70px;
  }

  .ns-global-wrap {
    width: calc(100% - 30px);
  }

  .ns-global-brand img {
    width: 156px;
  }

  .ns-global-header > .ns-global-header__inner > .ns-global-nav,
  .ns-global-header > .ns-global-header__inner > .ns-global-actions > .ns-global-offer {
    display: none;
  }

  .ns-global-menu {
    display: block;
  }

  .ns-global-actions {
    margin-left: auto;
  }

  .ns-global-footer__cta {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .ns-global-footer__mark {
    width: 54px;
    height: 54px;
    border-radius: 17px;
  }

  .ns-global-footer__offer {
    grid-column: 1 / -1;
    justify-self: stretch;
    justify-content: center;
  }

  .ns-global-footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ns-global-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .ns-global-brand img {
    width: 145px;
  }

  .ns-global-theme,
  .ns-global-menu {
    width: 40px;
    height: 40px;
  }

  .ns-global-footer__cta {
    padding: 28px 2px;
    grid-template-columns: 1fr;
    text-align: center;
  }

  .ns-global-footer__mark {
    margin-inline: auto;
  }

  .ns-global-footer__cta > div:nth-child(2) > span {
    font-size: 11px;
  }

  .ns-global-footer__main {
    padding-block: 44px 38px;
    grid-template-columns: 1fr 1fr;
    gap: 34px 22px;
  }

  .ns-global-footer__brand,
  .ns-global-footer__column--insights {
    grid-column: 1 / -1;
  }

  .ns-global-footer__bottom,
  .ns-global-footer__bottom > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .ns-global-footer__bottom {
    padding-block: 22px 2px;
    gap: 13px;
  }

  .ns-global-footer__bottom > div {
    gap: 8px;
  }
}

/* Sitewide motion system -------------------------------------------------- */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: ns-page-out 160ms ease both;
}

::view-transition-new(root) {
  animation: ns-page-in 360ms cubic-bezier(.2, .75, .25, 1) both;
}

body.ns-motion-ready:not(.ns-resource-shell) #root {
  animation: ns-page-in 460ms cubic-bezier(.2, .75, .25, 1) both;
}

.ns-motion-reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity 620ms cubic-bezier(.2, .75, .25, 1),
    transform 620ms cubic-bezier(.2, .75, .25, 1);
  transition-delay: var(--ns-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.ns-motion-reveal.ns-motion-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.ns-motion-hover {
  position: relative;
  isolation: isolate;
  transition:
    transform 240ms cubic-bezier(.2, .75, .25, 1),
    border-color 240ms ease,
    box-shadow 240ms ease,
    background-color 240ms ease !important;
}

.ns-motion-hover::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1px;
  pointer-events: none;
  border-radius: inherit;
  opacity: 0;
  background: linear-gradient(120deg, rgba(118, 86, 232, .16), rgba(237, 83, 117, .09) 35%, rgba(243, 154, 40, .1) 62%, rgba(35, 171, 157, .14));
  transition: opacity 240ms ease;
}

.ns-motion-hover:hover,
.ns-motion-hover:focus-within {
  z-index: 2;
  transform: translateY(-5px);
  border-color: rgba(118, 86, 232, .28) !important;
  box-shadow: 0 22px 50px rgba(22, 35, 69, .13) !important;
}

.ns-motion-hover:hover::after,
.ns-motion-hover:focus-within::after {
  opacity: 1;
}

.ns-motion-hover img {
  transition: transform 520ms cubic-bezier(.2, .75, .25, 1), filter 300ms ease;
}

.ns-motion-hover:hover img,
.ns-motion-hover:focus-within img {
  transform: scale(1.035);
  filter: saturate(1.06);
}

.ns-global-nav__link::after,
.ns-global-footer__column a::after {
  content: "";
  position: absolute;
  inset: auto 14px 5px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, #7656e8, #ed5375, #f39a28, #23ab9d);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
}

.ns-global-nav__link:not(.is-active):hover::after,
.ns-global-nav__link:not(.is-active):focus-visible::after,
.ns-global-footer__column a:hover::after,
.ns-global-footer__column a:focus-visible::after {
  transform: scaleX(1);
}

.ns-global-offer,
.ns-global-footer__offer,
.ns-global-mobile__offer {
  position: relative;
  overflow: hidden;
}

.ns-global-offer::after,
.ns-global-footer__offer::after,
.ns-global-mobile__offer::after {
  content: "";
  position: absolute;
  inset: -60% auto -60% -35%;
  width: 25%;
  pointer-events: none;
  background: rgba(255, 255, 255, .34);
  transform: skewX(-18deg) translateX(-250%);
  transition: transform 520ms ease;
}

.ns-global-offer:hover::after,
.ns-global-footer__offer:hover::after,
.ns-global-mobile__offer:hover::after {
  transform: skewX(-18deg) translateX(650%);
}

@keyframes ns-page-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes ns-page-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root),
  body.ns-motion-ready:not(.ns-resource-shell) #root {
    animation: none !important;
  }

  .ns-motion-reveal,
  .ns-motion-reveal.ns-motion-visible,
  .ns-motion-hover,
  .ns-motion-hover img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Selected About direction: Spectrum Narrative -------------------------- */
html.ns-about-active,
html.ns-about-active body {
  overflow-x: clip;
}

.ns-spectrum-about section[id] {
  scroll-margin-top: 84px;
}

/* About content must remain readable even when an observer is delayed or unavailable. */
.ns-spectrum-about .ns-motion-reveal {
  opacity: 1;
  transform: none;
}

.ns-spectrum-about {
  overflow: hidden;
  color: #111f3e;
  background: #fbfcff;
}

.ns-spectrum-about a {
  color: inherit;
  text-decoration: none;
}

.ns-spectrum-wrap {
  width: min(1180px, calc(100% - 56px));
  margin-inline: auto;
}

.ns-spectrum-kicker {
  margin: 0 0 18px;
  color: #785be0;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.ns-spectrum-purpose {
  position: relative;
  min-height: 680px;
  padding: 112px 0 280px;
  background: #fbfcff;
}

.ns-spectrum-purpose__copy {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(340px, .7fr);
  gap: clamp(76px, 12vw, 170px);
}

.ns-spectrum-purpose h2,
.ns-spectrum-global h2,
.ns-spectrum-principles h2,
.ns-spectrum-close h2 {
  margin: 0;
  color: #101f3f;
  font-size: clamp(46px, 4.75vw, 68px);
  font-weight: 900;
  line-height: .99;
  letter-spacing: -.055em;
}

.ns-spectrum-purpose__copy > div:last-child {
  padding-top: 46px;
}

.ns-spectrum-purpose__copy > div:last-child p,
.ns-spectrum-global__grid > div:first-child > p,
.ns-spectrum-close__inner > p {
  margin: 0 0 22px;
  color: #40506c;
  font-size: 15px;
  line-height: 1.76;
}

.ns-spectrum-ribbon {
  display: block;
  pointer-events: none;
  user-select: none;
}

.ns-spectrum-ribbon--purpose {
  position: absolute;
  z-index: 1;
  inset: auto 50% -220px auto;
  width: max(1780px, 120vw);
  max-width: none;
  transform: translateX(50%);
  filter: saturate(.95);
}

.ns-spectrum-process {
  position: relative;
  min-height: 620px;
  padding: 78px 0 235px;
  background: #fff;
}

.ns-spectrum-process header {
  position: relative;
  z-index: 2;
  margin-bottom: 68px;
  text-align: center;
}

.ns-spectrum-process header h2 {
  margin: 0;
  color: #101f3f;
  font-size: clamp(31px, 3.1vw, 46px);
  font-weight: 850;
  letter-spacing: -.04em;
}

.ns-spectrum-process__rail {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
}

.ns-spectrum-process__rail::before {
  content: "";
  position: absolute;
  inset: 47px 8% auto;
  height: 1px;
  background: #dfe3ec;
}

.ns-spectrum-process__rail article {
  position: relative;
  padding: 0 12px;
  outline: none;
}

.ns-spectrum-process__rail article > div {
  position: relative;
  z-index: 1;
  width: 94px;
  height: 94px;
  margin: 0 auto 30px;
  display: grid;
  place-items: center;
  border: 1px solid #e2e5ed;
  border-radius: 50%;
  color: #101f3f;
  background: #fff;
  box-shadow: 0 10px 30px rgba(26,39,72,.06);
  transition: transform 260ms cubic-bezier(.2,.75,.25,1), border-color 260ms ease, box-shadow 260ms ease;
}

.ns-spectrum-process__rail article > div::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  inset: 50% auto auto -24px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--step-color, #f39a28);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--step-color, #f39a28) 42%, white);
  transform: translateY(-50%);
}

.ns-spectrum-process__rail article:nth-child(2) { --step-color: #ed5375; }
.ns-spectrum-process__rail article:nth-child(3) { --step-color: #7656e8; }
.ns-spectrum-process__rail article:nth-child(4) { --step-color: #258bd7; }

.ns-spectrum-process__rail article:hover > div,
.ns-spectrum-process__rail article:focus-visible > div {
  transform: translateY(-8px) scale(1.04);
  border-color: color-mix(in srgb, var(--step-color) 35%, white);
  box-shadow: 0 20px 44px color-mix(in srgb, var(--step-color) 18%, transparent);
}

.ns-spectrum-process__rail article > div span {
  font-size: 12px;
  font-weight: 900;
}

.ns-spectrum-process__rail h3 {
  margin: 0 0 12px;
  color: #142342;
  font-size: 17px;
  font-weight: 850;
}

.ns-spectrum-process__rail p {
  margin: 0;
  color: #647188;
  font-size: 12.5px;
  line-height: 1.7;
}

.ns-spectrum-ribbon--process {
  position: absolute;
  z-index: 1;
  inset: auto 50% -380px auto;
  width: max(1760px, 120vw);
  max-width: none;
  transform: translateX(50%) scaleY(-1);
  opacity: .74;
}

.ns-spectrum-global {
  position: relative;
  z-index: 2;
  padding: 108px 0 112px;
  background: #fbfcff;
}

.ns-spectrum-global__grid {
  display: grid;
  grid-template-columns: minmax(350px, .72fr) minmax(480px, 1.28fr);
  gap: clamp(46px, 6vw, 84px);
  align-items: center;
}

.ns-spectrum-global h2,
.ns-spectrum-principles h2 {
  font-size: clamp(42px, 4.7vw, 66px);
}

.ns-spectrum-global__grid > div:first-child > p {
  max-width: 510px;
}

.ns-spectrum-global__grid > div:first-child > h2 + p {
  margin-top: 28px;
}

.ns-spectrum-global__visual {
  position: relative;
  overflow: hidden;
}

.ns-spectrum-global__visual img {
  width: 118%;
  max-width: none;
  margin-left: -9%;
  display: block;
  mix-blend-mode: multiply;
  transition: transform 800ms cubic-bezier(.2,.75,.25,1);
}

.ns-spectrum-global__visual:hover img {
  transform: scale(1.035);
}

.ns-spectrum-standard {
  padding: 58px 0;
  color: #fff;
  background: #091735;
  box-shadow: inset 0 1px rgba(255,255,255,.06), inset 0 -1px rgba(255,255,255,.06);
}

.ns-spectrum-standard__grid {
  display: grid;
  grid-template-columns: 86px minmax(0, .85fr) minmax(320px, .8fr);
  gap: 54px;
  align-items: center;
}

.ns-spectrum-standard__mark {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border: 1px solid #6358dc;
  border-radius: 22px;
  color: #80d6dc;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .09em;
  transform: rotate(-6deg);
}

.ns-spectrum-standard h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 850;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.ns-spectrum-standard__grid > p {
  margin: 0;
  color: #bcc6d8;
  font-size: 14px;
  line-height: 1.75;
}

.ns-spectrum-principles {
  position: relative;
  min-height: 700px;
  padding: 112px 0 245px;
  background: #fff;
}

.ns-spectrum-principles__grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(300px, .7fr) minmax(520px, 1.3fr);
  gap: clamp(65px, 9vw, 130px);
}

.ns-spectrum-principles__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 48px;
}

.ns-spectrum-principles__list article {
  padding: 0 0 27px;
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 15px;
  align-items: start;
  border-bottom: 1px solid #e9ecf2;
}

.ns-spectrum-principles__list article:nth-child(n+3) {
  padding-top: 27px;
}

.ns-spectrum-principles__list article > span {
  color: var(--principle-color, #7656e8);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
}

.ns-spectrum-principles__list article:nth-child(2) { --principle-color: #258bd7; }
.ns-spectrum-principles__list article:nth-child(3) { --principle-color: #ed5375; }
.ns-spectrum-principles__list article:nth-child(4) { --principle-color: #23ab9d; }
.ns-spectrum-principles__list article:nth-child(5) { --principle-color: #f39a28; }
.ns-spectrum-principles__list article:nth-child(6) { --principle-color: #2d9ed4; }

.ns-spectrum-principles__list h3 {
  margin: 0 0 8px;
  color: #152442;
  font-size: 14px;
  font-weight: 850;
}

.ns-spectrum-principles__list p {
  margin: 0;
  color: #657289;
  font-size: 12px;
  line-height: 1.65;
}

.ns-spectrum-ribbon--principles {
  position: absolute;
  z-index: 1;
  inset: auto 50% -290px auto;
  width: max(1720px, 116vw);
  max-width: none;
  transform: translateX(50%);
  opacity: .8;
}

.ns-spectrum-close {
  position: relative;
  min-height: 520px;
  padding: 116px 0 104px;
  overflow: hidden;
  background: #f7f9fd;
}

.ns-spectrum-ribbon--close {
  position: absolute;
  inset: -210px 50% auto auto;
  width: max(1700px, 116vw);
  max-width: none;
  opacity: .15;
  transform: translateX(50%) rotate(2deg);
}

.ns-spectrum-close__inner {
  position: relative;
  z-index: 2;
  max-width: 760px;
  text-align: center;
}

.ns-spectrum-close h2 {
  font-size: clamp(42px, 5.1vw, 70px);
}

.ns-spectrum-close__inner > p {
  max-width: 610px;
  margin: 25px auto 30px;
}

.ns-spectrum-close__inner > div {
  display: flex;
  justify-content: center;
  gap: 10px;
}

.ns-spectrum-close a,
.ns-spectrum-close button {
  min-height: 48px;
  padding: 0 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #dbe1eb;
  border-radius: 99px;
  color: #172747;
  background: rgba(255,255,255,.9);
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.ns-spectrum-close button {
  color: #fff;
  border-color: transparent;
  background: linear-gradient(110deg, #7656e8, #5a4bd5 54%, #258bd7);
  box-shadow: 0 12px 28px rgba(91,72,213,.23);
}

.ns-spectrum-close a:hover,
.ns-spectrum-close button:hover,
.ns-spectrum-close a:focus-visible,
.ns-spectrum-close button:focus-visible {
  transform: translateY(-3px);
  border-color: #9b8be7;
  box-shadow: 0 18px 36px rgba(27,42,75,.14);
}

.ns-spectrum-close small {
  margin-top: 18px;
  display: block;
  color: #7b879b;
  font-size: 10px;
  font-weight: 700;
}

/* Spectrum motion language ------------------------------------------------ */
.ns-spectrum-about {
  --ns-spectrum-progress: 0%;
  --ns-spectrum-drift-a: 0px;
  --ns-spectrum-drift-b: 0px;
  position: relative;
}

.ns-spectrum-about::before {
  content: "";
  position: fixed;
  z-index: 80;
  inset: 0 auto auto 0;
  width: var(--ns-spectrum-progress);
  height: 3px;
  pointer-events: none;
  background: linear-gradient(90deg, #f39a28, #ed5375, #7656e8, #258bd7, #23ab9d);
  box-shadow: 0 0 18px rgba(118, 86, 232, .42);
  transition: width 120ms linear;
}

.ns-spectrum-motion-item {
  opacity: .42;
  transform: translate3d(0, 28px, 0) scale(.985);
  filter: blur(2px);
  transition:
    opacity 760ms cubic-bezier(.2, .75, .25, 1),
    transform 760ms cubic-bezier(.2, .75, .25, 1),
    filter 760ms ease;
  transition-delay: var(--ns-spectrum-delay, 0ms);
}

.ns-spectrum-motion-item.ns-spectrum-in {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: none;
}

.ns-spectrum-purpose::after,
.ns-spectrum-global::after,
.ns-spectrum-principles::after,
.ns-spectrum-close::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 420px;
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(118,86,232,.10), rgba(37,158,212,.045) 42%, transparent 70%);
  filter: blur(10px);
  animation: ns-spectrum-orbit 12s ease-in-out infinite alternate;
}

.ns-spectrum-purpose::after { inset: 8% -120px auto auto; }
.ns-spectrum-global::after { inset: auto auto -120px -160px; animation-delay: -3s; }
.ns-spectrum-principles::after { inset: 12% -170px auto auto; animation-delay: -6s; }
.ns-spectrum-close::after { inset: -140px auto auto 8%; animation-delay: -8s; }

.ns-spectrum-ribbon {
  will-change: transform, filter;
  animation: ns-spectrum-breathe 7s ease-in-out infinite alternate;
}

.ns-spectrum-ribbon--purpose {
  transform: translateX(50%) translateY(var(--ns-spectrum-drift-a));
}

.ns-spectrum-ribbon--process {
  transform: translateX(50%) translateY(var(--ns-spectrum-drift-b)) scaleY(-1);
  animation-delay: -2s;
}

.ns-spectrum-ribbon--principles {
  transform: translateX(50%) translateY(var(--ns-spectrum-drift-a));
  animation-delay: -4s;
}

.ns-spectrum-ribbon--close {
  transform: translateX(50%) translateY(var(--ns-spectrum-drift-b)) rotate(2deg);
  animation-delay: -5s;
}

.ns-spectrum-process__rail article > div {
  animation: ns-spectrum-node 3.8s ease-in-out infinite;
  animation-delay: calc(var(--ns-spectrum-delay, 0ms) - 2s);
}

.ns-spectrum-process__rail article:hover > div,
.ns-spectrum-process__rail article:focus-visible > div {
  animation-play-state: paused;
}

.ns-spectrum-global__visual {
  border-radius: 32px;
  isolation: isolate;
}

.ns-spectrum-global__visual::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: -35%;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.72) 48%, transparent 61%);
  transform: translateX(-65%) rotate(8deg);
  animation: ns-spectrum-map-scan 6.5s ease-in-out infinite;
  mix-blend-mode: screen;
}

.ns-spectrum-standard {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 50%, rgba(118,86,232,.26), transparent 34%),
    radial-gradient(circle at 88% 50%, rgba(35,171,157,.16), transparent 32%),
    #091735;
  background-size: 130% 130%;
  animation: ns-spectrum-standard-flow 9s ease-in-out infinite alternate;
}

.ns-spectrum-standard__mark {
  box-shadow: 0 0 0 7px rgba(118,86,232,.07), 0 0 35px rgba(37,158,212,.12);
  animation: ns-spectrum-mark 4s ease-in-out infinite;
}

.ns-spectrum-principles__list article {
  position: relative;
  transition: transform 260ms cubic-bezier(.2,.75,.25,1), background-color 260ms ease;
}

.ns-spectrum-principles__list article::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--principle-color, #7656e8), transparent 82%);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 320ms ease;
}

.ns-spectrum-principles__list article:hover,
.ns-spectrum-principles__list article:focus-within {
  transform: translateX(9px);
}

.ns-spectrum-principles__list article:hover::after,
.ns-spectrum-principles__list article:focus-within::after {
  transform: scaleX(1);
}

.ns-spectrum-close button {
  position: relative;
  overflow: hidden;
  background-size: 180% 180%;
  animation: ns-spectrum-cta-gradient 4s ease infinite;
}

.ns-spectrum-close button::before {
  content: "";
  position: absolute;
  inset: -60% auto -60% -30%;
  width: 24%;
  background: rgba(255,255,255,.44);
  transform: skewX(-18deg) translateX(-260%);
  animation: ns-spectrum-cta-shine 4.8s ease-in-out infinite;
}

@keyframes ns-spectrum-orbit {
  from { transform: translate3d(-18px, -12px, 0) scale(.94); opacity: .58; }
  to { transform: translate3d(34px, 24px, 0) scale(1.09); opacity: 1; }
}

@keyframes ns-spectrum-breathe {
  from { filter: saturate(.94) contrast(1); }
  to { filter: saturate(1.12) contrast(1.035) drop-shadow(0 18px 32px rgba(76,76,190,.10)); }
}

@keyframes ns-spectrum-node {
  0%, 100% { box-shadow: 0 10px 30px rgba(26,39,72,.06), 0 0 0 0 color-mix(in srgb, var(--step-color, #7656e8) 0%, transparent); }
  50% { box-shadow: 0 15px 38px rgba(26,39,72,.10), 0 0 0 9px color-mix(in srgb, var(--step-color, #7656e8) 8%, transparent); }
}

@keyframes ns-spectrum-map-scan {
  0%, 18% { transform: translateX(-70%) rotate(8deg); opacity: 0; }
  34%, 60% { opacity: .7; }
  78%, 100% { transform: translateX(70%) rotate(8deg); opacity: 0; }
}

@keyframes ns-spectrum-standard-flow {
  from { background-position: 0% 50%; }
  to { background-position: 100% 50%; }
}

@keyframes ns-spectrum-mark {
  0%, 100% { transform: rotate(-6deg) translateY(0); }
  50% { transform: rotate(0deg) translateY(-5px); }
}

@keyframes ns-spectrum-cta-gradient {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes ns-spectrum-cta-shine {
  0%, 62% { transform: skewX(-18deg) translateX(-260%); }
  86%, 100% { transform: skewX(-18deg) translateX(720%); }
}

@media (max-width: 900px) {
  .ns-spectrum-purpose__copy,
  .ns-spectrum-global__grid,
  .ns-spectrum-standard__grid,
  .ns-spectrum-principles__grid {
    grid-template-columns: 1fr;
  }

  .ns-spectrum-purpose__copy {
    gap: 22px;
  }

  .ns-spectrum-purpose__copy > div:last-child {
    max-width: 620px;
    padding-top: 0;
  }

  .ns-spectrum-process__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 58px;
  }

  .ns-spectrum-process__rail::before {
    display: none;
  }

  .ns-spectrum-global__visual img {
    width: 100%;
    margin-left: 0;
  }

  .ns-spectrum-standard__grid {
    gap: 26px;
  }

  .ns-spectrum-principles__grid {
    gap: 52px;
  }
}

@media (max-width: 600px) {
  .ns-spectrum-wrap {
    width: min(100% - 34px, 1180px);
  }

  .ns-spectrum-purpose {
    min-height: 630px;
    padding: 80px 0 220px;
  }

  .ns-spectrum-purpose h2,
  .ns-spectrum-global h2,
  .ns-spectrum-principles h2,
  .ns-spectrum-close h2 {
    font-size: clamp(39px, 12vw, 53px);
  }

  .ns-spectrum-ribbon--purpose,
  .ns-spectrum-ribbon--process,
  .ns-spectrum-ribbon--principles,
  .ns-spectrum-ribbon--close {
    width: 1250px;
  }

  .ns-spectrum-process {
    padding-top: 64px;
  }

  .ns-spectrum-process__rail {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .ns-spectrum-process__rail article {
    padding: 0;
    display: grid;
    grid-template-columns: 76px 1fr;
    column-gap: 18px;
  }

  .ns-spectrum-process__rail article > div {
    width: 70px;
    height: 70px;
    grid-row: 1 / span 2;
    margin: 0;
  }

  .ns-spectrum-process__rail article > div::before {
    display: none;
  }

  .ns-spectrum-process__rail h3 {
    align-self: end;
  }

  .ns-spectrum-global {
    padding-top: 82px;
  }

  .ns-spectrum-standard__mark {
    width: 58px;
    height: 58px;
  }

  .ns-spectrum-principles {
    padding-top: 84px;
  }

  .ns-spectrum-principles__list {
    grid-template-columns: 1fr;
  }

  .ns-spectrum-principles__list article:nth-child(2) {
    padding-top: 27px;
  }

  .ns-spectrum-close__inner > div {
    flex-direction: column;
  }

  .ns-spectrum-close a,
  .ns-spectrum-close button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ns-spectrum-about::before,
  .ns-spectrum-purpose::after,
  .ns-spectrum-global::after,
  .ns-spectrum-principles::after,
  .ns-spectrum-close::after,
  .ns-spectrum-ribbon,
  .ns-spectrum-process__rail article > div,
  .ns-spectrum-global__visual::after,
  .ns-spectrum-standard,
  .ns-spectrum-standard__mark,
  .ns-spectrum-close button,
  .ns-spectrum-close button::before {
    animation: none !important;
  }

  .ns-spectrum-motion-item,
  .ns-spectrum-motion-item.ns-spectrum-in {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }

  .ns-spectrum-process__rail article > div,
  .ns-spectrum-global__visual img,
  .ns-spectrum-close a,
  .ns-spectrum-close button {
    transform: none !important;
    transition: none !important;
  }
}

/* About page editorial revamp ------------------------------------------- */
.ns-about-original-section {
  display: none !important;
}

.ns-about-revamp,
.ns-about-revamp * {
  box-sizing: border-box;
}

.ns-about-revamp {
  color: #13213f;
  background: #f7f9fd;
  font-family: inherit;
}

.ns-about-wrap {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.ns-about-kicker {
  margin: 0 0 16px;
  color: #7557df;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.ns-about-intro {
  position: relative;
  padding: clamp(82px, 9vw, 132px) 0;
  border-top: 4px solid transparent;
  border-image: linear-gradient(90deg, #7656e8, #ed5375, #f39a28, #23ab9d, #258bd7) 1;
  background: #fbfcff;
}

.ns-about-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: clamp(52px, 8vw, 112px);
  align-items: start;
}

.ns-about-intro h2,
.ns-about-heading h2,
.ns-about-markets h2,
.ns-about-commitment h2,
.ns-about-close h2 {
  margin: 0;
  color: #102044;
  font-size: clamp(40px, 5vw, 66px);
  font-weight: 900;
  line-height: 1.03;
  letter-spacing: -.045em;
}

.ns-about-intro__copy p {
  margin: 0 0 22px;
  color: #596780;
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.78;
}

.ns-about-intro__copy a {
  width: fit-content;
  margin-top: 12px;
  padding-bottom: 7px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #102044;
  border-bottom: 2px solid #7656e8;
  font-size: 13px;
  font-weight: 850;
  transition: gap 220ms ease, color 220ms ease;
}

.ns-about-intro__copy a:hover {
  gap: 16px;
  color: #7656e8;
}

.ns-about-proof {
  position: relative;
  overflow: hidden;
  color: #fff;
  background: #101d3b;
}

.ns-about-proof::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: linear-gradient(90deg, #7656e8, #ed5375, #f39a28, #23ab9d, #258bd7);
}

.ns-about-proof__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ns-about-proof__grid > div {
  min-height: 230px;
  padding: 48px 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid rgba(255,255,255,.1);
  transition: background-color 240ms ease, transform 240ms ease;
}

.ns-about-proof__grid > div:last-child {
  border-right: 0;
}

.ns-about-proof__grid > div:hover {
  background: rgba(255,255,255,.045);
  transform: translateY(-5px);
}

.ns-about-proof strong {
  margin-bottom: 21px;
  color: #fff;
  font-size: 35px;
  font-weight: 900;
  letter-spacing: -.04em;
}

.ns-about-proof span {
  margin-bottom: 8px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.ns-about-proof small {
  color: #94a1ba;
  font-size: 12px;
  line-height: 1.65;
}

.ns-about-process,
.ns-about-principles,
.ns-about-markets,
.ns-about-commitment,
.ns-about-close {
  padding: clamp(82px, 9vw, 128px) 0;
}

.ns-about-process {
  background: #f7f9fd;
}

.ns-about-heading {
  margin-bottom: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr);
  gap: 72px;
  align-items: end;
}

.ns-about-heading h2,
.ns-about-markets h2,
.ns-about-commitment h2,
.ns-about-close h2 {
  font-size: clamp(38px, 4.5vw, 58px);
}

.ns-about-heading > p,
.ns-about-markets__grid > div:first-child > p:last-child,
.ns-about-commitment__panel > div:last-child > p,
.ns-about-close__inner > div:first-child > p:last-child {
  margin: 0;
  color: #63708a;
  font-size: 15px;
  line-height: 1.78;
}

.ns-about-process__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.ns-about-process-card,
.ns-about-principle-card {
  position: relative;
  overflow: hidden;
  border: 1px solid #e0e5ef;
  background: #fff;
  box-shadow: 0 12px 34px rgba(22,35,69,.045);
}

.ns-about-process-card {
  min-height: 350px;
  padding: 28px;
  display: flex;
  flex-direction: column;
}

.ns-about-process-card::before,
.ns-about-principle-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--ns-card-accent, linear-gradient(90deg, #7656e8, #258bd7));
  transform: scaleX(.24);
  transform-origin: left;
  transition: transform 320ms ease;
}

.ns-about-process-card:nth-child(2) { --ns-card-accent: linear-gradient(90deg, #ed5375, #f39a28); }
.ns-about-process-card:nth-child(3) { --ns-card-accent: linear-gradient(90deg, #f39a28, #23ab9d); }
.ns-about-process-card:nth-child(4) { --ns-card-accent: linear-gradient(90deg, #23ab9d, #258bd7); }

.ns-about-process-card:hover::before,
.ns-about-principle-card:hover::before {
  transform: scaleX(1);
}

.ns-about-process-card > span {
  margin-bottom: auto;
  color: #d5dbe7;
  font-size: 50px;
  font-weight: 900;
  letter-spacing: -.06em;
}

.ns-about-process-card small,
.ns-about-principle-card > span {
  margin-bottom: 12px;
  color: #7656e8;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ns-about-process-card h3,
.ns-about-principle-card h3 {
  margin: 0 0 13px;
  color: #172747;
  font-size: 20px;
  font-weight: 850;
  line-height: 1.25;
  letter-spacing: -.025em;
}

.ns-about-process-card p,
.ns-about-principle-card p {
  margin: 0;
  color: #69758b;
  font-size: 13px;
  line-height: 1.72;
}

.ns-about-principles {
  background: #eef2f8;
}

.ns-about-heading--center {
  max-width: 820px;
  margin-inline: auto;
  grid-template-columns: 1fr;
  gap: 24px;
  text-align: center;
}

.ns-about-principles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.ns-about-principle-card {
  min-height: 430px;
  padding: 40px 34px;
  display: flex;
  flex-direction: column;
  border-radius: 20px;
}

.ns-about-principle-card--feature {
  transform: translateY(-14px);
  box-shadow: 0 26px 70px rgba(23,39,71,.12);
}

.ns-about-principle-card p {
  margin-bottom: auto;
}

.ns-about-principle-card b {
  padding: 12px 0;
  display: block;
  color: #43516a;
  border-bottom: 1px solid #e8ebf1;
  font-size: 12px;
  font-weight: 750;
}

.ns-about-principle-card b:last-child {
  border-bottom: 0;
}

.ns-about-markets {
  color: #fff;
  background: #101d3b;
}

.ns-about-markets__grid {
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(420px, 1.22fr);
  gap: clamp(60px, 9vw, 120px);
  align-items: center;
}

.ns-about-markets h2,
.ns-about-commitment h2 {
  color: #fff;
}

.ns-about-markets__grid > div:first-child > p:last-child {
  margin-top: 24px;
  color: #99a7bf;
}

.ns-about-market-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.12);
}

.ns-about-market-list span {
  padding: 18px 12px 18px 0;
  color: #dfe6f3;
  border-bottom: 1px solid rgba(255,255,255,.1);
  font-size: 13px;
  font-weight: 700;
  transition: color 180ms ease, padding-left 180ms ease;
}

.ns-about-market-list span:nth-child(odd) {
  border-right: 1px solid rgba(255,255,255,.1);
}

.ns-about-market-list span:nth-child(even) {
  padding-left: 22px;
}

.ns-about-market-list span:hover {
  padding-left: 9px;
  color: #83d8eb;
}

.ns-about-market-list span:nth-child(even):hover {
  padding-left: 31px;
}

.ns-about-commitment {
  background: #f7f9fd;
}

.ns-about-commitment__panel {
  padding: clamp(42px, 6vw, 76px);
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: clamp(54px, 8vw, 110px);
  border-radius: 26px;
  background: #16254a;
  box-shadow: 0 32px 90px rgba(22,37,74,.2);
}

.ns-about-commitment__panel > div:last-child > p {
  color: #aeb9cd;
}

.ns-about-commitment__points {
  margin-top: 30px;
  display: grid;
}

.ns-about-commitment__points span {
  padding: 16px 0;
  display: flex;
  gap: 15px;
  color: #eef3fb;
  border-bottom: 1px solid rgba(255,255,255,.1);
  font-size: 13px;
  font-weight: 700;
}

.ns-about-commitment__points b {
  color: #79d7d0;
  font-size: 10px;
  letter-spacing: .12em;
}

.ns-about-close {
  background: #fff;
}

.ns-about-close__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 70px;
  align-items: end;
}

.ns-about-close__inner > div:first-child {
  max-width: 790px;
}

.ns-about-close__inner > div:first-child > p:last-child {
  max-width: 620px;
  margin-top: 24px;
}

.ns-about-close__inner > div:last-child {
  display: grid;
  gap: 10px;
}

.ns-about-close a,
.ns-about-close button {
  min-width: 210px;
  min-height: 50px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-radius: 99px;
  border: 1px solid #dce2ec;
  color: #172747;
  background: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.ns-about-close button {
  color: #fff;
  border: 0;
  background: linear-gradient(110deg, #7656e8, #6648d9 58%, #258bd7);
  box-shadow: 0 12px 30px rgba(111,79,232,.24);
}

.ns-about-close a:hover,
.ns-about-close button:hover {
  transform: translateY(-3px);
  border-color: #9c8be5;
  box-shadow: 0 18px 38px rgba(22,35,69,.15);
}

@media (max-width: 900px) {
  .ns-about-intro__grid,
  .ns-about-heading,
  .ns-about-markets__grid,
  .ns-about-commitment__panel,
  .ns-about-close__inner {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .ns-about-proof__grid,
  .ns-about-process__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ns-about-proof__grid > div:nth-child(2) {
    border-right: 0;
  }

  .ns-about-principles__grid {
    grid-template-columns: 1fr;
  }

  .ns-about-principle-card--feature {
    transform: none;
  }

  .ns-about-close__inner > div:last-child {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .ns-about-wrap {
    width: min(100% - 32px, 1180px);
  }

  .ns-about-proof__grid,
  .ns-about-process__grid,
  .ns-about-market-list,
  .ns-about-close__inner > div:last-child {
    grid-template-columns: 1fr;
  }

  .ns-about-proof__grid > div {
    min-height: 190px;
    padding: 36px 20px;
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }

  .ns-about-process-card,
  .ns-about-principle-card {
    min-height: auto;
  }

  .ns-about-process-card > span {
    margin-bottom: 70px;
  }

  .ns-about-market-list span:nth-child(odd),
  .ns-about-market-list span:nth-child(even) {
    padding-left: 0;
    border-right: 0;
  }

  .ns-about-market-list span:nth-child(odd):hover,
  .ns-about-market-list span:nth-child(even):hover {
    padding-left: 8px;
  }

  .ns-about-close a,
  .ns-about-close button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ns-about-proof__grid > div,
  .ns-about-process-card,
  .ns-about-principle-card,
  .ns-about-market-list span,
  .ns-about-close a,
  .ns-about-close button {
    transform: none !important;
    transition: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ns-global-header *,
  .ns-global-footer * {
    transition-duration: 0.01ms !important;
  }
}

/* Dark marketplace alignment: the shell should feel continuous with the site. */
body.ns-resource-shell #root {
  padding-top: 72px;
}

.ns-global-header,
.ns-global-header.is-scrolled,
html[data-resources-theme="dark"] .ns-global-header,
html[data-resources-theme="dark"] .ns-global-header.is-scrolled {
  height: 72px;
  color: #f5f7fb;
  border-bottom-color: rgba(255, 255, 255, 0.08);
  background: rgba(3, 8, 20, 0.94);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.24);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
  backdrop-filter: blur(18px) saturate(1.1);
}

.ns-global-header.is-scrolled,
html[data-resources-theme="dark"] .ns-global-header.is-scrolled {
  background: rgba(3, 8, 20, 0.985);
  box-shadow: 0 13px 38px rgba(0, 0, 0, 0.34);
}

.ns-global-brand img {
  width: 150px;
}

.ns-global-nav,
html[data-resources-theme="dark"] .ns-global-nav {
  min-height: 42px;
  padding: 0;
  gap: 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.ns-global-nav__link,
html[data-resources-theme="dark"] .ns-global-nav__link {
  min-height: 42px;
  padding: 0 13px;
  border-radius: 8px;
  color: #9da9bd !important;
  background: transparent;
  font-size: 12px;
  font-weight: 650;
}

.ns-global-nav__link:hover,
.ns-global-nav__link:focus-visible,
html[data-resources-theme="dark"] .ns-global-nav__link:hover,
html[data-resources-theme="dark"] .ns-global-nav__link:focus-visible {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.055);
}

.ns-global-nav__link.is-active,
html[data-resources-theme="dark"] .ns-global-nav__link.is-active {
  color: #fff !important;
  background: transparent;
  box-shadow: none;
}

.ns-global-nav__link.is-active::after {
  content: "";
  position: absolute;
  right: 13px;
  bottom: 2px;
  left: 13px;
  height: 2px;
  border-radius: 4px;
  background: linear-gradient(90deg, #a78bfa, #ec4899, #22d3ee);
  box-shadow: 0 0 12px rgba(139, 92, 246, 0.48);
}

.ns-global-header .ns-global-offer {
  min-height: 40px;
  padding-inline: 18px;
  color: #0b1220;
  background: #fff;
  box-shadow: 0 8px 24px rgba(255, 255, 255, 0.1);
}

.ns-global-header .ns-global-offer:hover {
  color: #0b1220;
  background: #f2f4f8;
  box-shadow: 0 12px 28px rgba(255, 255, 255, 0.16);
}

.ns-global-theme,
.ns-global-menu,
html[data-resources-theme="dark"] .ns-global-theme,
html[data-resources-theme="dark"] .ns-global-menu {
  color: #d7dce7;
  border-color: rgba(255, 255, 255, 0.11);
  background: rgba(255, 255, 255, 0.045);
}

.ns-global-theme:hover,
.ns-global-menu:hover {
  color: #fff;
  border-color: rgba(167, 139, 250, 0.45);
  background: rgba(139, 92, 246, 0.12);
}

.ns-global-mobile,
html[data-resources-theme="dark"] .ns-global-mobile {
  color: #f4f7fb;
  border-color: rgba(255, 255, 255, 0.11);
  background: rgba(5, 12, 27, 0.985);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
}

.ns-global-mobile__label,
.ns-global-mobile > p {
  color: #738096;
}

.ns-global-mobile .ns-global-nav__link {
  min-height: 49px;
  color: #b2bdce !important;
}

.ns-global-mobile .ns-global-nav__link.is-active {
  color: #fff !important;
  background: rgba(139, 92, 246, 0.12);
}

.ns-global-mobile .ns-global-nav__link.is-active::after {
  content: "→";
  position: static;
  width: auto;
  height: auto;
  background: none;
  box-shadow: none;
}

.ns-global-footer__logo {
  width: 190px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

@media (max-width: 1120px) {
  .ns-global-nav__link,
  html[data-resources-theme="dark"] .ns-global-nav__link {
    padding-inline: 10px;
    font-size: 11px;
  }

  .ns-global-nav__link.is-active::after {
    right: 10px;
    left: 10px;
  }
}

@media (max-width: 860px) {
  body.ns-resource-shell #root {
    padding-top: 68px;
  }

  .ns-global-header,
  .ns-global-header.is-scrolled,
  html[data-resources-theme="dark"] .ns-global-header,
  html[data-resources-theme="dark"] .ns-global-header.is-scrolled {
    height: 68px;
  }

  .ns-global-brand img {
    width: 142px;
  }
}

/* Elevated NameSpear shell */
.ns-global-header::after {
  content: "";
  position: absolute;
  right: 8%;
  bottom: -1px;
  left: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.42), rgba(34, 211, 238, 0.3), transparent);
  pointer-events: none;
}

.ns-global-header__inner {
  width: min(1320px, calc(100% - 48px));
  gap: 20px;
}

.ns-global-brand {
  display: flex;
  align-items: center;
}

.ns-global-brand__descriptor {
  display: flex;
  align-items: center;
  gap: 11px;
  color: #fff;
  white-space: nowrap;
}

.ns-global-brand__descriptor > i {
  width: 1px;
  height: 29px;
  display: block;
  background: linear-gradient(transparent, rgba(255, 255, 255, 0.22), transparent);
}

.ns-global-brand__descriptor > span {
  display: grid;
  gap: 2px;
}

.ns-global-brand__descriptor b {
  color: #c4b5fd;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ns-global-brand__descriptor small {
  color: #7f8ba0;
  font-size: 8px;
  font-weight: 650;
  letter-spacing: 0.05em;
}

.ns-global-nav {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.ns-global-actions {
  margin-left: auto;
}

.ns-global-header .ns-global-offer {
  padding: 4px 5px 4px 18px;
  gap: 12px;
}

.ns-global-header .ns-global-offer b {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #7656e8, #258bd7);
  box-shadow: 0 5px 14px rgba(99, 73, 210, 0.3);
}

.ns-global-footer {
  padding-top: 54px;
  background:
    radial-gradient(ellipse at 14% 22%, rgba(118, 86, 232, 0.18), transparent 34%),
    radial-gradient(ellipse at 88% 42%, rgba(37, 139, 215, 0.11), transparent 30%),
    linear-gradient(180deg, #07101f 0%, #040a14 100%);
}

.ns-global-footer__wordmark {
  position: absolute;
  right: -18px;
  bottom: 24px;
  color: transparent;
  font-size: clamp(100px, 17vw, 250px);
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: 0.75;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.028);
  text-stroke: 1px rgba(255, 255, 255, 0.028);
  pointer-events: none;
  user-select: none;
}

.ns-global-footer__cta {
  position: relative;
  min-height: 178px;
  padding: 34px 38px;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 28px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 26px;
  background:
    radial-gradient(circle at 82% 10%, rgba(34, 211, 238, 0.11), transparent 27%),
    linear-gradient(120deg, rgba(139, 92, 246, 0.14), rgba(255, 255, 255, 0.025) 52%, rgba(37, 139, 215, 0.09));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 28px 72px rgba(0, 0, 0, 0.22);
}

.ns-global-footer__cta::after {
  content: "";
  position: absolute;
  right: -80px;
  bottom: -150px;
  width: 360px;
  height: 260px;
  border: 1px solid rgba(167, 139, 250, 0.13);
  border-radius: 50%;
  transform: rotate(-18deg);
  pointer-events: none;
}

.ns-global-footer__mark {
  position: relative;
  width: 70px;
  height: 70px;
  border-color: rgba(167, 139, 250, 0.4);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(118, 86, 232, 0.42), rgba(37, 139, 215, 0.15));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 18px 34px rgba(14, 10, 42, 0.32);
}

.ns-global-footer__mark::before,
.ns-global-footer__mark::after,
.ns-global-footer__mark > i {
  content: "";
  position: absolute;
  border: 1px solid rgba(167, 139, 250, 0.2);
  border-radius: 24px;
}

.ns-global-footer__mark::before {
  inset: -7px;
}

.ns-global-footer__mark::after {
  inset: -14px;
  opacity: 0.4;
}

.ns-global-footer__mark > i {
  inset: 7px;
  border-radius: 16px;
}

.ns-global-footer__mark span {
  position: relative;
  z-index: 1;
  font-size: 17px;
}

.ns-global-footer__cta-copy {
  position: relative;
  z-index: 1;
}

.ns-global-footer__cta h2 {
  max-width: 700px;
  font-size: clamp(30px, 3.1vw, 46px);
}

.ns-global-footer__cta-actions {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: stretch;
  gap: 9px;
}

.ns-global-footer__cta-actions > a,
.ns-global-footer__cta-actions > button {
  min-width: 190px;
  min-height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 800;
}

.ns-global-footer__cta-actions > a {
  color: #dce5f4 !important;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.04);
  transition: border-color 180ms ease, background-color 180ms ease;
}

.ns-global-footer__cta-actions > a:hover {
  border-color: rgba(167, 139, 250, 0.5);
  background: rgba(139, 92, 246, 0.1);
}

.ns-global-footer__main {
  position: relative;
  padding: 68px 0 54px;
  grid-template-columns: 1.45fr 0.68fr 0.72fr 1fr;
}

.ns-global-footer__main::before {
  content: "";
  position: absolute;
  inset: 26px 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.09), transparent);
}

.ns-global-footer__proof {
  max-width: 380px;
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid rgba(255, 255, 255, 0.08);
}

.ns-global-footer__proof > span {
  padding: 13px 8px 13px 0;
  display: grid;
  gap: 3px;
}

.ns-global-footer__proof > span + span {
  padding-left: 13px;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

.ns-global-footer__proof strong {
  color: #eef3fb;
  font-size: 11px;
  font-weight: 800;
}

.ns-global-footer__proof small {
  color: #64738b;
  font-size: 8px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.ns-global-footer__column h3::after {
  content: "";
  width: 22px;
  height: 2px;
  margin-top: 10px;
  display: block;
  border-radius: 2px;
  background: linear-gradient(90deg, #7656e8, #22d3ee);
}

.ns-global-footer__column a {
  position: relative;
  padding-left: 0;
}

.ns-global-footer__column a::before {
  content: "›";
  position: absolute;
  left: -12px;
  color: #8b5cf6;
  opacity: 0;
  transition: opacity 180ms ease, transform 180ms ease;
}

.ns-global-footer__column a:hover::before,
.ns-global-footer__column a:focus-visible::before {
  opacity: 1;
  transform: translateX(3px);
}

.ns-global-footer__bottom {
  position: relative;
  z-index: 1;
}

@media (max-width: 1180px) {
  .ns-global-brand__descriptor {
    display: none;
  }

  .ns-global-nav {
    position: static;
    margin-left: auto;
    transform: none;
  }

  .ns-global-actions {
    margin-left: 0;
  }
}

@media (max-width: 860px) {
  .ns-global-footer {
    padding-top: 34px;
  }

  .ns-global-footer__cta {
    grid-template-columns: 62px minmax(0, 1fr);
    padding: 30px;
  }

  .ns-global-footer__mark {
    width: 58px;
    height: 58px;
    border-radius: 18px;
  }

  .ns-global-footer__cta-actions {
    grid-column: 1 / -1;
    grid-template-columns: 1fr 1fr;
  }

  .ns-global-footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .ns-global-footer__cta {
    padding: 28px 20px;
    grid-template-columns: 1fr;
  }

  .ns-global-footer__cta-actions {
    grid-template-columns: 1fr;
  }

  .ns-global-footer__cta-actions > a,
  .ns-global-footer__cta-actions > button {
    width: 100%;
  }

  .ns-global-footer__proof {
    max-width: none;
  }
}

/* Final Resources-header alignment (kept last so legacy shell rules cannot override it). */
.ns-global-header,
.ns-global-header.is-scrolled,
html[data-resources-theme="dark"] .ns-global-header,
html[data-resources-theme="dark"] .ns-global-header.is-scrolled {
  height: 84px;
  color: #142347;
  border-bottom: 1px solid rgba(222, 224, 232, 0.88);
  background: rgba(255, 253, 249, 0.96);
  box-shadow: 0 12px 34px rgba(28, 40, 78, 0.08);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
.ns-global-header__spectrum,
.ns-global-header::after,
.ns-global-brand__descriptor { display: none !important; }
.ns-global-header__inner { width: min(1320px, calc(100% - 48px)); gap: 28px; }
.ns-global-brand img { width: 244px; max-height: 66px; object-fit: contain; }
.ns-global-nav,
html[data-resources-theme="dark"] .ns-global-nav { min-height: 84px; gap: clamp(18px, 2.2vw, 34px); }
.ns-global-nav__link,
html[data-resources-theme="dark"] .ns-global-nav__link {
  min-height: 84px;
  padding: 0;
  border-radius: 0;
  color: #39435c !important;
  background: transparent !important;
  font-size: 13px;
  font-weight: 600;
}
.ns-global-nav__link:hover,
.ns-global-nav__link:focus-visible,
.ns-global-nav__link.is-active,
html[data-resources-theme="dark"] .ns-global-nav__link:hover,
html[data-resources-theme="dark"] .ns-global-nav__link:focus-visible,
html[data-resources-theme="dark"] .ns-global-nav__link.is-active { color: #142347 !important; }
.ns-global-nav__link.is-active::after {
  right: 0; bottom: 15px; left: 0; height: 3px;
  background: linear-gradient(90deg, #7656e8, #f15c67, #f39a28, #23ab9d, #2b83df);
  box-shadow: none;
}
.ns-global-header .ns-global-offer {
  min-height: 40px; padding: 0 18px; gap: 9px;
  color: #142347; border: 1px solid #cfd4df; background: #fff; box-shadow: none;
}
.ns-global-header .ns-global-offer b {
  width: auto; height: auto; color: #7656e8; background: transparent; box-shadow: none;
}
.ns-global-header .ns-global-offer:hover {
  color: #142347; border-color: #bfc5d2; background: #fffaf3;
  box-shadow: 0 10px 26px rgba(23, 39, 79, 0.1);
}
.ns-global-theme,
.ns-global-menu,
html[data-resources-theme="dark"] .ns-global-theme,
html[data-resources-theme="dark"] .ns-global-menu {
  color: #142347; border-color: #e1e3e9; background: #fff;
}
.ns-global-mobile,
html[data-resources-theme="dark"] .ns-global-mobile {
  color: #142347; border-color: #e1e3e9; background: rgba(255, 253, 249, 0.99);
  box-shadow: 0 28px 70px rgba(18, 31, 64, 0.16);
}
@media (max-width: 1180px) { .ns-global-brand img { width: 224px; } }
@media (max-width: 860px) {
  .ns-global-header,
  .ns-global-header.is-scrolled,
  html[data-resources-theme="dark"] .ns-global-header,
  html[data-resources-theme="dark"] .ns-global-header.is-scrolled { height: 76px; }
  .ns-global-brand img { width: 218px; max-height: 58px; }
}
@media (max-width: 560px) {
  .ns-global-header__inner { width: calc(100% - 24px); }
  .ns-global-brand img { width: 203px; max-height: 54px; }
}
@media (max-width: 390px) { .ns-global-brand img { width: 184px; } }

html.ns-public-theme[data-home-theme="dark"] .ns-global-header,
html.ns-public-theme[data-home-theme="dark"] .ns-global-header.is-scrolled {
  color: #f5f7fb;
  background: rgba(3, 8, 20, 0.96);
  border-bottom-color: rgba(255, 255, 255, 0.09);
}
html.ns-public-theme[data-home-theme="dark"] .ns-global-nav__link { color: #aab5c8 !important; }
html.ns-public-theme[data-home-theme="dark"] .ns-global-nav__link:hover,
html.ns-public-theme[data-home-theme="dark"] .ns-global-nav__link.is-active { color: #fff !important; }
html.ns-public-theme[data-home-theme="dark"] .ns-global-theme,
html.ns-public-theme[data-home-theme="dark"] .ns-global-menu {
  color: #f4f6fb;
  border-color: rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.06);
}

/* FINAL SHARED SHELL OVERRIDES */
.ns-global-header{position:sticky!important;top:0;height:108px!important;overflow:visible!important;color:#eef2f8!important;background:#050a18!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.ns-global-header.is-scrolled{height:72px!important;background:rgba(5,10,24,.76)!important;box-shadow:0 18px 50px rgba(0,0,0,.24)!important;backdrop-filter:blur(24px) saturate(1.35)!important}.ns-global-topbar{height:32px;overflow:hidden;color:#aeb8c8;background:#0a1121;border-bottom:1px solid rgba(255,255,255,.08)}.ns-global-header.is-scrolled .ns-global-topbar{height:0!important;opacity:0}.ns-global-topbar__inner{height:32px;display:flex;align-items:center;gap:24px}.ns-global-topbar__inner>span{color:#e8b52b;font-size:9px;font-weight:850;letter-spacing:.16em}.ns-global-topbar__inner p{margin:0;font-size:10px}.ns-global-topbar__inner a{margin-left:auto;color:#dbe2ed;font-size:10px}.ns-global-header__inner{width:min(1380px,calc(100% - 52px))!important;height:76px!important;min-height:0!important}.ns-global-header.is-scrolled .ns-global-header__inner{height:72px!important}.ns-global-brand img{width:228px!important;max-height:58px!important}.ns-global-nav{min-height:76px!important}.ns-global-nav__link{min-height:76px!important;color:#a9b3c5!important;background:transparent!important}.ns-global-header .ns-global-offer{color:#111827!important;background:#e8b52b!important;border-color:#e8b52b!important}
.ns-global-footer{color:#d8deea!important;background:#030712!important}.ns-global-footer>.ns-global-wrap{position:relative;z-index:1;width:min(1320px,calc(100% - 56px))!important}.ns-global-footer__cta{grid-template-columns:minmax(0,1fr) auto!important;gap:64px!important;padding:72px 0 72px 28px!important;border-left:2px solid #e8b52b!important}.ns-global-footer__mark{display:none!important}.ns-global-footer__cta h2{color:#f5f2eb!important;font-size:clamp(38px,4.4vw,64px)!important}.ns-global-footer__main{display:grid!important;grid-template-columns:minmax(300px,1.25fr) minmax(130px,.55fr) minmax(130px,.55fr) minmax(250px,.9fr)!important;gap:clamp(38px,5vw,76px)!important}.ns-global-footer__desk{padding:26px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.11)}.ns-global-footer__desk>span{color:#e8b52b;font-size:8px;font-weight:850}.ns-global-footer__desk>strong{display:block;margin:20px 0 10px;color:#f4f1ea;font-size:22px}.ns-global-footer__desk>p{color:#8591a4;font-size:12px;line-height:1.7}.ns-global-footer__desk dl{display:grid;grid-template-columns:1fr 1fr;margin:22px 0;border-block:1px solid rgba(255,255,255,.1)}.ns-global-footer__desk dl>div{padding:14px 0}.ns-global-footer__desk button{width:100%;min-height:44px;color:#111827;background:#e8b52b;border:1px solid #e8b52b}
@media(max-width:860px){.ns-global-header{height:100px!important;width:100%;max-width:100vw}.ns-global-header.is-scrolled{height:68px!important}.ns-global-topbar,.ns-global-topbar__inner{height:30px}.ns-global-header__inner{height:70px!important;width:calc(100% - 24px)!important;display:flex!important;gap:8px!important}.ns-global-header.is-scrolled .ns-global-header__inner{height:68px!important}.ns-global-brand{min-width:0;max-width:calc(100% - 54px)}.ns-global-brand img{width:190px!important;max-width:100%!important}.ns-global-nav{display:none!important}.ns-global-actions{display:flex!important;margin-left:auto!important;gap:6px!important}.ns-global-header .ns-global-offer{display:none!important}.ns-global-menu{display:grid!important;width:42px!important;height:42px!important;min-width:42px!important}.ns-global-mobile{position:fixed!important;z-index:90;top:100px!important;right:0!important;bottom:0!important;left:0!important;max-height:none!important;margin:0!important;padding:24px!important;overflow-y:auto!important;color:#eef2f8!important;background:rgba(5,10,24,.985)!important;border:0!important;border-radius:0!important}.ns-global-header.is-scrolled .ns-global-mobile{top:68px!important}.ns-global-mobile nav{display:grid!important}.ns-global-mobile .ns-global-nav__link{display:flex!important;min-height:52px!important;color:#d5dce8!important;border-bottom:1px solid rgba(255,255,255,.08)!important}.ns-global-mobile__offer{color:#111827!important;background:#e8b52b!important}.ns-global-footer__cta{grid-template-columns:1fr!important;gap:28px!important;padding:52px 0 52px 18px!important}.ns-global-footer__cta-actions{display:grid!important;grid-template-columns:1fr 1fr}.ns-global-footer__main{grid-template-columns:1fr 1fr!important;gap:42px 24px!important}.ns-global-footer__brand,.ns-global-footer__desk{grid-column:1/-1!important}}
@media(max-width:480px){.ns-global-topbar__inner p{display:none!important}.ns-global-brand img{width:164px!important}.ns-global-theme,.ns-global-menu{width:40px!important;height:40px!important;min-width:40px!important}.ns-global-mobile{padding:20px 18px!important}.ns-global-footer>.ns-global-wrap{width:calc(100% - 32px)!important}.ns-global-footer__cta h2{font-size:34px!important}.ns-global-footer__cta-actions,.ns-global-footer__main{grid-template-columns:1fr!important}.ns-global-footer__brand,.ns-global-footer__desk{grid-column:1!important}.ns-global-footer__desk{padding:22px}}



/* Premium 2026 shared header and footer. */
.ns-global-header,html[data-resources-theme="dark"] .ns-global-header{position:sticky!important;top:0;height:108px!important;overflow:visible;color:#eef2f8!important;background:#050a18!important;border-bottom:1px solid rgba(255,255,255,.1)!important;box-shadow:none!important;transition:height 260ms ease,background 260ms ease,box-shadow 260ms ease!important}
.ns-global-header.is-scrolled,html[data-resources-theme="dark"] .ns-global-header.is-scrolled{height:72px!important;background:rgba(5,10,24,.76)!important;border-bottom-color:rgba(255,255,255,.12)!important;box-shadow:0 18px 50px rgba(0,0,0,.24)!important;-webkit-backdrop-filter:blur(24px) saturate(1.35)!important;backdrop-filter:blur(24px) saturate(1.35)!important}
.ns-global-topbar{height:32px;overflow:hidden;color:#aeb8c8;background:#0a1121;border-bottom:1px solid rgba(255,255,255,.08);transition:height 260ms ease,opacity 180ms ease,transform 260ms ease}.ns-global-header.is-scrolled .ns-global-topbar{height:0;opacity:0;transform:translateY(-100%)}.ns-global-topbar__inner{height:32px;display:flex;align-items:center;gap:24px}.ns-global-topbar__inner>span{display:flex;align-items:center;gap:8px;color:#e8b52b;font-size:9px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.ns-global-topbar__inner>span i{width:5px;height:5px;background:#e8b52b;border-radius:50%;box-shadow:0 0 12px rgba(232,181,43,.65)}.ns-global-topbar__inner p{margin:0;font-size:10px;letter-spacing:.04em}.ns-global-topbar__inner a{margin-left:auto;color:#dbe2ed;font-size:10px;font-weight:750;letter-spacing:.05em}.ns-global-topbar__inner a b{margin-left:8px;color:#e8b52b;font-size:13px}
.ns-global-header__inner,.ns-global-header.is-scrolled .ns-global-header__inner{width:min(1380px,calc(100% - 52px))!important;height:76px!important;min-height:0!important;gap:28px!important}.ns-global-header.is-scrolled .ns-global-header__inner{height:72px!important}.ns-global-brand img{width:228px!important;max-height:58px!important}.ns-global-nav,html[data-resources-theme="dark"] .ns-global-nav{min-height:76px!important;gap:clamp(18px,2vw,32px)!important;padding:0!important}.ns-global-header.is-scrolled .ns-global-nav{min-height:72px!important}
.ns-global-nav__link,html[data-resources-theme="dark"] .ns-global-nav__link{position:relative;min-height:76px!important;padding:0!important;color:#a9b3c5!important;background:transparent!important;font-size:12px!important;font-weight:650!important;letter-spacing:.015em}.ns-global-header.is-scrolled .ns-global-nav__link{min-height:72px!important}.ns-global-nav__link:hover,.ns-global-nav__link:focus-visible,.ns-global-nav__link.is-active,html[data-resources-theme="dark"] .ns-global-nav__link:hover,html[data-resources-theme="dark"] .ns-global-nav__link.is-active{color:#fff!important}.ns-global-nav__link.is-active::after{right:0!important;bottom:14px!important;left:0!important;height:1px!important;background:#e8b52b!important;box-shadow:0 0 12px rgba(232,181,43,.55)!important}
.ns-global-header .ns-global-offer{min-height:42px!important;padding:0 19px!important;color:#111827!important;background:#e8b52b!important;border:1px solid #e8b52b!important;border-radius:2px!important;box-shadow:none!important;font-size:12px!important;font-weight:800!important}.ns-global-header .ns-global-offer b{color:#111827!important}.ns-global-header .ns-global-offer:hover{color:#111827!important;background:#f6c94c!important;border-color:#f6c94c!important;transform:translateY(-2px)}.ns-global-theme,.ns-global-menu,html[data-resources-theme="dark"] .ns-global-theme,html[data-resources-theme="dark"] .ns-global-menu{color:#eef2f8!important;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.14)!important}body.ns-resource-shell #root{padding-top:0!important}
.ns-global-footer{position:relative;overflow:hidden;color:#d8deea!important;background:#030712!important;border-top:1px solid rgba(255,255,255,.1)!important}.ns-global-footer__wordmark{color:rgba(255,255,255,.018)!important;font-size:clamp(130px,21vw,330px)!important;letter-spacing:-.09em!important}.ns-global-footer>.ns-global-wrap{width:min(1320px,calc(100% - 56px))!important}
.ns-global-footer__cta{position:relative;grid-template-columns:minmax(0,1fr) auto!important;gap:64px!important;padding:72px 0!important;border-bottom:1px solid rgba(255,255,255,.11)!important}.ns-global-footer__mark{display:none!important}.ns-global-footer__cta-copy{max-width:760px!important}.ns-global-footer__cta-copy p{color:#e8b52b!important;font-size:9px!important;font-weight:850!important;letter-spacing:.18em!important;text-transform:uppercase}.ns-global-footer__cta h2{max-width:720px;margin:14px 0 18px!important;color:#f5f2eb!important;font-size:clamp(38px,4.4vw,64px)!important;font-weight:620!important;letter-spacing:-.055em!important;line-height:1!important}.ns-global-footer__cta-copy>span{max-width:650px;color:#8f9bad!important;font-size:14px!important;line-height:1.7!important}.ns-global-footer__cta-actions{align-items:stretch!important;gap:8px!important}.ns-global-footer__cta-actions>a,.ns-global-footer__cta-actions>button{min-width:190px!important;min-height:50px!important;padding:0 18px!important;border-radius:2px!important;font-size:11px!important;font-weight:800!important;box-shadow:none!important}.ns-global-footer__cta-actions>a{color:#111827!important;background:#e8b52b!important;border-color:#e8b52b!important}.ns-global-footer__cta-actions>button{color:#e7ebf2!important;background:transparent!important;border:1px solid rgba(255,255,255,.18)!important}
.ns-global-footer__main{grid-template-columns:minmax(360px,1.5fr) repeat(3,minmax(150px,.62fr))!important;gap:clamp(38px,5vw,76px)!important;padding:74px 0 64px!important}.ns-global-footer__main::before{display:none!important}.ns-global-footer__brand{max-width:430px}.ns-global-footer__logo img{width:230px!important;max-height:66px!important;object-fit:contain}.ns-global-footer__brand>p{max-width:400px;margin:24px 0!important;color:#8793a6!important;font-size:13px!important;line-height:1.75!important}.ns-global-trust{display:flex!important;flex-wrap:wrap;gap:8px 16px!important}.ns-global-trust span{color:#aeb8c8!important;font-size:9px!important;letter-spacing:.06em!important}.ns-global-trust i{color:#e8b52b!important}.ns-global-footer__proof{margin-top:28px!important;padding-top:22px!important;border-top:1px solid rgba(255,255,255,.09)!important}.ns-global-footer__proof strong{color:#edf0f5!important;font-size:12px!important}.ns-global-footer__proof small{color:#68758a!important;font-size:8px!important}.ns-global-footer__column h3{margin:4px 0 24px!important;color:#e8b52b!important;font-size:9px!important;font-weight:850!important;letter-spacing:.17em!important;text-transform:uppercase}.ns-global-footer__column h3::after{display:none!important}.ns-global-footer__column a{position:relative;display:block;margin:0 0 14px!important;padding:0!important;color:#98a4b6!important;font-size:12px!important}.ns-global-footer__column a::before{display:none!important}.ns-global-footer__column a:hover{color:#fff!important;transform:translateX(4px)}.ns-global-footer__bottom{min-height:66px;padding:20px 0!important;color:#647187!important;border-top:1px solid rgba(255,255,255,.09)!important;font-size:9px!important;letter-spacing:.06em}.ns-global-footer__bottom div{gap:20px!important}.ns-global-footer__bottom a:hover{color:#e8b52b!important}
@media(max-width:1100px){.ns-global-topbar__inner p{display:none}.ns-global-brand img{width:205px!important}.ns-global-nav{gap:16px!important}.ns-global-footer__main{grid-template-columns:1.2fr repeat(2,1fr)!important}.ns-global-footer__column--insights{grid-column:2/-1}}
@media(max-width:860px){.ns-global-header,html[data-resources-theme="dark"] .ns-global-header{height:100px!important}.ns-global-header.is-scrolled,html[data-resources-theme="dark"] .ns-global-header.is-scrolled{height:68px!important}.ns-global-topbar,.ns-global-topbar__inner{height:30px}.ns-global-header__inner,.ns-global-header.is-scrolled .ns-global-header__inner{height:70px!important}.ns-global-header.is-scrolled .ns-global-header__inner{height:68px!important}.ns-global-brand img{width:198px!important;max-height:52px!important}.ns-global-footer__cta{grid-template-columns:1fr!important;gap:30px!important}.ns-global-footer__cta-actions{flex-direction:row!important}.ns-global-footer__main{grid-template-columns:1fr 1fr!important}.ns-global-footer__brand{grid-column:1/-1}}
@media(max-width:560px){.ns-global-topbar__inner{width:calc(100% - 24px)!important}.ns-global-topbar__inner>span{font-size:8px;letter-spacing:.11em}.ns-global-topbar__inner>a{font-size:0}.ns-global-topbar__inner>a b{font-size:14px}.ns-global-header__inner{width:calc(100% - 24px)!important}.ns-global-brand img{width:178px!important}.ns-global-footer>.ns-global-wrap{width:calc(100% - 32px)!important}.ns-global-footer__cta{padding:58px 0!important}.ns-global-footer__cta h2{font-size:38px!important}.ns-global-footer__cta-actions{display:grid!important}.ns-global-footer__cta-actions>a,.ns-global-footer__cta-actions>button{width:100%!important}.ns-global-footer__main{grid-template-columns:1fr 1fr!important;gap:40px 24px!important;padding:58px 0 48px!important}.ns-global-footer__brand,.ns-global-footer__column--insights{grid-column:1/-1}.ns-global-footer__logo img{width:205px!important}.ns-global-footer__bottom{display:block!important}.ns-global-footer__bottom div{margin-top:14px;flex-wrap:wrap}}

/* Footer acquisition desk layout. */
.ns-global-footer::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(232,181,43,.025) 1px,transparent 1px);background-size:96px 100%;mask-image:linear-gradient(to bottom,#000,transparent 78%)}
.ns-global-footer>.ns-global-wrap{position:relative;z-index:1}
.ns-global-footer__cta{padding-left:28px!important;border-left:2px solid #e8b52b!important}
.ns-global-footer__main{grid-template-columns:minmax(300px,1.25fr) minmax(130px,.55fr) minmax(130px,.55fr) minmax(250px,.9fr)!important;align-items:start}
.ns-global-footer__desk{padding:26px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.11)}
.ns-global-footer__desk>span{display:flex;align-items:center;gap:8px;color:#e8b52b;font-size:8px;font-weight:850;letter-spacing:.16em}.ns-global-footer__desk>span i{width:6px;height:6px;background:#42d39a;border-radius:50%;box-shadow:0 0 12px rgba(66,211,154,.5)}
.ns-global-footer__desk>strong{display:block;margin:20px 0 10px;color:#f4f1ea;font-size:22px;font-weight:620;letter-spacing:-.035em}.ns-global-footer__desk>p{margin:0;color:#8591a4;font-size:12px;line-height:1.7}
.ns-global-footer__desk dl{display:grid;grid-template-columns:1fr 1fr;margin:22px 0;border-block:1px solid rgba(255,255,255,.1)}.ns-global-footer__desk dl>div{padding:14px 0}.ns-global-footer__desk dl>div+div{padding-left:16px;border-left:1px solid rgba(255,255,255,.1)}.ns-global-footer__desk dt{color:#637086;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.ns-global-footer__desk dd{margin:5px 0 0;color:#dce2eb;font-size:11px;font-weight:750}
.ns-global-footer__desk button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:0 14px;color:#111827;background:#e8b52b;border:1px solid #e8b52b;border-radius:2px;font-size:10px;font-weight:850}.ns-global-footer__desk button:hover{background:#f6c94c}
@media(max-width:1100px){.ns-global-footer__main{grid-template-columns:1fr 1fr!important}.ns-global-footer__brand,.ns-global-footer__desk{grid-column:auto!important}}
@media(max-width:680px){.ns-global-footer__cta{padding-left:18px!important}.ns-global-footer__main{grid-template-columns:1fr 1fr!important}.ns-global-footer__brand,.ns-global-footer__desk{grid-column:1/-1!important}.ns-global-footer__desk{padding:22px}}


/* Keep the React offer dialog outside sitewide entrance-animation effects. */
body.ns-motion-ready #root:has(> .fixed.inset-0.z-\[9999\]) {
  animation: none !important;
  transform: none !important;
  filter: none !important;
}

#root > .fixed.inset-0.z-\[9999\],
body > .fixed.inset-0.z-\[9999\] {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  transform: none !important;
}

#root > .fixed.inset-0.z-\[9999\] > div,
body > .fixed.inset-0.z-\[9999\] > div {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .text-transparent.bg-clip-text,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root [class*="from-violet"][class*="to-cyan"] {
  background: linear-gradient(90deg, #ec9802 0%, #ffb736 50%, #fff427 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root button[style*="linear-gradient"],
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root a[style*="linear-gradient"] {
  color: #172033 !important;
  background: linear-gradient(90deg, #ec9802 0%, #ffb736 50%, #fff427 100%) !important;
  border-color: rgba(236, 152, 2, 0.42) !important;
  box-shadow: 0 10px 28px rgba(236, 152, 2, 0.2) !important;
}

/* Homepage-reference bright mode for every public page except Resources. */
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] {
  --bg-base: #fffdf9;
  --bg-surface: #fff9f1;
  --card-bg: rgba(255, 255, 255, 0.9);
  --card-bg-2: #fffaf2;
  --border-faint: rgba(236, 152, 2, 0.12);
  --border-subtle: rgba(71, 85, 105, 0.14);
  --border-medium: rgba(71, 85, 105, 0.2);
  color-scheme: light;
  background: #fffdf9;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] body,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root > div {
  color: #172033;
  background-color: #fffdf9;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root main,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root section:not(.ns-dark-zone),
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root [style*="var(--bg-base)"],
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root [style*="var(--bg-surface)"] {
  background-color: #fffdf9 !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .ns-dark-zone {
  color: #172033 !important;
  background: radial-gradient(circle at 12% 15%, rgba(255, 183, 54, 0.18), transparent 32%),
    radial-gradient(circle at 88% 20%, rgba(255, 244, 39, 0.12), transparent 30%),
    linear-gradient(145deg, #fffdf9, #fff7e7) !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .ns-dark-zone > video {
  opacity: 0.12 !important;
  filter: sepia(0.35) saturate(1.15) brightness(1.35);
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .ns-dark-zone > div.absolute.inset-0,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .ns-dark-zone > div.absolute.bottom-0 {
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.28), rgba(255, 249, 236, 0.86)) !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .text-white,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root h1,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root h2,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root h3,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root strong {
  color: #102044 !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .text-gray-200,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .text-gray-300,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .text-gray-400 {
  color: #4d5a73 !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .text-gray-500,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .text-gray-600 {
  color: #69758c !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root .bg-white,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root button.bg-white {
  color: #172033 !important;
  background: linear-gradient(90deg, #ec9802 0%, #ffb736 50%, #fff427 100%) !important;
  border-color: rgba(236, 152, 2, 0.42) !important;
  box-shadow: 0 10px 28px rgba(236, 152, 2, 0.2) !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root [class*="bg-white/"],
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root [class*="bg-white["],
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root [class*="border-white"] {
  color: #26334d !important;
  background-color: rgba(255, 255, 255, 0.76) !important;
  border-color: rgba(71, 85, 105, 0.16) !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root input,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root textarea,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root select {
  color: #172033 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: rgba(71, 85, 105, 0.2) !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root input:focus,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root textarea:focus,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root select:focus {
  border-color: #ffb736 !important;
  box-shadow: 0 0 0 3px rgba(255, 183, 54, 0.16) !important;
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root [class*="rounded-xl"],
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root [class*="rounded-2xl"] {
  border-color: rgba(71, 85, 105, 0.14);
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] .ns-global-header,
html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] .ns-global-header.is-scrolled {
  color: #142347;
  background: rgba(255, 253, 249, 0.96);
  border-bottom-color: rgba(222, 224, 232, 0.88);
}

html.ns-public-theme[data-home-theme="dark"] .ns-global-header,
html.ns-public-theme[data-home-theme="dark"] .ns-global-header.is-scrolled {
  color: #f5f7fb;
  background: rgba(3, 8, 20, 0.96);
  border-bottom-color: rgba(255, 255, 255, 0.09);
}

html.ns-public-theme[data-home-theme="dark"] .ns-global-nav__link {
  color: #aab5c8 !important;
}

html.ns-public-theme[data-home-theme="dark"] .ns-global-nav__link:hover,
html.ns-public-theme[data-home-theme="dark"] .ns-global-nav__link.is-active {
  color: #fff !important;
}

html.ns-public-theme[data-home-theme="dark"] .ns-global-theme,
html.ns-public-theme[data-home-theme="dark"] .ns-global-menu {
  color: #f4f6fb;
  border-color: rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.06);
}

html.ns-public-theme:not(.ns-home-page)[data-home-theme="light"] #root footer {
  color: #47546c !important;
  background: linear-gradient(180deg, #fffaf2, #f7f9fd) !important;
  border-top-color: rgba(71, 85, 105, 0.12) !important;
}

/* Exact Resources header geometry. */
.ns-global-header,
.ns-global-header.is-scrolled,
html[data-resources-theme="dark"] .ns-global-header,
html[data-resources-theme="dark"] .ns-global-header.is-scrolled {
  position: sticky;
  top: 0;
  height: 78px;
  background: rgba(255, 253, 249, 0.96);
}
.ns-global-header__inner { min-height: 78px; }
.ns-global-brand img { width: 249px; }
.ns-global-nav,
html[data-resources-theme="dark"] .ns-global-nav,
.ns-global-nav__link,
html[data-resources-theme="dark"] .ns-global-nav__link { min-height: 78px; }
.ns-global-nav__link.is-active::after { bottom: 16px; }
@media (max-width: 860px) {
  .ns-global-header,
  .ns-global-header.is-scrolled,
  html[data-resources-theme="dark"] .ns-global-header,
  html[data-resources-theme="dark"] .ns-global-header.is-scrolled,
  .ns-global-header__inner { height: 70px; min-height: 70px; }
  .ns-global-brand img { width: 218px; }
}
@media (max-width: 560px) { .ns-global-brand img { width: 207px; } }
@media (max-width: 390px) { .ns-global-brand img { width: 184px; } }

html.ns-public-theme[data-home-theme="dark"] .ns-global-header,
html.ns-public-theme[data-home-theme="dark"] .ns-global-header.is-scrolled {
  color: #f5f7fb;
  background: rgba(3, 8, 20, 0.96);
  border-bottom-color: rgba(255, 255, 255, 0.09);
}
html.ns-public-theme[data-home-theme="dark"] .ns-global-nav__link { color: #aab5c8 !important; }
html.ns-public-theme[data-home-theme="dark"] .ns-global-nav__link:hover,
html.ns-public-theme[data-home-theme="dark"] .ns-global-nav__link.is-active { color: #fff !important; }
html.ns-public-theme[data-home-theme="dark"] .ns-global-theme,
html.ns-public-theme[data-home-theme="dark"] .ns-global-menu {
  color: #f4f6fb;
  border-color: rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.06);
}
