/* ==========================================================================
   Newsroom: dispatches, briefings and testimony, media centre, media kit.
   Public classes use the nr- prefix (tokens from site.css); the admin
   editor uses nra- (tokens from admin.css).
   ========================================================================== */

.nr-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.nr-i { display: inline-block; vertical-align: -0.15em; flex-shrink: 0; }
.nr-wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--s-3); }
.nr-narrow { max-width: 46rem; margin: 0 auto; padding: 0 var(--s-3); }

.nr-label {
  font-family: var(--font); font-size: 0.74rem; font-weight: 650; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--accent-dark); margin: 0 0 0.6rem;
}

/* ------------------------------------------------------------ Masthead */

.nr-hero { background: var(--paper); border-bottom: 1px solid var(--line); padding: var(--s-5) 0 var(--s-3); }
.nr-kicker {
  display: inline-flex; align-items: center; gap: 0.6em; margin: 0 0 var(--s-2);
  font-size: 0.78rem; font-weight: 650; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-dark);
}
.nr-kicker::before { content: ""; width: 22px; height: 2px; background: var(--accent); }
.nr-kicker a { color: inherit; }
.nr-kicker a:hover { color: var(--ink); }
.nr-kicker-sep { color: var(--accent-soft); }
.nr-title {
  font-family: var(--font-serif); font-weight: 500; letter-spacing: -0.015em; line-height: 1.08;
  font-size: clamp(2.2rem, 4.4vw, 3.6rem); max-width: 22ch; margin: 0 0 var(--s-2); color: var(--ink);
}
.nr-lede { font-size: var(--fs-lede); line-height: 1.55; color: var(--muted); max-width: 62ch; margin: 0 0 var(--s-3); }

.nr-subnav { display: flex; flex-wrap: wrap; gap: 0.25rem 1.6rem; margin: var(--s-3) 0 0; border-top: 1px solid var(--line); padding-top: 0.9rem; }
.nr-subnav a { font-size: 0.9rem; font-weight: 550; color: var(--muted); padding: 0.2rem 0; border-bottom: 2px solid transparent; }
.nr-subnav a:hover { color: var(--ink); }
.nr-subnav a[aria-current="page"] { color: var(--ink); border-bottom-color: var(--accent); }

/* ------------------------------------------------------------- Filters */

.nr-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem 1rem; margin-top: var(--s-3); }
.nr-select { display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; flex: 0 1 16rem; }
.nr-select label { font-size: 0.74rem; font-weight: 650; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.nr-select select {
  font: inherit; font-size: 0.95rem; color: var(--text); background: var(--paper);
  border: 1px solid #CFC9D9; border-radius: var(--radius); padding: 0.6rem 2rem 0.6rem 0.75rem; width: 100%;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%235D5B54' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.75rem center;
}
.nr-go {
  font: inherit; font-size: 0.92rem; font-weight: 600; background: var(--ink); color: #fff; border: 0;
  border-radius: var(--radius); padding: 0.66rem 1.2rem; cursor: pointer;
}
.nr-go:hover { background: var(--accent-dark); }
.nr-feed { font-size: 0.88rem; color: var(--accent-dark); text-decoration: underline; text-underline-offset: 2px; margin-left: auto; align-self: center; }

.nr-active { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.88rem; color: var(--muted); margin: 0 0 var(--s-3); }
.nr-active-chip { background: var(--paper); border: 1px solid var(--line); border-radius: 99px; padding: 0.2rem 0.75rem; color: var(--ink); }
.nr-active-chip:hover { border-color: var(--accent); }
.nr-clear { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 2px; }

/* ---------------------------------------------------------------- Body */

.nr-body { padding: var(--s-4) 0 var(--s-5); }
.nr-count { font-size: 0.88rem; color: var(--muted); margin: 0 0 var(--s-2); }

.nr-empty { background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--accent); padding: var(--s-4) var(--s-3); max-width: 46rem; }
.nr-empty h2 { font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.5rem, 2.4vw, 1.9rem); letter-spacing: -0.01em; }
.nr-empty p { color: var(--muted); margin: 0; max-width: 60ch; }
.nr-empty a, .nr-empty-line a, .nr-note a { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 2px; }

/* ------------------------------------------------------ Dispatch cards */

