/* New Roots uses the main site's typography, hero, bands, buttons and tokens.
   Only program-specific layout and task controls belong here. Motion: motion.css. */
.nr-page { color: var(--paper-2); --nr-header-height: 10rem; --nr-collapse-progress: 0; }
.nr-page h1,.nr-page h2,.nr-page h3 { color: var(--paper); }
.nr-page:lang(zh-Hans) h1 { line-height: 1.3; }
.nr-page:lang(zh-Hans) h2,.nr-page:lang(zh-Hans) h3 { line-height: 1.45; }
.nr-page p { max-width: 65ch; }
.nr-page :focus-visible { outline: 2px solid var(--paper); outline-offset: 4px; }
.nr-page :is(input,select,textarea,button,a,h2) { scroll-margin-bottom: 2rem; }
.nr-page .button { min-height: 48px; white-space: normal; text-align: center; }
.nr-page .button:disabled { cursor: wait; opacity: .65; }
.nr-page [hidden] { display: none !important; }
/* Project shell: the program remains part of AAPI Legacy, with its own tasks. */
.nr-header-space { display: contents; }
.nr-project-header { position: sticky; top: 0; z-index: var(--z-header); background: var(--night); border-bottom: 1px solid var(--hairline-strong); }
.nr-project-top,.nr-project-navigation { width: min(100% - 2.4rem,var(--content)); margin-inline: auto; display: flex; align-items: center; gap: 1rem; }
.nr-project-top { min-height: 82px; padding-block: .75rem; }
.nr-project-identity { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; margin-right: auto; gap: .35rem; }
.nr-project-brand { color: var(--paper); font: 600 1.65rem/1.15 var(--font-display); }
.nr-project-brand .nr-project-tagline { display: block; margin-top: .4rem; font: .78rem/1.4 var(--font-sans); color: var(--paper-2); }
.nr-platform-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--paper-2); font-size: .8rem; white-space: nowrap; }
.nr-platform-link > span { color: var(--red); margin-left: .4rem; }
.nr-platform-wordmark { display: flex; align-items: center; gap: .4rem; min-height: 20px; margin-top: .3rem; }
.nr-platform-wordmark .brand-mark { font-size: 1rem; height: 1rem; }
.nr-platform-wordmark .brand-stack { display: inline-flex; height: 1rem; font-size: .55rem; letter-spacing: .14em; gap: .3rem; }
.nr-menu-platform-link,.nr-mobile-menu-toggle { display: none; }
.nr-project-top .nr-language { margin-left: 0; }
.nr-project-navigation { border-top: 1px solid var(--hairline); justify-content: space-between; padding-block: .35rem; }
.nr-project-nav { display: flex; align-items: center; gap: clamp(.7rem,1.5vw,1.5rem); min-width: 0; }
.nr-project-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .85rem; color: var(--paper-2); white-space: nowrap; }
.nr-project-nav a:hover { color: var(--paper); text-decoration: underline; text-underline-offset: .35em; }
.nr-header-actions { display: flex; gap: .6rem; flex-shrink: 0; }
.nr-header-actions .button { font-size: .74rem; padding: .55rem .8rem; min-height: 44px; }
.nr-project-footer { gap: 2rem; }
.nr-project-footer > div:first-child { max-width: 42rem; }
.nr-project-footer p { max-width: 52ch; }
.nr-page :is(input,select,textarea,button,a,h2,.nr-band,.nr-policy-pair section,#home,#sign-up,#safety) { scroll-margin-top: calc(var(--nr-header-height) + 1rem); }
.nr-page .page-hero { display: block; }
.nr-page .page-title-lockup h1 { max-width: none; }
.nr-page .nr-task-hero { min-height: 0; padding-block: 2.4rem 2rem; }
.nr-task-hero .page-title-lockup h1 { font-size: clamp(2.3rem,4.3vw,3.6rem); }
.nr-task-hero .hero-body { margin-bottom: 0; }
.nr-title-line { display: block; }
.nr-meta { margin: 0 0 1.5rem; color: var(--paper-3); font: .7rem/1.6 var(--font-mono); text-transform: uppercase; letter-spacing: .12em; }
.nr-title-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1.2rem; margin-bottom: 1rem; }
.nr-title-tools .nr-meta { margin: 0; }
.nr-back-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--paper-3); font: .72rem/1.6 var(--font-mono); text-transform: uppercase; letter-spacing: .08em; }
.nr-back-link::before { content: '←'; color: var(--red); margin-right: .6rem; }
.nr-language { display: flex; align-items: center; gap: .35rem; flex-shrink: 0; margin-left: auto; font-size: .8rem; }
.nr-language > span { color: var(--paper-3); }
.nr-language a,.nr-language button { min-height: 44px; min-width: 44px; display: grid; place-items: center; padding: .4rem; color: var(--paper-3); }
.nr-language button { border: 0; border-radius: var(--radius); background: transparent; font: inherit; cursor: pointer; }
.nr-language [aria-current] { color: var(--paper); font-weight: 600; }
.nr-language a:hover,.nr-language button:hover,.nr-back-link:hover { color: var(--paper); text-decoration: underline; text-underline-offset: .3em; }
.nr-free { font-size: .95rem; margin: .75rem 0 0; }
.nr-entry-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; margin-top: 1.6rem; }
.nr-entry-actions .nr-mentor-entry { margin: 0; }
.nr-jump-links { display: flex; flex-wrap: wrap; gap: .25rem 2.5rem; padding: .65rem max(1.2rem,calc((100% - var(--content))/2)); border-bottom: 1px solid var(--hairline); }
.nr-jump-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .84rem; }
.nr-jump-links a:hover { color: var(--paper); text-decoration: underline; text-underline-offset: .35em; }
.nr-band { border-bottom: 1px solid var(--hairline); }
.nr-program-tagline { margin: 0 0 1.5rem; color: var(--paper-2); font-size: .9rem; }
.nr-hero-support { font-size: 1rem; line-height: 1.8; }
.nr-primary-section h2 { margin: 0 0 1rem; font-size: clamp(2.2rem,3.5vw,3rem); }
.nr-section-intro { margin-bottom: 2rem; }
.nr-section-intro p { max-width: 65ch; }
.nr-section-intro p:last-child { margin-bottom: 0; }
.nr-section-subtitle { color: var(--paper); font-size: 1.1rem; }
.nr-home-benefits h2,.nr-home-audiences h2 { margin: 0; font-size: clamp(1.8rem,2.5vw,2.2rem); }
.nr-prose p:last-child { margin-bottom: 0; }
.nr-role-pair,.nr-signup-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,6vw,6rem); margin-top: 2rem; }
.nr-role-pair article { position: relative; padding-top: 1.6rem; }
.nr-role-pair article::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 1px; background: var(--hairline-strong); transform-origin: left; }
.nr-role-pair .item-label { margin-bottom: .8rem; }
.nr-role-pair h3 { margin-bottom: 1rem; font-size: 1.9rem; }
.nr-role-eligibility { color: var(--paper); font-size: .95rem; }
.nr-role-list-title { margin-bottom: .5rem; }
.nr-mentor-outcomes { padding-left: 1.2rem; margin-block: .5rem 1rem; }
.nr-mentor-outcomes li { padding-block: .2rem; }
.nr-operational-note { color: var(--paper-3); font-size: .84rem; }
.nr-role-pair .button { margin-top: .6rem; }
.nr-benefits { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 4rem; margin: 2rem 0 0; }
.nr-benefits > div { padding-block: 1.4rem; border-top: 1px solid var(--hairline); }
.nr-benefits dt { font: 600 1.3rem/1.4 var(--font-display); color: var(--paper); }
.nr-benefits dd { margin: .6rem 0 0; max-width: 42ch; }
.nr-program-arrangement { margin: 1.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--hairline); }
.nr-program-arrangement h3 { font-size: 1.3rem; margin-bottom: .75rem; }
.nr-program-arrangement p { margin-bottom: 0; }
.nr-process { list-style: none; padding: 0; margin: 0; counter-reset: nr-process; }
.nr-process li { counter-increment: nr-process; position: relative; padding: 1.65rem 0 1.65rem 4rem; border-top: 1px solid var(--hairline); display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); gap: 1rem 3rem; }
.nr-process li:first-child { border-color: var(--red); }
.nr-process li::before { content: counter(nr-process,decimal-leading-zero); position: absolute; left: 0; top: 1.4rem; color: var(--red); font: 1.6rem/1.4 var(--font-display); }
.nr-process h3 { font-size: 1.45rem; margin: 0 0 .5rem; }
.nr-process p { margin: 0; }
.nr-step-scope { display: block; margin-top: .6rem; color: var(--paper-3); font: .78rem/1.5 var(--font-sans); }
.nr-signup-choices { margin-top: 0; }
.nr-signup-choices article { padding-top: 1.5rem; border-top: 1px solid var(--hairline-strong); }
.nr-signup-choices h3 { font-size: 1.5rem; }
.nr-care-surface { background: var(--coal); }
.nr-care-surface .nr-band { border-bottom: 0; }
.nr-safety { list-style: none; padding: 0; margin: 0; }
.nr-safety li { padding: 1.2rem 0; border-bottom: 1px solid var(--hairline); }
.nr-safety li:first-child { padding-top: 0; }
.nr-policy-links { display: flex; flex-wrap: wrap; gap: .5rem 2rem; margin: 1.5rem 0 0; }
.nr-policy-links a,.nr-qr-download { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .25em; }
.nr-policy-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(2rem,6vw,6rem); }
.nr-policy-pair h2 { font-size: 1.8rem; }
.nr-contact-band { border-bottom: 0; }
.nr-contact-link { display: inline-flex; align-items: center; gap: 1rem; min-height: 48px; overflow-wrap: anywhere; border-bottom: 1px solid var(--red); }
.nr-contact-link span { color: var(--red); }
.nr-project-share { display: flex; align-items: flex-start; gap: 2rem; margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--hairline); }
.nr-project-share img { width: 160px; height: 160px; flex-shrink: 0; }
.nr-project-share h3 { font-size: 1.5rem; margin: 0 0 .6rem; }
.nr-project-share a { overflow-wrap: anywhere; }
.nr-qr-download { display: flex; gap: .7rem; width: fit-content; margin-top: .35rem; }
.nr-notice { width: min(100% - 2.4rem,var(--content)); margin: 2rem auto; border-block: 1px solid var(--hairline-strong); padding: 1.3rem 0; }
.nr-hero-notice { max-width: 46rem; margin: 1.5rem 0 0; border-bottom: 0; padding-bottom: 0; }


