/* Legal documents: additive styles scoped to the three NovaBot legal pages. */
.nb-aurora-site .nb-legal {
  --legal-ink: #d4dcea;
  --legal-muted: #a7b3c7;
  --legal-line: #c9dbff1c;
  width: min(1160px, calc(100% - 80px));
  margin-inline: auto;
  padding-block: 79px 96px;
  color: var(--legal-ink);
  font-size: 16px;
  line-height: 1.85;
}

.nb-legal,
.nb-legal * { box-sizing: border-box; }

.nb-aurora-site .nb-legal-hero {
  position: relative;
  max-width: 880px;
  margin-bottom: 34px;
}

.nb-aurora-site .nb-legal-hero .eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 24px;
  color: #c6b6f4;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

.nb-aurora-site .nb-legal-hero .eyebrow::before {
  content: "";
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #c4ffb2;
  box-shadow: 0 0 0 4px #c4ffb20c;
}

.nb-aurora-site .nb-legal-hero h1 {
  margin: 0 0 24px;
  color: #f4f6f9;
  font-size: clamp(40px, 4.5vw, 66px);
  font-weight: 560;
  line-height: 1.08;
  letter-spacing: -2.5px;
  text-wrap: balance;
}

.nb-aurora-site .nb-legal-hero > p:not(.eyebrow) {
  max-width: 740px;
  margin: 0;
  color: var(--legal-muted);
  font-size: 16px;
  line-height: 1.85;
}

.nb-aurora-site .nb-legal-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px 16px;
  margin-top: 23px;
  color: #9daac0;
  font-size: 12px;
  line-height: 1.65;
}

.nb-aurora-site .nb-legal-meta .pill {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  color: #c3b5e4;
  background: #a790ff0a;
  border: 1px solid #bba7f52b;
  border-radius: 6px;
  font-size: 11px;
}

.nb-aurora-site .nb-legal-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 42px;
  padding: 10px;
  background: #0e141e;
  border: 1px solid var(--legal-line);
  border-radius: 13px;
}

.nb-aurora-site .nb-legal-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 17px;
  color: #b2bdd0;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: color .2s, border-color .2s, background .2s;
}

.nb-aurora-site .nb-legal-tabs a:hover {
  color: #f4f6f9;
  background: #ffffff05;
}

.nb-aurora-site .nb-legal-tabs a[aria-current="page"] {
  color: #d0ffbf;
  background: #c4ffb20b;
  border-color: #c4ffb233;
}

.nb-aurora-site .nb-legal-layout {
  display: grid;
  grid-template-columns: 225px minmax(0, 1fr);
  align-items: start;
  gap: 46px;
}

.nb-aurora-site .nb-legal-toc {
  position: sticky;
  top: 125px;
  max-height: calc(100dvh - 150px);
  overflow-y: auto;
  padding: 5px 0 12px;
  scrollbar-width: thin;
  scrollbar-color: #39435a transparent;
}

.nb-aurora-site .nb-legal-toc > strong {
  display: block;
  margin: 0 0 18px;
  color: #e0e5ef;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
}

.nb-aurora-site .nb-legal-toc ol {
  display: grid;
  gap: 3px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: legal-toc;
}

.nb-aurora-site .nb-legal-toc li { counter-increment: legal-toc; }

.nb-aurora-site .nb-legal-toc a {
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr);
  gap: 7px;
  min-height: 40px;
  padding: 9px 10px 9px 0;
  color: #9cabc2;
  border-right: 1px solid #c9dbff1a;
  font-size: 12px;
  line-height: 1.65;
  text-decoration: none;
  transition: color .2s, border-color .2s;
}

.nb-aurora-site .nb-legal-toc a::before {
  content: counter(legal-toc, decimal-leading-zero);
  color: #b9a8e5;
  font-size: 10px;
  line-height: 2;
}

.nb-aurora-site .nb-legal-toc a:hover,
.nb-aurora-site .nb-legal-toc a:focus-visible {
  color: #d0ffbf;
  border-right-color: #c4ffb28c;
}