.nr-lead { margin-bottom: var(--s-3); }
.nr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: var(--s-3); }
.nr-card {
  background: var(--paper); border: 1px solid var(--line); padding: var(--s-3);
  display: flex; flex-direction: column; gap: 0.55rem; transition: border-color 0.15s ease;
}
.nr-card:hover { border-color: var(--accent-soft); }
.nr-card-kicker { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.25rem 1rem; margin: 0; font-size: 0.76rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.nr-card-kicker span { color: var(--accent-dark); font-weight: 650; }
.nr-card-title { font-family: var(--font-serif); font-weight: 550; font-size: 1.42rem; line-height: 1.2; letter-spacing: -0.01em; margin: 0; }
.nr-card-title a { color: var(--ink); }
.nr-card-title a:hover { color: var(--accent-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nr-card-dek { color: var(--muted); margin: 0; font-size: 1rem; line-height: 1.5; }
.nr-card-meta { display: flex; flex-wrap: wrap; gap: 0.2rem 1rem; margin: auto 0 0; padding-top: 0.4rem; font-size: 0.86rem; color: var(--muted); }
.nr-card-meta a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent-soft); text-underline-offset: 2px; }
.nr-card-lead { border-left: 4px solid var(--accent); padding: var(--s-4); }
.nr-card-lead .nr-card-title { font-size: clamp(1.8rem, 3vw, 2.5rem); max-width: 28ch; }
.nr-card-lead .nr-card-dek { font-family: var(--font-serif); font-size: 1.25rem; max-width: 60ch; }

.nr-pager { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: var(--s-4); font-size: 0.92rem; color: var(--muted); }
.nr-pager a { color: var(--ink); font-weight: 600; }
.nr-pager a:hover { color: var(--accent-dark); }

/* ------------------------------------------------------------- Article */

.nr-preview { background: #FFF6DB; border-bottom: 1px solid #EAD9A0; font-size: 0.92rem; }
.nr-preview .nr-wrap { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; padding-top: 0.7rem; padding-bottom: 0.7rem; }
.nr-preview a { color: var(--ink); text-decoration: underline; }

.nr-article-head { background: var(--paper); border-bottom: 1px solid var(--line); padding: var(--s-4) 0 var(--s-3); margin-bottom: var(--s-4); }
.nr-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0; margin: 0 0 var(--s-3); font-size: 0.84rem; color: var(--muted); }
.nr-crumbs li + li::before { content: "/"; margin-right: 0.4rem; color: var(--accent-soft); }
.nr-crumbs a { color: var(--muted); }
.nr-crumbs a:hover { color: var(--ink); }
.nr-article-title {
  font-family: var(--font-serif); font-weight: 550; letter-spacing: -0.015em; line-height: 1.1;
  font-size: clamp(2rem, 4.2vw, 3.1rem); margin: 0 0 var(--s-2); color: var(--ink);
}
.nr-dek { font-family: var(--font-serif); font-size: clamp(1.2rem, 1.9vw, 1.45rem); line-height: 1.4; color: var(--muted); margin: 0 0 var(--s-3); }
.nr-byline { border-top: 1px solid var(--line); padding-top: var(--s-2); }
.nr-byline-names { font-weight: 600; color: var(--ink); margin: 0 0 0.2rem; }
.nr-person { color: var(--ink); }
a.nr-person { text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a.nr-person:hover { color: var(--accent-dark); }
.nr-byline-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.9rem; color: var(--muted); margin: 0; }
.nr-byline-meta a { color: var(--accent-dark); display: inline-flex; align-items: center; gap: 0.3rem; }

.nr-prose { font-family: var(--font-serif); font-size: 1.24rem; line-height: 1.7; color: var(--text); overflow-wrap: break-word; }
.nr-prose > :first-child { margin-top: 0; }
.nr-prose p { margin: 0 0 1.15em; }
.nr-prose h2 { font-family: var(--font); font-size: 1.35rem; margin: 1.8em 0 0.6em; letter-spacing: -0.01em; }
.nr-prose h3 { font-family: var(--font); font-size: 1.12rem; margin: 1.5em 0 0.5em; }
.nr-prose a { color: var(--accent-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nr-prose a:hover { color: var(--ink); }
.nr-prose strong { font-weight: 650; color: var(--ink); }
.nr-prose ul, .nr-prose ol { padding-left: 1.3em; margin: 0 0 1.15em; }
.nr-prose li { margin-bottom: 0.35em; }
.nr-prose li::marker { color: var(--accent); }
.nr-prose blockquote { margin: 1.5em 0; padding: 0 0 0 1.2em; border-left: 3px solid var(--accent); font-style: italic; color: var(--ink); }

.nr-related, .nr-authors, .nr-contact, .nr-about, .nr-summary {
  background: var(--paper); border: 1px solid var(--line); padding: var(--s-3); margin: var(--s-4) 0 var(--s-3);
}
.nr-related ul { list-style: none; padding: 0; margin: 0; }
.nr-related li { padding: 0.55rem 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.2rem 1rem; }
.nr-related li:first-child { border-top: 0; padding-top: 0; }
.nr-related a { color: var(--ink); font-weight: 550; }
.nr-related a:hover { color: var(--accent-dark); text-decoration: underline; }
.nr-host { font-size: 0.84rem; color: var(--muted); }
.nr-authors { border-left: 3px solid var(--accent); }
.nr-authors p { margin: 0 0 0.5rem; display: flex; flex-direction: column; }
.nr-authors p:last-child { margin: 0; }
.nr-authors a { font-weight: 650; color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }
.nr-authors span { font-size: 0.9rem; color: var(--muted); }

.nr-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: var(--s-3) 0; }
.nr-chip { font-size: 0.82rem; border: 1px solid var(--line); background: var(--paper); border-radius: 99px; padding: 0.22rem 0.75rem; color: var(--ink); }
.nr-chip:hover { border-color: var(--accent); color: var(--accent-dark); }
.nr-chip-region { background: var(--mist); }

.nr-share { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; padding: var(--s-2) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: var(--s-3) 0; font-size: 0.9rem; }
.nr-share .nr-label { margin: 0; }
.nr-share a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent-soft); text-underline-offset: 3px; }
.nr-share a:hover { color: var(--accent-dark); }

