:root {
  --ns-blue: #00aeef;
  --ns-ink: #080b0d;
  --ns-panel: #11181c;
  --ns-line: #2a363c;
  --ns-muted: #96a2a7;
  --ns-paper: #edf0ef;
}
* {
  box-sizing: border-box;
}
.ns-hero {
  padding: 72px max(7vw, 24px) 86px;
  background:
    radial-gradient(
      circle at 82% 32%,
      rgba(0, 174, 239, 0.15),
      transparent 30%
    ),
    #080b0d;
}
.ns-hero h1 {
  max-width: 1030px;
  font:
    800 clamp(52px, 7vw, 104px)/0.92 Manrope,
    sans-serif;
  letter-spacing: -0.065em;
  margin: 25px 0;
}
.ns-hero h1 em {
  font-family: Georgia, serif;
  font-weight: 400;
  color: var(--ns-blue);
}
.ns-hero p {
  max-width: 800px;
  color: #b3bdc1;
  font-size: 17px;
  line-height: 1.75;
}
.ns-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.ns-hero-submit{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border:1px solid var(--ns-blue);border-radius:99px;background:var(--ns-blue);color:#061116;font-size:11px;font-weight:800;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.ns-hero-submit:hover,.ns-hero-submit:focus-visible{background:#36c4f7;box-shadow:0 12px 34px rgba(0,174,239,.24);outline:none;transform:translateY(-2px)}
.ns-pill {
  display: inline-flex;
  margin-top: 24px;
  padding: 10px 14px;
  border: 1px solid var(--ns-line);
  border-radius: 99px;
  color: var(--ns-blue);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
}
.ns-pill:hover,
.ns-pill:focus-visible {
  border-color: var(--ns-blue);
  background: rgba(0, 174, 239, 0.08);
  outline: none;
}
.ns-intro {
  padding: 90px max(7vw, 24px);
  background: var(--ns-paper);
  color: #0b1013;
}
.ns-intro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: #c8d0d3;
  margin-top: 45px;
}
.ns-intro article {
  padding: 30px;
  background: #fff;
}
.ns-intro h2,
.ns-form-shell > header h2 {
  font:
    800 clamp(40px, 5vw, 68px)/1 Manrope,
    sans-serif;
  letter-spacing: -0.055em;
}
.ns-intro h3 {
  font: 700 21px Manrope;
  margin: 18px 0 10px;
}
.ns-intro p {
  color: #626d72;
  line-height: 1.7;
}
.ns-form-shell {
  padding: 100px max(7vw, 24px);
  background: #0b1013;
}
.ns-form-shell > header {
  max-width: 850px;
  margin-bottom: 48px;
}
.ns-form-shell > header p {
  color: #9da8ad;
  line-height: 1.7;
}
.ns-form {
  max-width: 1180px;
}
.ns-form fieldset {
  margin: 0 0 18px;
  padding: 34px;
  border: 1px solid var(--ns-line);
  background: var(--ns-panel);
}
.ns-form legend {
  padding: 0 12px;
  color: var(--ns-blue);
  font: 700 11px Manrope;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.ns-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.ns-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ns-field {
  display: grid;
  gap: 8px;
  color: #e8edef;
  font-size: 12px;
}
.ns-field.full {
  grid-column: 1/-1;
}
.ns-field input,
.ns-field select,
.ns-field textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #3b484e;
  border-radius: 3px;
  background: #091014;
  color: #fff;
  padding: 12px;
  font: inherit;
}
.ns-field textarea {
  min-height: 105px;
  resize: vertical;
}
.ns-field input:focus,
.ns-field select:focus,
.ns-field textarea:focus {
  outline: 3px solid rgba(0, 174, 239, 0.25);
  border-color: var(--ns-blue);
}
.ns-help {
  color: #7f8d93;
  font-size: 10px;
  line-height: 1.55;
}
.ns-checks {
  display: grid;
  gap: 13px;
}
.ns-check {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  color: #c8d0d3;
  font-size: 12px;
  line-height: 1.55;
}
.ns-check input {
  width: 17px;
  height: 17px;
  margin-top: 2px;
  accent-color: var(--ns-blue);
}
.ns-conditional[hidden] {
  display: none;
}
.ns-upload-notice {
  padding: 22px;
  border-left: 3px solid var(--ns-blue);
  background: rgba(0, 174, 239, 0.08);
  color: #bdc7cb;
  line-height: 1.65;
}
.ns-parts {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.ns-part {
  display: grid;
  grid-template-columns: 70px 1fr 130px 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  padding: 16px;
  border: 1px solid #344148;
  background: #0a1114;
}
.ns-part label {
  display: grid;
  gap: 6px;
  font-size: 10px;
  color: #a9b3b7;
}
.ns-part input {
  width: 100%;
  min-height: 42px;
  border: 1px solid #3b484e;
  background: #070d10;
  color: #fff;
  padding: 10px;
}
.ns-part button,
.ns-add-part {
  border: 1px solid #526169;
  background: transparent;
  color: #fff;
  padding: 12px 15px;
  cursor: pointer;
}
.ns-add-part {
  margin-top: 13px;
}
.ns-submit {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.ns-submit button {
  border: 0;
  border-radius: 99px;
  background: var(--ns-blue);
  color: #061116;
  padding: 17px 25px;
  font: 800 11px Manrope;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}
.ns-submit button:disabled {
  opacity: 0.55;
  cursor: wait;
}
.ns-status {
  min-height: 22px;
  color: #ffb4b4;
  font-size: 12px;
}
.ns-modal-launcher{padding:70px max(7vw,24px);background:#081014;text-align:center}.ns-modal-launcher button,.ns-auth button,.ns-upload-stage button{border:0;border-radius:99px;background:var(--ns-blue);color:#061116;padding:16px 24px;font:800 11px Manrope;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.ns-dialog{width:min(1180px,calc(100% - 28px));max-height:calc(100vh - 28px);padding:0;border:1px solid #344148;background:#090d0f;color:#fff;overflow:auto}.ns-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.ns-dialog-close{position:sticky;top:14px;float:right;z-index:5;margin:14px;width:42px;height:42px;border:1px solid #526169;border-radius:50%;background:#0b1114;color:#fff;font-size:23px;cursor:pointer}.ns-dialog .ns-form-shell{padding-top:34px}.ns-auth{max-width:620px;margin:70px auto;padding:34px;border:1px solid var(--ns-line);background:var(--ns-panel)}.ns-auth form{display:grid;gap:16px}.ns-auth input{width:100%;box-sizing:border-box;margin-top:7px;padding:13px;background:#080d0f;border:1px solid #46565e;color:#fff}.ns-auth-actions{display:flex;gap:12px;flex-wrap:wrap}.ns-auth .secondary{background:transparent;color:#fff;border:1px solid #526169}.ns-upload-stage{padding:34px;clear:both}.ns-upload-list{display:grid;gap:14px;margin:24px 0}.ns-upload-item{padding:18px;border:1px solid var(--ns-line);background:var(--ns-panel)}.ns-upload-item label{display:grid;gap:8px}.ns-upload-item input{color:#fff}.ns-upload-item progress{width:100%;height:10px;margin-top:12px}.ns-upload-state{display:block;color:#aebcc2;margin-top:8px}.ns-upload-state.error{color:#ffb4b4}.ns-upload-state.done{color:#66e0a3}body.ns-modal-open{overflow:hidden}
.ns-auth button:disabled{cursor:wait;opacity:.58}.ns-request-success{text-align:center;padding:18px 8px}.ns-request-success:focus{outline:0}.ns-success-icon{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 24px;border:2px solid #64e6a0;border-radius:50%;background:rgba(42,196,121,.12);color:#64e6a0;font-size:38px;font-weight:900}.ns-request-success h2{font-size:clamp(27px,4vw,44px);margin:10px 0 16px}.ns-request-success p{color:#c4d0d5;line-height:1.7}.ns-reference{margin:24px auto;padding:17px;border:1px solid #365a6a;background:#0a171d;color:#fff!important}.ns-reference strong{color:var(--ns-blue);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.ns-request-success .secondary{margin-top:12px}
@media(max-width:700px){.ns-dialog{width:100%;max-height:100vh;height:100vh;border:0}.ns-upload-stage,.ns-auth{padding:22px}.ns-dialog .ns-form-shell{padding-inline:18px}}
.ns-ai {
  padding: 20px;
  border: 1px solid #46565e;
  background: #0a1114;
}
.ns-ai > p {
  margin-top: 0;
  color: #dce4e7;
}
.ns-radio-row {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}
.ns-radio-row label {
  display: flex;
  gap: 8px;
  align-items: center;
}
.ns-success {
  min-height: 70vh;
  padding: 100px max(7vw, 24px);
  display: grid;
  place-items: center;
}
.ns-success-card {
  width: min(760px, 100%);
  padding: 48px;
  border: 1px solid var(--ns-line);
  background: var(--ns-panel);
}
.ns-reference {
  display: inline-block;
  padding: 12px 16px;
  background: #071014;
  border: 1px solid #344148;
  color: var(--ns-blue);
  font: 700 15px Manrope;
  letter-spacing: 0.08em;
}
@media (max-width: 900px) {
  .ns-intro-grid,
  .ns-grid.three {
    grid-template-columns: 1fr 1fr;
  }
  .ns-part {
    grid-template-columns: 70px 1fr 120px;
  }
  .ns-part button {
    grid-column: 1/-1;
  }
}
@media (max-width: 640px) {
  .ns-intro-grid,
  .ns-grid,
  .ns-grid.three {
    grid-template-columns: 1fr;
  }
  .ns-form-shell {
    padding: 70px 18px;
  }
  .ns-form fieldset {
    padding: 24px 18px;
  }
  .ns-part {
    grid-template-columns: 1fr;
  }
  .ns-part button {
    grid-column: auto;
  }
  .ns-hero {
    padding-top: 55px;
  }
  .ns-success-card {
    padding: 30px 22px;
  }
}
