@font-face {
  font-family: "IMG Signature";
  src: url("/assets/caveat-signature.woff2");
  font-weight: 500;
  font-display: swap;
}
body.ns-page {
  --navy: #0B2E5C;
  --blue-dark: #0B2E5C;
  --blue: #0057B8;
  --sky: #81ABDB;
  --cloud: #EFEFEF;
  --ink: #1D1C1D;
  --muted: #1D1C1D;
  --teal: #FFDE5A;
  --citrus: #FFDE5A;
  --line: #81ABDB;
  color: #1D1C1D;
  background: #FFFFFF;
}
.ns-page .footer { background: #0B2E5C; color: #E6ECF2; }
.ns-page .footer .brand small { color: #81ABDB !important; }
.ns-visual { --ns-accent: #0057B8; }
.ns-visual .ns-accent { color: var(--ns-accent); }
.ns-visual .section { padding: 72px 0; }
.ns-visual .section h2 { color: #0B2E5C; }
.ns-visual .section p { color: #1D1C1D; }
.ns-hero { padding: 64px 0 56px; background: #FFFFFF; overflow: visible; }
.ns-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr);
  gap: 64px;
  align-items: center;
  overflow: visible;
}
.ns-hero h1 { font-size: clamp(40px,4.6vw,64px); line-height: 1.07; }
.ns-hero .lead { font-size: 18px; color: #1D1C1D; }
.ns-portrait {
  position: relative;
  padding: 30px 0 0 30px;
  isolation: isolate;
  overflow: visible;
}
.ns-portrait::before { content: none; }
.ns-portrait img {
  position: relative;
  width: 100%;
  height: 490px;
  object-fit: cover;
  object-position: center 12%;
  border-radius: 24px;
  box-shadow: 0 18px 55px rgba(11,46,92,.10);
}
.ns-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 13px;
  background: #FFFFFF;
  color: #0057B8;
  flex-shrink: 0;
}
.ns-icon svg { width: 26px; height: 26px; overflow: visible; }
.ns-trust { border-block: 1px solid #81ABDB; background: #FFFFFF; }
.ns-trust .wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-block: 17px;
  font-size: 15px;
  font-weight: 700;
  color: #0B2E5C;
}
.ns-trust .ns-icon { width: 32px; height: 32px; background: none; }
.ns-trust svg { width: 22px; height: 22px; }
.ns-blockers {
  background: #0B2E5C;
  color: #E6ECF2;
  --ns-accent: #FFDE5A;
}
.ns-visual .ns-blockers h2 { color: #FFFFFF; }
.ns-blockers .eyebrow { color: #81ABDB; }
.ns-visual .ns-blockers .section-head p, .ns-blockers li { color: #E6ECF2; }
.ns-blockers .wrap {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 64px;
  align-items: center;
}
.ns-blockers .wrap > * { min-width: 0; }
.ns-blockers .section-head, .ns-blockers .checklist { margin: 0; }
.ns-blockers .checklist li { padding-block: 14px; border-bottom: 1px solid #81ABDB; }
.ns-blockers .checklist li::before { color: #FFDE5A; }
.ns-assessment { background: #FFFFFF; }
.ns-assessment .panel { padding: 0; border: 0; background: none; }
.ns-assessment h2 { max-width: 850px; }
.ns-assessment .panel > p { max-width: 680px; font-size: 16px; }
.ns-assessment .panel > p.notice { font-size: 13px; }
.ns-process {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 28px;
  list-style: none;
  padding: 0;
  margin: 36px 0;
  position: relative;
}
.ns-process::before {
  content: "";
  position: absolute;
  top: 30px;
  left: 10%;
  right: 10%;
  border-top: 1px solid #81ABDB;
}
.ns-process li {
  position: relative;
  background: #EFEFEF;
  border: 1px solid #81ABDB;
  border-radius: 18px;
  padding: 28px;
}
.ns-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #0057B8;
  color: #FFFFFF;
  font-family: inherit;
  font-size: 18px;
  font-weight: 850;
}
.ns-process h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 18px;
  line-height: 1.4;
  margin-bottom: 0;
  color: #0B2E5C;
}
.ns-support { background: #EFEFEF; --ns-accent: #0057B8; }
.ns-support .eyebrow { color: #0057B8; }
.ns-support .section-head { max-width: 850px; }
.ns-support .service { box-shadow: none; background: #FFFFFF; }
.ns-visual [aria-labelledby="hospital-toolkit-title"] { background: #FFFFFF; }
.ns-visual .cta.toolkit-feature {
  background: #EFEFEF;
  --ns-accent: #0057B8;
  color: #1D1C1D;
  padding: 48px;
}
.ns-visual .toolkit-feature h2 { color: #0B2E5C; }
.ns-visual .toolkit-feature p { color: #1D1C1D; }
.ns-visual .toolkit-feature .button { background: #FFDE5A; color: #0B2E5C; }
.ns-visual .toolkit-image-link {
  position: relative;
  width: calc(100% - 24px);
  max-width: 310px;
  transform: rotate(-3deg);
  box-shadow: 10px 15px 30px rgba(11,46,92,.18);
  border-radius: 2px;
}
.ns-visual .toolkit-image-link::after {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  right: -5px;
  width: 5px;
  background: #FFFFFF;
  border-right: 1px solid #81ABDB;
  z-index: -1;
}
.ns-visual .toolkit-image { border-radius: 2px; width: 100%; height: auto; }
.ns-visual .ns-testimonial { background: #EFEFEF; color: #1D1C1D; }
.ns-testimonial .client-testimonial {
  margin: 0 auto;
  padding: clamp(26px,4vw,48px);
  background: #FFFFFF;
  border: 0;
  border-radius: 22px;
  box-shadow: none;
  max-width: 880px;
}
.ns-quote-mark {
  display: block;
  font: 110px/.8 Georgia,serif;
  color: #FFDE5A;
  margin-bottom: 12px;
}
.ns-testimonial .client-testimonial blockquote p { color: #1D1C1D; font-size: clamp(23px,2.3vw,31px); }
.ns-testimonial .client-testimonial figcaption strong { color: #0B2E5C; }
.ns-testimonial .client-testimonial figcaption span,
.ns-testimonial .client-testimonial .testimonial-note { color: #1D1C1D; }
.ns-signature {
  font-family: "IMG Signature",cursive;
  font-size: clamp(25px,2.5vw,33px);
  line-height: 1.4;
  margin: 24px 0 0;
  max-width: 100%;
}
.ns-visual .pjw-promo-section { padding-block: 64px; background: #FFFFFF; }
.ns-visual .pjw-promo {
  --ns-accent: #0057B8;
  background: #FFFFFF;
  border: 1px solid #81ABDB;
  color: #1D1C1D;
}
.ns-visual .pjw-promo h2 { color: #0B2E5C; }
.ns-visual .pjw-promo p { color: #1D1C1D; }
.ns-visual .pjw-promo .eyebrow, .ns-visual .pjw-more { color: #0057B8; }
.ns-visual .pjw-promo .button { background: #0B2E5C; color: #FFFFFF; }
.ns-visual .ns-final {
  background: #0B2E5C;
  --ns-accent: #FFDE5A;
  padding-bottom: 110px;
}
.ns-final .cta { padding: 0; background: none; align-items: flex-start; }
.ns-final .cta > div { flex: 1; min-width: 0; }
.ns-visual .ns-final h2 { color: #FFFFFF; }
.ns-visual .ns-final .cta p { color: #E6ECF2; }
.ns-final .text-link { color: #FFFFFF; }
.ns-final .notice { margin-top: 18px; }
.ns-visual .ns-final .ns-signature { color: #FFFFFF; }
.ns-visual .button { white-space: normal; text-align: center; padding: 12px 20px; max-width: 100%; }
.ns-final .cta .pathway-cta-button { white-space: normal; }
.ns-visual .ns-icon + .eyebrow { margin-top: 16px; }
body.ns-final-visible .floating-start,
body.ns-hero-visible .floating-start { visibility: hidden; pointer-events: none; }
.ns-page :focus-visible { outline-color: #0057B8; }
.ns-page .ns-blockers :focus-visible, .ns-page .ns-final :focus-visible { outline-color: #FFDE5A; }
@media(max-width:900px) {
  .ns-hero-grid { gap: 32px; }
  .ns-portrait img { height: 430px; }
  .ns-blockers .wrap { gap: 32px; }
}
@media(max-width:760px) {
  .ns-visual .section { padding: 52px 0; }
  .ns-hero-grid, .ns-blockers .wrap { grid-template-columns: minmax(0,1fr); }
  .ns-hero { padding: 40px 0; }
  .ns-hero h1 { font-size: 42px; }
  .ns-hero .lead { font-size: 17px; }
  .ns-portrait { width: min(100%,380px); margin: auto; padding: 28px 0 0 24px; }
  .ns-portrait img { height: 420px; }
  .ns-process { grid-template-columns: minmax(0,1fr); gap: 18px; margin: 28px 0; }
  .ns-process::before { top: 20px; bottom: 20px; left: 32px; right: auto; border-top: 0; border-left: 1px solid #81ABDB; }
  .ns-process li { margin-left: 16px; padding: 24px; }
  .ns-process h3 { margin-top: 16px; }
  .ns-final .cta { gap: 24px; }
  .ns-final .cta > div { width: 100%; }
  .ns-trust .wrap { font-size: 13px; gap: 5px; }
  .ns-visual .section h2 { font-size: 34px; }
  .ns-visual .ns-final { padding-bottom: 110px; }
  .ns-visual .ns-final .pathway-cta-button { width: 100%; }
  .ns-visual .cta.toolkit-feature { padding: 28px; }
}
@media(prefers-reduced-motion:reduce) {
  .ns-visual * { scroll-behavior: auto; }
}
