:root {
  --nss-paper: oklch(98% 0.008 28);
  --nss-paper-deep: oklch(94% 0.018 28);
  --nss-ink: oklch(24% 0.03 28);
  --nss-ink-soft: oklch(43% 0.025 28);
  --nss-rule: oklch(84% 0.025 28);
  --nss-accent: oklch(61% 0.19 27);
  --nss-accent-dark: oklch(45% 0.15 27);
  --nss-positive: oklch(45% 0.12 155);
  --nss-negative: oklch(48% 0.17 27);
  --nss-mixed: oklch(47% 0.045 80);
  --nss-space-xs: 0.5rem;
  --nss-space-sm: 0.75rem;
  --nss-space-md: 1rem;
  --nss-space-lg: 1.5rem;
  --nss-space-xl: 2rem;
  --nss-space-2xl: 3rem;
  --nss-space-3xl: 4rem;
  --nss-space-4xl: 6rem;
}

.nss-brief {
  color: var(--nss-ink);
  background: var(--nss-paper);
  border-top: 1px solid var(--nss-rule);
  font-kerning: normal;
}

.nss-skip-link {
  position: fixed;
  z-index: 100;
  top: var(--nss-space-sm);
  left: var(--nss-space-sm);
  padding: 0.75rem 1rem;
  border: 2px solid var(--nss-ink);
  color: var(--nss-paper);
  background: var(--nss-ink);
  font-weight: 750;
  text-decoration: none;
  transform: translateY(calc(-100% - 2rem));
}

.nss-skip-link:focus {
  transform: translateY(0);
}

.nss-brief *,
.nss-brief *::before,
.nss-brief *::after {
  box-sizing: border-box;
}

.nss-brief__frame {
  width: min(100% - 2rem, 76rem);
  margin-inline: auto;
  padding-block: var(--nss-space-lg) var(--nss-space-4xl);
}

.nss-breadcrumbs {
  margin-bottom: var(--nss-space-xl);
}

.nss-masthead {
  display: grid;
  gap: var(--nss-space-2xl);
  padding-block: clamp(2rem, 6vw, 5rem) var(--nss-space-3xl);
}

.nss-masthead__main {
  max-width: 56rem;
}

.nss-eyebrow,
.nss-section-kicker,
.nss-evidence-note__label {
  margin: 0;
  color: var(--nss-accent-dark);
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.nss-masthead h1 {
  max-width: 17ch;
  margin: var(--nss-space-md) 0 0;
  font-size: clamp(2.35rem, 7vw, 5.25rem);
  font-weight: 750;
  letter-spacing: -0.045em;
  line-height: 0.98;
  text-wrap: balance;
}

.nss-dek {
  max-width: 64ch;
  margin: var(--nss-space-lg) 0 0;
  color: var(--nss-ink-soft);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  line-height: 1.55;
}

.nss-byline {
  display: flex;
  flex-wrap: wrap;
  gap: var(--nss-space-lg) var(--nss-space-xl);
  margin: var(--nss-space-xl) 0 0;
}

.nss-byline div {
  display: grid;
  gap: 0.2rem;
}

.nss-byline dt {
  color: var(--nss-ink-soft);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nss-byline dd {
  margin: 0;
  font-size: 0.9rem;
}

.nss-brief a {
  color: var(--nss-accent-dark);
  text-decoration-color: color-mix(in oklch, var(--nss-accent) 55%, var(--nss-paper));
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.nss-brief a:hover {
  color: var(--nss-accent);
}

.nss-evidence-note {
  align-self: end;
  padding: var(--nss-space-lg);
  border: 1px solid var(--nss-rule);
  border-top: 3px solid var(--nss-accent);
  background: var(--nss-paper-deep);
}

.nss-evidence-note__state {
  margin: 0.35rem 0 var(--nss-space-lg);
  font-size: 1.25rem;
  font-weight: 750;
  line-height: 1.2;
}

.nss-evidence-note dl {
  display: grid;
  gap: var(--nss-space-sm);
  margin: 0;
}

.nss-evidence-note dl div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--nss-space-md);
  padding-top: var(--nss-space-sm);
  border-top: 1px solid var(--nss-rule);
}

.nss-evidence-note dt {
  color: var(--nss-ink-soft);
  font-size: 0.8rem;
}

.nss-evidence-note dd {
  margin: 0;
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  text-align: right;
}

.nss-evidence-note dl div:last-child {
  display: grid;
  gap: 0.35rem;
}

.nss-evidence-note dl div:last-child dd {
  max-width: 20ch;
  text-align: left;
}

.nss-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--nss-space-md);
  min-height: 3.5rem;
  padding-block: var(--nss-space-xs);
  border-block: 1px solid var(--nss-rule);
  background: var(--nss-paper);
}