/* Single-column answers and native chapter navigation. */
.nr-form { width: min(100% - 2.4rem,var(--content)); margin: 2.6rem auto 6rem; display: grid; grid-template-columns: 15rem minmax(0,44rem); column-gap: clamp(2rem,5vw,4.5rem); align-items: start; }
.nr-form > input { display: none; }
.nr-form-aside,.nr-form-body { min-width: 0; }
.nr-form-companion { position: sticky; top: 10rem; }
.nr-form-aside { align-self: stretch; }
.nr-progress { margin-bottom: 1.3rem; }
.nr-progress .nr-meta { margin-bottom: .5rem; }
.nr-progress [data-step-status] { font-size: .88rem; color: var(--paper); margin-bottom: 1rem; }
.nr-progress progress { appearance: none; display: block; width: 100%; height: 3px; border: 0; border-radius: 0; background: var(--hairline); color: var(--red); }
.nr-progress progress::-webkit-progress-bar { background: var(--hairline); }
.nr-progress progress::-webkit-progress-value { background: var(--red); }
.nr-progress progress::-moz-progress-bar { background: var(--red); }
.nr-outline summary { cursor: pointer; min-height: 44px; padding: .5rem 0; font-size: .88rem; color: var(--paper); }
.nr-step-index { list-style: none; padding: 0; margin: 0; }
.nr-step-index a { display: grid; grid-template-columns: 1.8rem 1fr .6rem; gap: .45rem; align-items: center; min-height: 44px; padding: .55rem .4rem; border-bottom: 1px solid var(--hairline); font-size: .82rem; line-height: 1.45; color: var(--paper-3); }
.nr-step-number { font: .7rem var(--font-mono); }
.nr-step-index a[aria-current] { color: var(--paper); background: var(--coal); }
.nr-step-index a[aria-current] .nr-step-number { color: var(--red); }
.nr-step-marker { width: 5px; height: 5px; background: transparent; }
.nr-step-index a[aria-current] .nr-step-marker { background: var(--red); }
.nr-step-index a.is-visited { color: var(--paper-2); }
.nr-step-index a:hover { color: var(--paper); }
.nr-draft-note,.nr-save-status { font-size: .8rem; line-height: 1.7; }
.nr-draft-note { margin: 1.6rem 0 .7rem; }
.nr-save-status { color: var(--paper-3); min-height: 1.7em; margin: 0; }
.nr-required-note { margin: 0 0 1.6rem; font-size: .82rem; color: var(--paper-3); }
.nr-step { padding: 0 0 1rem; }
.nr-step + .nr-step:not([hidden]) { padding-top: 2rem; border-top: 1px solid var(--hairline); }
.js-enabled .nr-form.is-wizard .nr-step { padding-top: 0; border-top: 0; }
.nr-step-heading { display: flex; align-items: baseline; gap: 1.15rem; padding-bottom: 1.3rem; border-bottom: 1px solid var(--hairline); margin-bottom: 2rem; }
.nr-section-number { font: 1.9rem/1 var(--font-display); color: var(--red); }
.nr-step h2 { margin: 0; font-size: 2rem; }
.nr-field { margin: 0 0 2rem; }
.nr-field > label { display: block; color: var(--paper); margin-bottom: .65rem; font-size: .95rem; font-weight: 500; }
.nr-optional,.nr-conditional-note { color: var(--paper-3); font-size: .75rem; font-weight: 400; margin-inline-start: .5rem; }
.nr-field input:not([type=checkbox]),.nr-field textarea,.nr-field select { display: block; width: 100%; min-height: 50px; border: 1px solid var(--hairline-strong); border-radius: var(--radius); background: var(--black); color: var(--paper); padding: .8rem .9rem; font: inherit; line-height: 1.5; }
.nr-field textarea { resize: vertical; min-height: 9rem; }
.nr-field select { color-scheme: dark; padding-right: 2rem; text-overflow: ellipsis; }
.nr-field input:not([type=checkbox]):focus,.nr-field textarea:focus,.nr-field select:focus { border-color: var(--paper); outline: 2px solid var(--paper); outline-offset: 3px; }
.nr-field input[type=checkbox] { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--red); margin: .15rem .8rem 0 0; }
.nr-field div[id^=id_] > div > label,.nr-field label.nr-check { display: flex; align-items: flex-start; padding: .8rem .9rem; min-height: 48px; cursor: pointer; border: 1px solid var(--hairline); background: var(--coal); font-size: .95rem; line-height: 1.6; }
.nr-field div[id^=id_] > div > label:has(input:checked),.nr-field label.nr-check:has(input:checked) { border-color: var(--hairline-strong); color: var(--paper); background: var(--coal-2); }
.nr-field div[id^=id_] > div > label:hover,.nr-field label.nr-check:hover { border-color: var(--paper-3); }
.nr-field > div[id^=id_]:has(>div>label>input[type=checkbox]) { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
.nr-help { color: var(--paper-2); font-size: .83rem; line-height: 1.65; margin-top: .55rem; }
.nr-help:empty,.nr-field-errors:empty,.nr-validation-status:empty { display: none; }
.nr-field-errors,.nr-error-summary,.nr-validation-status { color: var(--error); font-size: .9rem; }
.nr-field-errors { margin-top: .55rem; }
.nr-field-errors ul { list-style: none; padding: 0; margin: 0; }
.nr-error-summary { padding: 1.4rem; margin: 0 0 2rem; background: var(--coal); border: 1px solid var(--error); }
.nr-error-summary h2 { color: var(--error); font-size: 1.5rem; }
.nr-error-summary ul { padding-left: 1.2rem; margin-bottom: 0; }
.nr-error-summary a { display: inline-block; min-height: 44px; padding-block: .45rem; text-decoration: underline; text-underline-offset: .2em; }
.nr-field-error input:not([type=checkbox]),.nr-field-error select,.nr-field-error textarea,.nr-field-error label.nr-check { border-color: var(--error); }
.nr-validation-status { margin: 0 0 1rem; }
.nr-timezone { padding: 1rem 0; border-block: 1px solid var(--hairline); font-size: .84rem; }
.nr-wizard-controls { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-top: 1px solid var(--hairline); padding-top: 1.5rem; }
.nr-wizard-controls [data-next] { margin-left: auto; }
.nr-next-section { font-size: .8rem; color: var(--paper-3); line-height: 1.5; max-width: 24ch; }
.nr-review-section { margin: 2.5rem 0; border-top: 1px solid var(--hairline-strong); padding-top: 1.5rem; }
.nr-review-section header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.nr-review-section h3 { font-size: 1.5rem; margin: 0; }
.nr-page .nr-review-edit { font: .76rem var(--font-sans); min-height: 44px; padding: .6rem 1rem; }
.nr-review-list { margin: 1rem 0 0; }
.nr-review-list dt { color: var(--paper-2); margin-top: 1.2rem; font-size: .82rem; }
.nr-review-list dd { margin: .35rem 0; color: var(--paper); white-space: pre-wrap; overflow-wrap: anywhere; }

/* Receipt: one compact record beside the next steps. */
.nr-success-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.3fr); gap: clamp(2rem,5vw,4.5rem); align-items: start; }
.nr-receipt { padding: 2rem; border: 1px solid var(--hairline-strong); border-top-color: var(--red); background: var(--coal); }
.nr-receipt .nr-meta { margin-bottom: 1.5rem; }
.nr-receipt dt { font-size: .84rem; }
.nr-receipt dd { margin: .75rem 0 1.5rem; color: var(--paper); font: clamp(1rem,2vw,1.25rem)/1.6 var(--font-mono); overflow-wrap: anywhere; }
.nr-receipt > p:not(.nr-meta) { font-size: .9rem; margin-bottom: 0; }
.nr-success-next h2 { font-size: 1.8rem; }
.nr-success-next p:last-child { margin-bottom: 0; }
.nr-success > .button { margin-top: 2rem; }
/* First-visit choice is server rendered and never waits for animation. */
.nr-choosing-language .site-header,.nr-choosing-language .site-footer,.nr-choosing-language .skip-link { display: none; }
.nr-choosing-language main { min-height: 100svh; overflow: visible; }
.nr-language-gate { position: fixed; inset: 0; z-index: var(--z-skip); overflow-y: auto; display: grid; place-items: center; padding: clamp(1.25rem,4vw,4rem); background: radial-gradient(circle at 78% 14%,rgba(224,56,46,.12),transparent 28rem),var(--night); }
.nr-language-gate-inner { width: min(100%,var(--content)); padding-block: 2rem; }
.nr-gate-overline { margin: clamp(2rem,8svh,5rem) 0 1rem; color: var(--paper-3); font: .75rem var(--font-mono); letter-spacing: .16em; }
.nr-language-gate h1 { max-width: 28ch; margin: 0; font-size: clamp(2.4rem,4.2vw,3.8rem); line-height: 1.15; }
.nr-language-gate h1 span { color: var(--paper-2); display: inline-block; margin-top: .3em; }
.nr-language-gate #nr-language-description { max-width: 50rem; font-size: clamp(1rem,1.5vw,1.2rem); }
.nr-gate-tagline { margin: 1.5rem 0; font-size: 1.05rem; line-height: 1.8; }
.nr-language-choices { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2rem; }
.nr-language-choices form { margin: 0; }
.nr-language-choices .button { min-height: 3.5rem; min-width: 15rem; justify-content: space-between; gap: 2rem; cursor: pointer; }
.nr-gate-note { margin-top: 2rem; color: var(--paper-3); font-size: .82rem; }
@media (min-width: 901px) {
  .js-enabled .nr-outline summary { display: none; }
  .nr-entry-actions .nr-mentor-entry { padding: 0; border-color: transparent; background: transparent; color: var(--paper); font: .72rem/1.2 var(--font-mono); letter-spacing: .16em; }
  .nr-entry-actions .nr-mentor-entry span { color: var(--red); }
  .nr-entry-actions .nr-mentor-entry:hover,.nr-entry-actions .nr-mentor-entry:focus-visible { background: transparent; color: var(--red); }
}
@media (max-width: 900px) {
  .nr-page { --nr-header-height: 0px; }
  .nr-header-space { display: block; }
  .nr-header-space.is-scroll-enhanced,.nr-header-space:has(> .nr-project-header.is-scroll-enhanced) { height: var(--nr-expanded-height); }
  .nr-project-header { position: static; }
  .nr-project-header.is-scroll-enhanced { position: fixed; inset: 0 0 auto; height: var(--nr-visible-height,var(--nr-expanded-height)); overflow: clip; }
  .nr-project-top { display: grid; grid-template-columns: minmax(0,1fr) auto auto; min-height: 70px; padding-block: calc(.75rem - .25rem * var(--nr-collapse-progress)); gap: .375rem; }
  .nr-project-identity { margin-right: 0; }
  .nr-project-brand { min-width: 0; max-width: 100%; min-height: 44px; display: flex; flex-direction: column; justify-content: center; font-size: calc(1.25rem - .15rem * var(--nr-collapse-progress)); line-height: 1.25; overflow-wrap: break-word; }
  .nr-project-brand .nr-project-tagline,.nr-platform-link { display: none; }
  .nr-platform-wordmark { min-height: 14px; margin-top: calc(.25rem - .0625rem * var(--nr-collapse-progress)); gap: .3rem; }
  .nr-platform-wordmark .brand-mark { font-size: .875rem; height: auto; }
  .nr-platform-wordmark .brand-stack { height: auto; font-size: .5rem; letter-spacing: .12em; gap: .25rem; }
  .nr-project-top .nr-language { margin-left: 0; gap: 0; }
  .nr-project-top .nr-language [aria-current],.nr-project-top .nr-language > span { display: none; }
  .nr-project-top .nr-language a,.nr-project-top .nr-language button { padding: .4rem .25rem; color: var(--paper-2); }
  .nr-project-header.is-large-text .nr-project-top { grid-template-columns: minmax(0,1fr) auto; }
  .nr-project-header.is-large-text .nr-project-identity { grid-column: 1 / -1; }
  .nr-project-header.is-large-text .nr-language { justify-self: end; }
  .nr-project-header.is-large-text .nr-project-brand { overflow-wrap: normal; }
  .nr-mobile-menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: .4rem .5rem; border: 1px solid var(--hairline-strong); border-radius: var(--radius); background: var(--coal); color: var(--paper); font: .875rem/1.35 var(--font-sans); cursor: pointer; }
  .nr-mobile-menu-toggle:hover,.nr-mobile-menu-toggle[aria-expanded=true] { border-color: var(--paper-3); background: var(--coal-2); }
  .nr-project-header.is-scroll-enhanced:not(.is-compact) .nr-mobile-menu-toggle { visibility: hidden; pointer-events: none; }
  .nr-project-navigation { flex-wrap: wrap; gap: .75rem; padding-block: .75rem; }
  .nr-project-header.is-scroll-enhanced .nr-project-navigation { opacity: calc(1 - var(--nr-collapse-progress)); transform: translateY(calc(-.5rem * var(--nr-collapse-progress))); }
  .nr-project-header.is-scroll-enhanced.is-compact .nr-project-navigation { position: absolute; top: var(--nr-compact-height); inset-inline: 0; width: 100%; margin: 0; padding: .75rem 1.2rem 1rem; border-bottom: 1px solid var(--hairline-strong); background: var(--night); max-height: calc(100dvh - var(--nr-compact-height)); overflow-y: auto; overscroll-behavior: contain; scrollbar-color: var(--paper-3) var(--night); pointer-events: none; opacity: 0; transform: translateY(-.5rem); transition: opacity 220ms cubic-bezier(.22,1,.36,1),transform 220ms cubic-bezier(.22,1,.36,1); }
  .nr-project-header.is-scroll-enhanced:is(.is-panel-open,.is-panel-closing) { overflow: visible; }
  .nr-project-header.is-scroll-enhanced.is-compact.is-panel-open .nr-project-navigation { opacity: 1; transform: translateY(0); pointer-events: auto; }
  .nr-project-header.is-scroll-enhanced.is-compact.is-panel-closing .nr-project-navigation { opacity: 0; transform: translateY(-.5rem); pointer-events: none; }
  .nr-project-header.is-header-measuring { height: auto; overflow: visible; }
  .nr-project-header.is-scroll-enhanced.is-header-measuring .nr-project-navigation { position: static; width: min(100% - 2.4rem,var(--content)); margin-inline: auto; padding: .75rem 0; max-height: none; transform: none; opacity: 1; transition: none; }
  .nr-project-nav { flex-basis: 100%; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 1rem; }
  .nr-project-nav a { justify-content: center; white-space: normal; text-align: center; line-height: 1.4; }
  .nr-header-actions,.nr-entry-actions { display: grid; grid-template-columns: minmax(0,1fr); grid-auto-rows: 1fr; width: 100%; gap: .75rem; }
  .nr-header-actions { padding-bottom: .25rem; }
  .nr-header-actions .button,.nr-entry-actions .button { width: 100%; min-height: 48px; justify-content: center; }
  .nr-menu-platform-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--paper-2); font-size: .85rem; }
  .nr-menu-platform-link span { color: var(--red); margin-left: .4rem; }
  .nr-form { grid-template-columns: minmax(0,1fr); margin-top: 1.5rem; gap: 1.5rem; }
  .nr-form-companion { position: static; }
  .nr-progress { margin-bottom: .5rem; }
  .nr-progress .nr-meta { display: none; }
  .nr-progress [data-step-status] { margin-bottom: .75rem; }
  .nr-outline { border-bottom: 1px solid var(--hairline); }
  .nr-step-index { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1rem; padding-bottom: .75rem; }
  .nr-draft-note { margin: .8rem 0 .3rem; }
  .nr-save-status { font-size: .76rem; }
  .nr-required-note { margin-bottom: 1rem; }
}
@media (max-width: 700px) {
  .nr-program-name { font-size: .65rem; letter-spacing: .08em; }
  .nr-program-translation { display: none; }
  .nr-back-link { font-size: .65rem; }
  .nr-title-tools { gap: .25rem 1rem; }
  .nr-jump-links { gap: 0; display: grid; grid-template-columns: 1fr 1fr; }
  .nr-role-pair,.nr-signup-choices,.nr-policy-pair,.nr-success-grid,.nr-benefits { grid-template-columns: minmax(0,1fr); gap: 1.6rem; }
  .nr-benefits { gap: 0; }
  .nr-project-brand .nr-project-tagline { max-width: 27ch; }
  .nr-project-footer .footer-links { align-items: flex-start; }
  .nr-role-pair { margin-top: 2rem; gap: 1.5rem; }
  .nr-role-pair h3 { font-size: 1.65rem; }
  .nr-process li { padding-left: 3rem; display: block; }
  .nr-project-share { flex-direction: column; gap: 1.25rem; }
  .nr-page .nr-task-hero { padding-block: 1.4rem 1.5rem; }
  .nr-step-index { grid-template-columns: minmax(0,1fr); }
  .nr-step-heading { gap: .8rem; margin-bottom: 1.5rem; padding-bottom: 1rem; }
  .nr-step h2 { font-size: 1.8rem; }
  .nr-field { margin-bottom: 1.6rem; }
  .nr-field > div[id^=id_]:has(>div>label>input[type=checkbox]) { grid-template-columns: minmax(0,1fr); }
  .nr-wizard-controls { flex-wrap: wrap; }
  .nr-next-section { order: -1; width: 100%; max-width: none; }
  .nr-review-section header { align-items: flex-start; }
  .nr-receipt { padding: 1.5rem; }
  .nr-language-choices,.nr-language-choices form,.nr-language-choices .button { width: 100%; }
  .nr-language-gate h1 { font-size: clamp(2.2rem,8vw,3.8rem); }
}
@media (prefers-reduced-motion: reduce) {
  .nr-project-header.is-scroll-enhanced.is-compact .nr-project-navigation { transition: none; }
}