.nr-copy {
  display: inline-flex; align-items: center; gap: 0.4rem; font: inherit; font-size: 0.84rem; font-weight: 600;
  color: var(--ink); background: var(--paper); border: 1px solid #CFC9D9; border-radius: var(--radius);
  padding: 0.4rem 0.8rem; cursor: pointer; white-space: nowrap;
}
.nr-copy:hover { border-color: var(--accent); color: var(--accent-dark); }
.nr-copy.is-copied { background: var(--ink); border-color: var(--ink); color: #fff; }

.nr-note { font-size: 0.92rem; color: var(--muted); }

.nr-cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-2) var(--s-3);
  background: var(--ink); color: var(--on-ink); padding: var(--s-3) var(--s-3); margin: var(--s-4) 0 var(--s-5);
}
.nr-cta h2 { color: #fff; font-family: var(--font-serif); font-weight: 500; font-size: 1.55rem; margin: 0 0 0.3rem; }
.nr-cta p { margin: 0; max-width: 46ch; }
.nr-btn {
  display: inline-flex; align-items: center; gap: 0.5rem; background: var(--accent); color: #fff; font-weight: 600;
  font-size: 0.95rem; padding: 0.75rem 1.2rem; border: 1px solid var(--accent); border-radius: var(--radius);
}
.nr-btn:hover { background: var(--accent-dark); border-color: var(--accent-dark); color: #fff; }
.nr-btn-ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
.nr-btn-ghost:hover { background: var(--ink); border-color: var(--ink); }

.nr-more { background: var(--paper); border-top: 1px solid var(--line); padding: var(--s-4) 0 var(--s-5); }
.nr-more-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0.5rem 1rem; margin-bottom: var(--s-3); }
.nr-more-head h2 { font-family: var(--font-serif); font-weight: 500; font-size: 1.9rem; margin: 0; }
.nr-more-head a { color: var(--accent-dark); font-weight: 600; display: inline-flex; align-items: center; gap: 0.35rem; }
.nr-more .nr-card { background: var(--mist); }

/* ------------------------------------------------------------ Briefings */

.nr-briefs { list-style: none; padding: 0; margin: 0; border-top: 2px solid var(--ink); }
.nr-brief { display: grid; grid-template-columns: 7rem 1fr; gap: var(--s-3); padding: var(--s-3) 0; border-bottom: 1px solid var(--line); }
.nr-brief-date { display: flex; flex-direction: column; font-size: 0.84rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; }
.nr-brief-day { font-family: var(--font-serif); font-size: 2.4rem; line-height: 1; color: var(--ink); letter-spacing: 0; }
.nr-brief-kicker { display: flex; flex-wrap: wrap; gap: 0.4rem 0.8rem; align-items: center; margin: 0 0 0.4rem; font-size: 0.8rem; color: var(--muted); }
.nr-aud { font-weight: 650; letter-spacing: 0.08em; text-transform: uppercase; font-size: 0.72rem; color: #fff; background: var(--ink); padding: 0.18rem 0.55rem; }
.nr-aud-congress, .nr-aud-us-agency { background: var(--accent-dark); }
.nr-aud-pk-parliament, .nr-aud-ministry { background: var(--pine); }
.nr-brief-title { font-family: var(--font-serif); font-weight: 550; font-size: 1.5rem; line-height: 1.22; margin: 0 0 0.35rem; }
.nr-brief-title a { color: var(--ink); }
.nr-brief-title a:hover { color: var(--accent-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nr-brief-meta { margin: 0; color: var(--muted); font-size: 0.92rem; }
.nr-brief-meta:empty { display: none; }
.nr-brief-people { margin: 0.25rem 0 0; font-size: 0.94rem; font-weight: 550; }
.nr-brief-sum { margin: 0.6rem 0 0; max-width: 70ch; }
.nr-brief-has { display: flex; flex-wrap: wrap; gap: 0.3rem 1.1rem; margin: 0.6rem 0 0; font-size: 0.84rem; color: var(--accent-dark); }
.nr-brief-has:empty { display: none; }
.nr-brief-has span { display: inline-flex; align-items: center; gap: 0.35rem; }

.nr-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 0; margin: var(--s-3) 0 0; border-top: 1px solid var(--line); }
.nr-facts div { padding: 0.8rem 1rem 0.8rem 0; border-bottom: 1px solid var(--line); }
.nr-facts dt { font-size: 0.72rem; font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.2rem; }
.nr-facts dd { margin: 0; color: var(--ink); font-weight: 550; }
.nr-fact-sub { display: block; font-weight: 400; color: var(--muted); font-size: 0.92rem; }
.nr-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: var(--s-3) 0 0; }

.nr-summary { border-left: 3px solid var(--accent); margin-top: 0; }
.nr-summary-text { font-family: var(--font-serif); font-size: 1.22rem; line-height: 1.55; color: var(--ink); }
.nr-summary-text p:last-child { margin-bottom: 0; }
.nr-section { margin: var(--s-4) 0; }
.nr-h2 { font-size: 1.5rem; margin: 0 0 var(--s-2); }
.nr-transcript { background: var(--paper); border: 1px solid var(--line); }
.nr-transcript summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: var(--s-2) var(--s-3); cursor: pointer; list-style: none; }
.nr-transcript summary::-webkit-details-marker { display: none; }
.nr-transcript summary .nr-h2 { margin: 0; font-size: 1.2rem; }
.nr-transcript-hint { font-size: 0.86rem; font-weight: 600; color: var(--accent-dark); }
.nr-transcript[open] summary { border-bottom: 1px solid var(--line); }
.nr-transcript .nr-prose { padding: var(--s-3); font-size: 1.08rem; }

/* --------------------------------------------------------- Media centre */

.nr-hero-split { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: var(--s-4); align-items: start; }
.nr-press { background: var(--ink); color: var(--on-ink); padding: var(--s-3); }
.nr-press h2 { color: #fff; font-size: 1.1rem; margin: 0 0 var(--s-2); }
.nr-press ul { list-style: none; padding: 0; margin: 0 0 var(--s-2); }
.nr-press li { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.5rem; overflow-wrap: anywhere; }
.nr-press li .nr-i { color: var(--accent-soft); }
.nr-press a { color: #fff; }
.nr-press a:hover { text-decoration: underline; }
.nr-press p { font-size: 0.9rem; margin: 0 0 var(--s-2); }
.nr-press-link { display: inline-flex; align-items: center; gap: 0.4rem; font-weight: 600; border-top: 1px solid var(--line-dark); padding-top: var(--s-2); width: 100%; }

.nr-media-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-3); }
.nr-panel { background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--ink); padding: var(--s-3); }
.nr-panel-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; margin-bottom: var(--s-2); }
.nr-panel-head h2 { font-family: var(--font-serif); font-weight: 500; font-size: 1.7rem; margin: 0; }
.nr-panel-head a { font-size: 0.9rem; font-weight: 600; color: var(--accent-dark); white-space: nowrap; display: inline-flex; align-items: center; gap: 0.3rem; }
.nr-empty-line { color: var(--muted); margin: 0; }

