/* Generated by npm run design:build. Edit seo/design-system/styles, not this bundle. */

/* Article components. Shared tokens are compiled into /styles.css; load that first. */


.nf, .nf *, .nf *::before, .nf *::after { box-sizing: border-box; }
.nf {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: var(--font-sans); font-size: 17px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
.nf a { color: var(--green-d); text-decoration: none; }
.nf a:hover { text-decoration: underline; text-underline-offset: 2px; }
.nf a:focus-visible, .nf button:focus-visible, .nf input:focus-visible, .nf summary:focus-visible {
  outline: 2px solid var(--green-d); outline-offset: 2px; border-radius: 4px;
}
.nf .tnum, .nf table { font-variant-numeric: tabular-nums; }
.nf .cap { font: 700 11px/1 var(--font-sans); letter-spacing: 0.09em; text-transform: uppercase; color: var(--soft); }
.nf .vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nf-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--space-7); }

/* ---------- Wordmark ---------- */
.nf-wm { display: inline-flex; align-items: center; gap: 9px; color: var(--ink) !important; }
/* Evidence-window mark: two research layers crossing a measured checkpoint. */
.nf-wm:hover { text-decoration: none !important; }
.nf-wm i { width: 31px; height: 31px; flex: none; display: block; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect x='5.5' y='5.5' width='53' height='53' rx='16' fill='%23fffdf8' stroke='%2320352f' stroke-width='3'/%3E%3Cpath d='M14.5 39.5C22 24.5 34.5 18 50.5 21.5' fill='none' stroke='%234b7f68' stroke-width='6' stroke-linecap='round'/%3E%3Cpath d='M14 46C24.5 35.5 39 33.5 51 40.5' fill='none' stroke='%23d47b67' stroke-width='5' stroke-linecap='round'/%3E%3Ccircle cx='34' cy='29' r='7' fill='%23f4efe6' stroke='%2320352f' stroke-width='3'/%3E%3Ccircle cx='34' cy='29' r='2.5' fill='%23c08a47'/%3E%3C/svg%3E") center / contain no-repeat; }
.nf-wm b { white-space: nowrap; font-weight: 600; font-size: 20px; letter-spacing: -0.02em; color: var(--ink); }
.nf-wm b strong { font-weight: 900; color: var(--green-d); }

/* ---------- Site header ---------- */
.nf-header { background: var(--card); border-bottom: 1px solid var(--line); position: relative; z-index: 5; }
.nf-header__in { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--space-7); height: 64px; display: flex; align-items: center; gap: var(--space-28); }
.nf-nav { display: flex; gap: 22px; font: 600 14px/1 var(--font-sans); }
.nf-nav a { color: var(--soft); padding: 6px 0 5px; border-bottom: 2px solid transparent; }
.nf-nav a:hover { color: var(--ink); text-decoration: none; }
.nf-nav a[aria-current] { color: var(--ink); border-bottom-color: var(--green); }
.nf-search { margin-left: auto; position: relative; flex: 0 1 300px; }
.nf-search input {
  width: 100%; height: 36px; padding: 0 14px 0 34px; border: 1px solid var(--line2); border-radius: var(--radius-pill);
  background: var(--card2); font: 400 14px/1 var(--font-sans); color: var(--ink);
}
.nf-search input::placeholder { color: var(--soft); }
.nf-search::before { content: ""; position: absolute; left: 12px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); background: var(--soft); -webkit-mask: var(--ic-search) center / contain no-repeat; mask: var(--ic-search) center / contain no-repeat; pointer-events: none; }
.nf-util { display: flex; gap: var(--space-18); font: 600 13.5px/1 var(--font-sans); }
.nf-util a { color: var(--soft); }
.nf-menu-btn { display: none; margin-left: auto; height: 36px; padding: 0 var(--space-3); border: 1px solid var(--line2); border-radius: var(--radius-btn); background: var(--card); font: 600 14px/1 var(--font-sans); color: var(--ink); cursor: pointer; }

/* ---------- Hero ---------- */
.nf-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: var(--space-7) 0 var(--space-48);
  border-bottom: 0;
  background:
    radial-gradient(circle at 86% 18%, rgba(212, 123, 103, .22), transparent 32%),
    radial-gradient(circle at 16% 0%, rgba(94, 143, 139, .16), transparent 28%),
    linear-gradient(128deg, var(--green-t) 0%, #ebe8dd 52%, var(--coral-t) 100%);
}
.nf-hero::after { content: ""; position: absolute; z-index: 0; inset: auto 0 0; height: 38px; pointer-events: none; background: linear-gradient(to bottom, rgba(244, 239, 230, 0), var(--paper)); }
.nf-hero > .nf-wrap { position: relative; z-index: 1; }
.nf-crumb { font-size: 13.5px; color: var(--soft); margin: 0 0 22px; display: flex; flex-wrap: wrap; gap: 6px; }
.nf-crumb a { color: var(--soft); }
.nf-crumb span[aria-current] { color: var(--ink); }
.nf-crumb .sep { color: var(--faint); }
.nf-hero .cap { color: var(--green-d); }
.nf-hero h1 { font-weight: 900; font-size: 44px; line-height: 1.06; letter-spacing: -0.03em; margin: var(--space-3) 0 var(--space-18); max-width: 18em; text-wrap: balance; color: var(--ink); }
.nf-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 14px; color: var(--soft); margin: 0; }
.nf-byline b { color: var(--ink); font-weight: 700; }
.nf-byline .dot { color: var(--faint); }
.nf-disclose { font-size: 13.5px; color: var(--soft); margin: var(--space-2) 0 0; }
.nf-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: var(--space-18) 0 0; }

