:root {
  /* ─── Weavidence brand tokens — canonical, non-negotiable ─────────────── */
  /* Institutional palette (mark, wordmark, documents — only these two) */
  --wv-obsidian:     #0B0E13;
  --wv-chalk:        #F4EFE6;
  /* Functional palette (product-internal states — never on the mark) */
  --wv-teal:         #0E4D5C;
  --wv-terracotta:   #B44B28;
  --wv-sage:         #5C8A6D;
  /* Jana active palette — bounded to agent states, never on institutional surfaces */
  --wv-sea-deep:     #2A5F7A;
  --wv-sea-foam:     #9BC5BD;
  --wv-gold-loom:    #E8C46C;
  --wv-aurora:       #F4EFE6;
  /* Wordmark serif — Cormorant (GT Sectra Fine analogue, free, high-contrast transitional) */
  --wv-font-wordmark: "Cormorant", "Cormorant Garamond", Georgia, serif;
  /* ─────────────────────────────────────────────────────────────────────── */

  --av-font-sans: "IBM Plex Sans", "Inter Tight", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  --av-font-mono: "IBM Plex Mono", "JetBrains Mono", ui-monospace, monospace;
  --av-font-serif: "Instrument Serif", "Cormorant Garamond", Georgia, serif;

  --av-radius-base: 0.9rem;
  --av-radius-panel: 1rem;
  --av-radius-pill: 999px;

  --av-motion-fast: 180ms;
  --av-motion-base: 280ms;
  --av-motion-slow: 700ms;
  --av-ease-standard: cubic-bezier(0.22, 1, 0.36, 1);

  --av-app-background-light: #f7f5f0;
  --av-app-foreground-light: #1e1e1e;
  --av-app-card-light: #ffffff;
  --av-app-card-foreground-light: #10213d;
  --av-app-popover-light: #ffffff;
  --av-app-popover-foreground-light: #10213d;
  --av-app-primary-light: #0047ab;
  --av-app-primary-foreground-light: #f7f5f0;
  --av-app-secondary-light: #ece8dd;
  --av-app-secondary-foreground-light: #0b132b;
  --av-app-muted-light: #f1eee6;
  --av-app-muted-foreground-light: #5c6778;
  --av-app-accent-light: #d8edf0;
  --av-app-accent-foreground-light: #0b132b;
  --av-app-destructive-light: #b42318;
  --av-app-border-light: #ded8cb;
  --av-app-input-light: #ded8cb;
  --av-app-ring-light: #0047ab;

  --av-sidebar-background-light: #0b132b;
  --av-sidebar-foreground-light: #f7f5f0;
  --av-sidebar-primary-light: #0047ab;
  --av-sidebar-primary-foreground-light: #f7f5f0;
  --av-sidebar-accent-light: #10305b;
  --av-sidebar-accent-foreground-light: #f7f5f0;
  --av-sidebar-border-light: #1f3153;
  --av-sidebar-ring-light: #9ed8d8;

  --av-shell-surface-light: rgba(255, 255, 255, 0.8);
  --av-shell-surface-strong-light: rgba(255, 255, 255, 0.92);
  --av-shell-border-light: #d8d4c8;
  --av-shell-foreground-light: #10213d;
  --av-shell-muted-light: #435066;
  --av-shell-soft-light: #556274;
  --av-shell-accent-light: #005c5c;
  --av-shell-input-light: #f7f5f0;
  --av-shell-cta-surface-light: #ffffff;
  --av-shell-cta-foreground-light: #0b132b;
  --av-shell-cta-hover-light: #edf2ff;

  --av-landing-background-light: #f5f2ec;
  --av-landing-background-alt-light: #ece8df;
  --av-landing-foreground-light: #0b0e16;
  --av-landing-foreground-soft-light: #2a2f3a;
  --av-landing-foreground-muted-light: #6b7180;
  --av-landing-line-light: rgba(11, 14, 22, 0.08);
  --av-landing-card-light: rgba(255, 255, 255, 0.55);
  --av-landing-card-border-light: rgba(11, 14, 22, 0.06);
  --av-landing-card-highlight-light: rgba(255, 255, 255, 0.18);
  --av-landing-accent-light: #0b0e16;
  --av-landing-accent-foreground-light: #f5f2ec;

  --av-app-background-dark: #111827;
  --av-app-foreground-dark: #f7f5f0;
  --av-app-card-dark: #182132;
  --av-app-card-foreground-dark: #f7f5f0;
  --av-app-popover-dark: #182132;
  --av-app-popover-foreground-dark: #f7f5f0;
  --av-app-primary-dark: #9ec5ff;
  --av-app-primary-foreground-dark: #10213d;
  --av-app-secondary-dark: #20304d;
  --av-app-secondary-foreground-dark: #f7f5f0;
  --av-app-muted-dark: #20304d;
  --av-app-muted-foreground-dark: #c7d0dc;
  --av-app-accent-dark: #173f47;
  --av-app-accent-foreground-dark: #f7f5f0;
  --av-app-destructive-dark: #ef4444;
  --av-app-border-dark: #2a3c5f;
  --av-app-input-dark: #2a3c5f;
  --av-app-ring-dark: #9ec5ff;

  --av-sidebar-background-dark: #09101f;
  --av-sidebar-foreground-dark: #f7f5f0;
  --av-sidebar-primary-dark: #9ec5ff;
  --av-sidebar-primary-foreground-dark: #09101f;
  --av-sidebar-accent-dark: #123357;
  --av-sidebar-accent-foreground-dark: #f7f5f0;
  --av-sidebar-border-dark: #223150;
  --av-sidebar-ring-dark: #9ed8d8;

  --av-shell-surface-dark: rgba(24, 33, 50, 0.84);
  --av-shell-surface-strong-dark: rgba(24, 33, 50, 0.94);
  --av-shell-border-dark: #2a3c5f;
  --av-shell-foreground-dark: #f7f5f0;
  --av-shell-muted-dark: #c7d0dc;
  --av-shell-soft-dark: #aeb7c6;
  --av-shell-accent-dark: #9ed8d8;
  --av-shell-input-dark: rgba(17, 24, 39, 0.72);
  --av-shell-cta-surface-dark: #f7f5f0;
  --av-shell-cta-foreground-dark: #09101f;
  --av-shell-cta-hover-dark: #dfe8ff;

  --av-landing-background-dark: #05070f;
  --av-landing-background-alt-dark: #080b18;
  --av-landing-foreground-dark: #eef1fa;
  --av-landing-foreground-soft-dark: #c7cbd8;
  --av-landing-foreground-muted-dark: #737a8c;
  --av-landing-line-dark: rgba(238, 241, 250, 0.08);
  --av-landing-card-dark: rgba(20, 24, 40, 0.45);
  --av-landing-card-border-dark: rgba(238, 241, 250, 0.08);
  --av-landing-card-highlight-dark: rgba(238, 241, 250, 0.12);
  --av-landing-accent-dark: #eef1fa;
  --av-landing-accent-foreground-dark: #05070f;
}