.nr-releases, .nr-mentions { list-style: none; padding: 0; margin: 0; }
.nr-release, .nr-mention { padding: var(--s-2) 0; border-top: 1px solid var(--line); }
.nr-release:first-child, .nr-mention:first-child { border-top: 0; padding-top: 0; }
.nr-release time { font-size: 0.8rem; color: var(--muted); letter-spacing: 0.06em; text-transform: uppercase; }
.nr-release h3, .nr-mention h3 { font-family: var(--font-serif); font-weight: 550; font-size: 1.25rem; line-height: 1.25; margin: 0.25rem 0 0.2rem; }
.nr-release h3 a, .nr-mention h3 a { color: var(--ink); }
.nr-release h3 a:hover, .nr-mention h3 a:hover { color: var(--accent-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nr-release p { margin: 0; color: var(--muted); font-size: 0.95rem; }
.nr-mention-top { display: flex; justify-content: space-between; gap: 1rem; margin: 0; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; }
.nr-outlet { font-weight: 700; color: var(--ink); }
.nr-mention-kind { color: var(--muted); }
.nr-mention-meta { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; font-size: 0.88rem; color: var(--muted); }
.nr-mention-meta a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent-soft); text-underline-offset: 2px; }
.nr-list-wrap { max-width: 52rem; }
.nr-list-full { background: var(--paper); border: 1px solid var(--line); padding: var(--s-3); }