/* ---------- Chips ---------- */
.nf-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: var(--space-1) 11px; border: 1px solid var(--line2);
  border-radius: var(--radius-pill); background: var(--card); font: 600 13px/1.4 var(--font-sans); color: var(--ink) !important;
}
.nf-chip:hover { border-color: var(--green); text-decoration: none !important; }
.nf-chip .n { font-weight: 400; color: var(--soft); }
.nf-chip[aria-pressed="true"] { background: var(--green-t); border-color: var(--green-d); box-shadow: inset 0 0 0 1px var(--green-d); }
.nf-chip[aria-pressed="true"]::before { content: ""; width: 13px; height: 13px; background: var(--green-d); -webkit-mask: var(--ic-check) center / contain no-repeat; mask: var(--ic-check) center / contain no-repeat; }
.nf-sponsored { display: inline-block; font: 700 10.5px/1 var(--font-sans); letter-spacing: 0.06em; text-transform: uppercase; color: var(--soft); border: 1px solid var(--line2); border-radius: var(--radius-pill); padding: var(--space-1) var(--space-2); background: var(--card); }

/* Evidence / answer chips: color + word, never color alone */
.nf-ev { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px 3px var(--space-2); border-radius: var(--radius-pill); font: 700 12.5px/1.3 var(--font-sans); white-space: nowrap; border: 1px solid; vertical-align: 1px; }
.nf-ev::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.nf-ev--strong { color: var(--green-d); background: var(--green-t); border-color: var(--green); }
.nf-ev--mixed { color: var(--amber-d); background: var(--amber-t); border-color: var(--amber); }
.nf-ev--weak { color: var(--amber-d); background: var(--card); border-color: var(--amber); }
.nf-ev--weak::before { background: transparent; border: 2px solid currentColor; width: 5px; height: 5px; }
.nf-ev--insufficient { color: var(--soft); background: var(--card); border-color: var(--line2); }
.nf-ev--insufficient::before { background: transparent; border: 1.5px dashed currentColor; width: 6px; height: 6px; }
.nf-ev--no { color: var(--red); background: var(--red-t); border-color: var(--red); }
.nf-ev--no::before { content: "✕"; width: auto; height: auto; background: none; font-size: 11px; }
.nf-ev--unknown { color: var(--soft); background: var(--card); border-color: var(--line2); }
.nf-ev--unknown::before { content: "?"; width: auto; height: auto; background: none; font-size: 12px; }
.nf-ev--over { color: var(--red); background: var(--red-t); border-color: var(--red); }
.nf-ev--under { color: var(--green-d); background: var(--green-t); border-color: var(--green); }
.nf-ev--none { color: var(--soft); background: transparent; border-color: var(--line2); }
.nf-ev--none::before { display: none; }

/* ---------- Layout: article + rail ---------- */
.nf-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--rail); gap: var(--space-64); align-items: start; padding-bottom: 72px; }
.nf-rail { position: sticky; top: 24px; padding-top: var(--space-7); }

/* ---------- Article typography ---------- */
.nf-art { padding-top: 34px; min-width: 0; }
.nf-art > p, .nf-art > ul, .nf-art > ol, .nf-art .nf-p { font-size: 17px; line-height: 1.68; color: var(--ink-body); margin: 0 0 var(--space-4); max-width: var(--measure); text-wrap: pretty; }
.nf-art > p.nf-lead { font-size: 19px; line-height: 1.6; color: var(--ink); }
.nf-art > ul { padding-left: 1.2em; }
.nf-art > ul.nf-myths, .nf-art > ul.nf-ledger { padding-left: 0; font-size: inherit; }
.nf-art li { margin: 0 0 6px; }
.nf-art b, .nf-art strong { color: var(--ink); font-weight: 700; }
.nf-art h2 { font-weight: 900; font-size: 29px; line-height: 1.15; letter-spacing: -0.02em; margin: var(--space-8) 0 14px; max-width: var(--measure); scroll-margin-top: 80px; color: var(--ink); text-wrap: balance; }
.nf-art h3 { font-weight: 800; font-size: 19px; line-height: 1.25; margin: var(--space-6) 0 8px; max-width: var(--measure); scroll-margin-top: 80px; color: var(--ink); }
.nf-art h4 { font-weight: 700; font-size: 16px; line-height: 1.35; margin: var(--space-5) 0 6px; max-width: var(--measure); color: var(--ink); }
.nf-art h2 + h3 { margin-top: var(--space-4); }
.nf-art .nf-num { font-weight: 700; color: var(--ink); white-space: nowrap; }
.nf-art .nf-over { color: var(--red); font-weight: 700; white-space: nowrap; }

/* ---------- Editorial article figures ---------- */
.nf-figure { width: 100%; max-width: 100%; margin: var(--space-6) 0 var(--space-5); }
.nf-figure img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border: 1px solid var(--line2); border-radius: var(--radius); background: var(--card2); }
.nf-figure figcaption { max-width: var(--measure); margin: 10px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--soft); }
.nf-figure figcaption b { color: var(--ink); }