.nb-aurora-site .nb-legal-content { min-width: 0; }

.nb-aurora-site .nb-legal-section {
  position: relative;
  margin: 0 0 22px;
  padding: 31px 33px 33px;
  overflow-wrap: anywhere;
  background: linear-gradient(145deg, #151c27 0, #10151d 80%);
  border: 1px solid var(--legal-line);
  border-radius: 17px;
  box-shadow: inset 0 1px 0 #ffffff03;
  scroll-margin-top: 125px;
}

.nb-aurora-site .nb-legal-index {
  display: block;
  margin-bottom: 13px;
  color: #baa7e9;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 1.5px;
}

.nb-aurora-site .nb-legal-section h2 {
  margin: 0 0 19px;
  color: #f0f3f9;
  font-size: 26px;
  font-weight: 550;
  line-height: 1.3;
  letter-spacing: -.65px;
}

.nb-aurora-site .nb-legal-section h3 {
  margin: 25px 0 12px;
  color: #e1e7f2;
  font-size: 18px;
  font-weight: 550;
  line-height: 1.5;
  letter-spacing: -.2px;
}

.nb-aurora-site .nb-legal-section p,
.nb-aurora-site .nb-legal-section li,
.nb-aurora-site .nb-legal-section dd {
  color: var(--legal-ink);
  font-size: 15px;
  line-height: 1.9;
}

.nb-aurora-site .nb-legal-section p { margin: 0 0 16px; }
.nb-aurora-site .nb-legal-section > :last-child { margin-bottom: 0; }
.nb-aurora-site .nb-legal-section strong { color: #edf1f8; font-weight: 600; }

.nb-aurora-site .nb-legal-section ul,
.nb-aurora-site .nb-legal-section ol {
  margin: 15px 0 20px;
  padding-left: 22px;
}

.nb-aurora-site .nb-legal-section li { margin-block: 7px; padding-left: 4px; }
.nb-aurora-site .nb-legal-section li::marker { color: #b9a8e5; }

.nb-aurora-site .nb-legal-content a:not(.button),
.nb-aurora-site .nb-legal-related a {
  color: #caffba;
  text-decoration: underline;
  text-decoration-color: #c4ffb24d;
  text-underline-offset: 4px;
  transition: color .2s, text-decoration-color .2s;
}

.nb-aurora-site .nb-legal-content a:not(.button):hover,
.nb-aurora-site .nb-legal-related a:hover { color: #e0ffd7; text-decoration-color: currentColor; }

.nb-aurora-site .nb-legal-fields {
  display: grid;
  grid-template-columns: minmax(0, 200px) minmax(0, 1fr);
  gap: 0 24px;
  margin: 24px 0;
  border-top: 1px solid var(--legal-line);
}

.nb-aurora-site .nb-legal-fields dt,
.nb-aurora-site .nb-legal-fields dd {
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px solid var(--legal-line);
}

.nb-aurora-site .nb-legal-fields dt {
  color: #a8b4c8;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
}

.nb-aurora-site .nb-legal-fields dd { min-width: 0; }

.nb-aurora-site .nb-legal-fields dd.nb-legal-empty {
  min-height: 54px;
  background: linear-gradient(#b4c7e52b, #b4c7e52b) left center / min(190px, 85%) 1px no-repeat;
}

.nb-aurora-site .nb-legal .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.nb-aurora-site .nb-legal .nb-legal-note {
  margin: 20px 0;
  padding: 15px 17px;
  color: #c5b7df;
  background: #a790ff08;
  border: 1px solid #a790ff24;
  border-left: 2px solid #bba7ee;
  border-radius: 7px;
  font-size: 13px;
  line-height: 1.8;
}

.nb-aurora-site .nb-legal-table-wrap {
  max-width: 100%;
  margin: 22px 0;
  overflow-x: auto;
  border: 1px solid var(--legal-line);
  border-radius: 10px;
  scrollbar-width: thin;
  scrollbar-color: #586080 #10151d;
}

.nb-aurora-site .nb-legal-table {
  width: 100%;
  min-width: 590px;
  margin: 0;
  border-collapse: collapse;
  text-align: left;
}

.nb-aurora-site .nb-legal-table caption {
  padding: 15px 17px;
  color: #c4cfdf;
  background: #ffffff03;
  border-bottom: 1px solid var(--legal-line);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.7;
  text-align: left;
}

.nb-aurora-site .nb-legal-table th,
.nb-aurora-site .nb-legal-table td {
  padding: 15px 16px;
  vertical-align: top;
  border-bottom: 1px solid var(--legal-line);
  font-size: 13px;
  line-height: 1.8;
}

.nb-aurora-site .nb-legal-table th {
  color: #e6edf7;
  background: #a790ff08;
  font-weight: 550;
}

.nb-aurora-site .nb-legal-table td { color: #bfcbdd; }
.nb-aurora-site .nb-legal-table tbody tr:last-child td { border-bottom: 0; }

.nb-aurora-site .nb-legal-contact {
  margin: 25px 0 0;
  padding: 23px;
  background: #c4ffb205;
  border: 1px solid #c4ffb223;
  border-radius: 11px;
}

.nb-aurora-site .nb-legal-contact h3 { margin-top: 0; }
.nb-aurora-site .nb-legal-contact .button { margin-top: 6px; }

.nb-aurora-site .nb-legal-related {
  margin-top: 36px;
  padding: 27px 0 0;
  border-top: 1px solid var(--legal-line);
}

.nb-aurora-site .nb-legal-related h2 {
  margin: 0 0 16px;
  color: #e6edf7;
  font-size: 17px;
  font-weight: 550;
  line-height: 1.5;
  letter-spacing: -.2px;
}

.nb-aurora-site .nb-legal-related a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  margin-right: 25px;
  font-size: 13px;
  line-height: 1.6;
}

.nb-legal-footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 22px;
}

.nb-legal-footer-links a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  color: #aab7cd;
  font-size: 11px;
  line-height: 1.7;
  text-decoration: none;
}

.nb-legal-footer-links a:hover,
.nb-legal-footer-links a[aria-current="page"] { color: #d0ffbf; }

@media (max-width: 1080px) {
  .nb-aurora-site .nb-legal { width: calc(100% - 64px); }
  .nb-aurora-site .nb-legal-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 30px; }
  .nb-aurora-site .nb-legal-section { padding: 28px; }
  .nb-aurora-site .nb-legal-fields { grid-template-columns: minmax(0, 160px) minmax(0, 1fr); gap: 0 20px; }
}

@media (max-width: 800px) {
  .nb-aurora-site .nb-legal { width: calc(100% - 44px); padding-block: 59px 72px; }
  .nb-aurora-site .nb-legal-hero h1 { font-size: 46px; letter-spacing: -1.8px; }
  .nb-aurora-site .nb-legal-layout { grid-template-columns: minmax(0, 1fr); gap: 25px; }
  .nb-aurora-site .nb-legal-toc { position: static; max-height: none; padding: 20px; background: #0e141d; border: 1px solid var(--legal-line); border-radius: 12px; }
  .nb-aurora-site .nb-legal-toc > strong { margin-bottom: 9px; }
  .nb-aurora-site .nb-legal-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
  .nb-aurora-site .nb-legal-toc a { padding-block: 8px; border-right: 0; }
  .nb-aurora-site .nb-legal-tabs { margin-bottom: 26px; }
  .nb-aurora-site .nb-legal-section { scroll-margin-top: 108px; }
}

@media (max-width: 520px) {
  .nb-aurora-site .nb-legal { width: calc(100% - 36px); padding-block: 47px 55px; font-size: 15px; }
  .nb-aurora-site .nb-legal-hero { margin-bottom: 25px; }
  .nb-aurora-site .nb-legal-hero .eyebrow { margin-bottom: 21px; font-size: 10px; letter-spacing: 1.3px; }
  .nb-aurora-site .nb-legal-hero h1 { margin-bottom: 20px; font-size: clamp(34px, 9vw, 43px); line-height: 1.12; letter-spacing: -1.4px; }
  .nb-aurora-site .nb-legal-hero > p:not(.eyebrow) { font-size: 15px; line-height: 1.85; }
  .nb-aurora-site .nb-legal-meta { font-size: 11px; }
  .nb-aurora-site .nb-legal-tabs { gap: 5px; padding: 7px; }
  .nb-aurora-site .nb-legal-tabs a { flex: 1 1 130px; min-height: 43px; padding: 10px 11px; font-size: 12px; }
  .nb-aurora-site .nb-legal-toc { padding: 19px; }
  .nb-aurora-site .nb-legal-toc ol { grid-template-columns: minmax(0, 1fr); }
  .nb-aurora-site .nb-legal-toc a { min-height: 38px; font-size: 12px; }
  .nb-aurora-site .nb-legal-section { margin-bottom: 18px; padding: 24px 21px; border-radius: 14px; }
  .nb-aurora-site .nb-legal-section h2 { font-size: 24px; letter-spacing: -.6px; }
  .nb-aurora-site .nb-legal-section h3 { font-size: 17px; }
  .nb-aurora-site .nb-legal-section p,
  .nb-aurora-site .nb-legal-section li,
  .nb-aurora-site .nb-legal-section dd { font-size: 14px; line-height: 1.9; }
  .nb-aurora-site .nb-legal-fields { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .nb-aurora-site .nb-legal-fields dt { padding: 15px 0 0; border-bottom: 0; font-size: 12px; }
  .nb-aurora-site .nb-legal-fields dd { padding: 7px 0 15px; }
  .nb-aurora-site .nb-legal-fields dd.nb-legal-empty { min-height: 35px; background-position: left 12px; }
  .nb-aurora-site .nb-legal .nb-legal-note { padding: 13px; font-size: 12px; }
  .nb-aurora-site .nb-legal-contact { padding: 19px; }
  .nb-aurora-site .nb-legal-related a { display: flex; margin-right: 0; }
  .nb-legal-footer-links { gap: 3px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .nb-legal a { transition: none !important; }
}

@media print {
  .nb-aurora-site .nb-legal { width: 100%; padding: 0; color: #111; }
  .nb-aurora-site .nb-legal-layout { display: block; }
  .nb-aurora-site .nb-legal-tabs,
  .nb-aurora-site .nb-legal-toc,
  .nb-aurora-site .nb-legal-related { display: none; }
  .nb-aurora-site .nb-legal-section { margin-block: 16px; padding: 18px; background: #fff; border-color: #bbb; box-shadow: none; }
  .nb-aurora-site .nb-legal h1,
  .nb-aurora-site .nb-legal h2,
  .nb-aurora-site .nb-legal h3,
  .nb-aurora-site .nb-legal p,
  .nb-aurora-site .nb-legal li,
  .nb-aurora-site .nb-legal dt,
  .nb-aurora-site .nb-legal dd,
  .nb-aurora-site .nb-legal strong,
  .nb-aurora-site .nb-legal a:not(.button),
  .nb-aurora-site .nb-legal-table th,
  .nb-aurora-site .nb-legal-table td { color: #111; }
  .nb-aurora-site .nb-legal-table-wrap { overflow: visible; }
  .nb-aurora-site .nb-legal-table { min-width: 0; }
  .nb-aurora-site .nb-legal-fields dd.nb-legal-empty { background: none; }
}

.nb-aurora-site .nb-legal-fields > div { display: contents; }
.nb-legal-footer-links { width: min(1280px, calc(100% - 100px)); margin-inline: auto; padding-block: 4px 22px; }
@media(max-width:1100px){.nb-legal-footer-links{width:calc(100% - 72px)}}
@media(max-width:700px){.nb-legal-footer-links{width:calc(100% - 44px)}}
@media(max-width:430px){.nb-legal-footer-links{width:calc(100% - 36px)}}
