/* statpage kit stylesheet.
   One file for the statistics page (vs-*) and the statistics hub (vh-*).
   A venture changes the tokens in :root (or on .vs-page / .vh-page) and nothing else.
   Measurements behind every number: references/anatomy.md. */

:root {
  /* brand palette, swap per venture */
  --vs-accent: #1f6feb;            /* list markers, link underline, hover, accent word */
  --vs-accent-soft: #e9f1fe;       /* tinted card behind hub facts */
  --vs-accent-line: rgba(31, 111, 235, .18);
  --vs-accent-on-dark: #7fb0ff;    /* accent word on the dark closing card */
  --vs-glow-a: rgba(31, 111, 235, .07);
  --vs-glow-b: rgba(124, 58, 237, .05);

  /* neutrals */
  --vs-bg: #fafaf9;                /* page */
  --vs-surface: #ffffff;           /* cards, code boxes, bands */
  --vs-ink: #0b0b0c;               /* headings, strong, active TOC */
  --vs-text: #26262a;              /* paragraphs */
  --vs-ink-2: #52525b;             /* meta, captions, TOC, crumbs */
  --vs-ink-3: #8b8b94;             /* counts, arrows */
  --vs-sep: #bbbbbb;               /* colour of the chip separator */
  --vs-chip-sep: "\00B7";          /* chip separator glyph; "" for none, "/" or "|" if a venture bans middots */
  --vs-line: rgba(0, 0, 0, .08);
  --vs-line-strong: rgba(0, 0, 0, .15);
  --vs-th: #f5f5f4;
  --vs-code-bg: #f0efed;

  /* type */
  --vs-font: "Inter", -apple-system, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --vs-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* geometry */
  --vs-wrap: 1200px;
  --vs-gutter: 24px;
  --vs-col: 760px;
  --vs-rail: 240px;
  --vs-col-gap: 64px;
  --vs-head-offset: 72px;          /* height reserved for the site's fixed header */
  --vs-radius: 10px;
  --vs-mark-ms: 220ms;             /* TOC marker slide; set 0ms for an instant jump */
}

/* ---------- smooth in-page jumps ---------- */
html:has(.vs-page), html:has(.vh-page) { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html:has(.vs-page), html:has(.vh-page) { scroll-behavior: auto; }
}

/* ================================================================
   STATISTICS PAGE
   ================================================================ */
.vs-page {
  background: var(--vs-bg);
  color: var(--vs-ink);
  font-family: var(--vs-font);
  font-size: 17px;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
}
.vs-page *, .vs-page *::before, .vs-page *::after { box-sizing: border-box; }

.vs-wrap {
  width: 100%;
  max-width: var(--vs-wrap);
  margin-inline: auto;
  padding-inline: var(--vs-gutter);
}
.vs-grid {
  display: grid;
  grid-template-columns: minmax(0, var(--vs-col)) var(--vs-rail);
  justify-content: space-between;
  column-gap: var(--vs-col-gap);
  padding-top: calc(var(--vs-head-offset) + 28px);
  padding-bottom: 96px;
}
.vs-col { min-width: 0; }

/* breadcrumb */
.vs-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; font-size: 13px; color: var(--vs-ink-2); }
.vs-crumbs a { color: inherit; text-decoration: none; }
.vs-crumbs a:hover { color: var(--vs-ink); }