/* ---------- Short version ---------- */
/* short-version title sits outside its card, larger than body */
.nf-art h2.nf-sv-title, .nf-sv-title { font-weight: 900; font-size: 25px; letter-spacing: -0.02em; margin: var(--space-6) 0 12px; color: var(--ink); }
.nf-sv { border: 1.5px solid var(--ink); background: var(--card); border-radius: var(--radius); overflow: hidden; margin: 0 0 var(--space-5); }
.nf-sv__row { display: grid; grid-template-columns: 92px 1fr; gap: 14px; padding: var(--space-4) var(--space-20); font-size: 15.5px; line-height: 1.5; color: var(--ink-body); }
.nf-sv__row + .nf-sv__row, .nf-sv__row + .nf-sv__tbl, .nf-sv__tbl + .nf-sv__row { border-top: 1px solid var(--line); }
.nf-sv__k { font: 700 11px/1.6 var(--font-sans); letter-spacing: 0.09em; text-transform: uppercase; color: var(--green-d); padding-top: 2px; }
.nf-sv__row--skip { background: var(--red-t); }
.nf-sv__row--skip .nf-sv__k { color: var(--red); }
.nf-sv__tbl { padding: var(--space-1) var(--space-20) 6px; }

/* ---------- Tables ---------- */
.nf-tbl { width: 100%; border-collapse: collapse; font-size: 14.5px; line-height: 1.45; color: var(--ink); }
.nf-tbl th, .nf-tbl td { text-align: left; vertical-align: top; padding: 10px var(--space-3); }
.nf-tbl th:first-child, .nf-tbl td:first-child { padding-left: 0; }
.nf-tbl thead th { font: 700 11px/1.3 var(--font-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--soft); border-bottom: 2px solid var(--ink); padding-top: var(--space-3); }
.nf-tbl tbody tr + tr td, .nf-tbl tbody tr + tr th { border-top: 1px solid var(--line); }
.nf-tbl tbody th { font-weight: 800; color: var(--ink); }
.nf-tbl td.r, .nf-tbl th.r { text-align: right; }
.nf-tbl .sub { display: block; font-size: 13px; color: var(--soft); margin-top: 2px; }
.nf-food-origin { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; color: var(--ink); }
.nf-food-origin .nf-ic { font-size: 18px; }
@media (max-width:600px) {
  .nf-tbl:has(.nf-food-origin) { display: block; min-width: 0 !important; }
  .nf-tbl:has(.nf-food-origin) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .nf-tbl:has(.nf-food-origin) tbody { display: block; }
  .nf-tbl:has(.nf-food-origin) tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-3); row-gap: 3px; padding: 11px 0; border-top: 1px solid var(--line); }
  .nf-tbl:has(.nf-food-origin) tbody tr:first-child { border-top: 0; }
  .nf-tbl:has(.nf-food-origin) tbody td { display: block; padding: 0 !important; border: 0 !important; }
  .nf-tbl:has(.nf-food-origin) tbody td:nth-child(1) { grid-column: 1; grid-row: 1; font-weight: 600; }
  .nf-tbl:has(.nf-food-origin) tbody td:nth-child(4) { grid-column: 2; grid-row: 1; text-align: right; font-weight: 700; white-space: nowrap; }
  .nf-tbl:has(.nf-food-origin) tbody td:nth-child(2) { grid-column: 1; grid-row: 2; color: var(--soft); }
  .nf-tbl:has(.nf-food-origin) tbody td:nth-child(3) { grid-column: 2; grid-row: 2; text-align: right; color: var(--soft); max-width: 145px; }
}
.nf-frame { border: 1px solid var(--line2); border-radius: var(--radius); background: var(--card); padding: 6px var(--space-20) 10px; margin: var(--space-5) 0; }
.nf-frame--recess { background: var(--card2); }
.nf-frame__cap { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); padding: var(--space-3) 0 var(--space-1); }
.nf-frame__cap .cap { color: var(--soft); }
.nf-frame__cap .nf-sponsored { margin-left: auto; }
.nf-frame__foot { font-size: 13.5px; color: var(--soft); padding: var(--space-2) 0 var(--space-1); border-top: 1px solid var(--line); margin-top: var(--space-1); }
.nf-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.nf-scroll-hint { display: none; }

