/* Mission — balanced columns and a shared evidence band.
   Loaded after editorial.css; section-backgrounds.css owns the navy background. */
.ns-mission.ns-mission {
  padding-block: clamp(72px, 5.6vw, 84px) clamp(72px, 5.8vw, 88px);
}
.ns-mission .ns-mission-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(48px, 7.2vw, 104px);
  width: 100%;
  max-width: var(--ns-width);
  margin-inline: auto;
}
.ns-mission .ns-mission-heading { display: block; min-width: 0; }
.ns-mission .ns-mission-heading > .ns-kicker {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: #bec9dc;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: .015em;
}
.ns-mission .ns-mission-heading > .ns-kicker::before {
  content: "";
  width: 24px;
  height: 1px;
  flex: none;
  background: #7a9be5;
}
.ns-mission .ns-mission-heading h2 {
  margin: 0;
  max-width: none;
  font-family: inherit;
  font-size: clamp(52px, 4.7vw, 68px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.055em;
  text-wrap: initial;
  overflow-wrap: normal;
  color: #f4f6fb;
}
.ns-mission .ns-mission-heading h2 > span { color: #91adf8; }
.ns-mission .ns-mission-copy { display: block; min-width: 0; margin: 0; padding: 40px 0 0; }
.ns-mission .ns-mission-description { max-width: 560px; }
.ns-mission .ns-mission-copy p {
  max-width: none;
  margin: 0;
  color: #bac5d9;
  font-size: 16px;
  line-height: 1.75;
}
.ns-mission .ns-mission-copy .ns-mission-lead {
  color: #e5eaf5;
  font-size: clamp(21px, 1.65vw, 24px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -.02em;
}
.ns-mission .ns-mission-copy p + p { margin-top: 19px; }
.ns-mission .ns-mission-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  max-width: 100%;
  min-height: 46px;
  margin: 27px 0 0;
  padding: 0;
  color: #d3def5;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none;
  white-space: normal;
}
.ns-mission .ns-mission-link > span {
  display: grid;
  place-items: center;
  flex: none;
  width: 46px;
  height: 46px;
  border: 1px solid #536c9c;
  border-radius: 50%;
  color: #c4d6ff;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.ns-mission .ns-mission-link:hover > span,
.ns-mission .ns-mission-link:focus-visible > span {
  color: #fff;
  background: #3159e8;
  transform: translate(2px, -2px);
}
.ns-mission .ns-mission-link:focus-visible {
  outline: 2px solid #bdd4ff;
  outline-offset: 7px;
  border-radius: 4px;
}
.ns-mission .ns-mission-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  max-width: var(--ns-width);
  margin: 44px auto 0;
  padding: 0;
  border: 1px solid #718db34d;
  border-radius: 26px;
  background: linear-gradient(110deg, #1d35517a, #182d4666);
  overflow: hidden;
}
.ns-mission .ns-mission-stats > div {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  grid-column: auto;
  grid-row: auto;
  gap: 12px;
  min-width: 0;
  min-height: 158px;
  margin: 0;
  padding: 25px clamp(25px, 2.8vw, 42px);
  border: 0;
  border-left: 1px solid #718db333;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.ns-mission .ns-mission-stats > div:first-child { border-left: 0; }
.ns-mission .ns-mission-stats > div.ns-section-reveal { translate: 0; transition: none; }
.ns-mission .ns-mission-stats dt {
  order: 2;
  grid-column: auto;
  grid-row: auto;
  margin: 0;
  color: #b9c6dc;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}
.ns-mission .ns-mission-stats dd,
.ns-mission .ns-mission-stats > div:first-child dd {
  order: 1;
  display: flex;
  align-items: baseline;
  grid-column: auto;
  grid-row: auto;
  gap: 0;
  margin: 0;
  color: #f1f5ff;
  font-size: clamp(64px, 5.15vw, 76px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -.055em;
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap;
}
.ns-mission .ns-mission-stats > div:first-child dd { gap: 11px; }
.ns-mission .ns-mission-stats .ns-mission-since {
  display: inline-block;
  flex: none;
  margin: 0;
  color: #8caaff;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
}
.ns-mission .ns-mission-stats .ns-mission-plus { color: #8caaff; font-weight: 300; }
@media (max-width: 1100px) {
  .ns-mission .ns-mission-intro { gap: 44px; }
  .ns-mission .ns-mission-heading h2 { font-size: 52px; }
  .ns-mission .ns-mission-copy .ns-mission-lead { font-size: 21px; }
  .ns-mission .ns-mission-stats { margin-top: 40px; }
  .ns-mission .ns-mission-stats > div { padding: 24px; min-height: 150px; }
  .ns-mission .ns-mission-stats dd,
  .ns-mission .ns-mission-stats > div:first-child dd { font-size: 64px; }
}
@media (max-width: 900px) {
  .ns-mission.ns-mission { padding-block: 64px 72px; }
  .ns-mission .ns-mission-intro { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .ns-mission .ns-mission-heading h2 { font-size: clamp(48px, 7.3vw, 60px); }
  .ns-mission .ns-mission-copy { padding: 0; }
  .ns-mission .ns-mission-description { max-width: 650px; }
  .ns-mission .ns-mission-stats > div { padding: 24px 21px; min-height: 145px; }
  .ns-mission .ns-mission-stats dt { font-size: 13px; }
  .ns-mission .ns-mission-stats .ns-mission-since { font-size: 12px; }
  .ns-mission .ns-mission-stats > div:first-child dd { gap: 8px; }
}
@media (max-width: 740px) {
  .ns-mission .ns-mission-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ns-mission .ns-mission-stats > div:first-child { grid-column: 1 / -1; border-bottom: 1px solid #718db333; }
  .ns-mission .ns-mission-stats > div:nth-child(2) { border-left: 0; }
}
@media (max-width: 560px) {
  .ns-mission.ns-mission { padding-block: 52px 60px; }
  .ns-mission .ns-mission-intro { gap: 27px; }
  .ns-mission .ns-mission-heading > .ns-kicker { margin-bottom: 18px; font-size: 12px; }
  .ns-mission .ns-mission-heading h2 { font-size: clamp(36px, 9.8vw, 44px); line-height: 1.08; letter-spacing: -.05em; }
  .ns-mission .ns-mission-copy p { font-size: 15px; line-height: 1.75; }
  .ns-mission .ns-mission-copy .ns-mission-lead { font-size: 19px; line-height: 1.5; }
  .ns-mission .ns-mission-copy p + p { margin-top: 16px; }
  .ns-mission .ns-mission-link { gap: 17px; min-height: 42px; margin-top: 24px; font-size: 13px; }
  .ns-mission .ns-mission-link > span { width: 42px; height: 42px; font-size: 22px; }
  .ns-mission .ns-mission-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 32px; border-radius: 22px; }
  .ns-mission .ns-mission-stats > div { min-height: 139px; padding: 21px 23px; gap: 9px; }
  .ns-mission .ns-mission-stats > div:first-child { grid-column: 1 / -1; min-height: 132px; border-bottom: 1px solid #718db333; }
  .ns-mission .ns-mission-stats > div:nth-child(2) { border-left: 0; }
  .ns-mission .ns-mission-stats dd,
  .ns-mission .ns-mission-stats > div:first-child dd { font-size: 58px; }
  .ns-mission .ns-mission-stats dt { font-size: 12px; line-height: 1.55; }
  .ns-mission .ns-mission-stats > div:first-child dt { text-align: left; }
  .ns-mission .ns-mission-stats .ns-mission-since { font-size: 13px; }
}
@media (max-width: 360px) {
  .ns-mission .ns-mission-stats > div { padding-inline: 18px; }
  .ns-mission .ns-mission-stats dd,
  .ns-mission .ns-mission-stats > div:first-child dd { font-size: 56px; }
}
@media (prefers-reduced-motion: reduce) {
  .ns-mission .ns-mission-link > span,
  .ns-mission .ns-mission-stats > div.ns-section-reveal { transition: none; }
}
html.motion-paused .ns-mission .ns-mission-link > span { transition: none; }
