/* NSF 1.5: section geometry and colors live in Spectra; global type lives in Astra. */
.nsf-landing ::selection { background: var(--ast-global-color-0); color: var(--ast-global-color-2); }
.nsf-landing :focus-visible { outline: 3px solid var(--ast-global-color-3); outline-offset: 4px; box-shadow: 0 0 0 4px var(--ast-global-color-6); }
.nsf-section { scroll-margin-top: 145px; }
.nsf-section h1, .nsf-section h2 { text-wrap: balance; }
.nsf-section p { max-width: 70ch; }
.nsf-section a:not(.wp-element-button) { text-underline-offset: .22em; }
.nsf-section :is(.wp-block-image,.wp-block-gallery) { margin: 0; }
.nsf-section .wp-block-image img { width: 100%; }
.nsf-section .nsf-heading-accent { color: var(--ast-global-color-3); }
.nsf-dark-section .nsf-heading-accent,
.nsf-home-intro .nsf-heading-accent { color: var(--ast-global-color-0); }
.nsf-section-nav .nsf-section-links { display: flex; flex-wrap: wrap; gap: 4px 32px; list-style: none; margin: 0; padding: 0; }
.nsf-section-links li { margin: 0; }
.nsf-section-links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration-thickness: 1px; }
.nsf-section-links a:hover { text-decoration-thickness: 2px; }
.nsf-reading h2 { margin-top: 20px; }
.nsf-reading :is(p,li) { max-width: 75ch; }
.nsf-reading ul { margin-block: 0; }
.nsf-specifications table { border-collapse: collapse; background: var(--ast-global-color-6); }
.nsf-specifications :is(th,td) { padding: .9rem 1rem; border-color: var(--ast-global-color-7); }
.nsf-specifications th { background: var(--ast-global-color-5); }
.nsf-photo-carousel { scrollbar-color: var(--ast-global-color-3) var(--ast-global-color-4); }
.nsf-photo-carousel img { border-radius: 12px; }
.nsf-section input, .nsf-section textarea { caret-color: var(--ast-global-color-3); }
@media (max-width: 767px) {
  .nsf-section { scroll-margin-top: 130px; }
  .nsf-section-nav .nsf-section-links { gap: 4px 20px; }
}