/* ---------- Callouts ---------- */
.nf-callout { border-radius: var(--radius); padding: var(--space-18) 22px; margin: var(--space-5) 0; max-width: var(--measure); font-size: 15.5px; line-height: 1.55; color: var(--ink-body); border: 1px solid; }
.nf-callout p { margin: 0 0 var(--space-2); } .nf-callout p:last-child { margin: 0; }
.nf-callout .cap { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.nf-callout .cap .nf-ic { font-size: 14px; vertical-align: 0; }
.nf-callout__lead { font-weight: 800; color: var(--ink); font-size: 16.5px; }
.nf-callout--ask { background: var(--amber-t); border-color: var(--amber); }
.nf-callout--ask .cap { color: var(--amber-d); }
.nf-callout--myth { background: var(--amber-t); border-color: var(--amber); }
.nf-callout--myth .cap { color: var(--amber-d); }
.nf-callout--skip { background: var(--red-t); border-color: var(--red); }
.nf-callout--skip .cap { color: var(--red); }
.nf-callout--note { background: var(--card2); border-color: var(--line2); }

/* ---------- Limit bar ---------- */
.nf-limit { border: 1px solid var(--line2); background: var(--card); border-radius: var(--radius); padding: var(--space-18) 22px var(--space-4); margin: var(--space-5) 0; max-width: var(--measure); }
.nf-limit__track { position: relative; height: 54px; margin: 30px 6px var(--space-1); }
.nf-limit__scale { position: absolute; left: 0; right: 0; top: 22px; height: 10px; border-radius: var(--radius-pill); background: var(--card2); border: 1px solid var(--line2); overflow: hidden; }
.nf-limit__fill { position: absolute; top: 0; bottom: 0; left: 0; background: var(--green); }
.nf-limit__over { position: absolute; top: 0; bottom: 0; background: repeating-linear-gradient(135deg, var(--red) 0 3px, var(--red-t) 3px 7px); }
.nf-limit__mark { position: absolute; top: 4px; bottom: 16px; width: 0; border-left: 2px solid var(--amber); }
.nf-limit__mark span { position: absolute; bottom: 100%; left: 0; transform: translateX(-50%); white-space: nowrap; font: 700 12.5px/1.2 var(--font-sans); color: var(--amber-d); padding-bottom: var(--space-1); }
.nf-limit__pin { position: absolute; top: 18px; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; background: var(--card); border: 3px solid var(--ink); }
.nf-limit__pin span { position: absolute; top: 22px; left: 50%; transform: translateX(-50%); white-space: nowrap; font: 700 12.5px/1.2 var(--font-sans); color: var(--ink); }
.nf-limit__axis { position: relative; height: 16px; font-size: 12.5px; line-height: 16px; color: var(--soft); margin: 10px 6px var(--space-3); }
.nf-limit__axis span { position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap; }
.nf-limit__axis span:first-child { transform: none; }
.nf-limit__axis span:last-child { transform: translateX(-100%); }
.nf-limit__note { font-size: 14.5px; line-height: 1.5; color: var(--ink-body); margin: 0; border-top: 1px solid var(--line); padding-top: var(--space-3); }

/* ---------- Worked label ---------- */
.nf-label { display: grid; grid-template-columns: 1fr 1.25fr; border: 1px solid var(--line2); border-radius: var(--radius); overflow: hidden; margin: var(--space-5) 0; max-width: var(--measure); background: var(--card); }
.nf-label__side { padding: var(--space-18) var(--space-20); }
.nf-label__side + .nf-label__side { border-left: 1px dashed var(--line2); }
.nf-label__side .cap { display: block; margin-bottom: var(--space-3); }
.nf-label__front { background: var(--card2); }
.nf-label__big { font: 900 30px/1.05 var(--font-sans); letter-spacing: -0.02em; color: var(--ink); }
.nf-label__big small { display: block; font: 600 14px/1.3 var(--font-sans); letter-spacing: 0; color: var(--soft); margin-top: 6px; }
.nf-facts { font: 500 13.5px/1.5 var(--font-mono); color: var(--ink); border: 2px solid var(--ink); padding: var(--space-2) 10px; background: #fff; }
.nf-facts__h { font: 900 15px/1.2 var(--font-sans); border-bottom: 6px solid var(--ink); padding-bottom: var(--space-1); margin-bottom: 6px; }
.nf-facts__row > span:last-child { flex: none; white-space: nowrap; }
.nf-facts__row { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--ink); padding: 3px 0; }
.nf-facts__row:last-child { border-bottom: 0; }
.nf-facts__row--hit { background: var(--amber-t); outline: 2px solid var(--amber); outline-offset: -1px; margin: 0 -4px; padding: 3px var(--space-1); }
.nf-label__foot { grid-column: 1 / -1; border-top: 1px solid var(--line); padding: var(--space-3) var(--space-20); font-size: 14.5px; line-height: 1.5; color: var(--ink-body); }
.nf-label__foot b { color: var(--ink); }
.nf-pct { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--line2); border-radius: var(--radius); overflow: hidden; max-width: var(--measure); margin: var(--space-4) 0 var(--space-5); background: var(--card); }
.nf-pct > div { padding: 14px var(--space-4); }
.nf-pct > div + div { border-left: 1px solid var(--line); }
.nf-pct b { display: block; font: 900 28px/1 var(--font-sans); letter-spacing: -0.02em; color: var(--ink); }
.nf-pct span { display: block; font-size: 13.5px; color: var(--soft); margin-top: 6px; line-height: 1.35; }

/* ---------- Myth list ---------- */
.nf-myths { list-style: none; padding: 0; margin: var(--space-4) 0 0; max-width: var(--measure); border-top: 1px solid var(--line2); }
.nf-myths li { padding: var(--space-18) 0; border-bottom: 1px solid var(--line2); }
.nf-myths h3 { margin: 0 0 var(--space-2) !important; display: flex; gap: var(--space-3); align-items: baseline; justify-content: space-between; }
.nf-myths p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-body); }