@font-face { font-family: "Cormorant"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/cormorant-latin-400-normal-BGH8Vunh.woff2") format("woff2"); }
@font-face { font-family: "Cormorant"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/cormorant-latin-500-normal-EBdSCOD3.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2") format("woff2"); }
/**
 * insights.css — Weavidence Insights editorial stylesheet.
 *
 * Concatenated at build time after src/tokens/theme.css (see
 * scripts/build-insights.mjs), so every --wv- and --av- custom property
 * used below is the same single source of truth the rest of the site
 * uses — no duplicated token values here.
 *
 * A calmer editorial posture than the animated landing page: no canvas
 * backgrounds, no large motion, comfortable reading measure, restrained
 * thread/selvedge motifs used structurally (rules, not decoration).
 */

:root {
  --wvi-bg: var(--wv-obsidian);
  --wvi-bg-raised: #12161f;
  --wvi-fg: var(--wv-chalk);
  --wvi-fg-soft: #c7cbd8;
  --wvi-fg-muted: #8b93a6;
  --wvi-line: rgba(244, 239, 230, 0.14);
  --wvi-line-strong: rgba(244, 239, 230, 0.28);
  --wvi-accent: var(--wv-sea-foam);
  --wvi-accent-strong: var(--wv-sea-deep);
  --wvi-focus: var(--wv-gold-loom);
  --wvi-card-bg: rgba(244, 239, 230, 0.04);
  --wvi-code-bg: rgba(244, 239, 230, 0.06);
}

@media (prefers-color-scheme: light) {
  :root:not([data-theme]) {
    --wvi-bg: #f7f4ec;
    --wvi-bg-raised: #ffffff;
    --wvi-fg: var(--wv-obsidian);
    --wvi-fg-soft: #2a2f3a;
    --wvi-fg-muted: #6b7180;
    --wvi-line: rgba(11, 14, 19, 0.12);
    --wvi-line-strong: rgba(11, 14, 19, 0.24);
    --wvi-accent: var(--wv-teal);
    --wvi-accent-strong: var(--wv-sea-deep);
    --wvi-focus: var(--wv-terracotta);
    --wvi-card-bg: rgba(11, 14, 19, 0.03);
    --wvi-code-bg: rgba(11, 14, 19, 0.05);
  }
}

:root[data-theme="light"] {
  --wvi-bg: #f7f4ec;
  --wvi-bg-raised: #ffffff;
  --wvi-fg: var(--wv-obsidian);
  --wvi-fg-soft: #2a2f3a;
  --wvi-fg-muted: #6b7180;
  --wvi-line: rgba(11, 14, 19, 0.12);
  --wvi-line-strong: rgba(11, 14, 19, 0.24);
  --wvi-accent: var(--wv-teal);
  --wvi-accent-strong: var(--wv-sea-deep);
  --wvi-focus: var(--wv-terracotta);
  --wvi-card-bg: rgba(11, 14, 19, 0.03);
  --wvi-code-bg: rgba(11, 14, 19, 0.05);
}

* { box-sizing: border-box; }

.wvi-body {
  margin: 0;
  background: var(--wvi-bg);
  color: var(--wvi-fg);
  font-family: var(--av-font-sans);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.wvi-shell { min-height: 100vh; display: flex; flex-direction: column; }

.wvi-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;
}

.wvi-skip-link {
  position: absolute; left: 12px; top: -48px; z-index: 100;
  background: var(--wvi-focus); color: var(--wv-obsidian);
  padding: 10px 16px; border-radius: var(--av-radius-base);
  font: 600 14px var(--av-font-sans); text-decoration: none;
  transition: top 150ms var(--av-ease-standard);
}
.wvi-skip-link:focus { top: 12px; }

a { color: var(--wvi-accent); }
a:hover { color: var(--wvi-accent-strong); }
:focus-visible { outline: 2px solid var(--wvi-focus); outline-offset: 2px; }

/* ─── Header ─────────────────────────────────────────────────────────── */
.wvi-header {
  display: flex; align-items: center; gap: 24px; flex-wrap: wrap;
  padding: 16px 24px; border-bottom: 1px solid var(--wvi-line);
  position: sticky; top: 0; z-index: 20; background: var(--wvi-bg);
}
.wvi-lockup { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--wvi-fg); }
.wvi-lockup-text { display: flex; flex-direction: column; line-height: 1.1; }
.wvi-lockup-word { font: 500 17px var(--wv-font-wordmark); }
.wvi-lockup-descriptor { font: 600 10px var(--av-font-mono); letter-spacing: 0.09em; text-transform: uppercase; color: var(--wvi-accent); }
.wvi-nav { display: flex; gap: 16px; flex-wrap: wrap; font: 500 14px var(--av-font-sans); }
.wvi-nav a { color: var(--wvi-fg-soft); text-decoration: none; }
.wvi-nav a:hover { color: var(--wvi-accent); }
.wvi-header-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.wvi-feed-link { font: 600 12px var(--av-font-mono); letter-spacing: 0.06em; text-transform: uppercase; text-decoration: none; }
.wvi-theme-toggle {
  min-width: 40px; min-height: 40px; border-radius: var(--av-radius-pill);
  border: 1px solid var(--wvi-line-strong); background: transparent; color: var(--wvi-fg);
  cursor: pointer; font-size: 16px;
}

/* ─── Main / hero ────────────────────────────────────────────────────── */
.wvi-main { flex: 1; max-width: 76rem; margin: 0 auto; padding: 40px 24px 80px; width: 100%; }
.wvi-eyebrow { font: 700 12px var(--av-font-mono); letter-spacing: 0.1em; text-transform: uppercase; color: var(--wvi-accent); margin: 0 0 8px; }
.wvi-hero h1 { font: 500 clamp(28px, 4vw, 44px)/1.15 var(--wv-font-wordmark); margin: 0 0 16px; max-width: 20ch; }
.wvi-hero-lede { font-size: 18px; color: var(--wvi-fg-soft); max-width: 62ch; margin: 0 0 16px; }
.wvi-hero-links { font: 600 13px var(--av-font-mono); display: flex; gap: 10px; margin: 0 0 32px; }
.wvi-hero-links a { text-decoration: none; }
.wvi-hero-featured { border-top: 1px solid var(--wvi-line); padding-top: 20px; }

/* ─── Cards ──────────────────────────────────────────────────────────── */
.wvi-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; list-style: none; margin: 16px 0 0; padding: 0; }
.wvi-card { border: 1px solid var(--wvi-line); border-radius: var(--av-radius-panel); background: var(--wvi-card-bg); height: 100%; }
.wvi-card-link { display: block; padding: 18px; text-decoration: none; color: inherit; height: 100%; }
.wvi-card-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.wvi-card-type, .wvi-card-topic {
  font: 600 10px var(--av-font-mono); letter-spacing: 0.06em; text-transform: uppercase;
  padding: 3px 8px; border-radius: var(--av-radius-pill); border: 1px solid var(--wvi-line-strong);
  color: var(--wvi-fg-muted); text-decoration: none;
}
a.wvi-card-topic:hover { color: var(--wvi-accent); }
.wvi-card-title { font: 500 20px/1.3 var(--wv-font-wordmark); margin: 0 0 8px; color: var(--wvi-fg); }
.wvi-card-description { font-size: 14px; color: var(--wvi-fg-soft); margin: 0 0 14px; }
.wvi-card-footer { display: flex; gap: 8px; font: 500 12px var(--av-font-mono); color: var(--wvi-fg-muted); }