.nss-anchor-nav {
  display: flex;
  gap: var(--nss-space-lg);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

.nss-anchor-nav a,
.nss-text-button,
.nss-secondary-button {
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  border: 0;
  color: var(--nss-ink);
  background: transparent;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.nss-text-button {
  padding-inline: var(--nss-space-sm);
}

.nss-anchor-nav a:hover,
.nss-text-button:hover {
  color: var(--nss-accent-dark);
}

.nss-brief :is(a, button, summary, .nss-table-wrap):focus-visible {
  outline: 3px solid color-mix(in oklch, var(--nss-accent) 75%, var(--nss-paper));
  outline-offset: 3px;
}

.nss-section,
.nss-empty-evidence {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--nss-space-xl);
  padding-block: clamp(3.5rem, 8vw, 6rem);
  border-bottom: 1px solid var(--nss-rule);
  scroll-margin-top: 1rem;
}

.nss-section > *,
.nss-empty-evidence > * {
  min-width: 0;
}

.nss-section--lead {
  padding-top: clamp(3rem, 7vw, 5rem);
}

.nss-section__heading {
  max-width: 68ch;
}

.nss-section__heading h2,
.nss-empty-evidence h2,
.nss-related h2,
.nss-brief-cta h2 {
  margin: var(--nss-space-sm) 0 0;
  font-size: clamp(1.8rem, 4vw, 3.15rem);
  font-weight: 750;
  letter-spacing: -0.035em;
  line-height: 1.05;
  text-wrap: balance;
}

.nss-section__heading > p:last-child,
.nss-empty-evidence > p,
.nss-brief-cta p {
  max-width: 65ch;
  margin: var(--nss-space-md) 0 0;
  color: var(--nss-ink-soft);
  line-height: 1.65;
}

.nss-answer-grid,
.nss-findings-grid {
  display: grid;
  gap: var(--nss-space-2xl);
}

.nss-answer-copy {
  max-width: 62ch;
}

.nss-answer-copy p {
  margin: 0;
  color: var(--nss-ink-soft);
  font-size: 1rem;
  line-height: 1.7;
}

.nss-answer-copy p + p {
  margin-top: var(--nss-space-md);
}

.nss-answer-copy .nss-answer-copy__lead {
  color: var(--nss-ink);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  line-height: 1.5;
}

.nss-comparison-figure {
  margin: 0;
  padding: var(--nss-space-lg);
  border: 1px solid var(--nss-rule);
  background: var(--nss-paper-deep);
}

.nss-comparison-figure__title {
  margin: 0 0 var(--nss-space-md);
  font-weight: 750;
}

.nss-comparison-figure__scale {
  display: flex;
  justify-content: space-between;
  margin: 0 3.75rem var(--nss-space-sm) 3rem;
  color: var(--nss-ink-soft);
  font-size: 0.7rem;
  font-variant-numeric: tabular-nums;
}

.nss-bar-row {
  display: grid;
  grid-template-columns: 2.5rem minmax(8rem, 1fr) 3.25rem;
  align-items: center;
  gap: var(--nss-space-xs);
  margin-top: var(--nss-space-sm);
  font-size: 0.85rem;
  font-variant-numeric: tabular-nums;
}

.nss-bar-row__year {
  font-weight: 750;
}

.nss-bar-row__track {
  height: 1rem;
  overflow: hidden;
  border: 1px solid color-mix(in oklch, var(--nss-rule) 85%, var(--nss-ink));
  background: var(--nss-paper);
}

.nss-bar-row__track span {
  display: block;
  width: var(--nss-bar);
  height: 100%;
  background: var(--nss-accent);
}

.nss-bar-row__value {
  text-align: right;
}

.nss-comparison-figure figcaption {
  margin-top: var(--nss-space-lg);
  color: var(--nss-ink-soft);
  font-size: 0.75rem;
  line-height: 1.55;
}

.nss-no-comparison {
  max-width: 56rem;
  padding: var(--nss-space-xl);
  border: 1px solid var(--nss-rule);
  background: var(--nss-paper-deep);
}

.nss-no-comparison h3,
.nss-finding-column h3,
.nss-method-grid h3,
.nss-action-list h3 {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 750;
  line-height: 1.35;
}

.nss-no-comparison p,
.nss-method-grid p {
  margin: var(--nss-space-sm) 0 0;
  color: var(--nss-ink-soft);
  line-height: 1.65;
}

.nss-finding-column {
  padding-top: var(--nss-space-lg);
  border-top: 1px solid var(--nss-ink);
}

.nss-finding-column ol {
  margin: var(--nss-space-lg) 0 0;
  padding: 0;
  list-style: none;
}

.nss-finding-column li {
  display: grid;
  gap: 0.25rem;
  padding-block: var(--nss-space-md);
  border-top: 1px solid var(--nss-rule);
}

.nss-finding-column p {
  margin: 0;
  color: var(--nss-ink-soft);
  font-size: 0.86rem;
  line-height: 1.5;
}

.nss-finding-column p:first-child {
  color: var(--nss-ink);
  font-size: 1rem;
}

.nss-sentiment {
  font-variant-numeric: tabular-nums;
  font-weight: 750;
}

.nss-sentiment--positive { color: var(--nss-positive); }
.nss-sentiment--negative { color: var(--nss-negative); }
.nss-sentiment--mixed { color: var(--nss-mixed); }
.nss-sentiment--unavailable { color: var(--nss-ink-soft); }

.nss-table-wrap {
  align-self: start;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--nss-rule);
  background: color-mix(in oklch, var(--nss-paper) 75%, var(--nss-paper-deep));
  scrollbar-color: var(--nss-accent-dark) var(--nss-paper-deep);
  scrollbar-width: thin;
}