/* ---------- Form block (forms you can buy) ---------- */
.nf-form { border-top: 2px solid var(--ink); padding-top: 14px; margin-top: var(--space-6); max-width: 100%; }
.nf-form__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.nf-form__head h3 { margin: 0 !important; }
.nf-form__meta { display: flex; flex-wrap: wrap; gap: 6px var(--space-18); font-size: 13.5px; color: var(--soft); margin: 6px 0 10px; }
.nf-form__meta b { color: var(--ink); }
.nf-form > p { font-size: 17px; line-height: 1.68; color: var(--ink-body); margin: 0 0 var(--space-4); max-width: var(--measure); }

/* ---------- Affiliate control ---------- */
.nf-aff { border: 1px solid var(--line2); background: var(--card); border-radius: var(--radius); padding: var(--space-4) var(--space-20); max-width: var(--measure); display: grid; grid-template-columns: 1fr auto; gap: var(--space-3) var(--space-20); align-items: center; margin: var(--space-4) 0; }
.nf-aff__what { font-size: 15px; line-height: 1.45; color: var(--ink-body); }
.nf-aff__what b { display: block; font-size: 16px; color: var(--ink); margin-bottom: 2px; }
.nf-aff__foot { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px var(--space-3); align-items: center; font-size: 13px; color: var(--soft); border-top: 1px solid var(--line); padding-top: 10px; }
.nf-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 44px; padding: 0 var(--space-18); background: var(--green); color: #fff !important; font: 700 15px/1.2 var(--font-sans); border-radius: var(--radius-btn); border: 0; cursor: pointer; text-align: center; }
.nf-btn:hover { background: var(--green-d); text-decoration: none !important; }
.nf-btn--ghost { background: var(--card); color: var(--ink) !important; border: 1px solid var(--line2); }
.nf-btn--ghost:hover { background: var(--card2); border-color: var(--ink); }

/* ---------- Evidence ledger ---------- */
.nf-ledger { list-style: none; padding: 0; margin: var(--space-4) 0 var(--space-5); max-width: var(--measure); border: 1px solid var(--line2); border-radius: var(--radius); background: var(--card); overflow: hidden; }
.nf-ledger li { display: grid; grid-template-columns: 1fr auto; gap: var(--space-1) var(--space-4); padding: 13px var(--space-18); align-items: start; }
.nf-ledger li + li { border-top: 1px solid var(--line); }
.nf-ledger__claim { font-weight: 700; color: var(--ink); font-size: 15.5px; line-height: 1.4; }
.nf-ledger__basis { grid-column: 1 / -1; font-size: 13.5px; color: var(--soft); line-height: 1.45; }
.nf-study { border-left: 0; padding: var(--space-4) 0 var(--space-4); border-top: 1px solid var(--line2); max-width: var(--measure); }
.nf-study:last-of-type { border-bottom: 1px solid var(--line2); }
.nf-study__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-3); margin-bottom: 6px; }
.nf-study__head b { font-size: 16.5px; color: var(--ink); }
.nf-study__facts { display: flex; flex-wrap: wrap; gap: var(--space-1) 14px; font-size: 13.5px; color: var(--soft); }
.nf-study p { margin: 6px 0 0; font-size: 16px; line-height: 1.6; color: var(--ink-body); }
.nf-study__fund { display: inline-block; margin-top: var(--space-2); font-size: 13px; font-weight: 700; color: var(--amber-d); background: var(--amber-t); border: 1px solid var(--amber); border-radius: var(--radius-sm); padding: 2px var(--space-2); }

/* ---------- Source calibration ---------- */
.nf-cal td:last-child { white-space: nowrap; }
.nf-cal .who b { display: block; color: var(--ink); }
.nf-cal .who span { font-size: 13px; font-weight: 400; color: var(--soft); }
.nf-cal td[data-k="Date"], .nf-tbl td:last-child a { white-space: nowrap; }

/* ---------- Labs ---------- */
.nf-labs { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); margin: var(--space-4) 0 var(--space-5); }
.nf-lab { border: 1px solid var(--line2); border-radius: var(--radius); background: var(--card); padding: 14px var(--space-4); display: flex; flex-direction: column; gap: 6px; }
.nf-lab b { font-size: 15.5px; color: var(--ink); line-height: 1.3; }
.nf-lab span { font-size: 13.5px; color: var(--soft); line-height: 1.45; flex: 1; }
.nf-lab a { font-weight: 700; font-size: 14px; }

/* ---------- Sources + author ---------- */
.nf-sources { counter-reset: s; list-style: none; padding: 0; margin: var(--space-4) 0; max-width: var(--measure); }
.nf-sources li { counter-increment: s; display: grid; grid-template-columns: 28px 1fr; gap: var(--space-2); padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.5; color: var(--ink-body); }
.nf-sources li::before { content: counter(s); font-weight: 800; color: var(--soft); font-variant-numeric: tabular-nums; }
.nf-sources a { word-break: break-word; }
.nf-author { display: grid; grid-template-columns: 52px 1fr; gap: var(--space-4); border: 1px solid var(--line2); background: var(--card); border-radius: var(--radius); padding: var(--space-18) var(--space-20); margin: var(--space-6) 0 0; max-width: var(--measure); }
.nf-author__mark { width: 52px; height: 52px; border-radius: var(--radius); background: var(--card2); border: 1px solid var(--line2); display: grid; place-items: center; }
.nf-author__mark i { width: 16px; height: 16px; background: var(--green); transform: rotate(45deg); border-radius: var(--radius-xs); }
.nf-author b { display: block; font-size: 16.5px; color: var(--ink); }
.nf-author p { margin: var(--space-1) 0 var(--space-2); font-size: 14.5px; line-height: 1.55; color: var(--ink-body); }
.nf-author__links { display: flex; flex-wrap: wrap; gap: 6px var(--space-4); font-size: 14px; font-weight: 700; }