/* ─── Question list ──────────────────────────────────────────────────── */
.wvi-question-list { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.wvi-question-list a {
  display: block; padding: 14px 16px; border: 1px solid var(--wvi-line); border-radius: var(--av-radius-base);
  text-decoration: none; color: var(--wvi-fg); font: 500 16px var(--wv-font-wordmark);
}
.wvi-question-list a:hover { border-color: var(--wvi-accent); }

/* ─── Topics ─────────────────────────────────────────────────────────── */
.wvi-topics, .wvi-search, .wvi-product-notes, .wvi-trust, .wvi-questions { margin-top: 56px; }
.wvi-topics h2, .wvi-search h2, .wvi-product-notes h2, .wvi-trust h2, .wvi-questions h2 { font: 500 26px var(--wv-font-wordmark); margin: 0 0 16px; }
.wvi-topic-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.wvi-topic-tile { border: 1px solid var(--wvi-line); border-radius: var(--av-radius-panel); padding: 16px; background: var(--wvi-card-bg); }
.wvi-topic-tile a { text-decoration: none; color: inherit; }
.wvi-topic-tile h3 { font: 500 18px var(--wv-font-wordmark); margin: 0 0 6px; }
.wvi-topic-tile p { font-size: 13px; color: var(--wvi-fg-soft); margin: 0 0 8px; }
.wvi-topic-count { font: 600 11px var(--av-font-mono); color: var(--wvi-accent); }
.wvi-topic-recent { list-style: none; margin: 10px 0 0; padding: 10px 0 0; border-top: 1px solid var(--wvi-line); font-size: 13px; }
.wvi-topic-recent li { margin: 4px 0; }

/* ─── Search / filter ────────────────────────────────────────────────── */
.wvi-search-controls { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.wvi-search-controls input, .wvi-search-controls select, .wvi-search-controls button {
  font: 500 14px var(--av-font-sans); padding: 10px 12px; border-radius: var(--av-radius-base);
  border: 1px solid var(--wvi-line-strong); background: var(--wvi-bg-raised); color: var(--wvi-fg);
  min-height: 44px;
}
.wvi-search-controls input { flex: 1 1 240px; }
.wvi-search-controls button { cursor: pointer; min-width: 88px; }
.wvi-search-status { font: 600 12px var(--av-font-mono); color: var(--wvi-fg-muted); margin: 0 0 8px; }
.wvi-search-empty { padding: 24px; text-align: center; border: 1px dashed var(--wvi-line-strong); border-radius: var(--av-radius-base); }
.wvi-search-empty button { margin-left: 8px; }

/* ─── Trust links ────────────────────────────────────────────────────── */
.wvi-trust-links { list-style: none; margin: 0; padding: 0; display: flex; gap: 16px; flex-wrap: wrap; font: 500 14px var(--av-font-sans); }

/* ─── Breadcrumb ─────────────────────────────────────────────────────── */
.wvi-breadcrumb { margin-bottom: 20px; }
.wvi-breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; font: 500 12px var(--av-font-mono); color: var(--wvi-fg-muted); }
.wvi-breadcrumb li:not(:last-child)::after { content: '/'; margin-left: 6px; }
.wvi-breadcrumb a { text-decoration: none; }
.wvi-breadcrumb li[aria-current="page"] { color: var(--wvi-fg); }

/* ─── Topic page ─────────────────────────────────────────────────────── */
.wvi-topic-page h1 { font: 500 clamp(28px, 4vw, 38px) var(--wv-font-wordmark); margin: 0 0 12px; }
.wvi-topic-definition { font-size: 17px; color: var(--wvi-fg-soft); max-width: 62ch; }
.wvi-topic-scope { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; margin: 24px 0 40px; }
.wvi-topic-scope h2 { font: 600 13px var(--av-font-mono); text-transform: uppercase; letter-spacing: 0.06em; margin: 0 0 8px; }
.wvi-topic-scope ul { margin: 0; padding-left: 20px; font-size: 14px; color: var(--wvi-fg-soft); }
.wvi-topic-page h2 { font: 500 22px var(--wv-font-wordmark); margin: 40px 0 8px; }
.wvi-topic-empty { padding: 20px; border: 1px dashed var(--wvi-line-strong); border-radius: var(--av-radius-base); color: var(--wvi-fg-soft); }
.wvi-topic-adjacent { list-style: none; margin: 0; padding: 0; display: flex; gap: 14px; flex-wrap: wrap; }

/* ─── Article ────────────────────────────────────────────────────────── */
.wvi-article-header { margin-bottom: 24px; }
.wvi-article-taxonomy { display: flex; gap: 8px; margin: 0 0 14px; }
.wvi-article h1 { font: 500 clamp(28px, 4.4vw, 42px)/1.2 var(--wv-font-wordmark); margin: 0 0 14px; max-width: 24ch; }
.wvi-answer-brief {
  font-size: 17px; padding: 16px 18px; border-left: 3px solid var(--wvi-accent);
  background: var(--wvi-card-bg); border-radius: 0 var(--av-radius-base) var(--av-radius-base) 0; margin: 0 0 20px;
}
.wvi-article-meta { display: flex; flex-wrap: wrap; gap: 20px; margin: 0 0 16px; padding: 14px 0; border-top: 1px solid var(--wvi-line); border-bottom: 1px solid var(--wvi-line); }
.wvi-article-meta div { display: flex; flex-direction: column; gap: 2px; }
.wvi-article-meta dt { font: 600 10px var(--av-font-mono); text-transform: uppercase; letter-spacing: 0.06em; color: var(--wvi-fg-muted); }
.wvi-article-meta dd { margin: 0; font-size: 13px; }
.wvi-review-level { text-transform: capitalize; }
.wvi-copy-link {
  font: 600 12px var(--av-font-mono); padding: 8px 14px; border-radius: var(--av-radius-pill);
  border: 1px solid var(--wvi-line-strong); background: transparent; color: var(--wvi-fg); cursor: pointer;
  min-height: 36px;
}

.wvi-toc { border: 1px solid var(--wvi-line); border-radius: var(--av-radius-base); padding: 12px 16px; margin: 0 0 28px; background: var(--wvi-card-bg); }
.wvi-toc-toggle { display: none; width: 100%; text-align: left; background: none; border: none; color: var(--wvi-fg); font: 600 14px var(--av-font-sans); cursor: pointer; min-height: 44px; }
.wvi-toc-list { margin: 8px 0 0; padding-left: 20px; font-size: 14px; }
.wvi-toc-list li { margin: 4px 0; }

.wvi-article-content { max-width: 66ch; font-size: 17px; }
.wvi-article-content h2 { font: 500 26px var(--wv-font-wordmark); margin: 40px 0 14px; scroll-margin-top: 80px; }
.wvi-article-content h3 { font: 500 20px var(--wv-font-wordmark); margin: 28px 0 10px; scroll-margin-top: 80px; }
.wvi-article-content p { margin: 0 0 16px; }
.wvi-article-content ul, .wvi-article-content ol { margin: 0 0 16px; padding-left: 22px; }
.wvi-article-content li { margin: 6px 0; }
.wvi-article-content blockquote { margin: 0 0 16px; padding: 12px 18px; border-left: 3px solid var(--wvi-line-strong); color: var(--wvi-fg-soft); }
.wvi-article-content code { font-family: var(--av-font-mono); background: var(--wvi-code-bg); padding: 2px 5px; border-radius: 4px; font-size: 0.9em; }
.wvi-article-content pre { overflow-x: auto; background: var(--wvi-code-bg); padding: 14px; border-radius: var(--av-radius-base); }
.wvi-article-content table { width: 100%; border-collapse: collapse; margin: 0 0 16px; display: block; overflow-x: auto; }
.wvi-article-content th, .wvi-article-content td { border: 1px solid var(--wvi-line); padding: 8px 10px; text-align: left; font-size: 14px; }
.wvi-anchor { text-decoration: none; margin-right: 8px; opacity: 0.4; }
.wvi-anchor:hover { opacity: 1; }
.wvi-citation a { text-decoration: none; font-size: 0.75em; padding: 0 2px; }

.wvi-references, .wvi-revision-history, .wvi-related { margin-top: 44px; max-width: 66ch; }
.wvi-references h2, .wvi-revision-history h2, .wvi-related h2 { font: 500 22px var(--wv-font-wordmark); margin: 0 0 14px; }
.wvi-reference-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.wvi-reference { display: flex; gap: 10px; font-size: 14px; scroll-margin-top: 80px; }
.wvi-reference-index { color: var(--wvi-fg-muted); font: 600 13px var(--av-font-mono); flex: none; }
.wvi-reference-body { display: flex; flex-direction: column; gap: 2px; }
.wvi-reference-title { font-weight: 600; }
.wvi-reference-meta { color: var(--wvi-fg-soft); font-size: 13px; }
.wvi-reference-links { font: 500 12px var(--av-font-mono); }
.wvi-reference-backlink { font-size: 12px; text-decoration: none; }
.wvi-revision-history ul { list-style: none; margin: 0; padding: 0; font-size: 14px; display: grid; gap: 6px; }
.wvi-section-note { color: var(--wvi-fg-muted); font-size: 13px; }
.wvi-editorial-links { margin-top: 40px; padding-top: 16px; border-top: 1px solid var(--wvi-line); font-size: 13px; color: var(--wvi-fg-muted); max-width: 66ch; }

/* ─── Governance / author pages ──────────────────────────────────────── */
.wvi-governance-page h1 { font: 500 clamp(28px, 4vw, 38px) var(--wv-font-wordmark); margin: 0 0 20px; }
.wvi-prose { max-width: 66ch; font-size: 16px; }
.wvi-prose h2 { font: 500 22px var(--wv-font-wordmark); margin: 32px 0 10px; }
.wvi-prose p { margin: 0 0 14px; }
.wvi-prose ul { padding-left: 22px; margin: 0 0 14px; }

/* ─── Follow page ────────────────────────────────────────────────────── */
.wvi-follow-page h1 { font: 500 clamp(28px, 4vw, 38px) var(--wv-font-wordmark); margin: 0 0 20px; }
.wvi-follow-url-card {
  max-width: 66ch;
  margin: 28px 0;
  padding: 20px;
  border: 1px solid var(--wvi-line);
  border-radius: 12px;
  background: var(--wvi-card-bg);
}
.wvi-follow-url-label {
  display: block;
  font: 600 11px var(--av-font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wvi-fg-muted);
  margin-bottom: 8px;
}
.wvi-follow-url-row { display: flex; flex-wrap: wrap; gap: 10px; }
.wvi-follow-url-input {
  flex: 1 1 280px;
  min-width: 0;
  min-height: 44px;
  padding: 0 12px;
  font: 400 14px var(--av-font-mono);
  color: var(--wvi-fg);
  background: var(--wvi-bg);
  border: 1px solid var(--wvi-line);
  border-radius: 8px;
}
.wvi-copy-feed-btn {
  min-height: 44px;
  padding: 0 16px;
  font: 600 12.5px var(--av-font-sans);
  color: var(--wvi-fg);
  background: transparent;
  border: 1px solid var(--wvi-line);
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
}
.wvi-copy-feed-btn:hover { border-color: var(--wvi-accent); }
.wvi-copy-feed-status {
  display: block;
  margin-top: 8px;
  font-size: 12.5px;
  color: var(--wvi-fg-muted);
  min-height: 1.2em;
}
.wvi-follow-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0 36px; }
.wvi-follow-action-btn {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 20px;
  font: 600 13px var(--av-font-sans);
  text-decoration: none;
  color: var(--wvi-fg);
  border: 1px solid var(--wvi-line);
  border-radius: 999px;
}
.wvi-follow-action-btn:hover { border-color: var(--wvi-accent); color: var(--wvi-accent); }
.wvi-follow-action-primary { background: var(--wvi-fg); color: var(--wvi-bg); border-color: var(--wvi-fg); }
.wvi-follow-action-primary:hover { color: var(--wvi-bg); opacity: 0.9; }
.wvi-follow-faq h3 { font: 600 15px var(--av-font-sans); margin: 20px 0 6px; }

