/* Shell styling is limited to the header/footer; reader content requires body.ncf-reader. */
body.ncf-shell,
body.ncf-reader {
  --ncf-ink: #25362f;
  --ncf-forest: #173f35;
  --ncf-forest-deep: #123128;
  --ncf-sage: #e8eee5;
  --ncf-paper: #fbfaf6;
  --ncf-white: #ffffff;
  --ncf-gold: #be9141;
  --ncf-line: #d8dfd3;
  --ncf-muted: #6f756c;
  --ncf-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;
  --ncf-serif: Georgia, "Times New Roman", serif;
}
body.ncf-reader {
  background: var(--ncf-paper);
  color: var(--ncf-ink);
  font-family: var(--ncf-sans);
  font-size: 18px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}

body.ncf-reader .wp-site-blocks { overflow-wrap: break-word; }
body.ncf-reader :where(h1, h2, h3, h4) { color: var(--ncf-forest); }
body.ncf-reader :where(h2, h3, h4) {
  font-family: var(--ncf-sans);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.28;
}
body.ncf-reader h1 {
  font-family: var(--ncf-serif);
  font-size: clamp(2.15rem, 4vw, 3.45rem) !important;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.035em;
  text-wrap: balance;
}
body.ncf-reader :where(h2.wp-block-heading, h2.wp-block-query-title) {
  font-size: clamp(1.6rem, 2.4vw, 2rem) !important;
}
body.ncf-reader :where(h3.wp-block-heading, h4.wp-block-heading) {
  font-size: clamp(1.12rem, 1.7vw, 1.35rem) !important;
}
body.ncf-reader :where(p, li) { text-wrap: pretty; }
body.ncf-reader :where(main, footer) a {
  color: var(--ncf-forest);
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}
body.ncf-reader :where(main, footer) a:hover {
  text-decoration-thickness: 2px;
  text-decoration-color: var(--ncf-gold);
}
body.ncf-reader :where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid #1c7169;
  outline-offset: 4px;
}
body.ncf-reader :where(h2, h3, h4, [id]) { scroll-margin-top: 2rem; }
body.ncf-reader :where(.wp-element-button, .wp-block-button__link) {
  border-radius: 6px !important;
  background: var(--ncf-forest) !important;
  color: #fff !important;
  padding: .8rem 1.2rem;
  font-family: var(--ncf-sans);
  font-size: 1rem;
  font-weight: 650;
  line-height: 1.4;
  text-decoration: none;
}
body.ncf-reader :where(.wp-element-button, .wp-block-button__link):hover {
  background: var(--ncf-forest-deep) !important;
  text-decoration: none;
}
body.ncf-reader .wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent !important;
  border: 1px solid var(--ncf-forest);
  color: var(--ncf-forest) !important;
}
body.ncf-reader .wp-block-button.is-style-outline > .wp-block-button__link:hover {
  background: #ffffff90 !important;
}

/* A compact masthead gives the content room to lead. */
body.ncf-shell header.wp-block-template-part {
  font-family: var(--ncf-sans);
  background: var(--ncf-paper);
  border-bottom: 1px solid var(--ncf-line);
}
body.ncf-shell header.wp-block-template-part > .wp-block-group {
  padding-top: 1.1rem !important;
  padding-bottom: 1.1rem !important;
}
body.ncf-shell header .wp-block-site-title {
  font-family: var(--ncf-sans);
  font-size: 1.65rem !important;
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: -.03em;
}
body.ncf-shell header .wp-block-site-title a { text-decoration: none; color: var(--ncf-forest); }
body.ncf-shell header .wp-block-site-logo img { width: 62px; height: auto; }
body.ncf-shell header .wp-block-navigation {
  font-family: var(--ncf-sans);
  font-size: .95rem !important;
  font-weight: 650;
}
body.ncf-shell header .wp-block-navigation-item__content { text-decoration: none; }
body.ncf-shell header .wp-block-navigation-item__content:hover { color: var(--ncf-forest); text-decoration: underline; text-underline-offset: .4em; }
body.ncf-shell header .wp-block-navigation__responsive-container.is-menu-open {
  background: var(--ncf-paper) !important;
  color: var(--ncf-forest) !important;
}