/* ---------- Rail TOC ---------- */
.nf-toc .cap { display: block; margin: 0 0 14px; color: var(--ink); }
.nf-toc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 3px; }
.nf-toc a { display: block; padding: var(--space-1) var(--space-2) var(--space-1) 10px; margin-left: -10px; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; font-size: 14px; line-height: 1.35; font-weight: 600; color: var(--ink); }
.nf-toc a:hover { background: var(--card2); text-decoration: none; }
.nf-toc ol ol { margin: 2px 0 6px 2px; padding-left: 0; border-left: 2px solid var(--line2); gap: 0; }
.nf-toc ol ol a { margin-left: 0; padding: 3px var(--space-2) 3px var(--space-3); font-size: 13px; font-weight: 500; color: var(--soft); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.nf-toc a[aria-current] { background: var(--green-t); color: var(--green-d); box-shadow: inset 3px 0 0 var(--green); font-weight: 700; }
.nf-rail__box { margin-top: 22px; padding-top: var(--space-4); border-top: 1px solid var(--line2); font-size: 13.5px; line-height: 1.5; color: var(--soft); display: flex; flex-direction: column; gap: var(--space-2); }
.nf-rail__box a { font-weight: 700; }

/* ---------- Mobile-only pieces (hidden on desktop) ---------- */
.nf-mtoc, .nf-dock, .nf-msearch { display: none; }

/* ---------- Footer ---------- */
.nf-footer { background: var(--ink); color: var(--footer); padding: var(--space-7) 0 26px; }
.nf-footer__in { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--space-7); display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--space-6); }
.nf-footer .nf-wm, .nf-footer .nf-wm b { color: var(--card) !important; }
.nf-footer .nf-wm b strong { color: #9cc8a6; }
.nf-footer .nf-wm i { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg transform='translate%280 0%29 scale%281%29'%3E%3Crect x='7' y='5' width='50' height='54' rx='9' fill='%2326211b' stroke='%23fbf8f1' stroke-width='4'/%3E%3Crect x='14' y='13' width='36' height='5' rx='1' fill='%23fbf8f1'/%3E%3Crect x='14' y='23' width='26' height='3' rx='1.5' fill='%23fbf8f1' opacity='.35'/%3E%3Crect x='14' y='49' width='18' height='3' rx='1.5' fill='%23fbf8f1' opacity='.35'/%3E%3Crect x='2' y='31' width='60' height='13' rx='6.5' fill='%233f7d54'/%3E%3Cpath d='M32 31 h23.5 a6.5 6.5 0 0 1 0 13 h-23.5z' fill='%237fb08a'/%3E%3C/g%3E%3C/svg%3E"); }
.nf-footer p { font-size: 14px; line-height: 1.6; margin: 10px 0 0; max-width: 300px; }
.nf-footer .cap { color: var(--footer); display: block; margin-bottom: 10px; opacity: 0.85; }
.nf-footer__col a { display: block; color: var(--footer); font-size: 14px; line-height: 2.1; }
.nf-footer .nf-footer__note { max-width: var(--wrap); margin: var(--space-28) auto 0; padding: 16px var(--space-7) 0; border-top: 1px solid rgba(255, 255, 255, 0.14); font-size: 13px; line-height: 1.6; color: var(--footer); }
.nf-footer__note a { color: var(--footer); text-decoration: underline; }


/* Icons: .nf-ic, .nf-ic--{name} and the --ic-{name} masks live in /brand.css. */
.nf-cap-ic { display: inline-flex; align-items: center; gap: 6px; }
.nf-cap-ic .nf-ic { font-size: 13px; vertical-align: 0; }
.nf-menu-btn .nf-ic { font-size: 18px; }
.nf-tile-ic { width: 40px; height: 40px; border-radius: var(--radius); background: var(--card2); border: 1px solid var(--line2); display: grid; place-items: center; color: var(--ink); }
.nf-tile-ic .nf-ic { font-size: 22px; }


/* ---------- Page patterns: eyebrow caps, product header, source line ---------- */
.nf-eyebrow { display: inline-flex; align-items: center; gap: 7px; font: 700 11px/1 var(--font-sans); letter-spacing: 0.09em; text-transform: uppercase; color: var(--green-d); }
.nf-eyebrow .nf-ic { font-size: 15px; }
.nf-eyebrow--plain { color: var(--soft); }
.nf-facts-line { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-20); margin: 14px 0 0; padding: var(--space-3) 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 14.5px; color: var(--ink-body); }
.nf-facts-line span { display: inline-flex; align-items: center; gap: 7px; }
.nf-facts-line .nf-ic { font-size: 17px; color: var(--soft); }
.nf-facts-line b { color: var(--ink); }
.nf-th-ic { display: inline-flex; align-items: center; gap: 5px; }
.nf-th-ic .nf-ic { font-size: 13px; }
.nf-reject td, .nf-reject th { color: var(--soft); }
.nf-reject .nf-noout { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; color: var(--red); white-space: nowrap; }
.nf-source { display: grid; grid-template-columns: 40px 1fr; gap: 14px; border: 1px solid var(--line2); background: var(--card); border-radius: var(--radius); padding: var(--space-4) var(--space-18); max-width: var(--measure); }
.nf-source__meta { display: flex; flex-wrap: wrap; gap: var(--space-1) 14px; font-size: 13.5px; color: var(--soft); margin: 2px 0 var(--space-2); }
.nf-source__meta span { display: inline-flex; align-items: center; gap: 6px; }
.nf-source blockquote { margin: 0 0 10px; padding-left: var(--space-3); border-left: 2px solid var(--line2); font-size: 15.5px; line-height: 1.55; color: var(--ink); }
.nf-source p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ink-body); }
.nf-source p b { color: var(--ink); }