.nr-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); margin-top: var(--s-3); }
.nr-tile { display: flex; flex-direction: column; gap: 0.4rem; background: var(--paper); border: 1px solid var(--line); padding: var(--s-3); color: var(--ink); transition: border-color 0.15s ease; }
.nr-tile:hover { border-color: var(--accent); }
.nr-tile-k { font-size: 0.74rem; font-weight: 650; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-dark); }
.nr-tile strong { font-family: var(--font-serif); font-weight: 550; font-size: 1.3rem; line-height: 1.25; }
.nr-tile-go { margin-top: auto; padding-top: 0.5rem; font-size: 0.9rem; font-weight: 600; color: var(--accent-dark); display: inline-flex; align-items: center; gap: 0.35rem; }

.nr-dateline { font-family: var(--font); font-size: 0.95rem; font-weight: 700; letter-spacing: 0.02em; color: var(--ink); }
.nr-end { text-align: center; color: var(--muted); letter-spacing: 0.4em; margin: var(--s-3) 0; }
.nr-contact p, .nr-about p { margin: 0; }
.nr-contact a { color: var(--accent-dark); text-decoration: underline; text-underline-offset: 2px; }
.nr-about p { color: var(--muted); font-size: 0.96rem; }

/* ------------------------------------------------------------ Media kit */

.nr-kit { display: grid; grid-template-columns: minmax(0, 1fr) 20rem; gap: var(--s-4); align-items: start; }
.nr-kit-side { position: sticky; top: 1.5rem; display: grid; gap: var(--s-3); }
.nr-kit-sec { margin-bottom: var(--s-5); }
.nr-kit-sec > h2 { font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.6rem, 2.4vw, 2rem); padding-bottom: 0.6rem; border-bottom: 2px solid var(--ink); margin-bottom: var(--s-3); }
.nr-kit-intro { color: var(--muted); max-width: 62ch; }
.nr-kit-names { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--s-2); }
.nr-kit-name { background: var(--paper); border: 1px solid var(--line); padding: var(--s-3); display: flex; flex-direction: column; align-items: flex-start; gap: 0.4rem; }
.nr-kit-name .nr-label { margin: 0; }
.nr-kit-big { font-family: var(--font-serif); font-size: 1.35rem; color: var(--ink); line-height: 1.25; margin: 0 0 0.4rem; }
.nr-boiler { background: var(--paper); border: 1px solid var(--line); margin-bottom: var(--s-3); }
.nr-boiler-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.5rem 1rem; padding: 0.9rem var(--s-3); border-bottom: 1px solid var(--line); background: var(--mist); }
.nr-boiler-head h3 { font-size: 1rem; margin: 0; }
.nr-boiler-head h3 span { font-weight: 400; color: var(--muted); font-size: 0.86rem; margin-left: 0.4rem; }
.nr-boiler-text { padding: var(--s-3); font-family: var(--font-serif); font-size: 1.15rem; line-height: 1.6; }
.nr-boiler-text p:last-child { margin-bottom: 0; }