body.ncf-shell header.wp-block-template-part :where(a, button):focus-visible { outline: 3px solid #1c7169; outline-offset: 4px; }
body.ncf-shell footer.wp-block-template-part :where(a, button):focus-visible { outline: 3px solid #eed6a0; outline-offset: 4px; }

/* Article rhythm: a literary title, useful section headings and a readable column. */
body.ncf-reader.single-post main {
  padding-top: clamp(2rem, 4vw, 3rem) !important;
  padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}
body.ncf-reader.single-post main > .wp-block-group:first-child {
  box-sizing: border-box;
  width: min(900px, calc(100% - 2rem)) !important;
  max-width: 900px !important;
  margin: 0 auto 2rem !important;
  padding: 0 !important;
}
body.ncf-reader.single-post main > .wp-block-group:first-child > :where(.wp-block-group, .wp-block-post-terms) {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 900px !important;
  margin-inline: 0 !important;
}
body.ncf-reader.single-post main h1.wp-block-post-title {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  font-size: clamp(2.15rem, 4vw, 3rem) !important;
  margin-inline: auto !important;
  margin-bottom: 1.25rem;
}
body.ncf-reader.single-post main > :where(.entry-content, .wp-block-post-content) {
  box-sizing: border-box;
  width: min(760px, calc(100% - 2rem)) !important;
  max-width: 760px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) > :where(p, h2, h3, h4, ul, ol, figure, .wp-block-group, aside, blockquote, details) {
  max-width: 100% !important;
  margin-inline: 0 !important;
}
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) > p {
  margin-top: 0;
  margin-bottom: 1.3rem;
  font-size: 1.06rem;
  line-height: 1.8;
}
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) > h2 {
  margin-top: 2.9rem;
  margin-bottom: 1.1rem;
  padding-top: .65rem;
  border-top: 1px solid var(--ncf-line);
  font-size: clamp(1.45rem, 2.5vw, 1.8rem) !important;
  line-height: 1.35;
}
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) > h2::before {
  display: block;
  width: 2.75rem;
  height: 3px;
  margin-top: -.78rem;
  margin-bottom: .9rem;
  background: var(--ncf-gold);
  content: "";
}
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) > h3 {
  margin-top: 2rem;
  margin-bottom: .75rem;
}
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) :where(ul, ol) {
  padding-inline-start: 1.4rem;
  margin-block: 1.1rem 1.65rem;
}
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) li { margin-block: .5rem; padding-inline-start: .15rem; }
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) li::marker { color: var(--ncf-forest); font-weight: 700; }
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) strong { font-weight: 750; color: #183b2f; }
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) em { color: #475d51; }
body.ncf-reader.single-post main :where(.wp-block-post-author-name, .wp-block-post-author, .wp-block-post-date, .taxonomy-category) {
  font-size: .85rem !important;
  line-height: 1.6;
  color: var(--ncf-muted);
}
body.ncf-reader.single-post .taxonomy-category a { color: #466053; }
body.ncf-reader .wp-block-post-terms.taxonomy-post_tag { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .85rem; }
body.ncf-reader .wp-block-post-terms.taxonomy-post_tag a {
  padding: .3rem .65rem;
  border: 1px solid var(--ncf-line);
  border-radius: 4px;
  background: var(--ncf-sage);
  line-height: 1.45;
  text-decoration: none;
}
body.ncf-reader .wp-block-post-terms__separator { color: var(--ncf-muted); }
body.ncf-reader .wp-block-post-navigation-link { font-size: 1rem; line-height: 1.5; }

/* Public editorial pages share a purposeful heading and a wide resource column. */
body.ncf-reader.page:not(.home) main {
  padding-top: 0 !important;
}
body.ncf-reader.page:not(.home) main > .wp-block-group:first-child {
  box-sizing: border-box;
  width: min(900px, calc(100% - 3rem)) !important;
  max-width: 900px !important;
  margin: 0 auto 2rem !important;
  padding: 2.5rem 0 0 !important;
}
body.ncf-reader.page:not(.home) main > .wp-block-group:first-child > .wp-block-spacer { display: none !important; }
body.ncf-reader.page:not(.home) main h1.wp-block-post-title {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 900px !important;
  margin-top: 0 !important;
  margin-inline: 0 !important;
  font-size: clamp(2rem, 3.8vw, 2.8rem) !important;
  text-align: left;
}
body.ncf-reader.page:not(.home) main > :where(.entry-content, .wp-block-post-content) {
  box-sizing: border-box;
  width: min(900px, calc(100% - 3rem)) !important;
  max-width: 900px !important;
  margin-inline: auto !important;
  padding: 0 !important;
}
body.ncf-reader.page:not(.home) main > :where(.entry-content, .wp-block-post-content) > :where(p, h2, h3, h4, ul, ol, figure, .wp-block-group, .ncf-resource-search) {
  max-width: 100% !important;
  margin-inline: 0 !important;
}
body.ncf-reader.page:not(.home) :where(.ncfhelp-training-track, .ncfhelp-resource-list) > :where(p, h2, h3, h4, ul, ol) {
  max-width: 100% !important;
  margin-inline: 0 !important;
}

/* Editor-marked summaries, practical examples and quieter editorial notes. */
body.ncf-reader :where(.ncf-summary, .ncf-tip, .ncf-example) {
  box-sizing: border-box;
  padding: 1.25rem 1.45rem !important;
  margin-block: 1.6rem !important;
  border: 1px solid var(--ncf-line);
  border-inline-start: 4px solid var(--ncf-forest);
  border-radius: 5px;
  background: var(--ncf-sage);
  font-size: 1rem;
  line-height: 1.7;
}
body.ncf-reader .ncf-example { background: #f7f0df; border-color: #e8ddbf; border-inline-start-color: var(--ncf-gold); }
body.ncf-reader .ncf-tip { background: #f0f4ed; }
body.ncf-reader :where(.ncf-summary, .ncf-tip, .ncf-example) > :first-child { margin-top: 0 !important; }
body.ncf-reader :where(.ncf-summary, .ncf-tip, .ncf-example) > :last-child { margin-bottom: 0 !important; }
body.ncf-reader :where(.ncf-summary, .ncf-tip, .ncf-example) h3 { font-size: 1rem !important; letter-spacing: .015em; }
body.ncf-reader :where(.ncf-label, .ncf-callout-label) {
  display: block;
  margin-bottom: .5rem;
  color: var(--ncf-forest);
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .07em;
  text-transform: uppercase;
}
body.ncf-reader :where(.ncf-disclaimer, .ncf-editorial-note),
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) > p.ncf-disclaimer {
  padding-top: .9rem;
  margin-block: 1.6rem 1rem;
  border-top: 1px solid #e3e7df;
  color: var(--ncf-muted) !important;
  font-size: 12px !important;
  font-weight: 400;
  line-height: 1.65 !important;
}
body.ncf-reader :where(.ncf-disclaimer, .ncf-editorial-note) a { color: inherit; }
body.ncf-reader :where(.ncf-disclaimer, .ncf-editorial-note) :where(strong, em) { color: inherit !important; font-weight: 400; }
body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) > p.ncf-audience,
body.ncf-reader .ncf-audience {
  margin-block: 0 .85rem;
  font-size: .78rem !important;
  line-height: 1.55 !important;
  color: var(--ncf-muted) !important;
}
body.ncf-reader .ncf-audience :where(strong, em) { color: inherit !important; font-weight: 500; }
body.ncf-reader :where(.entry-content, .wp-block-post-content) blockquote {
  padding: 1.2rem 1.5rem;
  margin-block: 1.75rem;
  background: #f2f3e9;
  border-left: 3px solid var(--ncf-gold);
  font-size: 1.15rem;
  color: var(--ncf-forest);
}
body.ncf-reader :where(.entry-content, .wp-block-post-content) blockquote p { margin-block: .25rem; }
body.ncf-reader :where(.entry-content, .wp-block-post-content) blockquote cite { display: block; margin-top: .8rem; font: .8rem var(--ncf-sans); color: var(--ncf-muted); }
body.ncf-reader .ncf-jump-links {
  padding: 1rem 1.2rem;
  border: 1px solid var(--ncf-line);
  border-radius: 5px;
  background: #ffffff;
  font-size: .92rem;
}
body.ncf-reader .ncf-jump-links summary { cursor: pointer; color: var(--ncf-forest); font-weight: 700; }
body.ncf-reader .ncf-jump-links ul { margin-block: .75rem .25rem; }

/* Tables read as part of the publication, with room for long classroom descriptions. */
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #cbd8cb;
  border-radius: 6px;
  margin-block: 1.6rem 2rem;
  scrollbar-color: #879c8d #edf1e8;
}
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: .92rem;
  line-height: 1.6;
  color: var(--ncf-ink);
  background: #ffffff;
}
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table :where(th, td) {
  padding: .9rem 1rem;
  border: 0;
  border-bottom: 1px solid #dce3d7;
  border-inline-end: 1px solid #dce3d7;
  text-align: start;
  vertical-align: top;
  overflow-wrap: break-word;
}
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table :where(th, td):last-child { border-inline-end: 0; }
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table thead { border: 0; }
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table thead th {
  background: var(--ncf-forest);
  color: #fff;
  font-weight: 700;
  font-size: .83rem;
  border-color: #416459;
  letter-spacing: .015em;
}
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table tbody tr:nth-child(even) { background: #f2f5ec; }
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table tbody tr:last-child td { border-bottom: 0; }
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table tbody td:first-child { font-weight: 650; }
body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table figcaption { padding: .7rem 1rem; background: #f7f8f3; color: var(--ncf-muted); font-size: .8rem; }

/* A wide homepage with a visible route from the reader's need to the next resource. */
body.ncf-reader.home main > .entry-content { padding-inline: 0 !important; }
body.ncf-reader.home .ncf-home {
  box-sizing: border-box;
  width: min(1280px, calc(100% - 3rem)) !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
}
body.ncf-reader.home .ncf-home > .alignwide {
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}
body.ncf-reader.home main > .entry-content > .wp-block-group { background: var(--ncf-paper) !important; }
body.ncf-reader .ncf-home-hero {
  box-sizing: border-box;
  position: relative;
  padding: clamp(1.5rem, 4vw, 3.5rem) !important;
  border: 1px solid #c4d2bf;
  border-radius: 8px !important;
  background: #e5ecdf !important;
  color: var(--ncf-ink) !important;
  margin-block: 1.5rem 2.5rem !important;
}
body.ncf-reader .ncf-home-hero h1 { max-width: 900px !important; font-size: clamp(2.3rem, 4.4vw, 3.85rem) !important; }
body.ncf-reader .ncf-home-hero > .wp-block-columns { align-items: center !important; gap: clamp(1.5rem, 3vw, 3rem); margin: 0; }
body.ncf-reader .ncf-home-hero .wp-block-column { min-width: 0; }
body.ncf-reader .ncf-home-hero .wp-block-column > p:first-child { color: #365546; font-size: .72rem !important; font-weight: 750; letter-spacing: .11em; margin-top: 0; }
body.ncf-reader .ncf-home-hero .wp-block-column > p:not(:first-child) { max-width: 760px !important; font-size: 1.06rem; line-height: 1.7; }
body.ncf-reader .ncf-home-hero:has(.ncf-hero-visual) h1 { font-size: clamp(2.15rem, 3.7vw, 3.3rem) !important; }
body.ncf-reader .ncf-hero-visual { margin: 0; max-width: 440px !important; width: 100%; margin-inline: auto !important; }
body.ncf-reader .ncf-hero-visual img { display: block; width: 100%; height: auto; }
body.ncf-reader .ncf-home-hero > p:first-child {
  color: #365546;
  font-size: .72rem !important;
  font-weight: 750;
  letter-spacing: .11em;
  margin-top: 0;
}
body.ncf-reader .ncf-home-hero > p:not(:first-child) { max-width: 760px !important; font-size: 1.08rem; line-height: 1.7; }
body.ncf-reader .ncf-home-hero .wp-block-buttons { margin-top: 1.65rem; gap: .8rem; }
body.ncf-reader .ncf-home-hero .wp-block-search { margin-top: 1.75rem; }
body.ncf-reader .ncf-home-hero .wp-block-search__label { font-size: .85rem; font-weight: 700; }
body.ncf-reader .ncf-home-hero .wp-block-search__input {
  padding: .85rem 1rem;
  border: 1px solid #9aaf99;
  border-radius: 5px;
  background: #ffffff;
  color: var(--ncf-ink);
  font: .95rem var(--ncf-sans);
}
body.ncf-reader .ncf-home-hero .wp-block-search__button { margin-left: .65rem; }
body.ncf-reader .ncf-home-hero .ncfhelp-advanced-search-link { font-size: .88rem !important; font-weight: 650; }
body.ncf-reader .ncf-home-hero :where(.ncf-hero-browse, .ncf-home-browse, .ncfhelp-hero-browse, .ncfhelp-advanced-search-link) { margin-top: .8rem; margin-bottom: 0; font-size: .83rem !important; }
body.ncf-reader .ncf-home-hero :where(.ncf-hero-browse, .ncf-home-browse, .ncfhelp-hero-browse) a { font-weight: 650; }
body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official, .ncf-home-latest) {
  box-sizing: border-box;
  padding-block: 1.5rem 2.3rem !important;
  padding-inline: 0 !important;
  margin-block: 1rem !important;
}
body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official, .ncf-home-latest) > h2 {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-top: 0;
  margin-bottom: 1.5rem;
  font-size: clamp(1.55rem, 2.6vw, 2.05rem) !important;
}
body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official, .ncf-home-latest) > h2::before {
  width: 5px;
  height: 1.15em;
  flex: 0 0 5px;
  border-radius: 1px;
  background: var(--ncf-gold);
  content: "";
}
body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official) .wp-block-columns { align-items: stretch !important; gap: 1.15rem; margin-top: 1.3rem; margin-bottom: 1.15rem; }
body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official) .wp-block-column { min-width: 0; display: flex; }
body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official) .wp-block-column > .wp-block-group {
  box-sizing: border-box;
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  max-width: none !important;
  padding: 1.5rem !important;
  border: 1px solid var(--ncf-line);
  border-top: 3px solid #72917b;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 4px 15px #173f3505;
}
body.ncf-reader .ncf-home-pathways .wp-block-column:nth-child(2) > .wp-block-group { background: #f0f4e9; }
body.ncf-reader .ncf-home-pathways .wp-block-column:nth-child(3) > .wp-block-group { background: #faf3e5; border-top-color: var(--ncf-gold); }
body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official) h3 {
  font-size: 1.18rem !important;
  margin-block: 0 .65rem !important;
  line-height: 1.35;
}
body.ncf-reader .ncf-home-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 1rem; border: 1px solid #d4dfce; border-radius: 8px; background: #eff4e9; color: var(--ncf-forest); }
body.ncf-reader .ncf-home-icon svg { display: block; width: 26px; height: 26px; }
body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official) .wp-block-column p {
  width: 100%;
  max-width: none !important;
  font-size: .95rem;
  line-height: 1.65;
  margin-top: 0;
  margin-bottom: 1rem;
}
body.ncf-reader :where(.ncf-home-pathways, .ncf-home-resources, .ncf-home-official) .wp-block-column p:last-child { margin-top: auto; margin-bottom: 0; padding-top: .4rem; font-size: .88rem; font-weight: 700; }
body.ncf-reader .ncf-home-basics { border-top: 1px solid var(--ncf-line); }
body.ncf-reader .ncf-home-official .wp-block-column > .wp-block-group { border-top-width: 1px; background: #edf2e8; }
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-template { gap: 1.25rem; align-items: stretch; }
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-template > li {
  box-sizing: border-box;
  padding: 1.4rem;
  border: 1px solid var(--ncf-line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 18px #173f3508;
  display: flex;
  flex-direction: column;
}
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-template > li > .wp-block-group {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  max-width: none !important;
  display: flex;
  flex: 1;
  flex-direction: column;
}
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) :where(h2.wp-block-post-title, h3.wp-block-post-title) {
  margin-top: 0;
  margin-bottom: .9rem;
  font-family: var(--ncf-sans);
  font-size: 1.25rem !important;
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: -.02em;
}
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-title a { text-decoration: none; color: var(--ncf-forest); }
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-title a:hover { text-decoration: underline; }
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-excerpt { font-size: .92rem !important; line-height: 1.65; display: flex; flex: 1; flex-direction: column; }
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-excerpt__excerpt { margin-top: 0; }
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-excerpt__more-text { margin-top: auto; padding-top: .7rem; font-size: .85rem; font-weight: 700; }
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) :where(.ncf-card-image, .wp-block-post-featured-image) { display: block; width: 100%; margin: 0 0 1.1rem; }
body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) :where(.ncf-card-image img, .wp-block-post-featured-image img) { display: block; width: 100%; height: auto; aspect-ratio: 1200/630; object-fit: cover; border-radius: 5px; background: var(--ncf-sage); }
body.ncf-reader .ncf-home-training {
  padding: clamp(1.5rem, 3vw, 2.75rem) !important;
  margin-block: 1.5rem 2rem !important;
  border: 1px solid #cfdbcb;
  border-radius: 8px !important;
  background: #e8eee2 !important;
  color: var(--ncf-ink) !important;
}
body.ncf-reader .ncf-home-training h2 { margin-top: 0; font-size: clamp(1.6rem, 2.5vw, 2rem) !important; }
body.ncf-reader .ncf-home-training p { max-width: 780px !important; font-size: 1rem; line-height: 1.65; }