/* =========================================================
   Mobile — under 760px
   ========================================================= */
@media (max-width:760px) {
  .nf { font-size: 16.5px; }
  .nf-wrap { padding: 0 var(--space-4); }
  .nf-header__in { padding: 0 var(--space-4); height: 56px; gap: var(--space-3); }
  .nf-nav, .nf-util, .nf-header .nf-search { display: none; }
  .nf-menu-btn { display: inline-flex; align-items: center; gap: 6px; }
  .nf-msearch { display: block; background: var(--card); border-bottom: 1px solid var(--line); padding: 0 var(--space-4) 12px; }
  .nf-msearch .nf-search { margin: 0; flex: none; }
  .nf-msearch .nf-search input { height: 44px; font-size: 16px; }

  .nf-mtoc { display: block; position: sticky; top: 0; z-index: 4; background: var(--paper); border-bottom: 1px solid var(--line2); }
  .nf-mtoc summary { list-style: none; display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 var(--space-4); cursor: pointer; }
  .nf-mtoc summary::-webkit-details-marker { display: none; }
  .nf-mtoc summary .cap { color: var(--soft); flex: none; }
  .nf-mtoc__cur { flex: 1; min-width: 0; font-weight: 700; font-size: 15px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .nf-mtoc__chev { flex: none; font-size: 13px; font-weight: 700; color: var(--green-d); border: 1px solid var(--line2); border-radius: var(--radius-pill); padding: var(--space-1) 10px; background: var(--card); }
  .nf-mtoc__chev { display: inline-flex; align-items: center; gap: var(--space-1); }
  .nf-mtoc__chev::after { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--ic-chevron-down) center / contain no-repeat; mask: var(--ic-chevron-down) center / contain no-repeat; transition: transform .15s; }
  .nf-mtoc[open] .nf-mtoc__chev::after { transform: rotate(180deg); }
  .nf-mtoc__bar { height: 3px; background: var(--line); }
  .nf-mtoc__bar i { display: block; height: 100%; width: 8%; background: var(--green); }
  .nf-mtoc .nf-toc { background: var(--card); border-top: 1px solid var(--line); padding: 14px var(--space-4) 18px; max-height: 70vh; overflow: auto; box-shadow: var(--shadow-pop); }
  .nf-mtoc .nf-toc .cap { display: none; }
  .nf-mtoc .nf-toc a { margin-left: 0; padding: 9px 10px; font-size: 15px; }
  .nf-mtoc .nf-toc ol ol a { padding: 7px 10px 7px 14px; font-size: 14px; }

  .nf-hero { padding: var(--space-20) 0 22px; }
  .nf-crumb { font-size: 13px; margin-bottom: 14px; }
  .nf-hero h1 { font-size: 30px; line-height: 1.1; letter-spacing: -0.025em; margin: 10px 0 14px; }
  .nf-byline { font-size: 13.5px; }
  .nf-tags { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--space-4)); padding-right: var(--space-4); scrollbar-width: none; }
  .nf-tags .nf-chip { flex: none; }

  .nf-layout { display: block; padding-bottom: var(--space-6); }
  .nf-rail { display: none; }
  .nf-art { padding-top: 22px; }
  .nf-art > p, .nf-art > ul, .nf-form > p { font-size: 16.5px; line-height: 1.65; }
  .nf-art > p.nf-lead { font-size: 18px; }
  .nf-art h2 { font-size: 25px; margin-top: 44px; }
  .nf-art h3 { font-size: 18px; margin-top: 26px; }

  .nf-figure { margin: var(--space-5) 0; }
  .nf-figure img { border-radius: 10px; }
  .nf-figure figcaption { font-size: 13px; }

  .nf-art h2.nf-sv-title, .nf-sv-title { font-size: 23px; margin-top: 26px; }
  .nf-sv__row { grid-template-columns: 1fr; gap: var(--space-1); padding: 14px var(--space-4); font-size: 15px; }
  .nf-sv__tbl { padding: 0 var(--space-4); }

  /* stacked tables: each row becomes a mini definition list */
  .nf-stack thead { display: none; }
  .nf-stack, .nf-stack tbody, .nf-stack tr, .nf-stack th, .nf-stack td { display: block; width: 100%; }
  .nf-stack tr { padding: var(--space-3) 0; }
  .nf-stack tbody tr + tr { border-top: 1px solid var(--line); }
  .nf-stack tbody tr + tr td, .nf-stack tbody tr + tr th { border-top: 0; }
  .nf-stack th, .nf-stack td { padding: 2px 0 !important; }
  .nf-stack th { font-size: 16px; margin-bottom: var(--space-1); }
  .nf-stack td[data-k] { position: relative; padding: 3px 0 3px 104px !important; font-size: 14.5px; min-height: 24px; }
  .nf-stack td[data-k]::before { content: attr(data-k); position: absolute; left: 0; top: 5px; width: 96px; font: 700 10.5px/1.6 var(--font-sans); letter-spacing: 0.08em; text-transform: uppercase; color: var(--soft); }
  .nf-stack td.r { text-align: left; }

  .nf-frame { padding: var(--space-1) 14px var(--space-2); margin-left: calc(-1 * var(--space-2)); margin-right: calc(-1 * var(--space-2)); }
  .nf-frame__cap .nf-sponsored { margin-left: 0; }
  .nf-scroll-hint { display: block; font-size: 12.5px; font-weight: 700; color: var(--soft); padding: 2px 0 6px; }
  .nf-scroll .nf-tbl { min-width: 560px; }
  .nf-scroll .nf-tbl th:first-child, .nf-scroll .nf-tbl td:first-child { position: sticky; left: 0; background: inherit; z-index: 1; box-shadow: 1px 0 0 var(--line); padding-right: 10px; width: 150px; }
  .nf-frame--recess .nf-scroll .nf-tbl th:first-child, .nf-frame--recess .nf-scroll .nf-tbl td:first-child { background: var(--card2); }
  .nf-frame:not(.nf-frame--recess) .nf-scroll .nf-tbl th:first-child, .nf-frame:not(.nf-frame--recess) .nf-scroll .nf-tbl td:first-child { background: var(--card); }

  .nf-callout { padding: var(--space-4); }
  .nf-limit { padding: var(--space-4); }
  .nf-label { grid-template-columns: 1fr; }
  .nf-label__side + .nf-label__side { border-left: 0; border-top: 1px dashed var(--line2); }
  .nf-label__side, .nf-label__foot { padding: var(--space-4); }
  .nf-pct b { font-size: 24px; }
  .nf-pct > div { padding: var(--space-3); }
  .nf-aff { grid-template-columns: 1fr; padding: var(--space-4); }
  .nf-aff .nf-btn { width: 100%; }
  .nf-labs { grid-template-columns: 1fr; gap: 10px; }
  .nf-myths h3 { flex-direction: column; gap: 6px; }
  .nf-author { grid-template-columns: 1fr; padding: var(--space-4); }

  .nf-dock { display: grid; grid-template-columns: 1fr auto; gap: var(--space-2); position: sticky; bottom: 0; z-index: 6; background: var(--card); border-top: 1px solid var(--line2); box-shadow: var(--shadow-dock); padding: 10px var(--space-4) calc(10px + env(safe-area-inset-bottom)); }
  .nf-dock__search { display: flex; align-items: center; gap: var(--space-2); height: 46px; padding: 0 var(--space-4); border: 1px solid var(--line2); border-radius: var(--radius-pill); background: var(--card2); color: var(--soft); font-size: 15px; }
  .nf-dock__search::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--ic-search) center / contain no-repeat; mask: var(--ic-search) center / contain no-repeat; }
  .nf-dock .nf-btn { min-height: 46px; border-radius: var(--radius-pill); }

  .nf-footer { padding: 30px 0 90px; }
  .nf-footer__in { grid-template-columns: 1fr 1fr; gap: var(--space-5); padding: 0 var(--space-4); }
  .nf-footer__brand { grid-column: 1 / -1; }
  .nf-footer .nf-footer__note { padding: 16px var(--space-4) 0; }
}