/* ─── Footer ─────────────────────────────────────────────────────────── */
.wvi-footer { border-top: 1px solid var(--wvi-line); padding: 24px; margin-top: auto; }
.wvi-footer-row { display: flex; flex-wrap: wrap; gap: 16px; font: 500 13px var(--av-font-sans); margin-bottom: 10px; }
.wvi-footer-row a { text-decoration: none; color: var(--wvi-fg-muted); }
.wvi-footer-row a:hover { color: var(--wvi-accent); }
.wvi-noscript-banner { background: var(--wvi-card-bg); border-bottom: 1px solid var(--wvi-line); padding: 10px 24px; font-size: 13px; text-align: center; }

/* ─── Responsive ─────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .wvi-header { padding: 12px 16px; gap: 12px; }
  .wvi-nav { display: none; }
  .wvi-main { padding: 28px 16px 60px; }
  .wvi-toc-toggle { display: block; }
  /* The list stays visible by default (no-JS: the TOC must remain usable —
     see docs/insights-architecture.md). Only collapse it once the client
     script has actually run and marked the disclosure as enhanced; a
     disabled/broken script leaves the list visible instead of stuck shut. */
  .wvi-toc[data-js-enhanced="true"]:not([data-open="true"]) .wvi-toc-list { display: none; }
}

/* ─── Print ──────────────────────────────────────────────────────────── */
@media print {
  .wvi-header, .wvi-footer, .wvi-toc-toggle, .wvi-copy-link, .wvi-skip-link, .wvi-search-controls { display: none; }
  .wvi-body { background: #fff; color: #111; }
  .wvi-article-content { max-width: 100%; font-size: 12pt; }
  a { color: #111; text-decoration: underline; }
}