/* Useful search controls remain distinct from ordinary page text. */
body.ncf-reader .ncf-resource-search {
  box-sizing: border-box;
  padding: 1.4rem;
  border: 1px solid #ced9c8;
  border-radius: 6px;
  background: #edf2e7;
  row-gap: 1.2rem !important;
}
body.ncf-reader .ncf-resource-search label { display: block; margin-bottom: .35rem; font-size: .8rem; font-weight: 700; color: var(--ncf-forest); }
body.ncf-reader .ncf-resource-search :where(input, select) {
  box-sizing: border-box;
  min-height: 46px;
  padding: .72rem .8rem !important;
  border: 1px solid #a9bba4;
  border-radius: 4px;
  background: #fff;
  color: var(--ncf-ink);
  font: .95rem var(--ncf-sans);
}
body.ncf-reader .ncf-resource-search button { min-height: 46px; border: 0; cursor: pointer; }
body.ncf-reader .ncf-resource-search a { font-size: .85rem; }
body.ncf-reader :where(.ncfhelp-lead, .entry-content > p.ncfhelp-lead) { font-size: 1.13rem; line-height: 1.75; color: #425c4d; }
body.ncf-reader .ncfhelp-training-track { padding: 1.55rem !important; margin-block: 1.5rem !important; border: 1px solid var(--ncf-line); border-top: 3px solid #6d9278; border-radius: 6px; background: #fff; }
body.ncf-reader .ncfhelp-training-track:nth-of-type(even) { background: #f1f5ec; }
body.ncf-reader .ncfhelp-training-track :where(h2, h3) { margin-top: 0 !important; padding-top: 0; border-top: 0; }
body.ncf-reader .ncfhelp-training-track li { padding-inline-start: .2rem; margin-bottom: .55rem; }
body.ncf-reader .ncfhelp-training-track :where(.ncf-track-number, .ncf-label) { color: #56735f; font-size: .75rem; }
body.ncf-reader .ncfhelp-callout { padding: 1.25rem 1.45rem !important; margin-block: 1.6rem !important; border: 1px solid var(--ncf-line); border-left: 4px solid var(--ncf-forest); border-radius: 5px; background: #edf2e5; }
body.ncf-reader .ncfhelp-callout > :first-child { margin-top: 0 !important; }
body.ncf-reader .ncfhelp-callout > :last-child { margin-bottom: 0 !important; }
body.ncf-reader .ncfhelp-source-note { font-size: 12px !important; line-height: 1.65; color: var(--ncf-muted); margin-block: 1.5rem; }
body.ncf-reader .ncfhelp-resource-list > .wp-block-group { padding: 1.2rem 1.35rem; margin-block: 1rem; border: 1px solid var(--ncf-line); border-left: 3px solid #72917b; border-radius: 5px; background: #fff; }
body.ncf-reader .ncfhelp-resource-list h3 { margin-top: 0; margin-bottom: .5rem; font-size: 1.15rem !important; }
body.ncf-reader .ncfhelp-resource-list p { margin-top: .5rem; margin-bottom: 0; font-size: .95rem; line-height: 1.7; }
body.ncf-reader .ncfhelp-resource-list > h3 { padding: 1rem 1.2rem .5rem; margin-top: 1.15rem !important; margin-bottom: 0 !important; border: 1px solid var(--ncf-line); border-left: 3px solid #72917b; border-bottom: 0; border-radius: 5px 5px 0 0; background: #fff; }
body.ncf-reader .ncfhelp-resource-list > h3 + p { padding: 0 1.2rem 1.1rem; margin-top: 0 !important; border: 1px solid var(--ncf-line); border-left: 3px solid #72917b; border-top: 0; border-radius: 0 0 5px 5px; background: #fff; }
body.ncf-reader .wp-block-query-pagination { padding-top: 1.75rem; font-size: .95rem; }
body.ncf-reader .wp-block-query-pagination-numbers { display: flex; flex-wrap: wrap; gap: .4rem; }
body.ncf-reader .wp-block-query-pagination-numbers :where(a, span) { padding: .25rem .65rem; border-radius: 4px; text-decoration: none; }
body.ncf-reader .wp-block-query-pagination-numbers .current { color: #fff; background: var(--ncf-forest); }

/* Share affordances include visible labels and static local SVG icons. */
body.ncf-reader .ncfhelp-share {
  box-sizing: border-box;
  padding: 1.6rem;
  margin-block: 2.5rem 2rem;
  border: 1px solid var(--ncf-line);
  border-radius: 6px;
  background: #f2f5ed;
}
body.ncf-reader .ncfhelp-share h2 { margin: 0 0 1.1rem; font: 700 1.12rem/1.35 var(--ncf-sans); color: var(--ncf-forest); }
body.ncf-reader .ncfhelp-share-preview { display: grid; grid-template-columns: minmax(130px, 34%) minmax(0, 1fr); gap: 1.2rem; align-items: center; }
body.ncf-reader .ncfhelp-share-preview .ncfhelp-share-image { display: block; border-radius: 4px; width: 100%; height: auto; margin: 0; }
body.ncf-reader .ncfhelp-share-preview .ncfhelp-share-title { font-size: .96rem; font-weight: 750; line-height: 1.4; margin: 0 0 .4rem; color: var(--ncf-forest); }
body.ncf-reader .ncfhelp-share-preview p { font-size: .83rem; line-height: 1.6; margin: .5rem 0; }
body.ncf-reader .ncfhelp-share-preview small { color: var(--ncf-muted); font-size: .75rem; }
body.ncf-reader .ncfhelp-share-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: 1.25rem; }
body.ncf-reader .ncfhelp-share-actions :where(a, button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 42px;
  padding: .55rem .75rem;
  border: 1px solid #b9cabc;
  border-radius: 5px;
  background: #fff;
  color: var(--ncf-forest);
  font: 650 .83rem/1.3 var(--ncf-sans);
  text-decoration: none;
  cursor: pointer;
}
body.ncf-reader .ncfhelp-share-actions :where(a, button):hover { border-color: var(--ncf-forest); background: #e3eddf; text-decoration: none; }
body.ncf-reader .ncf-share-icon { display: block; width: 18px; height: 18px; flex: 0 0 18px; }
body.ncf-reader .ncfhelp-copy-status { font-size: .8rem; color: var(--ncf-forest); width: 100%; }

/* Native WordPress comments: a welcoming discussion area with normal form semantics. */
body.ncf-reader :where(.wp-block-comments, .comment-respond) {
  box-sizing: border-box;
  width: min(760px, calc(100% - 2rem));
  margin: 2.5rem auto;
}
body.ncf-reader :where(.wp-block-comments-title, .comment-reply-title) { font: 700 1.55rem/1.3 var(--ncf-sans); color: var(--ncf-forest); }
body.ncf-reader .comment-respond { padding: 1.5rem; border: 1px solid var(--ncf-line); border-radius: 6px; background: #eef3e8; }
body.ncf-reader .comment-respond :where(.comment-notes, .logged-in-as, .comment-form-cookies-consent) { font-size: .8rem; line-height: 1.6; color: #5f7065; }
body.ncf-reader .comment-respond label { display: block; font-size: .85rem; font-weight: 650; margin-bottom: .4rem; }
body.ncf-reader .comment-respond :where(input[type="text"], input[type="email"], input[type="url"], textarea) {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #acbfa7;
  border-radius: 4px;
  padding: .75rem;
  background: #fff;
  color: var(--ncf-ink);
  font: 1rem/1.5 var(--ncf-sans);
}
body.ncf-reader .comment-respond textarea { min-height: 150px; resize: vertical; }
body.ncf-reader .comment-respond input[type="checkbox"] { accent-color: var(--ncf-forest); }
body.ncf-reader .comment-respond .comment-form-cookies-consent label { display: inline; font-weight: 400; }
body.ncf-reader .comment-respond input[type="submit"] { padding: .8rem 1.15rem; border: 0; border-radius: 5px; background: var(--ncf-forest); color: #fff; font: 650 .95rem var(--ncf-sans); cursor: pointer; }
body.ncf-reader .wp-block-comment-template { padding: 0; }
body.ncf-reader .wp-block-comment-template > li { padding-block: 1.2rem; border-bottom: 1px solid var(--ncf-line); }
body.ncf-reader .wp-block-comment-author-name { font-size: .95rem; font-weight: 700; }
body.ncf-reader .wp-block-comment-content { font-size: .95rem; }
body.ncf-reader :where(.wp-block-comment-date, .wp-block-comment-edit-link, .wp-block-comment-reply-link) { font-size: .8rem; color: var(--ncf-muted); }

/* A resource-rich footer feels like another useful entry point. */
body.ncf-shell .ncf-footer {
  font-family: var(--ncf-sans);
  box-sizing: border-box;
  padding: 3rem 1.5rem 1.5rem !important;
  margin-top: 2.5rem;
  background: var(--ncf-forest-deep) !important;
  color: #f2f1e5 !important;
  border-top: 4px solid var(--ncf-gold);
}
body.ncf-shell .ncf-footer :where(h2, h3, h4, .wp-block-site-title) { color: #f9f6e9 !important; font-family: var(--ncf-sans); }
body.ncf-shell .ncf-footer :where(h2, h3) { margin-top: 0; font-size: .9rem !important; font-weight: 750; letter-spacing: .035em; }
body.ncf-shell .ncf-footer .wp-block-site-title { font-size: 1.5rem !important; font-weight: 700; }
body.ncf-shell .ncf-footer :where(p, .wp-block-navigation) { font-size: .85rem !important; line-height: 1.65; }
body.ncf-shell .ncf-footer p { color: #d6e0d3; }
body.ncf-shell .ncf-footer a { text-decoration-thickness: 1px; text-underline-offset: .2em; color: #f4f3e8 !important; text-decoration-color: #789886; }
body.ncf-shell .ncf-footer a:hover { text-decoration-thickness: 2px; color: #eed6a0 !important; text-decoration-color: #eed6a0; }
body.ncf-shell .ncf-footer .wp-block-columns { gap: 2rem; align-items: start; }
body.ncf-shell .ncf-footer .wp-block-navigation__container { gap: .55rem !important; }
body.ncf-shell .ncf-footer ul { padding: 0; margin-block: .9rem 0; list-style: none; font-size: .83rem; line-height: 1.65; }
body.ncf-shell .ncf-footer li { padding: 0; margin-bottom: .5rem; }
body.ncf-shell .ncf-footer .ncf-footer-grid > .wp-block-column { min-width: 0; }
body.ncf-shell .ncf-footer .ncf-footer-bottom { padding-top: 1.3rem !important; margin-top: 2rem; border-top: 1px solid #406053; }
body.ncf-shell .ncf-footer .ncf-footer-bottom :where(p, .wp-block-navigation) { font-size: .75rem !important; }
body.ncf-shell .ncf-footer .ncf-disclaimer { border-color: #406053; color: #bdccbf !important; }
body.ncf-shell .ncf-footer .ncf-footer-note { color: #bdccbf !important; font-size: 12px !important; line-height: 1.65; }
body.ncf-shell .ncf-footer-grid { display: grid; grid-template-columns: 1.45fr repeat(3, 1fr); gap: 2rem; }

@media (max-width: 960px) {
  body.ncf-reader { font-size: 17px; }
  body.ncf-shell .ncf-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 781px) {
  body.ncf-shell header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  body.ncf-shell header .wp-block-navigation__responsive-container-open { display: flex !important; }
  body.ncf-reader .ncf-home-hero:has(.ncf-hero-visual) h1 { font-size: clamp(2.15rem, 5.3vw, 3rem) !important; }
  body.ncf-reader .ncf-hero-visual { max-width: 290px !important; }
  body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official) .wp-block-columns { gap: .9rem; }
  body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official) .wp-block-column > .wp-block-group { padding: 1.25rem !important; }
  body.ncf-reader :where(.ncf-home-pathways, .ncf-home-basics, .ncf-home-resources, .ncf-home-official, .ncf-home-latest) { padding-top: 1rem !important; padding-bottom: 1.4rem !important; }
  body.ncf-shell .ncf-footer .wp-block-columns { gap: 1.75rem; }
  body.ncf-reader .ncf-resource-search { padding: 1.15rem; }
}
@media (max-width: 600px) {
  body.ncf-reader { font-size: 16px; }
  body.ncf-shell header .wp-block-site-title { font-size: 1.35rem !important; }
  body.ncf-shell header .wp-block-site-logo img { width: 48px; }
  body.ncf-reader h1 { font-size: clamp(1.95rem, 8vw, 2.7rem) !important; }
  body.ncf-reader.single-post main { padding-top: 2rem !important; }
  body.ncf-reader.single-post main h1.wp-block-post-title { font-size: clamp(1.95rem, 7.5vw, 2.6rem) !important; }
  body.ncf-reader.home .ncf-home { width: calc(100% - 2rem) !important; }
  body.ncf-reader.page:not(.home) main > :where(.wp-block-group:first-child, .entry-content, .wp-block-post-content) { width: calc(100% - 2rem) !important; }
  body.ncf-reader.page:not(.home) main > .wp-block-group:first-child { padding-top: 2rem !important; }
  body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) > p { font-size: 1rem; line-height: 1.8; }
  body.ncf-reader.single-post :where(.entry-content, .wp-block-post-content) > h2 { font-size: 1.4rem !important; margin-top: 2.4rem; }
  body.ncf-reader :where(.ncf-summary, .ncf-tip, .ncf-example) { padding: 1.1rem 1.15rem !important; }
  body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table table { min-width: 530px; font-size: .88rem; }
  body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table :where(th, td) { padding: .75rem .8rem; }
  body.ncf-reader .ncf-home-hero { margin-top: 1rem !important; margin-bottom: 1.5rem !important; }
  body.ncf-reader .ncf-home-hero h1 { font-size: clamp(2.15rem, 8.5vw, 2.8rem) !important; }
  body.ncf-reader .ncf-home-hero > p:not(:first-child) { font-size: 1rem; }
  body.ncf-reader .ncf-home-hero .wp-block-buttons { gap: .65rem; }
  body.ncf-reader .ncf-home-hero .wp-block-button { width: 100%; }
  body.ncf-reader .ncf-home-hero .wp-block-button__link { display: block; text-align: center; }
  body.ncf-reader .ncf-home-hero .wp-block-search__inside-wrapper { flex-wrap: wrap; gap: .6rem; }
  body.ncf-reader .ncf-home-hero .wp-block-search__input { flex: 1 1 100%; }
  body.ncf-reader .ncf-home-hero .wp-block-search__button { margin-left: 0; }
  body.ncf-reader .ncf-home-hero .ncf-hero-visual { max-width: 240px !important; margin-top: .5rem; }
  body.ncf-reader :where(.ncf-home-latest, .ncf-article-grid) .wp-block-post-template.is-layout-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.ncf-reader .ncfhelp-share { padding: 1.25rem; }
  body.ncf-reader .ncfhelp-share-preview { grid-template-columns: minmax(0, 1fr); gap: .9rem; }
  body.ncf-reader .ncfhelp-share-image { max-width: 300px; }
  body.ncf-reader .ncfhelp-share-preview p { font-size: .88rem; }
  body.ncf-shell .ncf-footer { padding-inline: 1.25rem !important; }
  body.ncf-shell .ncf-footer-grid { grid-template-columns: minmax(0, 1fr); gap: 1.8rem; }
  body.ncf-reader .comment-respond { padding: 1.15rem; }
}
@media (prefers-reduced-motion: no-preference) {
  body.ncf-reader :where(.wp-block-button__link, .ncfhelp-share-actions a, .ncfhelp-share-actions button) { transition: background-color 130ms ease, border-color 130ms ease; }
}
@media print {
  body.ncf-reader :where(header, footer, .ncfhelp-share, .comment-respond, .wp-block-post-navigation-link) { display: none !important; }
  body.ncf-reader { background: #fff; color: #000; }
  body.ncf-reader.single-post main > :where(.entry-content, .wp-block-post-content) { width: 100% !important; max-width: none !important; }
  body.ncf-reader :where(.entry-content, .wp-block-post-content) .wp-block-table { overflow: visible; }
}
