/* Home: Midnight + electric blue, approved 18 September 2026. */
.nn-home {
  --home-navy: #0B1220;
  --home-deep: #080F1C;
  --home-text: #0B1220;
  --home-muted: #596779;
  --home-paper: #F4F6FA;
  --home-white: #FFFFFF;
  --home-soft: #E7EEFA;
  --home-accent: #79A7FF;
  color: var(--home-text);
  padding: 12px 0 24px;
}
.nn-home *, .nn-home *::before, .nn-home *::after {box-sizing: border-box;}
.nn-home section, .nn-home [id] {scroll-margin-top: 102px;}
.nn-home h2 {font: 500 clamp(1.65rem, 2.4vw, 2.2rem)/1.18 var(--sans); letter-spacing: -.04em; color: var(--home-text); margin: 0 0 22px;}
.nn-home p {line-height: 1.7;}
.nn-home .home-eyebrow {font: 600 .67rem/1.55 var(--sans); letter-spacing: .13em; text-transform: uppercase; color: var(--home-muted); margin: 0 0 18px;}
.nn-home a {text-decoration-color: #B7C5DF; text-underline-offset: .22em;}
.nn-home a:hover {color: #2E57A5; text-decoration-color: currentColor;}
.nn-home a:focus-visible {outline: 3px solid #2E57A5; outline-offset: 5px; border-radius: 3px;}
.nn-home .home-hero {position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; gap: 40px; max-width: none; min-height: 482px; margin: 0 0 18px; padding: 46px; border-radius: 13px; background: var(--home-deep); color: white;}
.nn-home .home-hero::after {content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #080F1C 0%, rgba(8,15,28,.94) 24%, rgba(8,15,28,.56) 45%, rgba(8,15,28,0) 72%);}
.nn-home .home-hero-image {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; z-index: -2;}
.nn-home .home-hero-copy {max-width: 610px; width: 58%; padding-top: 0;}
.nn-home .home-hero .home-eyebrow {color: #79A7FF; font-size: .69rem; margin-bottom: 27px;}
.nn-home .home-hero h1 {font: 400 clamp(2.75rem, 5vw, 4.75rem)/1.02 var(--sans); letter-spacing: -.06em; color: #FFFFFF; margin: 0 0 24px;}
.nn-home .home-deck {font: 400 1.0625rem/1.65 var(--sans); max-width: 42ch; color: #D0D7E2; margin: 0; letter-spacing: -.01em;}
.nn-home .home-hero-actions {display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 30px;}
.nn-home .home-button {display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; background: var(--home-navy); color: white; border: 0; border-radius: 24px; padding: 11px 20px; font-size: .8125rem; line-height: 1.5; text-decoration: none; font-weight: 500;}
.nn-home .home-button:hover {background: #2E57A5; color: white;}
.nn-home .home-hero .home-button {background: #79A7FF; color: #0B1220;}
.nn-home .home-hero .home-button:hover {background: white; color: #0B1220;}
.nn-home .home-hero-link {font-size: .8125rem; color: #F7F9FC; text-decoration-color: #8EA4C9;}
.nn-home .home-hero-link:hover {color: white;}
.nn-home .home-entry-grid {display: grid; grid-template-columns: minmax(155px,.8fr) minmax(0,2.3fr) minmax(190px,1fr); gap: 18px; align-items: stretch; margin-bottom: 74px;}
.nn-home .home-guide, .nn-home .home-framing, .nn-home .home-principle {border-radius: 10px; padding: 28px; min-width: 0; background: var(--home-white);}
.nn-home .home-guide {padding: 26px 21px;}
.nn-home .home-guide h2 {font-size: 1.03rem; letter-spacing: -.025em; margin-bottom: 20px;}
.nn-home .home-guide .home-eyebrow {font-size: .61rem; margin-bottom: 9px;}
.nn-home .home-guide>a {display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 14px 12px; margin: 0 -5px 5px; border-radius: 6px; text-decoration: none; font-size: .82rem; line-height: 1.5;}
.nn-home .home-guide>a:first-of-type {background: #E7EEFA; color: var(--home-navy);}
.nn-home .home-guide>a:hover {background: #EDF1F8;}
.nn-home .home-guide>a>span:last-child {flex-shrink: 0;}
.nn-home .home-framing {padding: 30px 32px;}
.nn-home .home-framing h2 {font-size: clamp(1.65rem,2.6vw,2.15rem); max-width: 22ch;}
.nn-home .home-framing>p:not(.home-eyebrow) {font-size: .925rem; margin: 0 0 18px;}
.nn-home .home-definitions {display: grid; grid-template-columns: 1fr 1.3fr; gap: 20px; margin: 25px 0 0; padding: 20px; background: #F4F6FA; border-radius: 8px;}
.nn-home .home-definitions dt {color: var(--home-navy); font-size: .77rem; font-weight: 600; margin-bottom: 6px;}
.nn-home .home-definitions dd {font-size: .79rem; line-height: 1.6; color: var(--home-muted); margin: 0;}
.nn-home .home-principle {background: #E7EEFA; padding: 28px 24px; display: flex; flex-direction: column;}
.nn-home .home-principle .home-eyebrow {font-size: .61rem;}
.nn-home .home-principle h2 {font-size: 1.5rem; line-height: 1.2; letter-spacing: -.04em;}
.nn-home .home-principle>p:not(.home-eyebrow) {font-size: .85rem; margin: 0 0 25px;}
.nn-home .home-principle>a {font-size: .8rem; margin-top: auto;}
.nn-home .home-node-symbol {display: flex; align-items: center; gap: 11px; height: 57px; margin: 2px 0 24px;}
.nn-home .home-node-symbol span {width: 25px; height: 25px; border-radius: 50%; background: var(--home-navy);}
.nn-home .home-node-symbol span:nth-child(2) {width: 48px; height: 48px; background: #79A7FF; border-radius: 9px;}
.nn-home .home-node-symbol span:last-child {width: 15px; height: 15px; background: #8EA4C9;}
.nn-home .home-research, .nn-home .home-status {max-width: none; padding: 0; background: none; margin: 0 0 74px;}
.nn-home .home-research-header {display: grid; grid-template-columns: 1.2fr 1fr; gap: 45px; align-items: end; max-width: none; margin: 0 0 28px;}
.nn-home .home-research-header h2 {max-width: 28ch; margin-bottom: 0;}
.nn-home .home-research-header .home-eyebrow {margin-bottom: 13px;}
.nn-home .home-research-header>p:last-child {font-size: .9375rem; line-height: 1.7; color: var(--home-muted); max-width: 50ch; margin: 0 0 3px;}
.nn-home .home-program-cards {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px;}
.nn-home .home-program-card {display: flex; flex-direction: column; background: var(--home-white); border-radius: 10px; overflow: hidden; min-width: 0;}
.nn-home .home-program-top {display: flex; align-items: flex-start; gap: 14px; padding: 25px 25px 0; min-height: 88px;}
.nn-home .home-card-number {font: .8rem/1.6 var(--mono); color: #596779;}
.nn-home .home-program-card .home-program-name {font: 500 .8rem/1.5 var(--sans); color: var(--home-muted); margin: 0; min-height: 0; max-width: 23ch;}
.nn-home .program-visual, .nn-home .home-program-card:nth-child(2) .program-visual, .nn-home .home-program-card:nth-child(3) .program-visual {background: transparent; padding: 8px 23px 0; display: block;}
.nn-home .program-visual svg {width: 100%; max-height: 137px; height: auto; display: block; overflow: visible;}
.nn-home .program-visual svg path {stroke: #607DAD; stroke-width: 1.4; fill: none;}
.nn-home .program-visual svg text {fill: #596779; font: 11px var(--sans); text-anchor: middle;}
.nn-home .program-visual .diagram-node {fill: #607DAD; stroke: none;}
.nn-home .program-visual .diagram-focus {fill: #E7EEFA; stroke: #607DAD; stroke-width: 1.3;}
.nn-home .program-visual path.diagram-symbol {stroke: var(--home-navy); stroke-width: 2;}
.nn-home .home-program-card:nth-child(2) .diagram-focus {fill: #EDF1F8;}
.nn-home .home-program-card:nth-child(3) .diagram-focus {fill: #E7EEFA; stroke: #607DAD;}
.nn-home .program-card-copy {padding: 23px 26px 27px; display: flex; flex: 1; flex-direction: column;}
.nn-home .home-program-card h3 {font: 500 clamp(1.35rem,2vw,1.65rem)/1.21 var(--sans); letter-spacing: -.037em; color: var(--home-text); margin: 0 0 17px; min-height: 3.6em;}
.nn-home .program-card-copy>p:not(.home-program-name) {font-size: .9rem; line-height: 1.7; color: var(--home-muted); margin: 0 0 24px;}
.nn-home .program-reading {list-style: none; padding: 0; margin: auto 0 0; display: grid; gap: 13px;}
.nn-home .program-reading li {margin: 0; padding: 0; border: 0;}
.nn-home .program-reading a {font-size: .79rem; line-height: 1.55; color: var(--home-navy); text-decoration: none; display: inline; border: 0;}
.nn-home .program-reading a:hover {text-decoration: underline;}
.nn-home .program-reading a span {white-space: nowrap;}
.nn-home .home-study {display: grid; grid-template-columns: minmax(0,.83fr) minmax(0,1.17fr); gap: 50px; align-items: start; padding: 42px; margin: 0 0 24px; max-width: none; background: var(--home-white); border-radius: 12px;}
.nn-home .home-study-copy>p {font-size: .96rem; line-height: 1.75; margin: 0 0 20px;}
.nn-home .home-study-copy>.home-eyebrow {font-size: .67rem;}
.nn-home .home-study-copy h2 {font-size: clamp(1.7rem,2.7vw,2.55rem);}
.nn-home .home-study-copy .home-button {margin: 7px 0 12px;}
.nn-home .home-study-figure {margin: 0; max-width: none;}
.nn-home .home-study-figure img {width: 100%; height: auto; border-radius: 5px; background: white;}
.nn-home .home-study-figure figcaption {font-size: .74rem; line-height: 1.65; color: var(--home-muted); margin: 13px 0 0;}
.nn-home .home-figure-reading {background: #F4F6FA; border-radius: 8px; padding: 19px 22px; margin-top: 22px;}
.nn-home .home-figure-reading strong {font-size: .78rem; font-weight: 600;}
.nn-home .home-figure-reading p {font-size: .81rem; margin: 7px 0 0; color: var(--home-muted);}
.nn-home .home-scope, .nn-home .home-study-copy .home-scope {font-size: .78rem; line-height: 1.7; color: var(--home-muted); margin: 18px 0 0;}
.nn-home .home-incident {background: #E7EEFA; padding: 40px 42px; display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; border-radius: 12px; margin: 0 0 24px;}
.nn-home .home-incident h2 {font: 500 clamp(1.8rem,3.1vw,2.6rem)/1.08 var(--sans); letter-spacing: -.045em; color: var(--home-navy); margin: 0 0 20px;}
.nn-home .home-incident-heading .home-incident-question {font-size: .9375rem; color: #36475F; margin: 0; max-width: 34ch;}
.nn-home .home-incident-copy {font-size: .94rem; line-height: 1.7;}
.nn-home .home-incident-copy>p {margin: 0 0 18px;}
.nn-home .home-incident-copy .home-scope {font-size: .78rem; color: #596779;}
.nn-home .home-next {display: inline-flex; align-items: baseline; gap: 14px; font-size: .875rem; line-height: 1.6; padding: 0; margin: 10px 0 0; color: var(--home-navy);}
.nn-home .home-next span {font-size: 1em;}
.nn-home .home-context-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 74px;}
.nn-home .home-context-card {padding: 36px 40px; border-radius: 12px; background: var(--home-white);}
.nn-home .home-context-card h2 {max-width: 26ch;}
.nn-home .home-context-card>p {font-size: .9375rem; margin: 0 0 20px;}
.nn-home .home-context-card>.home-eyebrow {font-size: .67rem;}
.nn-home .home-context-card>.home-scope {font-size: .78rem; margin-bottom: 0;}
.nn-home .home-context-card>p:last-child {margin-bottom: 0;}
.nn-home .home-aftercare {background: #EBEFF7;}
.nn-home .home-status-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 0 0 22px;}
.nn-home .home-status-item {display: flex; flex-direction: column; align-items: flex-start; gap: 22px; border-radius: 9px; padding: 25px; background: var(--home-white); min-width: 0;}
.nn-home .home-status-item dt {font-size: .9375rem; line-height: 1.55; font-weight: 500; margin: 0;}
.nn-home .home-status-item dt a {text-decoration: none;}
.nn-home .home-status-item dt a:hover {text-decoration: underline;}
.nn-home .home-status-item dd {margin: auto 0 0; font-size: .7rem; line-height: 1.5;}
.nn-home .home-status-label {display: inline-block; padding: 5px 9px; background: #E7EEFA; color: #2E57A5; border-radius: 5px;}
.nn-home .home-status-item:first-child .home-status-label, .nn-home .home-status-item:last-child .home-status-label {background: #EDF1F8; color: #465878;}
.nn-home .home-status>.home-scope {max-width: 94ch;}
.nn-home .home-trust {display: grid; grid-template-columns: 1fr 1.3fr; gap: 75px; padding: 0 32px; margin: 0 0 70px;}
.nn-home .home-trust h2 {max-width: 20ch;}
.nn-home .home-trust>div>p:not(.home-eyebrow):not(.home-scope) {font-size: .9375rem; margin: 0 0 19px;}
.nn-home .home-invitation {display: grid; grid-template-columns: 1fr 1.3fr; gap: 75px; background: var(--home-navy); border-radius: 12px; color: #F7F9FC; padding: 45px; margin: 0 0 12px;}
.nn-home .home-invitation>div {max-width: none; margin: 0;}
.nn-home .home-invitation .home-eyebrow {color: #79A7FF;}
.nn-home .home-invitation h2 {font: 400 clamp(1.9rem,3vw,2.7rem)/1.15 var(--sans); color: #FFFFFF; letter-spacing: -.045em; margin: 0;}
.nn-home .home-invitation p:not(.home-eyebrow) {font-size: .975rem; color: #D0D7E2; line-height: 1.7; margin: 0 0 25px;}
.nn-home .home-invitation .home-button {background: #79A7FF; color: #0B1220;}
.nn-home .home-invitation .home-button:hover {background: white;}
.nn-home .home-hero a:focus-visible,.nn-home .home-invitation a:focus-visible {outline-color:var(--home-accent);}
@media (max-width: 1100px) {
  .nn-home .home-hero {padding: 34px; min-height: 440px;}
  .nn-home .home-entry-grid {grid-template-columns: minmax(150px,.85fr) minmax(0,2fr);}
  .nn-home .home-principle {grid-column: 1 / -1; display: grid; grid-template-columns: .9fr 1.3fr; column-gap: 35px; padding: 27px 30px;}
  .nn-home .home-principle .home-eyebrow {grid-column: 1;}
  .nn-home .home-node-symbol {display: none;}
  .nn-home .home-principle h2 {grid-column: 1; grid-row: 2 / 4; margin: 0; max-width: 24ch;}
  .nn-home .home-principle>p:not(.home-eyebrow) {grid-column: 2; grid-row: 1 / 3; margin: 0 0 15px;}
  .nn-home .home-principle>a {grid-column: 2;}
  .nn-home .home-study {padding: 32px; gap: 30px;}
  .nn-home .program-card-copy {padding: 22px;}
  .nn-home .home-program-top {padding-inline: 22px;}
  .nn-home .home-program-card h3 {font-size: 1.4rem; min-height: 3.6em;}
  .nn-home .home-incident {gap: 34px; padding: 34px;}
}
@media (max-width: 800px) {
  .nn-home .home-hero {min-height: 560px; display: block; padding: 34px 34px 160px;}
  .nn-home .home-hero-copy {width: 100%; padding: 0;}
  .nn-home .home-hero h1 {font-size: clamp(2.8rem,7vw,4rem);}
  .nn-home .home-deck {max-width: 37ch;}
  .nn-home .home-entry-grid {margin-bottom: 50px;}
  .nn-home .home-program-cards {grid-template-columns: 1fr;}
  .nn-home .home-program-card {display: grid; grid-template-columns: .7fr 1.3fr;}
  .nn-home .home-program-top {grid-column: 1; grid-row: 1; min-height: 0; padding: 24px 20px 0;}
  .nn-home .program-visual {grid-column: 1; grid-row: 2; align-self: start; padding-top: 10px;}
  .nn-home .program-card-copy {grid-column: 2; grid-row: 1 / 3; padding: 25px;}
  .nn-home .home-program-card h3 {min-height: 0; font-size: 1.6rem;}
  .nn-home .home-program-card .home-program-name {font-size: .76rem;}
  .nn-home .home-research-header {gap: 30px;}
  .nn-home .home-research-header>p:last-child {font-size: .86rem;}
  .nn-home .home-study {grid-template-columns: 1fr; gap: 30px;}
  .nn-home .home-study-copy h2 {max-width: 26ch; font-size: 2rem;}
  .nn-home .home-study-figure {max-width: 650px;}
  .nn-home .home-status-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
  .nn-home .home-context-card {padding: 28px;}
  .nn-home .home-context-grid {gap: 18px;}
  .nn-home .home-trust, .nn-home .home-invitation {gap: 35px;}
  .nn-home .home-trust {padding: 0 10px;}
  .nn-home .home-invitation {padding: 35px;}
  .nn-home .home-research, .nn-home .home-status, .nn-home .home-context-grid {margin-bottom: 52px;}
}
@media (max-width: 600px) {
  .nn-home {padding-top: 2px;}
  .nn-home .home-hero {padding: 28px 24px 190px; min-height: 570px; border-radius: 10px;}
  .nn-home .home-hero-image {object-position:73% center;}
  .nn-home .home-hero::after {background: linear-gradient(180deg, rgba(8,15,28,.98),rgba(8,15,28,.72) 50%,rgba(8,15,28,.12));}
  .nn-home .home-hero .home-eyebrow {font-size: .61rem; max-width: 31ch; margin-bottom: 29px;}
  .nn-home .home-hero h1 {font-size: clamp(2.65rem,10vw,3.4rem);}
  .nn-home .home-deck {font-size: .96rem;}
  .nn-home .home-hero-actions {gap: 17px;}
  .nn-home .home-entry-grid {grid-template-columns: 1fr; gap: 14px; margin-bottom: 45px;}
  .nn-home .home-guide {padding: 22px 24px;}
  .nn-home .home-guide h2 {margin-bottom: 13px;}
  .nn-home .home-guide>a {padding: 10px 12px; margin-bottom: 3px;}
  .nn-home .home-framing {padding: 27px 24px;}
  .nn-home .home-definitions {grid-template-columns: 1fr; gap: 17px;}
  .nn-home .home-principle {display: block; padding: 26px 24px;}
  .nn-home .home-principle h2 {max-width: 23ch; margin-bottom: 15px; font-size: 1.7rem;}
  .nn-home .home-principle>p:not(.home-eyebrow) {margin-bottom: 18px;}
  .nn-home .home-research-header {display: block; margin-bottom: 24px;}
  .nn-home .home-research-header h2 {margin-bottom: 17px;}
  .nn-home .home-research-header>p:last-child {font-size: .9375rem;}
  .nn-home .home-program-card {display: flex;}
  .nn-home .home-program-top {padding: 25px 25px 0;}
  .nn-home .home-program-card .home-program-name {max-width: none; font-size: .8rem;}
  .nn-home .program-visual, .nn-home .home-program-card:nth-child(2) .program-visual, .nn-home .home-program-card:nth-child(3) .program-visual {padding: 15px 26px 0; width: 100%;}
  .nn-home .program-visual svg {max-height: 125px;}
  .nn-home .program-card-copy {padding: 21px 25px 27px;}
  .nn-home .home-program-card h3 {max-width: 24ch; font-size: 1.65rem;}
  .nn-home .program-reading a {font-size: .82rem;}
  .nn-home .home-study, .nn-home .home-incident {padding: 28px 24px; margin-bottom: 18px;}
  .nn-home .home-study-copy h2 {font-size: 1.8rem;}
  .nn-home .home-study-copy h2 br {display: none;}
  .nn-home .home-incident {display: block;}
  .nn-home .home-incident-heading {margin-bottom: 24px;}
  .nn-home .home-incident h2 {font-size: 2rem;}
  .nn-home .home-incident h2 br {display: initial;}
  .nn-home .home-context-grid {grid-template-columns: 1fr;}
  .nn-home .home-context-card {padding: 28px 24px;}
  .nn-home .home-status-grid {grid-template-columns: 1fr; gap: 12px;}
  .nn-home .home-status-item {gap: 17px;}
  .nn-home .home-trust {grid-template-columns: 1fr; gap: 24px; margin-bottom: 44px; padding: 0 7px;}
  .nn-home .home-trust h2 {margin-bottom: 12px;}
  .nn-home .home-invitation {grid-template-columns: 1fr; padding: 30px 24px; gap: 23px;}
  .nn-home .home-button {gap: 15px;}
}
@media print {
  .nn-home .home-hero {background: #F4F6FA; color: #0B1220; min-height: 0; padding: 30px;}
  .nn-home .home-hero-image, .nn-home .home-hero::after {display:none;}
  .nn-home .home-hero h1, .nn-home .home-hero .home-eyebrow, .nn-home .home-deck {color: #0B1220;}
  .nn-home .home-entry-grid, .nn-home .home-program-cards, .nn-home .home-context-grid, .nn-home .home-study, .nn-home .home-incident, .nn-home .home-trust, .nn-home .home-invitation {display: block;}
  .nn-home section, .nn-home .home-program-card {break-inside: avoid; margin-bottom: 25px;}
}