/* H1 */
.vs-title {
  margin: 0 0 14px;
  font-size: clamp(32px, 4.4vw, 50px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.032em;
  font-variant-numeric: tabular-nums;
}

/* meta chips: Updated, N citations, refresh cadence */
.vs-chips {
  display: flex; flex-wrap: wrap; gap: 6px 18px;
  margin: 0 0 28px; padding: 0 0 20px;
  border-bottom: 1px solid var(--vs-line);
  font-size: 13.5px; color: var(--vs-ink-2);
  font-variant-numeric: tabular-nums;
}
.vs-chips > span + span::before { content: var(--vs-chip-sep); margin-right: 18px; color: var(--vs-sep); }

/* mobile "On this page" (native disclosure, so it works with no JS) */
.vs-jump {
  margin: 0 0 32px; padding: 12px 18px;
  background: var(--vs-surface);
  border: 1px solid var(--vs-line); border-radius: var(--vs-radius);
  font-size: 15px;
}
.vs-jump > summary { cursor: pointer; font-weight: 600; }
.vs-jump ol { margin: 10px 0 4px; padding-left: 20px; }
.vs-jump li { margin: 4px 0; }
.vs-jump a { color: var(--vs-ink); text-decoration: none; }
.vs-jump a:hover { color: var(--vs-accent); }

/* article prose */
.vs-prose p { margin: 0 0 18px; color: var(--vs-text); }
.vs-prose > p:first-child { font-size: 18.5px; }
.vs-prose h2 {
  margin: 56px 0 14px; padding-top: 24px;
  border-top: 1px solid var(--vs-line);
  font-size: clamp(24px, 2.8vw, 32px); font-weight: 600; line-height: 1.18; letter-spacing: -.028em;
  scroll-margin-top: calc(var(--vs-head-offset) + 18px);
}
.vs-prose h3 {
  margin: 32px 0 10px;
  font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: -.018em;
  scroll-margin-top: calc(var(--vs-head-offset) + 18px);
}
.vs-prose .vs-hlink { color: inherit; text-decoration: none; }
.vs-prose .vs-hlink:hover::after { content: " #"; color: #a8a8a8; font-weight: 400; }
.vs-prose ul, .vs-prose ol { margin: 0 0 20px; padding-left: 22px; }
.vs-prose li { margin: 0 0 10px; padding-left: 4px; font-variant-numeric: tabular-nums; }
.vs-prose li::marker { color: var(--vs-accent); }
.vs-prose strong { font-weight: 600; color: var(--vs-ink); }
.vs-prose a { color: var(--vs-ink); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--vs-accent) 50%, transparent); text-underline-offset: 3px; }
.vs-prose a:hover { text-decoration-color: var(--vs-accent); }
.vs-prose code { font-family: var(--vs-mono); font-size: .9em; background: var(--vs-code-bg); padding: 1px 5px; border-radius: 4px; }

/* list styles: rows (default, no markers) and prose; plain ul keeps the bullet look */
.vs-prose ul.vs-rows { padding-left: 0; list-style: none; }
.vs-prose .vs-rows > li { margin: 0; padding: 10px 0; border-top: 1px solid var(--vs-line); }
.vs-prose .vs-rows > li:first-child { border-top: 0; padding-top: 2px; }
.vs-prose .vs-plain { margin: 0 0 20px; }
.vs-prose .vs-plain > p { margin: 0 0 12px; font-variant-numeric: tabular-nums; }

/* tables */
.vs-prose table { width: 100%; margin: 0 0 24px; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.vs-prose th, .vs-prose td { padding: 9px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--vs-line); }
.vs-prose th { font-weight: 600; background: var(--vs-th); }

/* Key Takeaways card */
.vs-keypoints {
  margin: 8px 0 12px; padding: 6px 26px 12px;
  background: var(--vs-surface);
  border: 1px solid var(--vs-line); border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 24px -12px rgba(0, 0, 0, .08);
}
.vs-prose .vs-keypoints h2 { margin-top: 18px; padding-top: 0; border-top: 0; font-size: 22px; }
.vs-keypoints li { margin-bottom: 12px; }
.vs-prose .vs-keypoints .vs-rows > li { margin: 0; padding: 12px 0; }
.vs-prose .vs-keypoints .vs-rows > li:first-child { padding-top: 0; }

/* figure card */
.vs-fig { margin: 24px 0 32px; }
.vs-fig picture { display: block; }
.vs-fig img {
  display: block; width: auto; height: auto; max-width: 100%; max-height: 640px; margin: 0 auto;
  background: #fff; border: 1px solid var(--vs-line); border-radius: var(--vs-radius);
}
.vs-fig figcaption { margin-top: 10px; font-size: 14px; line-height: 1.55; color: var(--vs-ink-2); }
.vs-prose .vs-fig figcaption a { color: inherit; }