.nss-table {
  width: 100%;
  min-width: 36rem;
  border-collapse: collapse;
  font-size: 0.86rem;
  font-variant-numeric: tabular-nums;
}

.nss-table th,
.nss-table td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--nss-rule);
  text-align: right;
  vertical-align: top;
}

.nss-table thead th {
  color: var(--nss-ink-soft);
  background: var(--nss-paper-deep);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nss-table th:first-child,
.nss-table td:first-child,
.nss-table--comparisons th:nth-child(2) {
  text-align: left;
}

.nss-table tbody th {
  font-weight: 750;
}

.nss-table tbody tr:nth-child(even) {
  background: color-mix(in oklch, var(--nss-paper-deep) 52%, var(--nss-paper));
}

.nss-table tbody tr:last-child :is(th, td) {
  border-bottom: 0;
}

.nss-comparison-groups {
  display: grid;
  gap: var(--nss-space-xl);
}

.nss-comparison-group {
  display: grid;
  gap: var(--nss-space-sm);
}

.nss-comparison-group h3 {
  color: var(--nss-accent-dark);
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nss-technical-details {
  border-block: 1px solid var(--nss-rule);
}

.nss-technical-details summary {
  min-height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--nss-space-md);
  font-weight: 750;
  cursor: pointer;
  list-style: none;
}

.nss-technical-details summary::-webkit-details-marker { display: none; }

.nss-technical-details summary::after {
  content: "+";
  color: var(--nss-accent-dark);
  font-size: 1.3rem;
  font-weight: 450;
}

.nss-technical-details[open] summary::after { content: "−"; }

.nss-technical-details__body {
  display: grid;
  gap: var(--nss-space-lg);
  padding: 0 0 var(--nss-space-xl);
}

.nss-technical-details__body > p {
  max-width: 65ch;
  margin: 0;
  color: var(--nss-ink-soft);
  line-height: 1.65;
}

.nss-action-list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: action;
}

