.ns-footer {
  padding: 40px 0 18px;
  overflow: hidden;
  background: linear-gradient(112deg, #061a31 0%, #073254 100%);
  color: #fff;
}

.ns-footer__grid {
  display: grid;
  grid-template-columns: 1.25fr .85fr 1fr .75fr;
  gap: clamp(28px, 4vw, 54px);
  align-items: start;
}

.ns-footer-wordmark {
  display: block;
  width: 245px;
  max-width: 100%;
  margin: 0 0 14px;
  line-height: 0;
}

.ns-footer-wordmark img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  background: transparent;
}

.ns-footer__brand p {
  max-width: 285px;
  margin: 0 0 12px;
  color: #d4dee7;
  font-size: 13px;
  line-height: 1.5;
}

.ns-footer__brand > span {
  color: #91a6b9;
  font-size: 11px;
}

.ns-footer h3 {
  margin: 2px 0 15px;
  font-size: 15px;
  line-height: 1.2;
}

.ns-footer ul,
.ns-footer__menu {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #d4dee7;
  font-size: 11px;
  line-height: 1.35;
}

.ns-footer a { transition: color .2s ease; }
.ns-footer a:hover { color: #fff; }

.ns-footer__contact li {
  display: flex;
  gap: 9px;
  align-items: flex-start;
}

.ns-footer__contact svg {
  display: block;
  flex: 0 0 15px;
  width: 15px !important;
  min-width: 15px !important;
  max-width: 15px !important;
  height: 15px !important;
  min-height: 15px !important;
  max-height: 15px !important;
  overflow: visible;
  fill: none;
  stroke: #8eabc2;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ns-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.16);
  color: #9fb1c1;
  font-size: 10px;
}

.ns-footer__bottom > span:last-child {
  display: flex;
  gap: 9px;
  align-items: center;
}

.ns-footer-careers {
  display: grid;
  grid-template-columns: minmax(220px,.72fr) minmax(0,1.6fr);
  gap: clamp(28px,4vw,58px);
  margin-top: 34px;
  padding: clamp(24px,3vw,34px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 18px;
  background: rgba(255,255,255,.055);
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
.ns-footer__careers-link { display:block; margin-top:10px; color:#ffd03a; font-size:11px; font-weight:750; }
.ns-footer-careers__intro > span { color:#ffd03a; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.ns-footer-careers__intro h3 { margin:8px 0 10px; font-size:clamp(22px,2.25vw,31px); }
.ns-footer-careers__intro p { margin:0; color:#c7d4df; font-size:13px; line-height:1.55; }
.ns-footer-careers__form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.ns-footer-careers__form label { display:grid; gap:6px; min-width:0; color:#e7edf3; font-size:10px; font-weight:700; }
.ns-footer-careers__form input,.ns-footer-careers__form textarea { width:100%; min-width:0; margin:0; padding:11px 12px; border:1px solid rgba(255,255,255,.2); border-radius:9px; outline:none; background:#fff; color:#102844; font:inherit; font-size:12px; box-sizing:border-box; }
.ns-footer-careers__form input:focus,.ns-footer-careers__form textarea:focus { border-color:#ffd03a; box-shadow:0 0 0 3px rgba(255,208,58,.16); }
.ns-footer-careers__form textarea { min-height:82px; resize:vertical; }
.ns-footer-careers__message,.ns-footer-careers__file { grid-column:1/-1; }
.ns-footer-careers__file input { padding:8px; color:#526679; }
.ns-footer-careers__file small { color:#91a6b9; font-size:9px; font-weight:500; }
.ns-footer-careers__form button { justify-self:start; padding:12px 19px; border:0; border-radius:9px; background:#ffd03a; color:#102844; font-size:12px; font-weight:800; cursor:pointer; }
.ns-footer-careers__form button:hover { background:#ffe06f; }
.ns-footer-careers__trap { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ns-footer-careers__status { grid-column:1/-1; margin:0; padding:10px 12px; border-radius:8px; font-size:11px; }
.ns-footer-careers__status--ok { background:rgba(37,190,113,.16); color:#c9ffe2; }
.ns-footer-careers__status--error { background:rgba(255,82,82,.16); color:#ffd1d1; }

body.ns-careers-open { overflow:hidden; }
.ns-careers-modal {
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  place-items:center;
  padding:24px;
}
.ns-careers-modal.is-open { display:grid; }
.ns-careers-modal__backdrop {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(3,15,29,.76);
  backdrop-filter:blur(4px);
  cursor:pointer;
}
.ns-careers-modal .ns-footer-careers {
  position:relative;
  z-index:1;
  width:min(100%,1000px);
  max-height:calc(100vh - 48px);
  margin:0;
  overflow:auto;
  color:#fff;
  background:linear-gradient(125deg,#071d35,#0b426d);
  box-shadow:0 24px 70px rgba(0,0,0,.4);
}
.ns-careers-modal__close {
  position:absolute;
  top:12px;
  right:13px;
  z-index:2;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
  font:400 27px/1 Arial,sans-serif;
  cursor:pointer;
}
.ns-careers-modal__close:hover { background:rgba(255,255,255,.16); }

@media (max-width: 900px) {
  .ns-footer { padding-top: 36px; }
  .ns-footer__grid { grid-template-columns: 1.2fr 1fr; gap: 32px 42px; }
  .ns-footer-careers { grid-template-columns:1fr; }
}

@media (max-width: 600px) {
  .ns-footer { padding: 34px 0 20px; }
  .ns-footer__grid { grid-template-columns: 1fr; gap: 28px; }
  .ns-footer-careers { margin-top:28px; padding:22px 18px; }
  .ns-careers-modal { padding:12px; }
  .ns-careers-modal .ns-footer-careers { max-height:calc(100vh - 24px); margin:0; padding:28px 18px 20px; }
  .ns-footer-careers__form { grid-template-columns:1fr; }
  .ns-footer-careers__form label { grid-column:1; }
  .ns-footer-wordmark { width: 215px; margin-bottom: 13px; }
  .ns-footer__bottom { flex-direction: column; gap: 12px; margin-top: 28px; }
  .ns-footer__bottom > span:last-child { flex-wrap: wrap; }
}