/* in-article call to action */
.vs-callout {
  margin: 28px 0 32px; padding: 20px 22px;
  background: var(--vs-surface);
  border: 1px solid var(--vs-line-strong); border-left: 2px solid var(--vs-ink); border-radius: var(--vs-radius);
}
.vs-prose .vs-callout p { margin: 0 0 12px; font-size: 15.5px; color: #3a3a3f; }
.vs-prose .vs-callout .vs-callout-head { margin-bottom: 4px; font-size: 17px; font-weight: 600; color: var(--vs-ink); }
.vs-prose .vs-callout-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px;
  background: var(--vs-ink); color: #fff; border-radius: 8px;
  font-size: 14.5px; font-weight: 550; text-decoration: none;
}
.vs-callout-btn span { transition: transform .15s ease; }
.vs-callout-btn:hover span { transform: translateX(3px); }

/* Cite this page, Related statistics */
.vs-cite, .vs-more { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--vs-line); }
.vs-cite h2, .vs-more h2 { margin: 0 0 10px; font-size: 22px; font-weight: 600; letter-spacing: -.02em; line-height: 1.3; }
.vs-cite > p { margin: 0 0 14px; font-size: 15px; color: var(--vs-ink-2); }
.vs-cite-line { display: flex; align-items: stretch; gap: 10px; margin-bottom: 10px; }
.vs-cite-line code {
  flex: 1; min-width: 0; overflow-x: auto; white-space: nowrap;
  padding: 10px 12px; background: var(--vs-surface);
  border: 1px solid var(--vs-line); border-radius: 8px;
  font-family: var(--vs-mono); font-size: 13px; line-height: 1.5; color: var(--vs-ink);
}
.vs-copybtn {
  flex: none; padding: 0 14px; cursor: pointer;
  background: var(--vs-surface); color: var(--vs-ink);
  border: 1px solid var(--vs-line-strong); border-radius: 8px;
  font: 550 13px/1 var(--vs-font);
}
.vs-copybtn:hover { border-color: var(--vs-ink); }
.vs-copybtn[data-state="done"] { border-color: var(--vs-ink); }
.vs-more ul { margin: 0; padding: 0; list-style: none; }
.vs-more li { padding: 12px 0; border-bottom: 1px solid var(--vs-line); }
.vs-more a { font-weight: 600; color: var(--vs-ink); text-decoration: none; }
.vs-more a:hover { color: var(--vs-accent); }
.vs-more li > span { display: block; font-size: 14.5px; color: var(--vs-ink-2); }

/* desktop rail: sticky On this page */
.vs-rail { position: relative; }
.vs-railnav {
  position: sticky; top: calc(var(--vs-head-offset) + 24px);
  max-height: calc(100vh - var(--vs-head-offset) - 48px); overflow-y: auto;
  padding-left: 18px; border-left: 1px solid var(--vs-line);
}
.vs-railhead { margin: 0 0 12px; font-size: 12px; font-weight: 550; letter-spacing: .1em; text-transform: uppercase; color: var(--vs-ink-2); }
.vs-railnav ol { position: relative; margin: 0; padding: 0; list-style: none; }
.vs-railnav li { margin: 0; }
.vs-railnav a {
  display: block; padding: 6px 0;
  font-size: 14px; line-height: 1.4; color: var(--vs-ink-2); text-decoration: none;
  transition: color .16s ease;
}
.vs-railnav a:hover, .vs-railnav a.is-current { color: var(--vs-ink); }
.vs-railnav a.is-current { font-weight: 550; }
.vs-railmark {
  position: absolute; left: -19px; top: 0; width: 2px; height: 0;
  background: var(--vs-ink); opacity: 0; pointer-events: none;
  transition: transform var(--vs-mark-ms) cubic-bezier(.2, .7, .2, 1), height var(--vs-mark-ms) cubic-bezier(.2, .7, .2, 1), opacity .16s ease;
}
.vs-railmark.is-on { opacity: 1; }
/* without JS the active state cannot be known; keep the rail plain */