.nss-action-list li {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: var(--nss-space-md);
  padding-block: var(--nss-space-lg);
  border-top: 1px solid var(--nss-rule);
}

.nss-action-list__number {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--nss-ink);
  border-radius: 50%;
  font-size: 0.8rem;
  font-weight: 750;
}

.nss-action-list p {
  max-width: 66ch;
  margin: var(--nss-space-xs) 0 0;
  color: var(--nss-ink-soft);
  line-height: 1.65;
}

.nss-action-list .nss-action-list__evidence {
  color: var(--nss-accent-dark);
  font-size: 0.78rem;
  font-weight: 650;
}

.nss-method-grid {
  display: grid;
  gap: var(--nss-space-xl);
}

.nss-method-grid > div {
  padding-top: var(--nss-space-lg);
  border-top: 1px solid var(--nss-rule);
}

.nss-method-link {
  margin: 0;
  padding-top: var(--nss-space-lg);
  border-top: 1px solid var(--nss-rule);
}

.nss-method-link a {
  display: inline-flex;
  align-items: center;
  gap: var(--nss-space-sm);
  color: var(--nss-ink);
  font-weight: 750;
  text-decoration: none;
}

.nss-method-link a:hover {
  color: var(--nss-accent-dark);
}

.nss-citation-box {
  padding: var(--nss-space-xl);
  border: 1px solid var(--nss-ink);
  background: var(--nss-paper-deep);
}

.nss-citation-box p {
  max-width: 72ch;
  margin: 0;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.nss-secondary-button {
  margin-top: var(--nss-space-lg);
  padding-inline: var(--nss-space-md);
  border: 1px solid var(--nss-ink);
  background: var(--nss-paper);
}

.nss-secondary-button:hover {
  color: var(--nss-paper);
  background: var(--nss-ink);
}

.nss-copy-status {
  margin-left: var(--nss-space-sm);
  color: var(--nss-positive);
  font-size: 0.8rem;
}

.nss-related {
  display: grid;
  gap: var(--nss-space-xl);
  padding-block: clamp(3.5rem, 8vw, 6rem);
}

.nss-related__list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--nss-ink);
  list-style: none;
}

.nss-related__list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--nss-space-lg);
  padding-block: var(--nss-space-md);
  border-bottom: 1px solid var(--nss-rule);
}

.nss-related__list a {
  color: var(--nss-ink);
  font-weight: 750;
  text-decoration: none;
}

.nss-related__list span {
  color: var(--nss-ink-soft);
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-align: right;
  text-transform: uppercase;
}

.nss-brief-cta {
  display: grid;
  gap: var(--nss-space-xl);
  padding: clamp(2rem, 6vw, 4rem);
  color: var(--nss-paper);
  background: var(--nss-ink);
}

.nss-brief-cta .nss-section-kicker,
.nss-brief-cta p {
  color: color-mix(in oklch, var(--nss-paper) 78%, var(--nss-accent));
}

.nss-brief-cta h2 {
  max-width: 18ch;
}

.nss-brief-cta a {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--nss-space-lg);
  align-self: end;
  padding-block: var(--nss-space-sm);
  border-bottom: 1px solid color-mix(in oklch, var(--nss-paper) 65%, var(--nss-accent));
  color: var(--nss-paper);
  font-weight: 750;
  text-decoration: none;
}

.nss-empty-evidence {
  max-width: 58rem;
}

.nss-empty-evidence code {
  padding: 0.15rem 0.3rem;
  color: var(--nss-ink);
  background: var(--nss-paper-deep);
  font-size: 0.9em;
}

.nss-muted {
  color: var(--nss-ink-soft);
  line-height: 1.65;
}

@media (min-width: 48rem) {
  .nss-brief__frame {
    width: min(100% - 4rem, 76rem);
  }

  .nss-answer-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
    align-items: start;
  }

  .nss-findings-grid,
  .nss-method-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nss-brief-cta {
    grid-template-columns: minmax(0, 1.5fr) minmax(15rem, 0.5fr);
  }
}