/* Article tables, contents rail and readable copy; formerly inline in every page. */
.nf-art a{text-decoration:underline;text-underline-offset:3px}.local-table{overflow-x:auto;max-width:100%;margin:24px 0;border:1px solid var(--line);border-radius:8px}.local-table table{min-width:580px;width:100%}.local-table th{background:var(--green-t)}.local-table td,.local-table th{border-bottom:1px solid var(--line)}.local-table .nf-tbl th:first-child,.local-table .nf-tbl td:first-child{padding-left:16px}.nf-rail{max-height:calc(100vh - 48px);overflow:auto;scrollbar-gutter:stable;padding-right:12px;font-size:14px;line-height:1.45}.nf-rail ol{list-style:none;counter-reset:toc;margin:0;padding:0}.nf-rail li{counter-increment:toc;display:grid;grid-template-columns:2.5ch minmax(0,1fr);gap:10px;margin:9px 0}.nf-rail li::before{content:counter(toc) '.';text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--soft)}.nf-rail a{font-size:14px;line-height:1.45}.nf-art p,.nf-art li{overflow-wrap:anywhere}.nf .nf-tags .tag-row .cap{text-transform:none}.local-library{padding:36px 0}.local-library li{margin:12px 0}@media(max-width:700px){.nf-hero h1{font-size:34px}.nf-wrap{padding-left:20px;padding-right:20px}}
