/* Proven Panel — implemented from the Claude Design handoffs
   (AminoAtlas Homepage/Article .dc.html + design_handoff_verdict_supplements/,
   brand revision 2026-07-11: Proven Panel wordmark/seal; "The Verdict" stays
   as the editorial format). Tokens and component values reproduce the design 1:1. */

:root {
  /* Proven Panel redesign 2026-07 (design_handoff_provenpanel_redesign).
     Paper + deep-green ink, warm neutrals. Token names kept stable so pages
     outside the redesign scope (regulation, legal, account) re-skin for free. */
  --bg: #FBF8F2;          /* paper */
  --surface: #FFFFFF;     /* cards, header, footer */
  --card: #FFFFFF;
  --ink: #292520;         /* primary text */
  --ink-strong: #292520;
  --ink-2: #292520;
  --body: #44403A;        /* body text */
  --lede: #55504A;        /* secondary */
  --blurb: #55504A;
  --muted: #6E675C;       /* muted */
  --muted-2: #6E675C;
  --muted-3: #9B948A;     /* faint */
  --muted-4: #9B948A;
  --line: #E7E0D5;        /* border/line */
  --line-card: #E7E0D5;
  --line-soft: #E7E0D5;
  --line-hair: #EDE7DC;
  --line-input: #DDD5C8;  /* frames / input border */
  --accent: #2F6B52;      /* brand green */
  --accent-strong: #2F6B52;
  --accent-hover: #1F4E3A;
  --accent-soft: #CBDFD3;
  --accent-tint: #EAF2ED;
  --accent-tint-border: #CBDFD3;
  --accent-tint-text: #2A4A3B;
  --chip-bg: #F3EFE7;     /* neutral chip */
  --ink-panel: #2B3A33;   /* dark green surface */
  --ink-panel-accent: #8FBCA6;

  --serif: 'Newsreader', Georgia, serif;
  --sans: 'Instrument Sans', system-ui, -apple-system, sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, monospace;

  --wrap: 920px;
  --wrap-wide: 1080px;
  --wrap-home: 1120px;
  --wrap-site: 1200px;    /* redesign content max-width */
}

* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  background: var(--bg);
  font-family: var(--sans);
  color: var(--ink);
}
::selection { background: var(--accent); color: #fff; }
a { -webkit-tap-highlight-color: transparent; color: var(--accent); }
a:hover { color: var(--accent-hover); }
.page { min-height: 100%; background: var(--bg); display: flex; flex-direction: column; }

.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 40px; width: 100%; }
.wrap--wide { max-width: var(--wrap-wide); }

/* ---------- header ---------- */
.aa-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 44px; border-bottom: 1px solid var(--line);
  background: rgba(251, 250, 247, .86); backdrop-filter: blur(8px);
  position: sticky; top: 0; z-index: 5;
}
.aa-brand { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.aa-logo { display: grid; grid-template-columns: repeat(2, 6px); gap: 3px; }
.aa-logo span { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); display: block; }
.aa-logo span:last-child { background: var(--accent-soft); }
.aa-wordmark { font: 600 19px var(--serif); color: var(--ink-2); letter-spacing: -.01em; white-space: nowrap; }
.aa-nav { display: flex; gap: 26px; }
.aa-nav a { font: 500 14px var(--sans); color: var(--muted); text-decoration: none; }
.aa-nav a:hover { color: var(--accent); }

/* ---------- footer ---------- */
.aa-footer { border-top: 1px solid var(--line); margin-top: 64px; background: var(--surface); }
.aa-footer__note { font: 400 13.5px/1.6 var(--sans); color: #7a847d; max-width: 660px; margin: 0; }
.aa-footer__note em { font-style: italic; }
.aa-footer__row {
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  margin-top: 22px; padding-top: 18px; border-top: 1px solid #eceae3;
}
.aa-footer__row span:first-child { font: 500 12.5px var(--mono); color: var(--muted-3); }
.aa-footer__row span:last-child { font: 500 12.5px var(--sans); color: var(--muted-3); }
.aa-footer .wrap { padding-top: 36px; padding-bottom: 36px; }
main.page-main { flex: 1 0 auto; }

/* ---------- home layout ---------- */
.home-wrap { max-width: var(--wrap-home); margin: 0 auto; padding: 0 44px; width: 100%; }
.home-hero {
  display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px;
  align-items: center; padding: 76px 0 30px;
}
.home-focal { display: flex; flex-direction: column; gap: 16px; }

.aa-hero { padding: 72px 0 4px; }
.aa-eyebrow {
  font: 500 12px var(--mono); letter-spacing: .14em; color: var(--accent);
  text-transform: uppercase; margin: 0 0 20px;
}
.aa-h1 { font: 600 60px/1.03 var(--serif); color: var(--ink-strong); letter-spacing: -.025em; margin: 0; max-width: 560px; }
.aa-lede { font: 400 19px/1.55 var(--sans); color: var(--lede); max-width: 500px; margin: 22px 0 0; }

.aa-search {
  display: flex; align-items: center; background: var(--card);
  border: 1px solid var(--line-input); border-radius: 13px; padding: 7px 7px 7px 16px;
  max-width: 520px; margin-top: 30px; box-shadow: 0 1px 2px rgba(0,0,0,.04);
}

/* featured entry card */
.feat-card {
  display: block; background: var(--card); border: 1px solid #e2e4de; border-radius: 16px;
  padding: 22px 24px; text-decoration: none; color: var(--ink-2);
  box-shadow: 0 4px 18px rgba(24,40,32,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.feat-card:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(24,40,32,.13); border-color: #cfd6d0; }
.feat-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.feat-card__eyebrow { font: 500 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted-3); }
.feat-card__name { font: 600 27px var(--serif); color: var(--ink-strong); margin: 0; letter-spacing: -.01em; }
.feat-card__blurb { font: 400 14.5px/1.55 var(--sans); color: var(--blurb); margin: 12px 0 0; }
.feat-card__tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 16px 0 0; }
.feat-card__foot {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line-hair);
}
.feat-card__sources { font: 500 12px var(--mono); color: var(--accent); }
.feat-card__read { font: 600 13px var(--sans); color: var(--accent); display: inline-flex; align-items: center; gap: 5px; }