@media (min-width: 62rem) {
  .nss-masthead {
    grid-template-columns: minmax(0, 2.35fr) minmax(16rem, 0.65fr);
    align-items: end;
  }
}

@media (min-width: 70rem) {
  .nss-section {
    grid-template-columns: 19rem minmax(0, 1fr);
    column-gap: clamp(3rem, 4vw, 4rem);
  }

  .nss-section > :not(.nss-section__heading) {
    grid-column: 2;
  }

  .nss-related {
    grid-template-columns: 19rem minmax(0, 1fr);
    column-gap: clamp(3rem, 4vw, 4rem);
  }

  .nss-related__list {
    grid-column: 2;
  }

  .nss-section__heading h2,
  .nss-related h2 {
    font-size: clamp(2.1rem, 2.6vw, 2.35rem);
    line-height: 1.02;
    text-wrap: pretty;
  }
}

@media (max-width: 40rem) {
  .nss-brief__frame {
    width: min(100% - 1.5rem, 76rem);
  }

  .nss-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 0;
    padding-block: var(--nss-space-xs);
  }

  .nss-toolbar__actions {
    justify-self: end;
  }

  .nss-anchor-nav {
    width: 100%;
    gap: var(--nss-space-md);
    padding-right: var(--nss-space-2xl);
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2rem), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 2rem), transparent);
  }

  .nss-masthead h1 {
    max-width: 19ch;
  }

  .nss-byline {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nss-byline div:last-child {
    grid-column: 1 / -1;
  }

  .nss-table {
    min-width: 36rem;
    font-size: 0.78rem;
  }

  .nss-table th,
  .nss-table td {
    padding: 0.7rem 0.75rem;
  }

  .nss-table tr > :first-child {
    position: sticky;
    z-index: 1;
    left: 0;
    background: var(--nss-paper);
    box-shadow: 1px 0 0 var(--nss-rule);
  }

  .nss-table thead tr > :first-child {
    z-index: 2;
    background: var(--nss-paper-deep);
  }

  .nss-related__list li {
    display: grid;
    gap: 0.3rem;
  }

  .nss-related__list span {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nss-brief *,
  .nss-brief *::before,
  .nss-brief *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media print {
  @page {
    size: A4;
    margin: 16mm 14mm 18mm;
  }

  .nss-brief {
    color: oklch(20% 0.015 28);
    background: oklch(99% 0.004 28);
    font-size: 9.5pt;
  }

  .nss-brief__frame {
    width: 100%;
    padding: 0;
  }

  .nss-breadcrumbs,
  .nss-toolbar,
  .nss-related,
  .nss-brief-cta,
  .nss-secondary-button,
  .nss-copy-status {
    display: none !important;
  }

  .nss-masthead {
    grid-template-columns: 1fr 48mm;
    gap: 10mm;
    padding: 0 0 10mm;
  }

  .nss-masthead h1 {
    font-size: 28pt;
  }

  .nss-dek {
    font-size: 11pt;
  }

  .nss-section,
  .nss-related {
    display: block;
    padding-block: 8mm;
  }

  .nss-section__heading {
    margin-bottom: 5mm;
  }

  .nss-section__heading h2,
  .nss-empty-evidence h2 {
    font-size: 18pt;
  }

  .nss-comparison-figure,
  .nss-citation-box,
  .nss-no-comparison {
    background: oklch(96% 0.008 28) !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .nss-bar-row__track span {
    background: oklch(50% 0.12 27) !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .nss-table-wrap {
    overflow: visible;
  }

  .nss-table {
    min-width: 0;
    font-size: 8pt;
  }

  .nss-technical-details:not([open]) > :not(summary) {
    display: block;
  }

  .nss-technical-details summary::after {
    display: none;
  }

  .nss-findings-grid,
  .nss-comparison-group,
  .nss-comparison-figure,
  .nss-action-list li,
  .nss-citation-box,
  .nss-table tr {
    break-inside: avoid;
  }

  .nss-section__heading {
    break-after: avoid;
  }

  .nss-brief a[href^="http"]::after {
    content: " (" attr(href) ")";
    color: var(--nss-ink-soft);
    font-size: 0.75em;
    font-weight: 400;
  }
}