@media (min-width: 1101px) { .vs-jump { display: none; } }
@media (max-width: 1100px) {
  .vs-grid { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
  .vs-col { max-width: var(--vs-col); }
  .vs-rail { display: none; }
}
@media (max-width: 760px) {
  .vs-prose table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .vs-prose th, .vs-prose td { min-width: 110px; }
}
@media (max-width: 640px) { .vs-page, .vh-page { --vs-gutter: 20px; } }
@media (prefers-reduced-motion: reduce) {
  .vs-railmark, .vs-railnav a, .vs-callout-btn span { transition: none; }
}

/* visually hidden live region and programmatic focus targets */
.vs-sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vs-page [tabindex="-1"]:focus, .vh-page [tabindex="-1"]:focus { outline: none; }

/* ================================================================
   STATISTICS HUB
   ================================================================ */
.vh-page {
  --vh-gap: 104px;
  background: var(--vs-bg); color: var(--vs-ink);
  font-family: var(--vs-font); font-size: 16px; line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
.vh-page *, .vh-page *::before, .vh-page *::after { box-sizing: border-box; }
.vh-page > section:not(.vh-hero):not(.vh-band) { padding-block: calc(var(--vh-gap) / 2); }

.vh-kicker { display: inline-block; font-size: 12.5px; font-weight: 550; letter-spacing: .1em; text-transform: uppercase; color: var(--vs-ink-2); }
.vh-accent { display: inline-block; color: var(--vs-accent); }
.vh-h2 { margin: 18px 0 0; max-width: 24ch; font-size: clamp(26px, 3vw, 38px); font-weight: 600; line-height: 1.15; letter-spacing: -.028em; text-wrap: balance; }
.vh-lead { margin: 20px 0 0; max-width: 58ch; font-size: clamp(16px, 1.8vw, 18px); line-height: 1.64; color: var(--vs-ink-2); }
.vh-count { display: block; margin: 14px 0 0; font-size: 13px; color: var(--vs-ink-3); font-variant-numeric: tabular-nums; }

/* hero */
.vh-hero {
  padding-top: calc(var(--vs-head-offset) + 76px);
  background:
    radial-gradient(55% 90% at 8% 0%, var(--vs-glow-a), transparent 62%),
    radial-gradient(45% 80% at 92% 10%, var(--vs-glow-b), transparent 60%);
}
.vh-hero-in { max-width: 1000px; padding-bottom: 64px; }
.vh-crumbs { display: flex; gap: 8px; margin: 0 0 22px; font-size: 13px; color: var(--vs-ink-2); }
.vh-crumbs a { color: inherit; text-decoration: none; }
.vh-crumbs a:hover { color: var(--vs-ink); }
.vh-title { margin: 22px 0 0; font-size: clamp(34px, 4.6vw, 58px); font-weight: 600; line-height: 1.08; letter-spacing: -.035em; }
.vh-sub { margin: 26px 0 0; max-width: 54ch; font-size: clamp(16px, 1.6vw, 18px); line-height: 1.6; color: var(--vs-ink-2); }
.vh-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 40px; }
.vh-btn, .vh-btn-alt {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 15px 24px; border-radius: 8px;
  font-size: 15.5px; font-weight: 550; letter-spacing: -.01em; text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease;
}
.vh-btn { background: var(--vs-ink); color: #fff; }
.vh-btn:hover { background: #000; }
.vh-btn-alt { background: var(--vs-surface); color: var(--vs-ink); border: 1px solid var(--vs-line-strong); }
.vh-btn-alt:hover { border-color: var(--vs-ink); }
.vh-btn svg, .vh-btn-alt svg, .vh-go svg, .vh-more-link svg { flex: none; transition: transform .16s ease; }
.vh-btn:hover svg, .vh-btn-alt:hover svg, .vh-more-link:hover svg { transform: translateX(3px); }
.vh-btn:focus-visible, .vh-btn-alt:focus-visible { outline: 2px solid var(--vs-ink); outline-offset: 3px; }

/* stats band */
.vh-band { background: var(--vs-surface); border-block: 1px solid var(--vs-line); }
.vh-figures { display: grid; grid-template-columns: repeat(4, 1fr); }
.vh-figure { padding: 36px 34px 38px; }
.vh-figure + .vh-figure { border-left: 1px solid var(--vs-line); }
.vh-figure:first-child { padding-left: 0; }
.vh-figure:last-child { padding-right: 0; }
.vh-figure b { display: block; white-space: nowrap; font-size: clamp(24px, 2.6vw, 34px); font-weight: 600; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.vh-figure span { display: block; margin-top: 12px; font-size: 15px; color: var(--vs-ink-2); }

/* Start here */
.vh-start { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 64px; align-items: start; }
.vh-start .vh-h2 { max-width: none; }
.vh-more-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; font-size: 15.5px; font-weight: 550; color: var(--vs-ink); text-decoration: none; }
.vh-facts { margin: 0; padding: 8px 28px; list-style: none; background: var(--vs-accent-soft); border: 1px solid var(--vs-accent-line); border-radius: 12px; }
.vh-facts li { position: relative; padding: 18px 0 18px 22px; font-size: 16px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.vh-facts li + li { border-top: 1px solid var(--vs-accent-line); }
.vh-facts li::before { content: ""; position: absolute; left: 0; top: 23px; width: 8px; height: 2px; background: var(--vs-accent); }
.vh-facts-plain li { padding-left: 0; }
.vh-facts-plain li::before { display: none; }

/* family sections */
.vh-family { --tone: var(--vs-accent); --tone-soft: var(--vs-accent-soft); }
.vh-family.vh-band { padding-block: calc(var(--vh-gap) / 2); }
.vh-family-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; }
.vh-family-side { position: sticky; top: calc(var(--vs-head-offset) + 32px); align-self: start; }
.vh-bar { display: block; width: 32px; height: 3px; border-radius: 2px; background: var(--tone); }
.vh-family-name { margin: 16px 0 0; font-size: clamp(22px, 2.2vw, 28px); font-weight: 600; line-height: 1.15; letter-spacing: -.028em; }
.vh-family-side p { margin: 10px 0 0; font-size: 15px; line-height: 1.6; color: var(--vs-ink-2); }
.vh-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--vs-line); }
.vh-list > li { border-bottom: 1px solid var(--vs-line); }
.vh-item {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 20px; gap: 32px; align-items: center;
  margin-inline: -16px; padding: 26px 16px;
  color: var(--vs-ink); text-decoration: none;
  transition: background-color .16s ease;
}
.vh-item:hover { background: var(--tone-soft); }
.vh-item-text { display: flex; flex-direction: column; gap: 6px; }
.vh-item-name { font-size: 19px; font-weight: 600; line-height: 1.25; letter-spacing: -.02em; }
.vh-item-desc { font-size: 15px; line-height: 1.55; color: var(--vs-ink-2); }
.vh-item .vh-count { margin-top: 4px; }
.vh-item-stat {
  padding: 14px 16px 14px 18px;
  background: var(--tone-soft); border-left: 2px solid var(--tone); border-radius: 0 8px 8px 0;
  font-size: 15px; line-height: 1.5; font-variant-numeric: tabular-nums;
}
.vh-go { color: var(--vs-ink-3); transition: transform .16s ease, color .16s ease; }
.vh-item:hover .vh-go { color: var(--tone); transform: translateX(3px); }

/* method */
.vh-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin: 44px 0 0; padding: 0; list-style: none; }
.vh-step { position: relative; padding-top: 24px; }
.vh-step::before, .vh-step::after { content: ""; position: absolute; top: 0; left: 0; }
.vh-step::before { right: 0; height: 1px; background: var(--vs-line-strong); }
.vh-step::after { width: 32px; height: 2px; top: -.5px; background: var(--vs-ink); }
.vh-step-no { display: block; font-size: 13px; font-weight: 500; color: var(--vs-ink-3); font-variant-numeric: tabular-nums; }
.vh-step h3 { margin: 10px 0 0; font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: -.018em; }
.vh-step p { margin: 8px 0 0; font-size: 15px; line-height: 1.62; color: var(--vs-ink-2); }
.vh-quote-note { margin: 44px 0 0; padding-top: 22px; max-width: 72ch; border-top: 1px solid var(--vs-line); font-size: 15.5px; line-height: 1.6; color: var(--vs-ink-2); }
.vh-quote-note a { color: var(--vs-ink); font-weight: 550; text-underline-offset: 3px; }