/* corpus stat strip */
.stat-strip {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--line); border: 1px solid var(--line); border-radius: 12px; overflow: hidden;
}
.stat { background: var(--surface); padding: 16px 14px; text-align: center; }
.stat__num { font: 600 24px var(--serif); color: var(--ink-strong); }
.stat__lbl { font: 500 11px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); margin-top: 3px; }
.aa-search__icon { color: var(--accent); display: flex; }
.aa-search input {
  border: none; outline: none; flex: 1; padding: 13px 12px;
  font: 400 16px var(--sans); color: var(--ink-2); background: transparent;
}
.aa-search__btn {
  background: var(--accent); color: #fff; border: none; border-radius: 9px;
  padding: 13px 22px; font: 600 14px var(--sans); cursor: pointer;
}
.aa-search__btn:hover { background: #17654e; }
.aa-hint { font: 400 13px var(--sans); color: var(--muted-2); margin: 11px 2px 0; }

.aa-areas { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 24px; }
.aa-areas__label { font: 500 13px var(--sans); color: var(--muted); margin-right: 4px; }
.aa-chip {
  display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px;
  font: 500 13px/1 var(--sans); cursor: pointer; white-space: nowrap;
  transition: all .12s ease; background: var(--card); color: #3a443e; border: 1px solid var(--line-input);
}
.aa-chip:hover { border-color: var(--accent-soft); }
.aa-chip.is-active { background: var(--accent); color: #fff; border-color: var(--accent); }

/* ---------- library (status-grouped) ---------- */
.aa-libhead {
  display: flex; align-items: baseline; justify-content: space-between;
  margin: 44px 0 0; padding-bottom: 16px; border-bottom: 1px solid var(--line);
}
.aa-libhead h2 { font: 600 27px var(--serif); color: var(--ink); margin: 0; }
.aa-libhead__right { display: flex; align-items: center; gap: 14px; }
.aa-count { font: 500 13px var(--mono); color: var(--muted-2); }
.aa-clear {
  border: none; background: none; padding: 0; font: 500 13px var(--sans);
  color: var(--accent); cursor: pointer; text-decoration: underline;
}
.aa-clear[hidden] { display: none; }

.aa-group { margin-top: 30px; }
.aa-group[hidden] { display: none; }
.aa-group__head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.aa-group__dot { width: 8px; height: 8px; border-radius: 50%; display: block; flex-shrink: 0; }
.aa-group__label { font: 600 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: #6b756e; }
.aa-group__count { font: 500 12px var(--mono); color: var(--muted-4); }
.aa-group__rule { flex: 1; height: 1px; background: var(--line-soft); }

.aa-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: stretch; }

.aa-card {
  display: flex; align-items: stretch; background: var(--card); border: 1px solid var(--line-card);
  border-radius: 12px; overflow: hidden; text-decoration: none; color: var(--ink-2);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.aa-card[hidden] { display: none; }
.aa-card.is-planned { opacity: .72; }
a.aa-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(25,35,30,.09); border-color: #d0d6cf; }
.aa-card__bar { width: 4px; flex-shrink: 0; }
.aa-card__body { flex: 1; padding: 16px 18px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.aa-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.aa-card__name { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; min-width: 0; }
.aa-card__name h3 { font: 600 18px var(--serif); color: var(--ink); margin: 0; letter-spacing: -.01em; }
.aa-abbr { font: 500 11px var(--mono); color: var(--muted-3); }
.aa-blurb { font: 400 13px/1.5 var(--sans); color: var(--blurb); margin: 0; }
.aa-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 4px; }
.aa-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.aa-tag { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: var(--chip-bg); color: #616c64; font: 500 11.5px var(--sans); }
.aa-sources { font: 500 11px var(--mono); color: var(--muted-3); white-space: nowrap; }

/* card status facts (Cowork-owned content, rendered verbatim) */
.aa-facts { margin: 4px 0 2px; padding: 12px 0 2px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 7px; }
.aa-fact { display: grid; grid-template-columns: 84px 1fr; gap: 10px; align-items: baseline; }
.aa-fact dt { font: 600 10px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); }
.aa-fact dd { margin: 0; font: 400 13px/1.5 var(--sans); color: var(--body); }
@media (max-width: 560px) { .aa-fact { grid-template-columns: 1fr; gap: 2px; } }

.aa-badge {
  display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 999px;
  font: 600 10px/1 var(--mono); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap;
}
.aa-badge--published { background: #dcefe6; color: #0f6b4f; }
.aa-badge--review { background: #f7edd4; color: #8a6a1f; }
.aa-badge--planned { background: #eaebe7; color: #7a847d; }
.bar--published, .dot--published { background: #1c7a5e; }
.bar--review, .dot--review { background: #c79a2e; }
.bar--planned, .dot--planned { background: #b3bbb2; }

/* ---------- pipeline (stage badges + overview) ---------- */
.aa-pipeline { display: flex; flex-direction: column; gap: 34px; margin: 20px 0 10px; }
.aa-stage__list { list-style: none; margin: 6px 0 0; padding: 0; border-top: 1px solid var(--line-hair); }
.aa-stage__item {
  display: flex; align-items: baseline; gap: 14px; padding: 12px 2px;
  border-bottom: 1px solid var(--line-hair);
}
.aa-stage-badge {
  flex-shrink: 0; display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 999px;
  font: 600 10px/1 var(--mono); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap;
  min-width: 78px; justify-content: center;
}
.aa-stage-badge--draft { background: #eaebe7; color: #6b756e; }
.aa-stage-badge--review { background: #f7edd4; color: #8a6a1f; }
.aa-stage-badge--approved { background: #dfece9; color: #2a7d65; }
.aa-stage-badge--published { background: #dcefe6; color: #0f6b4f; }
.dot--stage-draft { background: #b3bbb2; }
.dot--stage-review { background: #c79a2e; }
.dot--stage-approved { background: #2f9d7b; }
.dot--stage-published { background: #1c7a5e; }
.aa-stage__title { font: 500 16px/1.4 var(--serif); color: var(--ink); text-decoration: none; }
a.aa-stage__title:hover { color: var(--accent); }
.aa-stage__title.is-unlinked { color: var(--muted); }
.aa-stage__kind { margin-left: auto; font: 500 11px var(--mono); color: var(--muted-3); white-space: nowrap; text-transform: uppercase; letter-spacing: .04em; }
.aa-stage__empty { font: 400 14px var(--sans); color: var(--muted-3); padding: 12px 2px; margin: 0; }

.aa-empty { border: 1px dashed #d6d4cc; border-radius: 16px; padding: 54px 24px; text-align: center; background: var(--surface); }
.aa-empty[hidden] { display: none; }
.aa-empty h3 { font: 600 22px var(--serif); color: #3a443e; margin: 0 0 6px; }
.aa-empty p { font: 400 14px var(--sans); color: var(--muted-2); margin: 0 0 18px; }
.aa-empty button { border: 1px solid var(--accent); background: none; border-radius: 9px; padding: 10px 18px; font: 600 13px var(--sans); color: var(--accent); cursor: pointer; }

/* ---------- article ---------- */
.aa-back { display: inline-flex; align-items: center; gap: 7px; margin-top: 30px; font: 500 13px var(--sans); color: var(--muted); text-decoration: none; }
.aa-back:hover { color: var(--accent); }
.aa-arthead { padding: 22px 0 8px; border-bottom: 1px solid var(--line); }
.aa-arthead__tags { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.aa-descriptor { font: 500 12px var(--mono); color: var(--muted-3); }
.aa-arthead h1 { font: 600 46px/1.06 var(--serif); color: var(--ink); letter-spacing: -.02em; margin: 18px 0 0; }
.aa-artlede { font: 400 19px/1.55 var(--sans); color: var(--lede); max-width: 660px; margin: 16px 0 0; }
.aa-statrow { display: flex; flex-wrap: wrap; gap: 26px; margin: 24px 0 26px; }
.aa-stat__num { font: 600 22px var(--serif); color: var(--ink); }
.aa-stat__lbl { font: 500 12px var(--mono); color: var(--muted-3); text-transform: uppercase; letter-spacing: .06em; }

.aa-page-grid { display: grid; grid-template-columns: 1fr 270px; gap: 48px; padding: 38px 0 70px; align-items: start; }
.aa-main { min-width: 0; }

.aa-banner { display: flex; gap: 14px; background: #fbf6ec; border: 1px solid #ecd9b0; border-radius: 14px; padding: 18px 20px; }
.aa-banner__dot { width: 8px; height: 8px; border-radius: 50%; background: #c79435; margin-top: 7px; flex-shrink: 0; }
.aa-banner p { font: 400 14px/1.6 var(--sans); color: #7a6326; margin: 0; }
.aa-banner strong { color: #5f4e1e; }

/* rendered markdown body */
.aa-prose h2 { font: 600 27px var(--serif); color: var(--ink); margin: 42px 0 14px; letter-spacing: -.01em; }
.aa-prose h3 { font: 600 19px var(--serif); color: var(--ink); margin: 28px 0 10px; }
.aa-prose p { font: 400 16px/1.7 var(--sans); color: var(--body); margin: 0 0 16px; }
.aa-prose ul { margin: 0 0 16px; padding-left: 22px; }
.aa-prose li { font: 400 16px/1.65 var(--sans); color: var(--body); margin-bottom: 8px; }
.aa-prose a { color: var(--accent); }
.aa-prose strong { color: var(--ink); }
.aa-prose em { font-style: italic; }
/* inline citation-chip pill (jumps to the matching source) */
.aa-cite {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 17px; height: 16px; padding: 0 5px; margin: 0 2px; border-radius: 5px;
  background: #e2efe9; color: var(--accent-strong); font: 600 10px var(--mono);
  text-decoration: none; vertical-align: super; position: relative; top: -2px;
  transition: all .12s ease;
}
.aa-cite:hover { background: var(--accent); color: #fff; }

/* section index lists (Signal vs. Record, Dispatches) */
.aa-cards { display: flex; flex-direction: column; gap: 12px; }

/* ---------- compound dossier / entry page ---------- */
html { scroll-behavior: smooth; }
.dossier-wrap { max-width: var(--wrap-wide); margin: 0 auto; padding: 0 44px; width: 100%; }
.dossier-head { padding: 22px 0 4px; }
.dossier-head__tags { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dossier-sub { font: 500 12px var(--mono); color: var(--muted-3); }
.badge-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; margin-right: 5px; }
.dossier-title { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin: 18px 0 0; }
.dossier-title h1 { font: 600 46px/1.06 var(--serif); color: var(--ink-strong); letter-spacing: -.02em; margin: 0; }
.dossier-abbr { font: 500 15px var(--mono); color: var(--muted-3); }
.dossier-lede { font: 400 19px/1.55 var(--sans); color: var(--lede); max-width: 680px; margin: 16px 0 0; }

.meta-strip {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--line); border: 1px solid var(--line); border-radius: 14px;
  overflow: hidden; margin: 26px 0 6px;
}
.meta-strip--2 { grid-template-columns: repeat(2, 1fr); }
.meta-cell { background: var(--surface); padding: 18px 22px; }
.meta-val { font: 600 24px var(--serif); color: var(--ink-strong); }
.meta-val--dot { display: inline-flex; align-items: center; gap: 8px; font-size: 22px; }
.meta-val--empty { font: 500 16px/1.35 var(--sans); color: #98836a; }
.meta-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.meta-lbl { font: 500 11px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); margin-top: 4px; }
.stage-clinical { background: var(--accent); }
.stage-mixed { background: #c79a2e; }
.stage-preclinical { background: #b3bbb2; }

.dossier-grid { display: grid; grid-template-columns: 1fr 262px; gap: 48px; padding: 34px 0 72px; align-items: start; }
.dossier-main { min-width: 0; }
.aa-h2 { scroll-margin-top: 90px; }

/* sources (index + domain caption) */
.src-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.src { display: flex; gap: 15px; scroll-margin-top: 96px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.src:last-child { border-bottom: none; padding-bottom: 0; }
.src__idx { font: 600 12px var(--mono); color: var(--accent); flex-shrink: 0; width: 24px; }
.src__link { font: 500 14.5px/1.5 var(--sans); color: #22312b; text-decoration: none; border-bottom: 1px solid #cdd6cf; }
.src__link:hover { color: var(--accent); }
.src__link--plain { border-bottom: none; color: var(--body); }
.src__cap { font: 500 11.5px var(--mono); color: var(--muted-3); margin-top: 6px; }

/* provisional callout + inline highlight (authored editorial treatments) */
.aa-provisional {
  display: flex; gap: 13px; background: #fbf6ec; border: 1px solid #ecd9b0;
  border-left: 3px solid #c79435; border-radius: 12px; padding: 15px 18px; margin: 18px 0 0;
}
.aa-provisional__tag {
  font: 600 9.5px var(--mono); letter-spacing: .08em; text-transform: uppercase;
  color: #a9791f; background: #f4e6c6; border-radius: 5px; padding: 4px 7px;
  height: fit-content; white-space: nowrap; flex-shrink: 0;
}
.aa-provisional__body p { font: 400 14px/1.6 var(--sans); color: #7a6326; margin: 0; }
.aa-provisional__body p + p { margin-top: 8px; }
.aa-provisional .aa-cite { background: #f4e6c6; color: #a9791f; }
.aa-provisional .aa-cite:hover { background: #c79435; color: #fff; }
.aa-highlight { color: #7a6326; background: #f8f1df; padding: 1px 4px; border-radius: 4px; }

/* "Marketed as" section — the pitch, set apart from the record that follows
   (reinforces the site's signal-vs-record contrast). Neutral/muted, NOT amber:
   this is context, not a warning banner. Pure presentation — keyed on the stable
   `## Marketed as` heading slug that the generic renderer already emits, so it
   needs no code change and simply doesn't match when the section is absent. The
   authored copy (incl. the "marketing claims, not established effects" framing)
   is untouched. Every current section is one paragraph; a hypothetical extra
   paragraph would just read as normal prose (graceful, not broken). */
.aa-prose h2#marketed-as { margin-bottom: 10px; }
.aa-prose h2#marketed-as::before {
  content: "How it's marketed";
  display: block;
  font: 600 11px var(--mono); letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted-3); margin-bottom: 6px;
}
.aa-prose h2#marketed-as + p {
  border-left: 2px solid var(--line-input); padding-left: 16px;
  color: var(--muted);
}

/* dossier sidebar */
.dossier-side { position: sticky; top: 92px; display: flex; flex-direction: column; gap: 16px; }
.side-card { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; }
.side-card--white { background: var(--card); border-color: var(--line-card); }
.side-card--accent { background: var(--accent); border: none; }
.side-card__label { font: 600 11px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted-2); margin-bottom: 12px; }
.side-card--accent .side-card__label { color: rgba(255,255,255,.78); margin-bottom: 11px; }
.side-nav { display: flex; flex-direction: column; gap: 9px; }
.side-nav a { font: 500 13.5px var(--sans); color: #4a544e; text-decoration: none; }
.side-nav a:hover { color: var(--accent); }
.side-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.side-tags span { display: inline-flex; padding: 6px 11px; border-radius: 999px; background: var(--chip-bg); color: var(--muted); font: 500 12.5px var(--sans); }
.side-card--accent p { font: 400 13.5px/1.65 var(--sans); color: rgba(255,255,255,.92); margin: 0; }
.side-card--accent em { font-style: italic; }
.side-stage { display: flex; align-items: center; gap: 9px; font: 500 14px var(--sans); color: var(--body); }
.side-stage__note { font: 400 12.5px/1.55 var(--sans); color: var(--muted-3); margin: 9px 0 0; }

@media (max-width: 820px) {
  .dossier-grid { grid-template-columns: 1fr; gap: 30px; }
  .dossier-side { position: static; }
  .meta-strip { grid-template-columns: 1fr; }
  .dossier-title h1 { font-size: 36px; }
}

/* claim-check: verdict chips (sober, not stoplight-loud) + claim card */
.verdict {
  display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px;
  font: 600 10.5px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase;
  white-space: nowrap; background: #eceae3; color: var(--muted);
}
.verdict-accurate { background: #dcefe6; color: #0f6b4f; }
.verdict-partly-accurate { background: #eaf0e3; color: #5b6f3a; }
.verdict-outdated { background: #efe9dc; color: #7a6326; }
.verdict-misleading { background: #f1e6dd; color: #9a5a3a; }
.verdict-unsupported { background: #efe4e4; color: #8a5050; }
.verdict-premature { background: #e6ecef; color: #466074; }
.bar--claim { background: var(--accent-soft); }

.claim-card {
  background: var(--surface); border: 1px solid var(--line); border-left: 3px solid var(--accent-soft);
  border-radius: 14px; padding: 20px 22px; margin: 24px 0;
}
.claim-card__label { font: 600 11px var(--mono); letter-spacing: .1em; color: var(--muted-2); text-transform: uppercase; margin-bottom: 10px; }
.claim-card blockquote { margin: 0; font: 500 18px/1.5 var(--serif); color: var(--ink); }
.claim-card__byline { font: 500 13px var(--sans); color: var(--muted); margin-top: 12px; }
.claim-card__src { display: inline-block; margin-top: 10px; font: 500 13px var(--sans); color: var(--accent); text-decoration: none; }
.claim-card__src:hover { text-decoration: underline; }

/* dispatch: outcome chips (same sober register as verdicts) */
.outcome {
  display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px;
  font: 600 10.5px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase;
  white-space: nowrap; background: #eceae3; color: var(--muted);
}
.outcome-pending { background: #e6ecef; color: #466074; }
.outcome-recommended { background: #dcefe6; color: #0f6b4f; }
.outcome-not-recommended { background: #efe4e4; color: #8a5050; }
.outcome-mixed { background: #efe9dc; color: #7a6326; }
.outcome-deferred { background: #eceae3; color: #5f6b64; }
.bar--dispatch { background: #c9d4cf; }

/* homepage status strip — driven entirely by a dispatch's outcome field */
.status-strip {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin: 28px 0 0; padding: 14px 18px; border: 1px solid var(--line);
  border-radius: 12px; background: var(--surface); text-decoration: none;
  color: var(--ink); transition: border-color .15s ease, box-shadow .15s ease;
}
.status-strip:hover { border-color: #d3d6cf; box-shadow: 0 6px 18px rgba(25,35,30,.06); }
.status-strip__text { font: 500 14.5px/1.4 var(--sans); color: var(--body); }
.status-strip__more { margin-left: auto; font: 600 12px var(--mono); letter-spacing: .04em; color: var(--accent); white-space: nowrap; }

/* full-analysis disclosure */
.aa-full { margin: 30px 0 4px; border-top: 1px solid var(--line); padding-top: 18px; }
.aa-full > summary {
  cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 8px;
  font: 600 13px var(--mono); letter-spacing: .04em; text-transform: uppercase; color: var(--accent);
}
.aa-full > summary::-webkit-details-marker { display: none; }
.aa-full > summary::before { content: "▸"; font-size: 11px; }
.aa-full[open] > summary::before { content: "▾"; }
.aa-full > summary:hover { color: #17654e; }
.aa-full .aa-prose { margin-top: 8px; }

/* sources */
.aa-refs-note { font: 400 13px var(--sans); color: var(--muted-3); margin: 0 0 16px; }
.aa-refs { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.aa-refs li { display: flex; gap: 13px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.aa-refs li:last-child { border-bottom: none; }
.aa-refs__n { font: 600 12px var(--mono); color: var(--accent); flex-shrink: 0; width: 22px; }
.aa-refs__txt { font: 400 14px/1.55 var(--sans); color: var(--body); }
.aa-refs__txt a { color: var(--accent); word-break: break-word; }
.aa-refs__txt .src-note { color: var(--muted-3); }

/* sidebar */
.aa-side { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 18px; }
.aa-side__card { background: var(--card); border: 1px solid var(--line-card); border-radius: 14px; padding: 20px; }
.aa-side__label { font: 600 11px var(--mono); letter-spacing: .1em; color: var(--muted-2); text-transform: uppercase; margin-bottom: 14px; }
.aa-side__accent { background: var(--accent); color: #fff; border-radius: 14px; padding: 20px; }
.aa-side__accent .aa-side__label { color: rgba(255,255,255,.78); margin-bottom: 12px; }
.aa-side__accent p { font: 400 13.5px/1.65 var(--sans); color: rgba(255,255,255,.92); margin: 0; }
.aa-side__plain { border: 1px solid var(--line); border-radius: 14px; padding: 20px; }
.aa-side__stage { display: flex; align-items: center; gap: 9px; font: 500 14px var(--sans); color: var(--body); }
.aa-side__stage .dot { width: 9px; height: 9px; border-radius: 50%; background: var(--accent); }
.aa-side__plain p { font: 400 12.5px/1.55 var(--sans); color: var(--muted-3); margin: 9px 0 0; }
.aa-side__tags { display: flex; flex-wrap: wrap; gap: 7px; }
.aa-side__tags span { display: inline-flex; padding: 6px 11px; border-radius: 999px; background: var(--chip-bg); color: var(--muted); font: 500 12.5px var(--sans); }

/* ---------- sourcing / generic prose page ---------- */
.aa-doc { padding: 40px 0 24px; }
.aa-doc h1 { font: 600 42px/1.08 var(--serif); color: var(--ink); letter-spacing: -.02em; margin: 0 0 10px; }
.aa-doc .aa-artlede { margin-top: 0; }
.aa-doc h2 { font: 600 24px var(--serif); color: var(--ink); margin: 36px 0 10px; }
.aa-doc p { font: 400 16px/1.7 var(--sans); color: var(--body); margin: 0 0 14px; max-width: 660px; }

/* ---------- responsive ---------- */
/* homepage: collapse hero to one column, library to one column */
@media (max-width: 900px) {
  .home-hero { grid-template-columns: 1fr; gap: 34px; padding: 56px 0 24px; }
  .aa-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .wrap, .home-wrap { padding: 0 22px; }
  /* two-word wordmark: let the nav wrap under the brand instead of colliding */
  .aa-header { padding: 16px 22px; flex-wrap: wrap; gap: 10px 16px; }
  .aa-nav { gap: 10px 16px; flex-wrap: wrap; }
  .aa-hero { padding: 48px 0 4px; }
  .aa-h1 { font-size: 40px; }
  .aa-arthead h1 { font-size: 34px; }
  .aa-lede, .aa-artlede { font-size: 17px; }
  .aa-page-grid { grid-template-columns: 1fr; gap: 12px; }
  .aa-side { position: static; }
  .aa-search { flex-wrap: wrap; }
}

/* ---------- account / auth + legal ---------- */
.aa-footer__links { font: 500 12.5px var(--sans); color: var(--muted-3); margin: 8px 0 0; }
.aa-footer__links a { color: var(--muted-2); text-decoration: none; }
.aa-footer__links a:hover { color: var(--accent); }

.auth-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 20px; margin: 8px 0 40px; }
.auth-card { background: var(--card); border: 1px solid var(--line-card); border-radius: 16px; padding: 26px 26px 24px; }
.auth-card__title { font: 600 20px var(--serif); color: var(--ink); margin: 0 0 16px; }
.auth-field { display: block; margin: 0 0 16px; }
.auth-field span { display: block; font: 600 12px var(--mono); letter-spacing: .04em; text-transform: uppercase; color: var(--muted-2); margin-bottom: 6px; }
.auth-field input { width: 100%; box-sizing: border-box; border: 1px solid var(--line-input); border-radius: 9px; padding: 11px 13px; font: 400 15px var(--sans); color: var(--ink-2); background: var(--surface); }
.auth-check { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; font: 400 14px/1.55 var(--sans); color: var(--body); }
.auth-check input { margin-top: 3px; flex-shrink: 0; width: 16px; height: 16px; accent-color: var(--accent); }
.auth-check a { color: var(--accent); }
.auth-fine { font: 400 13px var(--sans); color: var(--muted-2); margin: 4px 0 16px; }
.auth-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.auth-google { border: 1px solid var(--line-input); background: var(--card); border-radius: 9px; padding: 11px 16px; font: 600 13px var(--sans); color: var(--ink-2); cursor: pointer; }
.auth-google:hover { border-color: var(--accent-soft); }
.auth-status { margin: 14px 0 0; font: 500 13.5px/1.5 var(--sans); padding: 10px 12px; border-radius: 8px; }
.auth-status[data-kind="warn"], .auth-status[data-kind="error"] { background: #fbeceb; color: #9a3b32; }
.auth-status[data-kind="ok"] { background: #dcefe6; color: #0f6b4f; }
.auth-status[data-kind="info"] { background: var(--chip-bg); color: var(--muted); }
.auth-links { list-style: none; padding: 0; margin: 0 0 18px; }
.auth-links li { padding: 8px 0; border-bottom: 1px solid var(--line-hair); }
.auth-links a { color: var(--accent); text-decoration: none; font: 500 15px var(--sans); }
.aa-linkbtn { border: none; background: none; color: var(--accent); font: 600 13px var(--sans); cursor: pointer; padding: 6px 0; }
.aa-linkbtn:hover { text-decoration: underline; }
.auth-danger { color: #9a3b32; }
.auth-inline { display: flex; gap: 10px; margin: 0 0 16px; }
.auth-inline input { flex: 1; border: 1px solid var(--line-input); border-radius: 9px; padding: 10px 12px; font: 400 15px var(--sans); background: var(--surface); }
.auth-saved-list { list-style: none; padding: 0; margin: 0; }
.aa-saved { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 2px; border-bottom: 1px solid var(--line-hair); }
.aa-saved a { color: var(--ink); text-decoration: none; font: 500 15px var(--serif); }
.aa-saved a:hover { color: var(--accent); }

.legal-list dt { font: 600 14px var(--sans); color: var(--ink); margin: 18px 0 4px; }
.legal-list dd { margin: 0; font: 400 15px/1.7 var(--sans); color: var(--body); max-width: 660px; }
.legal-terms { padding-left: 22px; }
.legal-terms li { font: 400 15px/1.7 var(--sans); color: var(--body); margin: 0 0 12px; max-width: 660px; }

/* =====================================================================
   Regulation education pillar (design_handoff_regulation_pillar/)
   Two semantic ramps: pine = legitimate path, amber = gray-market/caution.
   Grey = neutral (supplement "limited"). Color is reinforcement only —
   every node, lane, and row is also labeled in text.
   ===================================================================== */

/* ---- Regulation Explainer ---- */
.reg-hero { padding: 70px 0 6px; max-width: 760px; }
.reg-hero__h1 { font: 600 56px/1.05 var(--serif); color: var(--ink-strong); letter-spacing: -.025em; margin: 0; }
.reg-hero__lede { font: 400 20px/1.55 var(--sans); color: var(--body); margin: 22px 0 0; }

.reg-fourq-sec { padding: 40px 0 10px; }
.reg-fourq__intro { font: 500 13px/1.6 var(--sans); color: var(--blurb); margin: 0 0 16px; max-width: 640px; }
.reg-fourq__intro strong { color: var(--ink); }
.reg-fourq { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.reg-q { background: var(--card); border: 1px solid var(--line-card); border-radius: 14px; padding: 18px 18px 16px; }
.reg-q__label { font: 600 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted-3); }
.reg-q__title { font: 600 20px var(--serif); color: var(--ink-strong); margin: 8px 0 6px; }
.reg-q__desc { font: 400 13px/1.55 var(--sans); color: var(--blurb); margin: 0; }
.reg-fourq__outro { font: 400 13.5px/1.6 var(--sans); color: var(--muted-2); margin: 16px 0 0; max-width: 640px; }

.reg-diagram-sec { padding: 34px 0 8px; }
.reg-diagram { background: var(--surface); border: 1px solid var(--line); border-radius: 20px; padding: 30px 30px 26px; }
.reg-diagram__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; }
.reg-diagram__eyebrow { font: 500 11px var(--mono); letter-spacing: .12em; color: var(--muted-2); text-transform: uppercase; margin: 0 0 7px; }
.reg-diagram__h2 { font: 600 27px var(--serif); color: var(--ink-strong); margin: 0; letter-spacing: -.01em; }
.reg-legend { display: flex; flex-direction: column; gap: 8px; padding-top: 4px; }
.reg-legend__item { display: inline-flex; align-items: center; gap: 8px; font: 500 12.5px var(--sans); color: #4a544e; }
.reg-legend__bar { width: 22px; height: 8px; border-radius: 4px; display: block; }
.reg-legend__bar--pine { background: #1c7a5e; }
.reg-legend__bar--amber { background: #d69a34; }

.reg-entry { display: flex; flex-direction: column; align-items: center; margin-bottom: 6px; }
.reg-entry__pill { display: inline-flex; align-items: center; gap: 8px; background: var(--card); border: 1px solid #dcdfd8; border-radius: 999px; padding: 9px 18px; font: 500 13px var(--sans); color: #3f4945; box-shadow: 0 1px 2px rgba(0,0,0,.04); text-align: center; }
.reg-entry__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--muted-3); flex-shrink: 0; }
.reg-entry__line { width: 1px; height: 20px; background: #d3d6cf; display: block; }

.reg-lanes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; align-items: stretch; }
.reg-lane { display: flex; flex-direction: column; background: var(--card); border: 1px solid #d7e4dd; border-radius: 14px; overflow: hidden; }
.reg-lane--grey { border-color: #dcdfd8; }
.reg-lane--amber { background: #fdf8ef; border-color: #ecd9b0; }
.reg-lane__bar { height: 5px; }
.reg-lane__bar--pine { background: #1c7a5e; }
.reg-lane__bar--grad { background: linear-gradient(90deg, #1c7a5e, #d69a34); }
.reg-lane__bar--amber { background: #d69a34; }
.reg-lane__body { padding: 16px 16px 18px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.reg-lane__tag { display: inline-block; font: 600 9.5px var(--mono); letter-spacing: .08em; text-transform: uppercase; border-radius: 5px; padding: 4px 7px; }
.reg-lane__tag--green { color: #0f6b4f; background: #dcefe6; }
.reg-lane__tag--grey { color: #6b756e; background: #eaebe7; }
.reg-lane__tag--amber { color: #a9791f; background: #f4e6c6; }
.reg-lane__title { font: 600 18px var(--serif); color: var(--ink-strong); margin: 11px 0 0; }
.reg-lane__desc { font: 400 13px/1.55 var(--sans); color: var(--muted); margin: 0; }
.reg-lane__desc--amber { color: #7a6326; }
.reg-lane__callout { font: 400 12px/1.5 var(--sans); color: #9c7f3f; margin: 0; background: #f7edd4; border-radius: 8px; padding: 9px 11px; }
.reg-lane__foot { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line-hair); }
.reg-lane__foot--amberline { border-top-color: #eee0c2; }
.reg-lane__foot--pine { font: 500 12px/1.5 var(--sans); color: #0f6b4f; }
.reg-lane__foot--amber { font: 500 12px/1.5 var(--sans); color: #7a6326; }
.reg-lane__foot--amberbold { font: 600 12px/1.5 var(--sans); color: #a9791f; }
.reg-lane__eg { font: 500 11px var(--mono); color: var(--muted-3); margin-top: 6px; }
.reg-lane em { font-style: italic; }
.reg-lane strong { color: var(--ink); }

.reg-gate { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-direction: column; }
.reg-gate__step { display: flex; gap: 10px; align-items: flex-start; }
.reg-gate__step + .reg-gate__step { margin-top: 10px; position: relative; }
.reg-gate__step + .reg-gate__step::before { content: ""; position: absolute; left: 10px; top: -10px; width: 1px; height: 10px; background: #d3d6cf; }
.reg-gate__num { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; background: #eef3f0; border: 1px solid #cfe0d8; color: #1c7a5e; font: 600 10px var(--mono); display: flex; align-items: center; justify-content: center; }
.reg-gate__num--end { background: #1c7a5e; border-color: #1c7a5e; color: #fff; }
.reg-gate__text { font: 500 12px/1.4 var(--sans); color: #3f4945; padding-top: 2px; }

.reg-overlay { display: flex; gap: 11px; align-items: flex-start; margin-top: 18px; padding: 13px 16px; background: var(--card); border: 1px dashed var(--line-input); border-radius: 12px; }
.reg-overlay__tag { font: 600 9.5px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); background: #eef0ea; border-radius: 5px; padding: 4px 7px; white-space: nowrap; flex-shrink: 0; }
.reg-overlay__text { font: 400 12.5px/1.55 var(--sans); color: var(--blurb); margin: 0; }
.reg-overlay__text strong { color: var(--ink); }
.reg-overlay__text em { font-style: italic; }

.reg-textalt { margin-top: 16px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; }
.reg-textalt > summary { cursor: pointer; list-style: none; padding: 13px 16px; font: 600 12px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.reg-textalt > summary::-webkit-details-marker { display: none; }
.reg-textalt__body { padding: 0 16px 16px; }
.reg-textalt__body p { font: 400 13px/1.65 var(--sans); color: #4a544e; margin: 0; }
.reg-textalt__body strong { color: var(--ink); }

.reg-myths-sec { padding: 52px 0 6px; }
.reg-myths__eyebrow { font: 500 12px var(--mono); letter-spacing: .12em; color: var(--accent); text-transform: uppercase; margin: 0 0 8px; }
.reg-myths__h2 { font: 600 30px var(--serif); color: var(--ink-strong); margin: 0 0 6px; letter-spacing: -.015em; }
.reg-myths__lede { font: 400 15px/1.6 var(--sans); color: var(--blurb); margin: 0 0 26px; max-width: 620px; }
.reg-myths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.reg-myth { background: var(--card); border: 1px solid var(--line-card); border-radius: 16px; padding: 22px 22px 20px; }
.reg-myth__tag { display: inline-block; font: 600 9.5px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: #a9791f; background: #f4e6c6; border-radius: 5px; padding: 4px 8px; }
.reg-myth__quote { font: 500 16px/1.5 var(--serif); color: #3f4945; margin: 14px 0 16px; }
.reg-myth__reality { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.reg-myth__check { width: 16px; height: 16px; border-radius: 50%; background: #dcefe6; color: #0f6b4f; font: 600 11px var(--sans); display: flex; align-items: center; justify-content: center; }
.reg-myth__label { font: 600 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; color: #0f6b4f; }
.reg-myth__body { font: 400 13.5px/1.6 var(--sans); color: var(--muted); margin: 0; }
.reg-myth__body em { font-style: italic; }

.reg-band-sec { padding: 50px 0 6px; }
.reg-band { background: #fdf8ef; border: 1px solid #ecd9b0; border-radius: 20px; padding: 30px 32px; }
.reg-band__eyebrow { font: 500 12px var(--mono); letter-spacing: .12em; color: #a9791f; text-transform: uppercase; margin: 0 0 10px; }
.reg-band__h2 { font: 600 28px/1.15 var(--serif); color: var(--ink-strong); margin: 0 0 14px; letter-spacing: -.015em; max-width: 640px; }
.reg-band__body { font: 400 15.5px/1.65 var(--sans); color: #7a6326; margin: 0; max-width: 700px; }
.reg-band__body strong { color: #5c4a1c; }
.reg-band__link { display: inline-flex; align-items: center; gap: 7px; margin-top: 16px; font: 600 14px var(--sans); color: #a9791f; text-decoration: none; }
.reg-band__link:hover { color: #8a6320; }

.reg-cta-sec { padding: 44px 0 8px; }
.reg-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; background: var(--accent); border-radius: 20px; padding: 30px 32px; }
.reg-cta__text { max-width: 560px; }
.reg-cta__h2 { font: 600 26px var(--serif); color: #fff; margin: 0 0 8px; letter-spacing: -.01em; }
.reg-cta__lede { font: 400 14.5px/1.6 var(--sans); color: rgba(255,255,255,.88); margin: 0; }
.reg-cta__btn { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--accent); border-radius: 11px; padding: 14px 22px; font: 600 14px var(--sans); text-decoration: none; white-space: nowrap; }
.reg-cta__btn:hover { background: #f0efe9; }

/* ---- Status Map ---- */
.smap-head { padding: 58px 0 4px; max-width: 720px; }
.smap-head .aa-back { margin-bottom: 22px; }
.smap-head__h1 { font: 600 46px/1.06 var(--serif); color: var(--ink-strong); letter-spacing: -.02em; margin: 0; }
.smap-head__lede { font: 400 19px/1.55 var(--sans); color: var(--body); margin: 18px 0 0; }
.smap-head__lede em { font-style: italic; }

.smap-chips-sec { padding: 30px 0 0; }
.smap-chips { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.smap-chips__label { font: 500 13px var(--sans); color: var(--muted); margin-right: 2px; }
.smap-chip { display: inline-flex; align-items: center; padding: 8px 13px; border-radius: 999px; font: 500 13px/1 var(--sans); cursor: pointer; white-space: nowrap; transition: all .12s ease; background: var(--card); color: #3a443e; border: 1px solid var(--line-input); }
.smap-chip:hover { border-color: var(--accent-soft); }
.smap-chip.is-active { background: var(--accent); color: #fff; border-color: var(--accent); }
.smap-chip__count { opacity: .65; margin-left: 6px; font-family: var(--mono); }

.smap-groups { padding: 8px 0 24px; }
.smap-group { margin-top: 34px; }
.smap-group[hidden] { display: none; }
.smap-group__head { display: flex; align-items: flex-start; gap: 13px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.smap-group__dot { width: 11px; height: 11px; border-radius: 50%; display: block; flex-shrink: 0; margin-top: 6px; }
.smap-group__meta { flex: 1; min-width: 0; }
.smap-group__titlerow { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.smap-group__label { font: 600 21px var(--serif); color: var(--ink-2); margin: 0; letter-spacing: -.01em; }
.smap-group__tag { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 999px; font: 600 9.5px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; }
.smap-group__count { font: 500 12px var(--mono); color: var(--muted-4); }
.smap-group__desc { font: 400 13.5px/1.55 var(--sans); color: var(--muted-2); margin: 6px 0 0; max-width: 640px; }

.smap-rows { display: flex; flex-direction: column; }
.smap-row { display: flex; align-items: center; padding: 16px 4px; border-bottom: 1px solid var(--line-hair); text-decoration: none; color: var(--ink-2); transition: background .12s ease; border-radius: 8px; }
a.smap-row:hover { background: var(--surface); }
.smap-row:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.smap-row.is-nolink { opacity: .86; cursor: default; }
.smap-rowgrid { display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 18px; align-items: center; width: 100%; }
.smap-row__name { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; min-width: 0; }
.smap-row__bar { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex-shrink: 0; align-self: center; }
.smap-row__title { font: 600 16.5px var(--serif); color: var(--ink-2); letter-spacing: -.005em; }
.smap-row__abbr { font: 500 12px var(--mono); color: var(--muted-3); }
.smap-row__prov { font: 600 9px var(--mono); letter-spacing: .06em; text-transform: uppercase; color: #a9791f; background: #f4e6c6; border-radius: 4px; padding: 3px 6px; }
.smap-row__note { font: 400 13px/1.5 var(--sans); color: var(--blurb); min-width: 0; }
.smap-row__right { display: flex; align-items: center; gap: 12px; white-space: nowrap; justify-content: flex-end; }
.smap-row__wada { font: 600 9.5px var(--mono); letter-spacing: .05em; text-transform: uppercase; color: var(--muted); background: #eef0ea; border-radius: 5px; padding: 4px 8px; }
.smap-row__link { font: 500 12.5px var(--sans); color: var(--accent); display: inline-flex; align-items: center; gap: 5px; }
.smap-row.is-nolink .smap-row__link { color: var(--muted-3); }

.smap-dot--green, .smap-bar--green { background: #1c7a5e; }
.smap-dot--amber, .smap-bar--amber { background: #d69a34; }
.smap-dot--grey, .smap-bar--grey { background: #b3bbb2; }
.smap-tag--green { background: #dcefe6; color: #0f6b4f; }
.smap-tag--amber { background: #f4e6c6; color: #a9791f; }
.smap-tag--grey { background: #eaebe7; color: #7a847d; }

.smap-empty { border: 1px dashed #d6d4cc; border-radius: 16px; padding: 48px 24px; text-align: center; background: var(--surface); margin-top: 30px; }
.smap-empty[hidden] { display: none; }
.smap-empty__title { font: 600 21px var(--serif); color: #3a443e; margin: 0 0 6px; }
.smap-empty__btn { border: 1px solid var(--accent); background: none; border-radius: 9px; padding: 10px 18px; font: 600 13px var(--sans); color: var(--accent); cursor: pointer; margin-top: 8px; }

.smap-honest-sec { padding: 6px 0 20px; }

/* ---- Gray Market (prose column) ---- */
.gm-wrap { max-width: 820px; }
.gm-wrap .aa-back { margin-top: 34px; }
.gm-head { padding: 22px 0 0; }
.gm-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px; font: 600 10.5px var(--mono); letter-spacing: .05em; text-transform: uppercase; background: #f4e6c6; color: #a9791f; }
.gm-pill__dot { width: 6px; height: 6px; border-radius: 50%; background: #d69a34; }
.gm-head__h1 { font: 600 44px/1.08 var(--serif); color: var(--ink-strong); letter-spacing: -.02em; margin: 20px 0 0; }
.gm-head__lede { font: 400 19px/1.6 var(--sans); color: var(--body); margin: 18px 0 0; }

.gm-frame-sec { padding: 34px 0 0; }
.gm-frame__eyebrow { font: 500 11px var(--mono); letter-spacing: .12em; color: var(--muted-2); text-transform: uppercase; margin: 0 0 14px; }
.gm-frame { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.gm-cell { background: var(--surface); padding: 20px 18px; }
.gm-cell--amber { background: #fdf8ef; }
.gm-cell__term { font: 600 19px var(--serif); color: #3f4945; }
.gm-cell__term--pine { color: #0f6b4f; }
.gm-cell__term--amber { color: #a9791f; }
.gm-cell__desc { font: 400 12.5px/1.55 var(--sans); color: var(--blurb); margin: 8px 0 0; }
.gm-cell__desc--amber { color: #7a6326; }
.gm-frame__outro { font: 400 13.5px/1.6 var(--sans); color: var(--muted-2); margin: 14px 0 0; }
.gm-frame__outro strong { color: #3f4945; }

.gm-sec { padding: 40px 0 0; }
.gm-h2 { font: 600 27px var(--serif); color: var(--ink-strong); margin: 0 0 14px; letter-spacing: -.01em; }
.gm-p { font: 400 16px/1.7 var(--sans); color: #3f4945; margin: 0; }
.gm-p strong { color: var(--ink); }
.gm-p em { font-style: italic; }
.gm-p--close { color: var(--blurb); margin-top: 22px; }
.gm-sec .aa-provisional { margin-top: 18px; }

.gm-cards { display: flex; flex-direction: column; gap: 12px; margin-top: 20px; }
.gm-card { display: flex; gap: 15px; background: var(--card); border: 1px solid var(--line-card); border-radius: 14px; padding: 18px 20px; }
.gm-card__num { font: 600 12px var(--mono); color: var(--accent); flex-shrink: 0; width: 24px; padding-top: 2px; }
.gm-card__title { font: 600 16px var(--serif); color: var(--ink-strong); margin-bottom: 5px; }
.gm-card__body { font: 400 14px/1.6 var(--sans); color: var(--muted); margin: 0; }

.gm-srcnote { font: 400 13px var(--sans); color: var(--muted-3); margin: -6px 0 18px; }
.gm-src { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 14px; }
.gm-src__item { display: flex; gap: 15px; padding-bottom: 14px; border-bottom: 1px solid var(--line); scroll-margin-top: 96px; }
.gm-src__item:last-child { border-bottom: none; padding-bottom: 0; }
.gm-src__idx { font: 600 12px var(--mono); color: var(--accent); flex-shrink: 0; width: 24px; }
.gm-src__link { font: 500 14.5px/1.5 var(--sans); color: #22312b; text-decoration: none; border-bottom: 1px solid #cdd6cf; }
.gm-src__link:hover { color: var(--accent); }
.gm-src__cap { font: 500 11.5px var(--mono); color: var(--muted-3); margin-top: 6px; }

.gm-back-sec { padding: 40px 0 8px; }
.gm-back { display: inline-flex; align-items: center; gap: 8px; font: 600 14px var(--sans); color: var(--accent); text-decoration: none; }
.gm-back:hover { color: #17654e; }

/* ---- Regulation pillar: responsive ---- */
@media (max-width: 900px) {
  .reg-fourq { grid-template-columns: 1fr 1fr; }
  .reg-lanes { grid-template-columns: 1fr; }
  .reg-myths { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .reg-hero__h1 { font-size: 40px; }
  .gm-head__h1 { font-size: 34px; }
  .smap-head__h1 { font-size: 34px; }
  .gm-frame { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .smap-rowgrid { grid-template-columns: 1fr; gap: 8px; }
  .smap-rowgrid .smap-hidesm { display: none; }
  .smap-row__right { justify-content: flex-start; }
}
@media (max-width: 560px) {
  .reg-fourq { grid-template-columns: 1fr; }
}

/* =====================================================================
   PROVEN PANEL — rebrand chrome + supplements pillar
   (design_handoff_verdict_supplements/ + brand revision 2026-07-11).
   Evolution of the AminoAtlas system: same tokens/components, Proven
   Panel wordmark + "PP" seal + the five verdict chips (editorial format).
   ===================================================================== */

/* ---- brand seal + rebranded header/trust bar ---- */
.v-seal {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 7px; background: var(--accent-strong);
  /* two-letter "PP" seal: smaller face + tight tracking to sit in the 28px box */
  color: #fff; font: 700 12px var(--serif); letter-spacing: -.02em; flex-shrink: 0;
}
.aa-nav a.is-current { color: var(--ink-2); font-weight: 600; }
.aa-nav a.aa-nav__signin {
  color: var(--accent-strong); border: 1px solid var(--accent-soft);
  border-radius: 8px; padding: 8px 15px;
}
.aa-nav a.aa-nav__signin:hover { border-color: var(--accent-strong); color: var(--accent-strong); }

.v-trustbar {
  display: flex; align-items: center; justify-content: center; gap: 22px;
  flex-wrap: wrap; padding: 11px 20px; background: var(--accent-strong); color: #eaf5ef;
}
.v-trustbar span { font: 500 12.5px var(--mono); letter-spacing: .02em; }
.v-trustbar .v-trustbar__sep { opacity: .5; }

/* ---- the five verdict chips (label first; dot = redundant cue) ---- */
.vchip {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 13px 6px 10px; border-radius: 999px;
  font: 600 11.5px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase;
  white-space: nowrap; background: #eceae3; color: var(--muted);
}
.vchip__dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; background: var(--muted-3); }
.vchip--worth-it { background: #dcefe6; color: #0f6b4f; }
.vchip--worth-it .vchip__dot { background: #1c7a5e; }
.vchip--worth-it-for-some { background: #d7eceb; color: #0d5f58; }
.vchip--worth-it-for-some .vchip__dot { background: #1c8079; }
.vchip--oversold { background: #f7edd4; color: #836218; }  /* darkened from #8a6a1f for WCAG AA (4.8:1) */
.vchip--oversold .vchip__dot { background: #c79a2e; }
.vchip--skip { background: #f5e3df; color: #9a3b2e; }
.vchip--skip .vchip__dot { background: #b3503f; }
.vchip--unsettled { background: #eceae3; color: #56605a; }
.vchip--unsettled .vchip__dot { background: #9aa39c; }

/* stackable safety-flag modifier — never replaces the verdict */
.vflag {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 12px 6px 10px; border-radius: 999px;
  background: #f5e3df; color: #9a3b2e;
  font: 600 11px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase;
}

/* verdict color helpers (card top bars + related-list dots) */
.vbar { height: 4px; width: 100%; background: var(--muted-3); }
.vbar--worth-it { background: #1c7a5e; }
.vbar--worth-it-for-some { background: #1c8079; }
.vbar--oversold { background: #c79a2e; }
.vbar--skip { background: #b3503f; }
.vbar--unsettled { background: #9aa39c; }
.vdot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; flex-shrink: 0; background: var(--muted-3); }
.vdot--worth-it { background: #1c7a5e; }
.vdot--worth-it-for-some { background: #1c8079; }
.vdot--oversold { background: #c79a2e; }
.vdot--skip { background: #b3503f; }
.vdot--unsettled { background: #9aa39c; }

/* ---- umbrella homepage (Screen 01) ---- */
.v-home { max-width: var(--wrap-wide); margin: 0 auto; padding: 0 40px; width: 100%; }
.v-hero { text-align: center; padding: 60px 0 30px; }
.v-hero__eyebrow { font: 500 12px var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--accent); margin: 0 0 22px; }
.v-hero__h1 { font: 600 58px/1.04 var(--serif); color: var(--ink-strong); letter-spacing: -.025em; margin: 0 auto; max-width: 780px; }
.v-hero__lede { font: 400 20px/1.55 var(--sans); color: var(--body); max-width: 620px; margin: 24px auto 0; }

.v-pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 18px 0 8px; }
.v-pillar {
  display: block; background: var(--card); border: 1px solid #e2e4de; border-radius: 16px;
  padding: 30px 30px 26px; text-decoration: none; color: var(--ink-2);
  box-shadow: 0 4px 18px rgba(24,40,32,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.v-pillar:hover { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(24,40,32,.13); border-color: #cfd6d0; }
.v-pillar__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.v-pillar__eyebrow { font: 500 11px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--muted-3); }
.v-pillar__count { font: 600 12px var(--mono); color: var(--accent); }
.v-pillar__h2 { font: 600 30px var(--serif); color: var(--ink-strong); margin: 0; letter-spacing: -.01em; }
.v-pillar__desc { font: 400 15.5px/1.6 var(--sans); color: var(--blurb); margin: 12px 0 0; }
.v-pillar__tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 0; }
.v-pillar__tags span { display: inline-flex; padding: 5px 10px; border-radius: 999px; background: #eef0ea; color: #616c64; font: 500 12px var(--sans); }
.v-pillar__go { display: flex; align-items: center; gap: 6px; margin-top: 22px; font: 600 14px var(--sans); color: var(--accent-strong); }
.v-pillar--dark { background: var(--ink-panel, #1a2620); border-color: #1a2620; color: #eef1ee; box-shadow: 0 4px 18px rgba(24,40,32,.10); }
.v-pillar--dark .v-pillar__eyebrow { color: #8fb3a3; }
.v-pillar--dark .v-pillar__count { color: #7fd3ad; }
.v-pillar--dark .v-pillar__h2 { color: #fff; }
.v-pillar--dark .v-pillar__desc { color: #b8c5be; }
.v-pillar--dark .v-pillar__tags span { background: rgba(255,255,255,.08); color: #cdd8d1; }
.v-pillar--dark .v-pillar__go { color: #7fd3ad; }

.v-fresh { padding: 44px 0 20px; }
.v-fresh__head { display: flex; align-items: baseline; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.v-fresh__title { display: flex; align-items: center; gap: 11px; }
.v-fresh__title h2 { font: 600 24px var(--serif); color: var(--ink); margin: 0; }
.v-fresh__pulse { width: 8px; height: 8px; border-radius: 50%; background: #c79a2e; box-shadow: 0 0 0 4px #f7edd4; }
.v-fresh__all { font: 500 13px var(--sans); color: var(--accent-strong); text-decoration: none; }
.v-fresh__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.v-fresh__card { display: block; background: var(--surface); border: 1px solid var(--line-card); border-radius: 12px; padding: 18px 20px; text-decoration: none; color: var(--ink-2); transition: border-color .15s ease, box-shadow .15s ease; }
.v-fresh__card:hover { border-color: #d3d6cf; box-shadow: 0 6px 18px rgba(25,35,30,.06); }
.v-fresh__meta { display: flex; align-items: center; gap: 9px; margin-bottom: 9px; }
.v-fresh__date { font: 500 11.5px var(--mono); color: var(--muted-3); }
.v-fresh__h { font: 600 15.5px/1.45 var(--serif); color: var(--ink); margin: 0; }
.v-fresh__blurb { font: 400 13px/1.55 var(--sans); color: var(--blurb); margin: 8px 0 0; }
.v-kind { font: 600 10px var(--mono); letter-spacing: .06em; text-transform: uppercase; border-radius: 5px; padding: 3px 7px; }
.v-kind--dispatch { color: #836218; background: #f7edd4; }  /* AA (4.8:1) */
.v-kind--watchlist { color: #5f6b64; background: #eceae3; }
.v-kind--claim-check { color: #0f6b4f; background: #dcefe6; }
.v-kind--regulation { color: #5b6f3a; background: #eaf0e3; }

/* ---- supplements hub (Screen 02) ---- */
.v-hubhead { padding: 46px 0 0; }
.v-hubhead__eyebrow { font: 500 12px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--accent); margin: 0 0 14px; }
.v-hubhead__h1 { font: 600 44px/1.06 var(--serif); color: var(--ink-strong); letter-spacing: -.02em; margin: 0; max-width: 720px; }
.v-hubhead__lede { font: 400 17px/1.6 var(--sans); color: var(--body); max-width: 640px; margin: 16px 0 0; }
.v-hubhead__lede a { color: var(--accent-strong); text-decoration: none; border-bottom: 1px solid var(--accent-soft); }

.v-filters { margin: 30px 0 0; padding: 18px 20px; background: var(--surface); border: 1px solid var(--line-card); border-radius: 12px; }
.v-filter-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.v-filter-row + .v-filter-row { margin-top: 12px; }
.v-filter-row__label { font: 600 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--muted-2); width: 78px; }
.v-pill {
  cursor: pointer; padding: 7px 13px; border-radius: 999px;
  border: 1px solid var(--line-input); background: var(--card); color: #3a443e;
  font: 500 12.5px var(--sans); transition: all .12s ease;
}
.v-pill:hover { border-color: var(--accent-soft); }
.v-pill.is-active { border-color: var(--accent); background: var(--accent); color: #fff; font-weight: 600; }

.v-cards { padding: 22px 0 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.v-card {
  display: flex; flex-direction: column; background: var(--card);
  border: 1px solid var(--line-card); border-radius: 14px; overflow: hidden;
  text-decoration: none; color: var(--ink-2); box-shadow: 0 3px 14px rgba(24,40,32,.05);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
a.v-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(24,40,32,.11); border-color: #d0d6cf; }
.v-card[hidden] { display: none; }
.v-card__body { padding: 20px 22px 18px; }
.v-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.v-card__name { font: 600 23px var(--serif); color: var(--ink-strong); margin: 0; letter-spacing: -.01em; }
.v-card__name span { font: 500 13px var(--mono); color: var(--muted-3); }
.v-card__stance { font: 400 14.5px/1.6 var(--sans); color: var(--body); margin: 12px 0 0; }
.v-card__flag { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.v-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line-hair); }
.v-card__cat, .v-card__rev { font: 500 11.5px var(--mono); color: var(--muted-3); }
.v-hub-empty { padding: 40px 0; }
.v-hub-empty[hidden] { display: none; }
.v-hub-empty p { font: 400 15px var(--sans); color: var(--muted-2); }

/* ---- supplement article (Screen 03) ---- */
.v-arthero { padding: 0 0 4px; }
.v-arthero__chiprow { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.v-arthero__tag { font: 500 12px var(--mono); color: var(--muted-3); }
.v-arthero h1 { font: 600 50px/1.05 var(--serif); color: var(--ink-strong); letter-spacing: -.025em; margin: 18px 0 0; }
.v-verdict-oneliner { font: 500 22px/1.45 var(--serif); color: #2a352f; max-width: 780px; margin: 16px 0 0; }
.v-onepara { font: 400 16.5px/1.7 var(--sans); color: var(--body); max-width: 720px; margin: 14px 0 0; }
.v-byline { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 22px 0 0; }
.v-byline span { font: 500 13px var(--sans); color: var(--muted); }
.v-byline strong { color: #2a352f; }
.v-byline .v-byline__sep { color: #cfd3cc; }
.meta-val--vchip { display: inline-flex; }

.v-trustbanner { display: flex; gap: 13px; background: #f2f5ee; border: 1px solid #dbe6d5; border-radius: 14px; padding: 16px 20px; margin-top: 4px; }
.v-trustbanner__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); margin-top: 7px; flex-shrink: 0; }
.v-trustbanner p { font: 400 14px/1.6 var(--sans); color: #3f5347; margin: 0; }
.v-trustbanner em { color: #3f5347; font-style: italic; font-weight: 400; }
.v-trustbanner strong { color: #24422f; }

/* safety callout — must not read as fine print */
.v-safety { border-radius: 12px; padding: 20px 22px; margin: 12px 0 16px; }
.v-safety--ok { background: var(--surface); border: 1px solid #dbe6d5; border-left: 4px solid var(--accent); }
.v-safety--danger { background: #fbf1ef; border: 1px solid #e6c3bb; border-left: 4px solid #b3503f; padding: 22px 24px; }
.v-safety__head { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.v-safety__badge { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 6px; background: #b3503f; color: #fff; font: 700 13px var(--sans); flex-shrink: 0; }
.v-safety__label { font: 600 12px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.v-safety--ok .v-safety__label { color: var(--accent); }
.v-safety--danger .v-safety__label { color: #9a3b2e; }
.v-safety p { font: 400 15.5px/1.7 var(--sans); margin: 0 0 12px; }
.v-safety p:last-child { margin-bottom: 0; }
.v-safety--ok p { color: #3f4a44; }
.v-safety--danger p { color: #6e3025; }
.v-safety--ok strong { color: var(--ink); }
.v-safety--danger strong { color: #5a271e; }
.v-safety ul { margin: 0 0 12px; padding-left: 20px; }
.v-safety ul:last-child { margin-bottom: 0; }
.v-safety li { font: 400 14.5px/1.6 var(--sans); margin-bottom: 5px; }
.v-safety--danger li { color: #6e3025; }
.v-safety--ok li { color: #3f4a44; }
.v-safety--danger .aa-cite { background: #edcac2; color: #9a3b2e; }

/* sidebar: emphasized safety link + related supplements */
.side-nav a.side-nav__safety { font-weight: 600; color: var(--accent-strong); }
.side-nav a.side-nav__safety.is-flagged { color: #b3503f; }
.v-related { display: flex; flex-direction: column; gap: 11px; }
.v-related a { display: flex; align-items: center; justify-content: space-between; gap: 8px; text-decoration: none; }
.v-related a span:first-child { font: 500 14px var(--serif); color: #22312b; }
.v-related a:hover span:first-child { color: var(--accent); }

/* peptide-pillar desk sub-nav (regulation pages live under Peptides & Regulation) */
.v-desknav { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 44px 0 0; padding-bottom: 4px; }
.v-desknav a {
  font: 500 12.5px var(--sans); color: var(--muted); text-decoration: none;
  border: 1px solid var(--line-input); border-radius: 999px; padding: 7px 13px;
  transition: all .12s ease;
}
.v-desknav a:hover { border-color: var(--accent-soft); color: var(--accent-strong); }

/* ---- Verdict responsive ---- */
@media (max-width: 900px) {
  .v-pillars { grid-template-columns: 1fr; }
  .v-cards { grid-template-columns: 1fr; }
  .v-fresh__grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .v-home { padding: 0 22px; }
  .v-hero__h1 { font-size: 40px; }
  .v-arthero h1 { font-size: 34px; }
  .v-hubhead__h1 { font-size: 34px; }
  .v-verdict-oneliner { font-size: 19px; }
}

/* =====================================================================
   PROVEN PANEL REDESIGN — 2026-07 (design_handoff_provenpanel_redesign)
   Consumer-friendly, verdict-first. Desktop reference is 1440 / 1200 inner.
   Supersedes the earlier chrome for the four redesigned screens + guide page.
   ===================================================================== */

.pp-site { max-width: var(--wrap-site); margin: 0 auto; padding: 0 32px; width: 100%; }

/* ---- seal logo ---- */
.pp-seal {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%; background: var(--accent);
  flex-shrink: 0;
}
.pp-seal--sm { width: 28px; height: 28px; }
.pp-seal--sm svg { width: 15px; height: 15px; }

/* ---- header ---- */
.pp-header {
  background: var(--surface); border-bottom: 1px solid var(--line);
  position: sticky; top: 0; z-index: 20;
}
.pp-header__inner {
  max-width: var(--wrap-site); margin: 0 auto; padding: 0 32px; height: 72px;
  display: flex; align-items: center; gap: 32px;
}
.pp-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.pp-wordmark { font: 600 22px var(--serif); color: var(--ink); letter-spacing: -.005em; white-space: nowrap; }
.pp-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.pp-nav a { font: 500 14.5px var(--sans); color: var(--body); text-decoration: none; white-space: nowrap; }
.pp-nav a:hover { color: var(--accent); }
.pp-nav a.is-current { color: var(--ink); font-weight: 700; border-bottom: 2px solid var(--accent); padding-bottom: 2px; }
.pp-nav a.pp-nav__signin {
  background: var(--ink); color: var(--bg); padding: 9px 18px; border-radius: 99px;
  font-weight: 600; border: 0;
}
.pp-nav a.pp-nav__signin:hover { color: var(--bg); background: #423b32; border: 0; }

/* ---- footer ---- */
.pp-footer { background: var(--surface); border-top: 1px solid var(--line); margin-top: 64px; }
.pp-footer__inner {
  max-width: var(--wrap-site); margin: 0 auto; padding: 36px 32px;
  display: flex; gap: 48px; align-items: flex-start; flex-wrap: wrap;
}
.pp-footer__brand { display: flex; align-items: center; gap: 9px; flex: none; text-decoration: none; }
.pp-footer__wordmark { font: 600 18px var(--serif); color: var(--ink); }
.pp-footer__note { font: 400 12.5px/1.6 var(--sans); color: var(--muted); max-width: 640px; margin: 0; }
.pp-footer__links { margin: 0 0 0 auto; display: flex; gap: 20px; }
.pp-footer__links a { font: 500 13px var(--sans); color: var(--accent); text-decoration: none; }
.pp-footer__links a:hover { color: var(--accent-hover); }
/* slim interior footer variant */
.pp-footer__inner.pp-footer--slim { align-items: center; gap: 24px; padding: 28px 32px; }
.pp-footer__inner.pp-footer--slim .pp-footer__note { font-size: 12.5px; }

/* ---- shared bits ---- */
.pp-kicker { font: 500 12.5px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin: 0; }
.pp-searchbar {
  width: 100%; display: flex; align-items: center; gap: 10px;
  background: var(--surface); border: 1.5px solid var(--line-input); border-radius: 99px;
  padding: 8px 8px 8px 22px; box-shadow: 0 2px 10px rgba(41,37,32,0.05);
}
.pp-searchbar svg { flex: none; color: var(--muted); }
.pp-searchbar input {
  flex: 1; border: 0; outline: 0; background: transparent; min-width: 0;
  font: 400 16px var(--sans); color: var(--ink);
}
.pp-searchbar input::placeholder { color: var(--muted-3); }
.pp-searchbar__btn {
  flex: none; background: var(--accent); color: var(--bg); border: 0; cursor: pointer;
  font: 600 15px var(--sans); padding: 11px 24px; border-radius: 99px;
}
.pp-searchbar__btn:hover { background: var(--accent-hover); }

/* ---- verdict system (label-first badges, legend tiles, filter dots) ---- */
.pp-verdict {
  display: inline-flex; align-items: center; border-radius: 99px;
  font: 700 12.5px var(--sans); padding: 4px 12px; white-space: nowrap;
  background: #ECE8E0; color: #6E675C;
}
.pp-verdict--worth-it { background: #DFEEE3; color: #22603F; }
.pp-verdict--worth-it-for-some { background: #F3EAD3; color: #7A5D14; }
.pp-verdict--unsettled { background: #ECE8E0; color: #6E675C; }
.pp-verdict--oversold { background: #F8E4D8; color: #A34A1C; }
.pp-verdict--skip { background: #F8DEDA; color: #A03227; }
.pp-verdict--lg { font-size: 14px; padding: 7px 18px; }

.pp-vdot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; flex: none; background: #9B948A; }
.pp-vdot--worth-it { background: #22603F; }
.pp-vdot--worth-it-for-some { background: #7A5D14; }
.pp-vdot--unsettled { background: #6E675C; }
.pp-vdot--oversold { background: #A34A1C; }
.pp-vdot--skip { background: #A03227; }

.pp-flag {
  display: inline-flex; align-items: center; gap: 4px; border-radius: 99px;
  font: 700 11px var(--sans); padding: 3px 9px; white-space: nowrap;
  background: #F8DEDA; color: #A03227;
}

/* ============ 1d — HOMEPAGE ============ */
.pp-hero {
  max-width: 860px; margin: 0 auto; padding: 72px 32px 48px; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 22px;
}
.pp-hero__h1 {
  font: 600 62px/1.05 var(--serif); color: var(--ink); letter-spacing: -.01em;
  margin: 0; text-wrap: balance;
}
.pp-hero__lede { font: 400 18px/1.55 var(--sans); color: var(--lede); margin: 0; max-width: 620px; text-wrap: pretty; }
.pp-hero .pp-searchbar { max-width: 620px; }
.pp-trustchips { display: flex; gap: 22px; flex-wrap: wrap; justify-content: center; margin-top: 4px; }
.pp-trustchips li { display: flex; align-items: center; gap: 7px; font: 500 13.5px var(--sans); color: var(--body); list-style: none; }
.pp-trustchips svg { flex: none; }
.pp-trustchips { padding: 0; margin: 4px 0 0; }

.pp-legend {
  max-width: var(--wrap-site); margin: 0 auto; padding: 0 32px 56px;
}
.pp-legend__card {
  background: var(--surface); border: 1px solid var(--line); border-radius: 16px;
  padding: 24px 28px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
}
.pp-legend__intro { width: 220px; }
.pp-legend__intro h2 { font: 600 20px var(--serif); color: var(--ink); margin: 0; }
.pp-legend__intro p { font: 400 13px var(--sans); color: var(--muted); margin: 4px 0 0; }
.pp-legend__tiles { display: flex; gap: 10px; flex-wrap: wrap; flex: 1; }
.pp-legend__tile { display: flex; flex-direction: column; gap: 3px; padding: 10px 16px; border-radius: 12px; min-width: 150px; }
.pp-legend__tile b { font: 700 13.5px var(--sans); }
.pp-legend__tile span { font: 400 12px var(--sans); opacity: .85; }

.pp-pillars {
  max-width: var(--wrap-site); margin: 0 auto; padding: 0 32px 56px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
}
.pp-pillar {
  display: block; background: var(--surface); border: 1px solid var(--line);
  border-radius: 16px; padding: 32px; text-decoration: none; color: inherit;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.pp-pillar:hover { border-color: var(--accent); transform: translateY(-2px); box-shadow: 0 16px 40px rgba(41,37,32,.10); }
.pp-pillar__kicker { font: 500 11.5px var(--mono); letter-spacing: .09em; text-transform: uppercase; color: var(--accent); margin: 0 0 12px; }
.pp-pillar__h2 { font: 600 30px var(--serif); color: var(--ink); margin: 0 0 10px; }
.pp-pillar__desc { font: 400 15px/1.55 var(--sans); color: var(--lede); margin: 0 0 18px; }
.pp-pillar__tags { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; padding: 0; }
.pp-pillar__tags span { font: 600 12.5px var(--sans); background: var(--chip-bg); color: var(--lede); padding: 5px 12px; border-radius: 99px; }
.pp-pillar__go { font: 600 15px var(--sans); color: var(--accent); }
.pp-pillar--dark { background: var(--ink-panel); border-color: var(--ink-panel); color: #F0EDE6; }
.pp-pillar--dark:hover { border-color: var(--ink-panel-accent); }
.pp-pillar--dark .pp-pillar__kicker { color: var(--ink-panel-accent); }
.pp-pillar--dark .pp-pillar__h2 { color: var(--bg); }
.pp-pillar--dark .pp-pillar__desc { color: #C9C3B8; }
.pp-pillar--dark .pp-pillar__tags span { background: rgba(251,248,242,0.12); color: #E4DFD5; }
.pp-pillar--dark .pp-pillar__go { color: var(--ink-panel-accent); }

.pp-fresh { max-width: var(--wrap-site); margin: 0 auto; padding: 0 32px 64px; }
.pp-fresh__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 18px; }
.pp-fresh__head h2 { font: 600 26px var(--serif); color: var(--ink); margin: 0; }
.pp-fresh__all { font: 600 14px var(--sans); color: var(--accent); text-decoration: none; }
.pp-fresh__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pp-fresh__card {
  display: flex; flex-direction: column; gap: 8px; background: var(--surface);
  border: 1px solid var(--line); border-radius: 14px; padding: 20px 24px;
  text-decoration: none; color: inherit; transition: border-color .15s ease;
}
.pp-fresh__card:hover { border-color: var(--accent); }
.pp-fresh__meta { display: flex; align-items: center; gap: 10px; }
.pp-fresh__tag { font: 700 11.5px var(--sans); letter-spacing: .05em; text-transform: uppercase; padding: 3px 10px; border-radius: 99px; }
.pp-fresh__tag--regulation { color: #7A5D14; background: #F3EAD3; }
.pp-fresh__tag--fact-check, .pp-fresh__tag--claim-check { color: #2F6B52; background: #EAF2ED; }
.pp-fresh__tag--dispatch { color: #7A5D14; background: #F3EAD3; }
.pp-fresh__date { font: 400 12.5px var(--sans); color: var(--muted-3); }
.pp-fresh__h { font: 600 19px/1.3 var(--serif); color: var(--ink); margin: 0; }
.pp-fresh__sub { font: 400 13.5px/1.5 var(--sans); color: var(--muted); margin: 0; }

/* ============ 1e — SUPPLEMENTS LANDING ============ */
.pp-pagehead { max-width: var(--wrap-site); margin: 0 auto; padding: 56px 32px 24px; }
.pp-pagehead__h1 { font: 600 46px/1.05 var(--serif); color: var(--ink); letter-spacing: -.01em; margin: 0 0 12px; }
.pp-pagehead__lede { font: 400 17px/1.55 var(--sans); color: var(--lede); margin: 0; max-width: 640px; }
.pp-pagehead__lede a { font-weight: 600; }

.pp-filters { max-width: var(--wrap-site); margin: 0 auto; padding: 12px 32px 28px; display: flex; flex-direction: column; gap: 12px; }
.pp-filter-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pp-filter-row__label { font: 700 12.5px var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--muted); width: 76px; }
.pp-pill {
  display: inline-flex; align-items: center; gap: 7px; cursor: pointer;
  font: 600 13.5px var(--sans); background: var(--surface); border: 1px solid var(--line);
  color: var(--body); padding: 7px 16px; border-radius: 99px; text-decoration: none;
  transition: border-color .12s ease, background .12s ease, color .12s ease;
}
.pp-pill:hover { border-color: var(--accent-soft); color: var(--body); }
.pp-pill .pp-vdot { width: 9px; height: 9px; }
.pp-pill.is-active { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.pp-pill.is-active .pp-vdot { display: none; }

.pp-grid-wrap { max-width: var(--wrap-site); margin: 0 auto; padding: 0 32px 64px; }
.pp-count { font: 400 13px var(--sans); color: var(--muted-3); margin: 0 0 14px; }
.pp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pp-card {
  display: flex; flex-direction: column; gap: 10px; background: var(--surface);
  border: 1px solid var(--line); border-radius: 14px; padding: 22px 24px;
  text-decoration: none; color: inherit; transition: border-color .15s ease, transform .15s ease;
}
.pp-card:hover { border-color: var(--accent); transform: translateY(-2px); }
.pp-card[hidden] { display: none; }
.pp-card__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pp-card__name { font: 600 21px var(--serif); color: var(--ink); margin: 0; }
.pp-card__name span { font: 500 13px var(--mono); color: var(--muted-3); }
.pp-card__blurb { font: 400 13.5px/1.5 var(--sans); color: var(--lede); margin: 0; }
.pp-card__foot {
  margin-top: auto; padding-top: 8px; font: 400 12px var(--sans); color: var(--muted-3);
  display: flex; gap: 6px; align-items: center; flex-wrap: wrap;
}
.pp-empty { padding: 48px 0; text-align: center; }
.pp-empty[hidden] { display: none; }
.pp-empty p { font: 400 15px var(--sans); color: var(--muted-2); }

/* ============ 1f — PEPTIDE DESK ============ */
.pp-ticker { background: #F3EAD3; border-bottom: 1px solid #E7DCBF; }
.pp-ticker__inner {
  max-width: var(--wrap-site); margin: 0 auto; padding: 12px 32px;
  display: flex; align-items: center; gap: 12px; font: 400 13.5px var(--sans);
}
.pp-ticker__pill { font: 700 11.5px var(--sans); letter-spacing: .05em; text-transform: uppercase; color: #7A5D14; background: rgba(122,93,20,0.12); padding: 3px 10px; border-radius: 99px; white-space: nowrap; }
.pp-ticker__text { color: var(--lede); }
.pp-ticker__more { font-weight: 600; margin-left: auto; white-space: nowrap; }

.pp-hero--desk { max-width: 860px; padding: 60px 32px 40px; }
.pp-hero--desk .pp-hero__h1 { font-size: 52px; }
.pp-hero--desk .pp-hero__lede { max-width: 560px; font-size: 17px; }
.pp-hero--desk .pp-searchbar { max-width: 580px; }
.pp-areachips { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; padding: 0; margin: 0; }
.pp-areachips button, .pp-areachips a {
  font: 600 13px var(--sans); background: var(--surface); border: 1px solid var(--line);
  color: var(--body); padding: 6px 14px; border-radius: 99px; cursor: pointer; text-decoration: none;
  transition: border-color .12s ease;
}
.pp-areachips button:hover, .pp-areachips a:hover { border-color: var(--accent-soft); }
.pp-areachips button.is-active { background: var(--accent); color: var(--bg); border-color: var(--accent); }

.pp-deskfeat {
  max-width: var(--wrap-site); margin: 0 auto; padding: 8px 32px 48px;
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; align-items: stretch;
}
.pp-featcard {
  display: flex; flex-direction: column; gap: 12px; background: var(--ink-panel);
  border-radius: 16px; padding: 30px 32px; color: #F0EDE6; text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}
.pp-featcard:hover { transform: translateY(-2px); box-shadow: 0 16px 40px rgba(41,37,32,.16); }
.pp-featcard__top { display: flex; align-items: center; gap: 10px; }
.pp-featcard__label { font: 700 11.5px var(--sans); letter-spacing: .05em; text-transform: uppercase; color: var(--ink-panel-accent); background: rgba(143,188,166,0.15); padding: 3px 10px; border-radius: 99px; }
.pp-featcard__sources { font: 400 12.5px var(--sans); color: #9BA79F; }
.pp-featcard__name { font: 600 32px var(--serif); color: var(--bg); margin: 0; }
.pp-featcard__name span { font: 500 15px var(--mono); color: var(--ink-panel-accent); margin-left: 8px; }
.pp-featcard__desc { font: 400 15px/1.55 var(--sans); color: #C9C3B8; margin: 0; }
.pp-featcard__tags { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; padding: 0; }
.pp-featcard__tags span { font: 600 12px var(--sans); background: rgba(251,248,242,0.12); color: #E4DFD5; padding: 4px 11px; border-radius: 99px; }
.pp-featcard__go { font: 600 15px var(--sans); color: var(--ink-panel-accent); }

.pp-deskaside { display: flex; flex-direction: column; gap: 16px; }
.pp-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.pp-stat { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 18px; text-align: center; }
.pp-stat__num { font: 700 30px var(--serif); color: var(--ink); }
.pp-stat__lbl { font: 400 12.5px var(--sans); color: var(--muted); }
.pp-stat--green { background: var(--accent-tint); border-color: var(--accent-tint-border); }
.pp-stat--green .pp-stat__num, .pp-stat--green .pp-stat__lbl { color: var(--accent); }
.pp-starthere {
  background: var(--surface); border: 1px solid var(--line); border-radius: 14px;
  padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; flex: 1;
}
.pp-starthere__label { font: 700 13px var(--sans); text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.pp-starthere a { font: 600 14.5px var(--sans); color: var(--accent); text-decoration: none; }
.pp-starthere a:hover { color: var(--accent-hover); }

.pp-libhead { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; }
.pp-libhead h2 { font: 600 26px var(--serif); color: var(--ink); margin: 0; }
.pp-libhead__count { font: 400 13px var(--sans); color: var(--muted-3); }
.pp-pcard {
  display: flex; flex-direction: column; gap: 9px; background: var(--surface);
  border: 1px solid var(--line); border-radius: 14px; padding: 22px 24px;
  text-decoration: none; color: inherit; transition: border-color .15s ease, transform .15s ease;
}
.pp-pcard:hover { border-color: var(--accent); transform: translateY(-2px); }
.pp-pcard[hidden] { display: none; }
.pp-pcard__top { display: flex; align-items: baseline; gap: 8px; }
.pp-pcard__name { font: 600 20px var(--serif); color: var(--ink); margin: 0; }
.pp-pcard__alias { font: 400 12.5px var(--mono); color: var(--muted-3); }
.pp-pcard__desc { font: 400 13.5px/1.5 var(--sans); color: var(--lede); margin: 0; }
.pp-pcard__foot { margin-top: auto; padding-top: 6px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pp-pcard__tags { font: 400 12px var(--sans); color: var(--muted-3); }
.pp-pcard__sources { font: 600 12px var(--sans); color: var(--accent); white-space: nowrap; }

/* ============ 1g — GUIDE PAGE ============ */
.pp-ghero { background: var(--surface); border-bottom: 1px solid var(--line); }
.pp-ghero__inner { max-width: var(--wrap-site); margin: 0 auto; padding: 40px 32px 36px; }
.pp-back { font: 600 13.5px var(--sans); color: var(--accent); text-decoration: none; }
.pp-ghero__cols { display: flex; gap: 48px; margin-top: 20px; align-items: flex-start; }
.pp-ghero__main { flex: 1; }
.pp-ghero__chiprow { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.pp-ghero__kind { font: 400 12.5px var(--sans); color: var(--muted-3); }
.pp-ghero__h1 { font: 600 54px/1.02 var(--serif); color: var(--ink); letter-spacing: -.01em; margin: 0 0 14px; }
.pp-ghero__dek { font: 400 21px/1.45 var(--serif); color: var(--body); margin: 0; max-width: 660px; text-wrap: pretty; }
.pp-ghero__meta { display: flex; gap: 22px; margin-top: 20px; font: 400 13px var(--sans); color: var(--muted); flex-wrap: wrap; }
.pp-ghero__meta span { display: flex; align-items: center; gap: 6px; }
.pp-safetycard {
  width: 320px; flex: none; background: #FDF3F0; border: 1px solid #F0D5CC;
  border-radius: 14px; padding: 20px 22px;
}
.pp-safetycard__label { font: 700 12px var(--sans); text-transform: uppercase; letter-spacing: .06em; color: #A34A1C; margin: 0 0 8px; }
.pp-safetycard p { font: 400 13.5px/1.55 var(--sans); color: var(--lede); margin: 0; }
.pp-safetycard strong { color: var(--ink); }
.pp-safetycard a { font-weight: 600; }

.pp-gbody {
  max-width: var(--wrap-site); margin: 0 auto; padding: 48px 32px 64px;
  display: grid; grid-template-columns: 1fr 300px; gap: 56px; align-items: flex-start;
}
.pp-article { display: flex; flex-direction: column; gap: 36px; max-width: 720px; min-width: 0; }
.pp-article h2 { font: 600 28px var(--serif); color: var(--ink); margin: 0 0 12px; scroll-margin-top: 90px; }
.pp-article p { font: 400 16px/1.65 var(--body); color: var(--body); margin: 0 0 14px; }
.pp-article p:last-child { margin-bottom: 0; }
.pp-article ul, .pp-article ol { margin: 0 0 14px; padding-left: 22px; }
.pp-article li { font: 400 15.5px/1.6 var(--sans); color: var(--body); margin-bottom: 6px; }
.pp-article a { color: var(--accent); }

/* citation superscripts + highlight */
.aa-cite, .pp-cite {
  font: 700 12px var(--sans); vertical-align: super; color: var(--accent);
  text-decoration: none; padding: 0 1px;
}
.aa-cite:hover, .pp-cite:hover { color: var(--accent-hover); }
.pp-cite-hit { background: #FBEFB8; transition: background 1.2s ease; }

.pp-callout {
  background: var(--accent-tint); border: 1px solid var(--accent-tint-border);
  border-radius: 12px; padding: 16px 20px; margin: 0 0 16px;
  font: 400 14px/1.55 var(--sans); color: var(--accent-tint-text);
}
.pp-callout strong { color: var(--accent-tint-text); }

.pp-side { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 96px; }
.pp-side__card { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px; }
.pp-side__card--accent { background: var(--accent-tint); border-color: var(--accent-tint-border); }
.pp-side__label { font: 700 12px var(--sans); text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin: 0 0 12px; }
.pp-side__card--accent .pp-side__label { color: var(--accent); }
.pp-toc { display: flex; flex-direction: column; gap: 9px; }
.pp-toc a { font: 500 14px var(--sans); color: var(--body); text-decoration: none; }
.pp-toc a:hover { color: var(--accent); }
.pp-side__card--accent p { font: 400 13.5px/1.55 var(--sans); color: var(--accent-tint-text); margin: 0; }
.pp-relchips { display: flex; flex-wrap: wrap; gap: 8px; }
.pp-relchips a { font: 600 13px var(--sans); background: var(--chip-bg); color: var(--body); padding: 6px 13px; border-radius: 99px; text-decoration: none; }
.pp-relchips a:hover { color: var(--accent); }

/* ---- responsive ---- */
@media (max-width: 1080px) {
  .pp-grid, .pp-stats { grid-template-columns: repeat(2, 1fr); }
  .pp-deskfeat { grid-template-columns: 1fr; }
  .pp-gbody { grid-template-columns: 1fr; }
  .pp-side { position: static; }
}
@media (max-width: 820px) {
  .pp-header__inner { gap: 16px; }
  .pp-nav { gap: 16px; }
  .pp-pillars { grid-template-columns: 1fr; }
  .pp-fresh__grid { grid-template-columns: 1fr; }
  .pp-grid, .pp-stats { grid-template-columns: 1fr; }
  .pp-ghero__cols { flex-direction: column; gap: 24px; }
  .pp-safetycard { width: 100%; }
  .pp-hero__h1 { font-size: 42px; }
  .pp-hero--desk .pp-hero__h1 { font-size: 40px; }
  .pp-pagehead__h1 { font-size: 34px; }
  .pp-ghero__h1 { font-size: 38px; }
  .pp-ghero__dek { font-size: 18px; }
}
@media (max-width: 640px) {
  .pp-header { position: static; }
  .pp-nav { flex-wrap: wrap; }
  .pp-legend__intro { width: 100%; }
}

/* guide-page article extras (1g) */
.pp-article__lead { font: 400 17px/1.7 var(--sans); color: var(--body); margin: 0 0 4px; }
.pp-article__lead p { font: inherit; color: inherit; margin: 0 0 12px; }
.pp-article__lead p:last-child { margin-bottom: 0; }
.pp-article .v-safety { margin: 0; }
.pp-article .v-safety p:first-child { margin-top: 0; }
.pp-sources { display: flex; flex-direction: column; gap: 8px; }
.pp-source {
  display: flex; gap: 14px; align-items: baseline; background: var(--surface);
  border: 1px solid var(--line); border-radius: 10px; padding: 12px 18px;
  text-decoration: none; color: inherit; transition: border-color .12s ease, background 1.2s ease;
}
a.pp-source:hover { border-color: var(--accent); }
.pp-source__id { flex: none; font: 700 12px var(--mono); color: var(--accent); }
.pp-source__title { font: 500 14px var(--sans); color: var(--ink); }
.pp-source__host { margin-left: auto; font: 400 12px var(--sans); color: var(--muted-3); white-space: nowrap; }
.pp-source.pp-cite-hit { background: #FBEFB8; border-color: #E4C74A; }

/* unified search results (redesign) */
.pp-result__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pp-result__kind { font: 700 11px var(--sans); letter-spacing: .05em; text-transform: uppercase; padding: 3px 10px; border-radius: 99px; }
.pp-result__kind--supplement { color: #2F6B52; background: #EAF2ED; }
.pp-result__kind--peptide { color: #FBF8F2; background: #2B3A33; }
.pp-result__kind--fact-check { color: #7A5D14; background: #F3EAD3; }

/* =====================================================================
   CONVERSION LAYER — follow / digest / catalyst (Phase A onboarding funnel)
   Account utility offered on public content; content itself is never gated.
   ===================================================================== */
.pp-visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---- follow-this module ---- */
.pp-follow {
  display: flex; gap: 14px; align-items: flex-start;
  background: var(--accent-tint); border: 1px solid var(--accent-tint-border);
  border-radius: 14px; padding: 18px 20px; margin: 20px 0;
}
.pp-follow__seal {
  flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--accent);
  display: inline-flex; align-items: center; justify-content: center; margin-top: 2px;
}
.pp-follow__body { min-width: 0; }
.pp-follow__label { font: 700 13px var(--sans); color: var(--accent-tint-text); margin: 0 0 4px; }
.pp-follow__copy { font: 400 13.5px/1.5 var(--sans); color: var(--body); margin: 0 0 12px; }
/* `.pp-follow a...` beats content rules like `.pp-article a { color: accent }` */
.pp-follow a.pp-follow__btn, .pp-follow__btn {
  display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
  background: var(--accent); color: var(--bg); border: 0; border-radius: 99px;
  font: 600 13.5px var(--sans); padding: 8px 18px; text-decoration: none;
}
.pp-follow a.pp-follow__btn:hover, .pp-follow__btn:hover { background: var(--accent-hover); color: var(--bg); }
.pp-follow__btn[aria-disabled="true"] { background: var(--muted-3); cursor: default; }
.pp-follow__status { font: 500 12.5px/1.45 var(--sans); color: var(--accent-tint-text); margin: 10px 0 0; }
.pp-follow__status[hidden] { display: none; }
/* sidebar-rail variant sits tighter in the 300px column */
.pp-side .pp-follow, .dossier-side .pp-follow { margin: 0 0 4px; flex-direction: column; }
.pp-side .pp-follow__seal, .dossier-side .pp-follow__seal { margin-top: 0; }

/* ---- The Panel Brief digest ---- */
.pp-digest-wrap { max-width: var(--wrap-site); margin: 0 auto; padding: 0 32px 8px; }
.pp-digest {
  display: grid; grid-template-columns: 1fr 1.1fr; gap: 28px; align-items: start;
  background: var(--ink-panel); border-radius: 16px; padding: 28px 32px; margin: 8px 0 0;
}
.pp-digest__kicker { font: 600 12px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-panel-accent); margin: 0 0 8px; }
.pp-digest__pitch { font: 400 18px/1.5 var(--serif); color: var(--bg); margin: 0; }
.pp-digest__form { display: flex; flex-direction: column; gap: 12px; }
.pp-digest__field input {
  width: 100%; border: 1.5px solid transparent; border-radius: 10px; padding: 12px 14px;
  font: 400 15px var(--sans); color: var(--ink); background: var(--bg);
}
.pp-digest__field input::placeholder { color: var(--muted-3); }
.pp-digest__check { display: flex; gap: 9px; align-items: flex-start; font: 400 12.5px/1.5 var(--sans); color: #D6D0C6; }
.pp-digest__check input { margin-top: 3px; flex: none; }
.pp-digest__check a { color: var(--ink-panel-accent); }
.pp-digest .auth-fine { font: 400 12px var(--sans); color: #9BA79F; margin: 0; }
.pp-digest__btn {
  align-self: flex-start; cursor: pointer; background: var(--ink-panel-accent); color: #14231C;
  border: 0; border-radius: 99px; font: 600 14px var(--sans); padding: 11px 22px;
}
.pp-digest__btn:hover { background: #a6cdb9; }
.pp-digest__status { font: 500 13px var(--sans); color: var(--bg); margin: 0; }
.pp-digest__status[hidden] { display: none; }
.pp-digest__status[data-kind="ok"] { color: var(--ink-panel-accent); }
.pp-digest__status[data-kind="warn"], .pp-digest__status[data-kind="error"] { color: #F0B7A6; }

/* ---- catalyst banner ---- */
.pp-catalyst {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  background: #F3EAD3; border: 1px solid #E7DCBF; border-radius: 12px;
  padding: 14px 18px; margin: 20px 0 4px;
}
.pp-catalyst__text { font: 500 14px/1.45 var(--sans); color: #55504A; }
.pp-catalyst a.pp-catalyst__btn, .pp-catalyst__btn {
  margin-left: auto; cursor: pointer; background: #7A5D14; color: #FBF8F2; border: 0;
  border-radius: 99px; font: 600 13px var(--sans); padding: 8px 16px; text-decoration: none; white-space: nowrap;
}
.pp-catalyst a.pp-catalyst__btn:hover, .pp-catalyst__btn:hover { background: #5f480f; color: #FBF8F2; }
.pp-catalyst__btn[aria-disabled="true"] { background: var(--muted-3); cursor: default; }
.pp-catalyst__status { font: 500 12.5px var(--sans); color: #55504A; flex-basis: 100%; }
.pp-catalyst__status[hidden] { display: none; }

/* ---- watchlist activation suggestions ---- */
.aa-suggest { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.aa-suggest[hidden] { display: none; }
.aa-suggest__label { font: 700 12px var(--sans); letter-spacing: .04em; text-transform: uppercase; color: var(--muted); margin: 0 0 12px; }

@media (max-width: 820px) {
  .pp-digest { grid-template-columns: 1fr; gap: 18px; }
  .pp-digest-wrap { padding-left: 22px; padding-right: 22px; }
  .pp-catalyst__btn { margin-left: 0; }
}