.nr-logos { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 10.5rem), 1fr)); gap: var(--s-3); }
.nr-logo { background: var(--paper); border: 1px solid var(--line); display: flex; flex-direction: column; }
.nr-logo-art { display: grid; place-items: center; min-height: 11rem; padding: var(--s-3); border-bottom: 1px solid var(--line); background: #fff; }
.nr-logo-art img { width: auto; max-height: 120px; }
.nr-logo-info { padding: var(--s-2) var(--s-3) var(--s-3); }
.nr-logo-info h3 { font-size: 1rem; margin: 0 0 0.2rem; }
.nr-logo-info p { margin: 0; font-size: 0.88rem; color: var(--muted); }
.nr-logo-use { margin-top: 0.15rem !important; }
.nr-logo-dl { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 0.8rem; font-size: 0.9rem; font-weight: 600; color: var(--accent-dark); }
.nr-logo-dl:hover { color: var(--ink); text-decoration: underline; }

.nr-swatches { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: var(--s-3); }
.nr-swatch { background: var(--paper); border: 1px solid var(--line); }
.nr-swatch-chip { display: block; height: 7rem; }
.nr-swatch div { padding: var(--s-2) var(--s-3) var(--s-3); }
.nr-swatch h3 { font-size: 1rem; margin: 0; }
.nr-swatch-hex { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 1.05rem; color: var(--ink); margin: 0.15rem 0 0.2rem; }
.nr-swatch-use { font-size: 0.88rem; color: var(--muted); margin: 0 0 0.8rem; }

.nr-kit-links { background: var(--paper); border: 1px solid var(--line); padding: var(--s-3); }
.nr-kit-links ul { list-style: none; padding: 0; margin: 0; }
.nr-kit-links li { padding: 0.45rem 0; border-top: 1px solid var(--line); }
.nr-kit-links li:first-child { border-top: 0; }
.nr-kit-links a { color: var(--ink); font-weight: 550; }
.nr-kit-links a:hover { color: var(--accent-dark); text-decoration: underline; }

/* ----------------------------------------------------------- Responsive */

@media (max-width: 960px) {
  .nr-hero-split, .nr-kit, .nr-media-grid { grid-template-columns: minmax(0, 1fr); }
  .nr-kit-side { position: static; }
  .nr-tiles { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .nr-wrap, .nr-narrow { padding: 0 var(--s-2); }
  .nr-hero { padding: var(--s-4) 0 var(--s-2); }
  .nr-select { flex: 1 1 100%; }
  .nr-feed { margin-left: 0; }
  .nr-brief { grid-template-columns: minmax(0, 1fr); gap: 0.4rem; }
  .nr-brief-date { flex-direction: row; gap: 0.4rem; align-items: baseline; }
  .nr-brief-day { font-size: 1rem; font-family: var(--font); color: var(--muted); }
  .nr-card, .nr-card-lead, .nr-panel, .nr-related, .nr-authors, .nr-contact, .nr-about, .nr-summary, .nr-list-full { padding: var(--s-2); }
  .nr-prose { font-size: 1.12rem; }
  .nr-cta { padding: var(--s-3) var(--s-2); }
  .nr-subnav { gap: 0.25rem 1rem; }
}

/* ---------------------------------------------------------------- Admin */

.nra-form .nra-big { font-size: 1.1rem; font-weight: 600; }
.nra-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.88rem; }
.nra-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 0.35rem 1rem; margin-top: 0.4rem; }
.nra-check { display: flex; align-items: center; gap: 0.5rem; font-weight: 400; cursor: pointer; }
.nra-check input { width: 1rem; height: 1rem; accent-color: var(--accent); }
.nra-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.nra-fieldset legend { padding: 0; font-weight: 600; }
.nra-errors { margin: 0.4rem 0 0; padding-left: 1.2rem; }
.nra-prefix { display: flex; align-items: stretch; }
.nra-prefix span { display: flex; align-items: center; padding: 0 0.6rem; background: var(--mist); border: 1px solid var(--line-strong, #CFC9D9); border-right: 0; border-radius: var(--radius) 0 0 var(--radius); color: var(--muted); font-size: 0.88rem; white-space: nowrap; }
.nra-prefix input { border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important; min-width: 0; flex: 1; }
.nra-file { margin: 0 0 0.5rem; font-size: 0.9rem; }
@media (max-width: 640px) {
  .nra-prefix { flex-direction: column; }
  .nra-prefix span { border-right: 1px solid var(--line-strong, #CFC9D9); border-bottom: 0; border-radius: var(--radius) var(--radius) 0 0; padding: 0.3rem 0.6rem; }
  .nra-prefix input { border-radius: 0 0 var(--radius) var(--radius) !important; }
}