/* closing card */
.vh-page > section.vh-close-sec:not(.vh-band) { padding-bottom: var(--vh-gap); }
.vh-closing { padding: 72px 48px 76px; text-align: center; background: var(--vs-ink); color: #fff; border-radius: 12px; }
.vh-closing .vh-kicker { color: rgba(255, 255, 255, .55); }
.vh-closing h2 { margin: 18px auto 0; max-width: 21ch; font-size: clamp(26px, 3.4vw, 42px); font-weight: 600; line-height: 1.12; letter-spacing: -.036em; text-wrap: balance; }
.vh-closing .vh-accent { color: var(--vs-accent-on-dark); }
.vh-closing p { margin: 20px auto 0; max-width: 50ch; font-size: clamp(16px, 1.8vw, 18px); line-height: 1.6; color: rgba(255, 255, 255, .7); }
.vh-closing .vh-actions { justify-content: center; margin-top: 36px; }
.vh-closing .vh-btn { background: #fff; color: var(--vs-ink); }
.vh-closing .vh-btn:hover { background: #e7e5e4; }

/* ---------- button text colour, every state ----------
   A host stylesheet's own a:hover / a:focus colour (often the brand accent) outranks a bare class rule and would
   recolour button text on hover, e.g. oxblood on a black button. These rules carry the state in the selector so
   they outrank any host a:hover or a:visited, and they pin the text to the colour of the resting state:
   white on --vs-ink, --vs-ink on --vs-surface, --vs-ink on the white closing-card button. Every pair is WCAG AA
   as long as --vs-ink stays a dark ink, which the token contract requires. */
.vh-page a.vh-btn, .vh-page a.vh-btn:link, .vh-page a.vh-btn:visited,
.vh-page a.vh-btn:hover, .vh-page a.vh-btn:focus, .vh-page a.vh-btn:focus-visible, .vh-page a.vh-btn:active,
.vs-page a.vs-callout-btn, .vs-page a.vs-callout-btn:link, .vs-page a.vs-callout-btn:visited,
.vs-page a.vs-callout-btn:hover, .vs-page a.vs-callout-btn:focus, .vs-page a.vs-callout-btn:focus-visible,
.vs-page a.vs-callout-btn:active { color: #fff; text-decoration: none; }
.vh-page a.vh-btn-alt, .vh-page a.vh-btn-alt:link, .vh-page a.vh-btn-alt:visited,
.vh-page a.vh-btn-alt:hover, .vh-page a.vh-btn-alt:focus, .vh-page a.vh-btn-alt:focus-visible,
.vh-page a.vh-btn-alt:active,
.vh-page .vh-closing a.vh-btn, .vh-page .vh-closing a.vh-btn:visited, .vh-page .vh-closing a.vh-btn:hover,
.vh-page .vh-closing a.vh-btn:focus, .vh-page .vh-closing a.vh-btn:focus-visible,
.vh-page .vh-closing a.vh-btn:active { color: var(--vs-ink); text-decoration: none; }
.vs-page a.vs-callout-btn:hover { background: #000; }
.vs-page a.vs-callout-btn:focus-visible { outline: 2px solid var(--vs-ink); outline-offset: 3px; }
.vh-closing .vh-btn:focus-visible { outline-color: #fff; }

@media (max-width: 1024px) { .vh-page { --vh-gap: 80px; } }
@media (max-width: 980px) {
  .vh-figures { grid-template-columns: repeat(2, 1fr); }
  .vh-figure:nth-child(2) { padding-right: 0; }
  .vh-figure:nth-child(3) { padding-left: 0; border-left: 0; }
  .vh-start { grid-template-columns: 1fr; gap: 36px; }
  .vh-family-grid { grid-template-columns: 1fr; gap: 24px; }
  .vh-family-side { position: static; }
  .vh-steps { grid-template-columns: 1fr; gap: 26px; }
}
@media (max-width: 768px) {
  .vh-page { --vh-gap: 60px; }
  .vh-hero { padding-top: calc(var(--vs-head-offset) + 44px); }
  .vh-hero-in { padding-bottom: 48px; }
}
@media (max-width: 760px) {
  .vh-figures { grid-template-columns: 1fr; }
  .vh-figure, .vh-figure:first-child, .vh-figure:last-child, .vh-figure:nth-child(2), .vh-figure:nth-child(3) { padding: 24px 0; }
  .vh-figure + .vh-figure { border-left: 0; border-top: 1px solid var(--vs-line); }
  .vh-item { grid-template-columns: 1fr; gap: 14px; }
  .vh-go { display: none; }
}
@media (max-width: 640px) {
  .vh-closing { padding: 48px 22px 52px; border-radius: 10px; }
}
@media (max-width: 560px) {
  .vh-actions .vh-btn, .vh-actions .vh-btn-alt { width: 100%; padding: 16px 18px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .vh-item, .vh-go, .vh-btn svg, .vh-btn-alt svg, .vh-more-link svg { transition: none; }
}

/*vk-ais*/
.vk-ais{--ais-accent:#C2410C;--ais-accent-soft:#FBEDE5;--ais-ink:#0D1B2A;--ais-line:#E3E1DC;
background:#fff;border:1px solid var(--ais-line);border-radius:16px;padding:20px;margin:0;font-family:inherit;position:relative;overflow:hidden}
.vk-ais::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ais-accent)}
.vk-ais__label{display:flex;align-items:center;gap:8px;margin:0 0 14px!important;font-size:11px!important;font-weight:700;letter-spacing:.08em;
text-transform:uppercase;color:#6B7684!important;line-height:1.2!important}
.vk-ais__label::before{content:"";width:14px;height:2px;background:var(--ais-accent);flex:none}
.vk-ais .vk-ais__btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:8px}
.vk-ais .vk-ais__btn{display:flex!important;align-items:center;gap:9px;margin:0;padding:9px 15px;border:1px solid var(--ais-line);border-radius:999px;background:#fff;
color:var(--ais-ink)!important;font-size:14px;font-weight:700;line-height:1.2;text-decoration:none!important;
transition:border-color .2s ease,color .2s ease,background-color .2s ease,transform .25s cubic-bezier(.2,.7,.2,1)}
.vk-ais .vk-ais__btn svg{display:block;width:17px;height:17px;flex:none}
.vk-ais .vk-ais__btn span{white-space:nowrap}
@media (hover:hover) and (pointer:fine){.vk-ais .vk-ais__btn:hover{border-color:var(--ais-accent);color:var(--ais-accent)!important;
background:var(--ais-accent-soft);transform:translateY(-1px)}}
.vk-ais .vk-ais__btn:focus-visible{outline:3px solid var(--ais-accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.vk-ais .vk-ais__btn{transition:none}.vk-ais .vk-ais__btn:hover{transform:none}}
.vk-ais.vk-ais--rail .vk-ais__btns{grid-template-columns:1fr}

.vs-col>.vk-ais{margin:20px 0 18px}

/* American Mineral Registry tokens over the kit placeholders (pages_aeo.py, 8 Oct 2026) */
:root{--vs-accent:#b31942;--vs-accent-soft:#eef2f8;--vs-accent-line:rgba(179,25,66,.18);--vs-accent-on-dark:#f3b4c4;
  --vs-glow-a:rgba(10,35,66,.06);--vs-glow-b:rgba(179,25,66,.04);--vs-bg:#f7f9fc;--vs-surface:#fff;--vs-ink:#0a2342;--vs-text:#1d2939;
  --vs-ink-2:#55637a;--vs-ink-3:#6b778c;--vs-sep:#b9c5d6;--vs-chip-sep:"\00B7";--vs-line:#d4dce8;--vs-line-strong:#b9c5d6;--vs-th:#eef2f8;
  --vs-code-bg:#eef2f8;--vs-font:"Archivo","Archivo Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;--vs-head-offset:76px}
.vs-page .vs-grid{padding-top:28px}
.vs-title,.vs-prose h2,.vs-keypoints h2,.vs-cite h2,.vs-more h2{font-family:"Newsreader","Newsreader Fallback",Georgia,serif;font-weight:500;letter-spacing:-.01em}
@media (max-width:760px){:root{--vs-head-offset:0px}}
.vs-page a{color:var(--vs-ink)}
.vs-page q{quotes:"“" "”" "‘" "’"}
.vs-tool{margin:24px 0 32px;padding:20px 22px;border:1px solid var(--vs-line-strong);border-radius:var(--vs-radius);background:var(--vs-surface)}
.vs-tool h3{margin-top:0}
.vs-tool label{display:block;font-size:14px;color:var(--vs-ink-2);margin:0 0 4px}
.vs-tool input,.vs-tool select{font:inherit;font-size:16px;width:100%;padding:8px 10px;border:1px solid var(--vs-line-strong);border-radius:6px;background:#fff;color:var(--vs-ink)}
.vs-tool .vt-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}
.vs-tool .vt-out{margin-top:16px;padding:14px 16px;background:var(--vs-th);border-radius:8px}
.vs-tool .vt-note{font-size:14px;color:var(--vs-ink-2)}
.vs-tool .vt-flag{color:#9a1d3c;font-weight:600}
.vs-tool button{font:inherit;font-size:15px;padding:8px 14px;border-radius:8px;border:1px solid var(--vs-ink);background:var(--vs-ink);color:#fff;cursor:pointer}
.vs-tool button.vt-ghost{background:#fff;color:var(--vs-ink)}
.vs-tool table input,.vs-tool table select{min-width:120px}
.vs-tool fieldset{border:0;margin:0 0 12px;padding:0}
.vs-tool .sl-send-form{margin-top:20px;padding-top:18px;border-top:1px solid var(--vs-line)}
.vs-tool button.sl-send{background:#b31942;border-color:#b31942;color:#fff;font-weight:700;padding:12px 20px}
.vs-tool button.sl-send:hover,.vs-tool button.sl-send:focus-visible{background:#8f1335;border-color:#8f1335}
.vs-tool .sl-done{padding:12px 14px;background:var(--vs-th);border-radius:8px}
.vs-prose .r-scroll table{display:table;overflow:visible}
.vs-page .vs-chips{column-gap:28px}.vs-page .vs-chips > span + span::before{content:none;margin:0}
@media (max-width:640px){.vs-prose table.vs-cards{display:block;overflow:visible;border:0}.vs-prose table.vs-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.vs-prose table.vs-cards tbody,.vs-prose table.vs-cards tr{display:block}.vs-prose table.vs-cards tr{border:1px solid var(--vs-line);border-radius:10px;padding:12px 14px;margin:0 0 12px;background:#fff}.vs-prose table.vs-cards td,.vs-prose table.vs-cards th{display:block;border:0;padding:4px 0;text-align:left;background:none;white-space:normal}.vs-prose table.vs-cards td:first-child,.vs-prose table.vs-cards th:first-child{font-weight:700;font-size:17px;padding-bottom:6px}.vs-prose table.vs-cards td:not(:first-child)::before{content:attr(data-label);display:block;font:700 12px/1.4 var(--vs-sans,inherit);letter-spacing:.04em;text-transform:uppercase;color:var(--vs-ink-2);margin:6px 0 2px}}
@media (max-width:600px){.vs-tool #dc-table,.vs-tool #dc-table tbody{display:block}.vs-tool #dc-table thead{display:none}.vs-tool #dc-table tr{display:grid;grid-template-columns:1.4em 1fr;gap:2px 8px;padding:10px 12px;border-bottom:1px solid var(--vs-line)}.vs-tool #dc-table tr[hidden]{display:none}.vs-tool #dc-table td,.vs-tool #dc-table th{display:block;padding:0;border:0;background:none;text-align:left}.vs-tool #dc-table td:first-child{grid-row:span 3}.vs-tool #dc-table td:nth-child(3),.vs-tool #dc-table td:nth-child(4){grid-column:2;font-size:14px;color:var(--vs-ink-2)}.vs-tool #dc-table td:nth-child(4)::before{content:'Usually asked for: '}}
.vs-tool legend{font-size:14px;color:var(--vs-ink-2);margin:0 0 6px;padding:0}
.vs-tool label.vt-check{display:flex;gap:8px;align-items:center;font-size:15px;color:var(--vs-ink);margin:0 0 6px}
.vs-tool input[type=checkbox]{width:18px;height:18px;min-width:0;padding:0;margin:0;flex:none}
@media print{.s-header,.s-footer,.vs-rail,.vk-ais,.vs-jump,.vs-more,.vs-cite,.r-crumbs{display:none!important}.vs-tool{break-inside:avoid}}
