:root {
  --v-ink:#14181F; --v-body:#374151; --v-grey:#7A8290; --v-rule:#E4E7EB; --v-rule2:#D9DEE3;
  --v-accent:#0F766E; --v-primary:#0F766E; --v-wash2:#F4F6F7; --v-wash:rgba(15,118,110,.06); --v-tint:#F4F9F8; --v-sel:#EAF4F2; --v-paper:#FFFFFF;
  --v-c-plat:#0B4F49; --v-c-strat:#2E9A8C; --v-c-grow:#9ED3C7; --v-c-s4:#A8D5CB; --v-c-other:#CDD3D1;
  --v-tr-up:#188F6B; --v-tr-up-bg:rgba(18,164,122,.12); --v-tr-dn:#9B2C2C; --v-tr-dn-bg:rgba(155,44,44,.10); --v-tr-flat:#9AA1AC;
  --v-dash:#B4BAC3; --v-tag:#3A4250; --v-tag-bg:#EEF0F3; --v-reg-hd:#6F7886;
  --v-neon:#53D8B8; --v-on-ink:#F9FAFB; --v-on-ink2:#8C94A1; --v-ink-field:#1B2029; --v-ink-line:#3A4149;
  --v-pad:clamp(16px, 3vw, 40px);
  --v-text:'Helvetica Neue','Segoe UI',Roboto,Helvetica,Arial,sans-serif; --v-frame:1240px;
  --v-1:4px; --v-2:8px; --v-3:12px; --v-4:16px; --v-5:24px; --v-6:32px; --v-7:48px;
  --v-fs-title:32px; --v-fw-title:700; --v-lh-title:1.2; --v-ls-title:-.5px;
  --v-fs-section:11px; --v-fw-section:600; --v-lh-section:1.35; --v-ls-section:.08em;
  --v-fs-label:11px; --v-fw-label:600; --v-lh-label:1.35; --v-ls-label:.08em;
  --v-fs-sublabel:11px; --v-fw-sublabel:600; --v-lh-sublabel:1.35; --v-ls-sublabel:.08em;
  --v-fs-nav:11px; --v-fw-nav:600; --v-lh-nav:1.35; --v-ls-nav:.08em;
  --v-fs-pagenav:14px; --v-fw-pagenav:500; --v-lh-pagenav:1.3; --v-ls-pagenav:0;
  --v-fs-tab:15px; --v-fw-tab:500; --v-lh-tab:1.3; --v-ls-tab:0;
  --v-fs-headline:16.5px; --v-fw-headline:600; --v-lh-headline:1.35; --v-ls-headline:0;
  --v-fs-row-title:14px; --v-fw-row-title:600; --v-lh-row-title:1.35; --v-ls-row-title:0;
  --v-fs-item:14px; --v-fw-item:400; --v-lh-item:1.35; --v-ls-item:0;
  --v-fs-body:14.5px; --v-fw-body:400; --v-lh-body:1.55; --v-ls-body:0;
  --v-fs-row-meta:13px; --v-fw-row-meta:400; --v-lh-row-meta:1.45; --v-ls-row-meta:0;
  --v-fs-number:14.5px; --v-fw-number:600; --v-lh-number:1.35; --v-ls-number:0;
  --v-fs-small:12.5px; --v-fw-small:400; --v-lh-small:1.4; --v-ls-small:0;
  --v-fs-button:13px; --v-fw-button:600; --v-lh-button:1; --v-ls-button:.02em;
  --v-fs-display:44px; --v-fw-display:700; --v-lh-display:1.12; --v-ls-display:-1px;
  --v-fs-lede:18px; --v-fw-lede:400; --v-lh-lede:1.55; --v-ls-lede:0;
  --v-fs-name:18px; --v-fw-name:700; --v-lh-name:1.25; --v-ls-name:0;
}
.v-ts-title { font-family:var(--v-text); font-size:var(--v-fs-title); font-weight:var(--v-fw-title); line-height:var(--v-lh-title); letter-spacing:var(--v-ls-title); }
.v-ts-section { font-family:var(--v-text); font-size:var(--v-fs-section); font-weight:var(--v-fw-section); line-height:var(--v-lh-section); letter-spacing:var(--v-ls-section); text-transform:uppercase; }
.v-ts-label { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; }
.v-ts-sublabel { font-family:var(--v-text); font-size:var(--v-fs-sublabel); font-weight:var(--v-fw-sublabel); line-height:var(--v-lh-sublabel); letter-spacing:var(--v-ls-sublabel); text-transform:uppercase; }
.v-ts-nav { font-family:var(--v-text); font-size:var(--v-fs-nav); font-weight:var(--v-fw-nav); line-height:var(--v-lh-nav); letter-spacing:var(--v-ls-nav); text-transform:uppercase; }
.v-ts-pagenav { font-family:var(--v-text); font-size:var(--v-fs-pagenav); font-weight:var(--v-fw-pagenav); line-height:var(--v-lh-pagenav); letter-spacing:var(--v-ls-pagenav); }
.v-ts-tab { font-family:var(--v-text); font-size:var(--v-fs-tab); font-weight:var(--v-fw-tab); line-height:var(--v-lh-tab); letter-spacing:var(--v-ls-tab); }
.v-ts-headline { font-family:var(--v-text); font-size:var(--v-fs-headline); font-weight:var(--v-fw-headline); line-height:var(--v-lh-headline); letter-spacing:var(--v-ls-headline); }
.v-ts-row-title { font-family:var(--v-text); font-size:var(--v-fs-row-title); font-weight:var(--v-fw-row-title); line-height:var(--v-lh-row-title); letter-spacing:var(--v-ls-row-title); }
.v-ts-item { font-family:var(--v-text); font-size:var(--v-fs-item); font-weight:var(--v-fw-item); line-height:var(--v-lh-item); letter-spacing:var(--v-ls-item); }
.v-ts-body { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); }
.v-ts-row-meta { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); }
.v-ts-number { font-family:var(--v-text); font-size:var(--v-fs-number); font-weight:var(--v-fw-number); line-height:var(--v-lh-number); letter-spacing:var(--v-ls-number); }
.v-ts-small { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); }
.v-ts-button { font-family:var(--v-text); font-size:var(--v-fs-button); font-weight:var(--v-fw-button); line-height:var(--v-lh-button); letter-spacing:var(--v-ls-button); }
.v-ts-display { font-family:var(--v-text); font-size:var(--v-fs-display); font-weight:var(--v-fw-display); line-height:var(--v-lh-display); letter-spacing:var(--v-ls-display); }
.v-ts-lede { font-family:var(--v-text); font-size:var(--v-fs-lede); font-weight:var(--v-fw-lede); line-height:var(--v-lh-lede); letter-spacing:var(--v-ls-lede); }
.v-ts-name { font-family:var(--v-text); font-size:var(--v-fs-name); font-weight:var(--v-fw-name); line-height:var(--v-lh-name); letter-spacing:var(--v-ls-name); }
/* ---- base + frame ---------------------------------------------------- */
body.v2 { margin:0; background:var(--v-paper); color:var(--v-ink); font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; font-variant-numeric:tabular-nums;
  -webkit-font-smoothing:antialiased; }
.v-frame { max-width:var(--v-frame); margin:0 auto; padding:0 var(--v-pad) var(--v-7); }
.v-frame * { font-variant-numeric:tabular-nums; }
.v-frame a { color:inherit; text-decoration:none; }
.v-frame a:hover, .v-frame a:focus-visible { color:var(--v-accent); }
.v-frame :focus-visible { outline:2px solid var(--v-accent); outline-offset:2px; }
.v-frame h1, .v-frame h2, .v-frame h3, .v-frame p, .v-frame ul { margin:0; }
.v-frame textarea { font-family:inherit; }
/* sectors always green (spec): a linked name beats .v-frame a's colour:inherit */
.v-sec, .v-frame a.v-sec { color:var(--v-accent); font-weight:600; }
.v-subsec, .v-frame a.v-subsec { color:var(--v-accent); font-weight:400; }
.v-frame a.v-sec:hover, .v-frame a.v-subsec:hover { text-decoration:underline; text-underline-offset:3px; }
.v-dim { color:var(--v-grey); }
.v-ink { color:var(--v-ink); }
/* THE TEAL RULE (Kyle via Cowork 2026-10-15 12:15, option A): in SUMMARY BLOCKS - cards / Coverage boxes, the
   scoreboard, Notable meta lines, report and conference rows' meta, the theme card's Sources line - EVERY LINKED name
   (sector, subsector, firm, company, deal) is teal; an unlinked name stays ink; labels stay grey. The register is the
   one exception (only Sector + Subsector teal there). */
.v-frame .v-card a[href], .v-frame .v-sb-line a[href], .v-frame .v-nt-m a[href], .v-frame .v-rep-m a[href],
.v-frame .v-conf-t a.v-conf-o[href], .v-frame .v-thm-s a[href] { color:var(--v-accent); }
.v-frame .v-card a[href]:hover, .v-frame .v-sb-line a[href]:hover, .v-frame .v-nt-m a[href]:hover,
.v-frame .v-rep-m a[href]:hover, .v-frame .v-conf-t a.v-conf-o[href]:hover, .v-frame .v-thm-s a[href]:hover {
  text-decoration:underline; text-underline-offset:3px; }
.v-chev { display:inline-block; color:var(--v-accent); transition:transform .12s ease; }
@media (prefers-reduced-motion: reduce) { .v-chev { transition:none; } }

/* ---- the grid: two equal columns, 48px gap, one shared right x --------- */
.v-2col, .ui-2col { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:var(--v-7); row-gap:0; }
.v-2col > *, .ui-2col > * { min-width:0; }
@media (max-width:820px) { .v-2col, .ui-2col { grid-template-columns:minmax(0,1fr); } }

/* ---- masthead (Cowork 2026-10-15 01:15: back to the live site's full dark bar): the lockup | search | Sign in +
   Get trial access on ink across the frame, the neon rule under it, then the main nav (label caps) ------------ */
.v-mh { display:grid; grid-template-columns:1fr minmax(0,320px) 1fr; align-items:center; gap:var(--v-3) var(--v-5);
  background:var(--v-ink); margin:0 calc(-1 * var(--v-pad)); padding:14px var(--v-5); }
.v-mh > a { justify-self:start; }
.v-mh img { display:block; height:auto; max-width:min(310px,48vw); border:0; }
.v-neon { height:4px; background:var(--v-neon); margin:0 calc(-1 * var(--v-pad)); }
.v-mh-r { justify-self:end; display:flex; align-items:center; gap:var(--v-4); white-space:nowrap; }
.v-frame .v-mh-r .v-signin { font-family:var(--v-text); font-size:var(--v-fs-nav); font-weight:var(--v-fw-nav); line-height:var(--v-lh-nav); letter-spacing:var(--v-ls-nav); text-transform:uppercase; color:var(--v-on-ink); }
.v-frame .v-mh-r .v-signin:hover, .v-frame .v-mh-r .v-signin:focus-visible { color:var(--v-neon); }
.v-mh .v-btn:not(.v-primary) { background:transparent; color:var(--v-neon); border-color:var(--v-neon); }
.v-frame .v-mh a.v-btn:not(.v-primary):hover { background:var(--v-neon); color:var(--v-ink); border-color:var(--v-neon); }
.v-mh .th-visitor { display:inline-flex; align-items:center; gap:var(--v-4); }
.v-mh .th-acct-s { font-family:var(--v-text); font-size:var(--v-fs-nav); font-weight:var(--v-fw-nav); line-height:var(--v-lh-nav); letter-spacing:var(--v-ls-nav); text-transform:uppercase; color:var(--v-on-ink); }
.v-ms { position:relative; display:flex; align-items:center; gap:var(--v-2); background:var(--v-ink-field);
  border:1px solid var(--v-ink-line); border-radius:3px; padding:7px 10px; }
.v-ms:focus-within { border-color:var(--v-neon); }
.v-ms .v-colon { color:var(--v-neon); }
.v-ms input { flex:1; min-width:0; border:0; outline:0; background:transparent; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-on-ink); padding:0; }
.v-ms input::placeholder { color:var(--v-on-ink2); }
.v-ms kbd { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-on-ink2); border:1px solid var(--v-ink-line); border-radius:3px; padding:0 6px; }
.v-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.v-ms .ui-drop { position:absolute; left:-1px; right:-1px; top:calc(100% + 6px); background:var(--v-paper);
  border:1px solid var(--v-rule2); border-radius:3px; box-shadow:0 8px 24px rgba(20,24,31,.12); z-index:60; padding:var(--v-1) 0;
  max-height:70vh; overflow:auto; }
.v-ms .ui-drop[hidden] { display:none; }
.v-ms .ui-drop .g { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-grey); padding:9px 12px 4px; }
.v-ms .ui-drop a { display:flex; justify-content:space-between; gap:var(--v-3); padding:var(--v-2) 12px; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); }
.v-ms .ui-drop a .nm { font-weight:600; min-width:0; overflow-wrap:anywhere; }
.v-ms .ui-drop a .k { color:var(--v-grey); white-space:nowrap; }
.v-ms .ui-drop a.act { background:var(--v-wash); }
.v-ms .ui-drop a.act .nm { color:var(--v-accent); }
.v-ms .ui-drop .all { border-top:1px solid var(--v-rule); }
@media (max-width:760px) { .v-mh { grid-template-columns:minmax(0,1fr) auto; } .v-ms { grid-column:1 / -1; grid-row:2; } }
.v-mnav { display:flex; flex-wrap:wrap; gap:var(--v-1) var(--v-5); padding:var(--v-3) 0; border-bottom:1px solid var(--v-rule); }
.v-mnav a { font-family:var(--v-text); font-size:var(--v-fs-nav); font-weight:var(--v-fw-nav); line-height:var(--v-lh-nav); letter-spacing:var(--v-ls-nav); text-transform:uppercase; color:var(--v-grey); padding:var(--v-1) 0; border-bottom:2px solid transparent; }
.v-mnav a.on, .v-mnav a:hover, .v-mnav a:focus-visible { color:var(--v-ink); border-bottom-color:var(--v-accent); }

/* ---- buttons: ONE primary (teal) per page, the rest outline ------------ */
.v-btn, .v-btns a.th-up { display:inline-flex; align-items:center; gap:var(--v-2); font-family:var(--v-text); font-size:var(--v-fs-button); font-weight:var(--v-fw-button); line-height:var(--v-lh-button); letter-spacing:var(--v-ls-button); text-transform:none; padding:var(--v-2) var(--v-4);
  border:1px solid var(--v-ink); border-radius:3px; color:var(--v-ink); background:var(--v-paper); cursor:pointer; }
.v-frame a.v-btn:hover, .v-btn:hover { color:var(--v-accent); border-color:var(--v-accent); }
.v-btn.v-primary, .v-btns a.th-up { background:var(--v-primary); border-color:var(--v-primary); color:var(--v-paper); }
.v-frame a.v-btn.v-primary:hover, .v-btn.v-primary:hover, .v-frame .v-btns a.th-up:hover { color:var(--v-paper); filter:brightness(1.1); }
.v-btn[hidden] { display:none; }

/* ---- page title + grey count, then the in-page nav --------------------- */
.v-ph { padding-top:var(--v-6); }
.v-title { font-family:var(--v-text); font-size:var(--v-fs-title); font-weight:var(--v-fw-title); line-height:var(--v-lh-title); letter-spacing:var(--v-ls-title); text-transform:none; color:var(--v-ink); }
.v-title .v-dot { color:var(--v-accent); }
.v-ph-sub { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); margin-top:var(--v-1); }
.v-frame .v-ph-sub a { color:var(--v-grey); }
.v-frame .v-ph-sub a:hover, .v-frame .v-ph-sub a:focus-visible { color:var(--v-accent); text-decoration:underline; text-underline-offset:3px; }
.v-frame a.v-plink { color:var(--v-accent); }
.v-frame a.v-plink:hover { text-decoration:underline; text-underline-offset:3px; }
.v-sb-line .v-tr, .v-sb-line .v-flat, .v-card-n .v-tr, .v-card-n .v-flat { margin-left:var(--v-2); }
.v-crumb { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-grey); margin-bottom:var(--v-2); }
.v-crumb a { color:var(--v-grey); font-weight:400; }
.v-crumb .v-crumb-sl { color:var(--v-rule2); padding:0 6px; }
.v-crumb .v-crumb-on { color:var(--v-accent); }
.v-pnav { position:sticky; top:0; z-index:30; background:var(--v-paper); display:flex; gap:var(--v-1) var(--v-5);
  overflow-x:auto; white-space:nowrap; scrollbar-width:none; margin-top:var(--v-3); padding:var(--v-2) 0;
  border-bottom:1px solid var(--v-rule); }
.v-pnav::-webkit-scrollbar { display:none; }
.v-pnav a { font-family:var(--v-text); font-size:var(--v-fs-pagenav); font-weight:var(--v-fw-pagenav); line-height:var(--v-lh-pagenav); letter-spacing:var(--v-ls-pagenav); text-transform:none; color:var(--v-grey); padding:2px 0; border-bottom:2px solid transparent; }
.v-pnav a.on, .v-pnav a:hover, .v-pnav a:focus-visible { color:var(--v-ink); border-bottom-color:var(--v-accent); }
html:has(.v-pnav) { scroll-padding-top:56px; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce) { html:has(.v-pnav) { scroll-behavior:auto; } }

/* ---- section header: green caps + a rule; ONE per section -------------- */
.v-section { margin-top:var(--v-7); }
.v-sh { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--v-4); padding-bottom:var(--v-2);
  border-bottom:1px solid var(--v-rule2); margin-bottom:var(--v-4); }
.v-sh h2 { font-family:var(--v-text); font-size:var(--v-fs-section); font-weight:var(--v-fw-section); line-height:var(--v-lh-section); letter-spacing:var(--v-ls-section); text-transform:uppercase; color:var(--v-accent); display:flex; align-items:flex-end; }
.v-sh h2 a { color:var(--v-accent); display:inline-flex; align-items:flex-end; gap:6px; }
/* the label word's teal segment ON the hairline (Kyle via Cowork 2026-10-15 11:40-12:08; the email's sector head):
   2px, exactly the word's width, its lower pixel on the 1px rule (the .v-sh padding + the rule below the h2) */
.v-sh-w { position:relative; }
.v-sh-w::after { content:""; position:absolute; left:0; right:var(--v-ls-section); bottom:calc(-1 * var(--v-2) - 1px); height:2px;
  background:var(--v-accent); }
.v-sh h2 .v-shc { color:var(--v-grey); margin-left:var(--v-2); }
.v-sh-r { display:flex; align-items:center; gap:var(--v-3); }
.v-sh-r .v-note { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); }

/* ---- the sub-label: the label caps in dark ink, no rule, no green (Kyle 2026-10-16 13:19; was quiet grey) ---- */
.v-lab { font-family:var(--v-text); font-size:var(--v-fs-sublabel); font-weight:var(--v-fw-sublabel); line-height:var(--v-lh-sublabel); letter-spacing:var(--v-ls-sublabel); text-transform:uppercase; color:var(--v-ink); margin:0 0 var(--v-2) 0; display:flex; align-items:baseline; gap:6px; }
.v-lab a { color:var(--v-ink); display:inline-flex; align-items:baseline; gap:6px; }
.v-frame .v-lab a:hover, .v-frame .v-lab a:focus-visible { color:var(--v-accent); }
.v-hov-chev { color:var(--v-accent); opacity:0; transition:opacity .12s ease, transform .12s ease; }
a:hover > .v-hov-chev, a:focus-visible > .v-hov-chev { opacity:1; transform:translateX(3px); }
@media (hover:none) { .v-hov-chev { opacity:1; } }
@media (prefers-reduced-motion: reduce) { .v-hov-chev { transition:none; } }

/* ---- scoreboard: one row of equal compact boxes, "Name · N" ------------ */
.v-sb { margin-top:var(--v-5); }
.v-sb-row { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); border-top:2px solid var(--v-ink);
  border-bottom:1px solid var(--v-rule2); }
.v-sb-box { padding:var(--v-3) var(--v-4) var(--v-3) var(--v-4); border-left:1px solid var(--v-rule); min-width:0; }
.v-sb-box:first-child { border-left:0; padding-left:0; }
.v-sb-box .v-lab { margin-bottom:var(--v-1); }
.v-sb-line { font-family:var(--v-text); font-size:var(--v-fs-number); font-weight:var(--v-fw-number); line-height:var(--v-lh-number); letter-spacing:var(--v-ls-number); text-transform:none; color:var(--v-ink); display:block; overflow-wrap:anywhere; }
.v-sb-line .v-n { color:var(--v-grey); font-weight:400; }
.v-sb-line .v-sw { display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:6px; }
/* a "Name · N [pill]" line: the name shows in full (Kyle 2026-10-17 23:17: "make names fit"), wrapping between words
   to a second line when the box is narrow - never mid-word; the count and the trend pill stay together right after
   the name's last word and never wrap apart (Cowork 2026-10-17) */
.v-sb-t { white-space:nowrap; overflow-wrap:normal; }
.v-sb-nm { white-space:normal; }
/* the Deals page's MARKET VOLUME box (Kyle 2026-10-17 10:18): a row a month - "Aug · 220 (36%)" in normal case (Kyle
   23:17), then a small bar on one shared track (the box's grid), so the bars scale to the months' counts */
.v-sb-vol { display:grid; grid-template-columns:max-content minmax(24px,1fr); column-gap:var(--v-2); row-gap:var(--v-1);
  align-items:center; }
.v-sb-vl { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-ink); white-space:nowrap; }
.v-sb-vt { display:block; min-width:0; }
.v-sb-vt i { display:block; height:6px; border-radius:1px; background:var(--v-accent); }
@media (max-width:760px) { .v-sb-row { grid-auto-flow:row; grid-template-columns:repeat(2, minmax(0,1fr)); }
  .v-sb-box:nth-child(odd) { border-left:0; padding-left:0; } }

/* ---- What's moving: equal-height boxes on the tint panel --------------- */
.v-mv { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:var(--v-5); background:var(--v-tint);
  border-top:2px solid var(--v-accent); padding:var(--v-5); align-items:stretch; }
.v-mv-box { min-width:0; display:flex; flex-direction:column; }
.v-mv-k { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); }
.v-mv-k .v-sec, .v-mv-k .v-subsec { font-weight:600; }
.v-mv-h { font-family:var(--v-text); font-size:var(--v-fs-headline); font-weight:var(--v-fw-headline); line-height:var(--v-lh-headline); letter-spacing:var(--v-ls-headline); text-transform:none; color:var(--v-ink); margin-top:6px; }
.v-mv-b { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-body); margin-top:var(--v-2); }
.v-mv-box > .v-mv-b:not(:last-child) { margin-bottom:var(--v-3); }
@media (max-width:760px) { .v-mv { grid-auto-flow:row; grid-template-columns:minmax(0,1fr); } }

/* ---- THE READ (Kyle 2026-10-16 12:24 / 12:46; 2026-10-17 23:20 #4-#6): ONE component wherever The Read shows, the
   email Read box's look (daily_read.box): a light teal ground with a 3px teal rule on the left; each box its chip at
   the top left (teal outline, linked), the claim in bold, then its evidence, then straight on - a small gap, no rule -
   its own Move as one paragraph: the chevron, "The Move" a bold run-in, the Move; the receipt-light provenance footer
   at the bottom right */
.v-rd { background:var(--v-sel); border-left:3px solid var(--v-accent); padding:var(--v-4) var(--v-5); }
.v-rd-hd { display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:var(--v-1) var(--v-3);
  margin-bottom:6px; }
.v-rd-chip { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-accent); border:1px solid var(--v-accent); border-radius:3px;
  padding:2px 7px; white-space:nowrap; }
.v-frame a.v-rd-chip { color:var(--v-accent); }
.v-frame a.v-rd-chip:hover, .v-frame a.v-rd-chip:focus-visible { background:var(--v-paper); }
.v-rd-p { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-ink); }
.v-rd-p strong { font-weight:700; }
.v-frame a.v-rd-a { color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px;
  text-decoration-color:color-mix(in srgb, var(--v-accent) 35%, transparent); }
.v-frame a.v-rd-a:hover, .v-frame a.v-rd-a:focus-visible { color:var(--v-accent); text-decoration-color:currentColor; }
.v-frame .v-rd-mv { margin-top:var(--v-2); }
.v-rd-mv .v-chev { margin-right:4px; }
.v-rd-mk { font-weight:700; color:var(--v-ink); }
.v-rd-lead { padding-bottom:var(--v-4); margin-bottom:var(--v-4);
  border-bottom:1px solid color-mix(in srgb, var(--v-accent) 25%, transparent); }
.v-rd-g { display:grid; column-gap:var(--v-5); row-gap:0; }
.v-rd-c2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
.v-rd-c3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
.v-rd-box { min-width:0; }
.v-rd-dt { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); margin-left:auto; white-space:nowrap; }
.v-rd-prov { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-grey); opacity:.8; text-align:right;
  border-top:1px solid color-mix(in srgb, var(--v-accent) 18%, transparent); margin-top:var(--v-4); padding-top:10px; }
@media (max-width:760px) { .v-rd-c2, .v-rd-c3 { grid-template-columns:minmax(0,1fr); }
  .v-rd-g > .v-rd-box:not(:first-child) { margin-top:var(--v-5); } }

/* ---- charts ------------------------------------------------------------- */
.v-c1 { background:var(--v-c-plat); } .v-c2 { background:var(--v-c-strat); } .v-c3 { background:var(--v-c-grow); }
.v-c4 { background:var(--v-c-s4); } .v-c5 { background:var(--v-c-other); }
.v-chart { min-width:0; }
.v-bars { display:flex; align-items:flex-end; gap:var(--v-2); height:200px; border-bottom:1px solid var(--v-rule2); }
.v-bar { flex:1 1 0; min-width:0; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch; }
.v-bar-n { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-ink); text-align:center; padding-bottom:var(--v-1); }
.v-bar-s { display:flex; flex-direction:column-reverse; }
.v-bar-s i { display:block; }
.v-bar-x { display:flex; gap:var(--v-2); }
.v-bar-x span { flex:1 1 0; min-width:0; font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); text-align:center; padding-top:var(--v-1); }
.v-key { display:flex; flex-wrap:wrap; gap:var(--v-1) var(--v-4); margin-top:var(--v-3); font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); }
.v-key span { display:inline-flex; align-items:center; gap:6px; }
.v-key i { display:inline-block; width:10px; height:10px; border-radius:2px; }
.v-hb { display:grid; grid-template-columns:max-content minmax(0,1fr); column-gap:var(--v-4); row-gap:6px; align-items:center; }
.v-hb-n { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); overflow-wrap:anywhere; }
.v-hb-b { display:flex; align-items:center; gap:var(--v-2); min-width:0; }
.v-hb-s { display:flex; height:14px; }
.v-hb-s i { display:block; height:100%; }
.v-hb-t { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-ink); flex:none; }
/* chart_hbars(cols=2) (the Sectors hub, Kyle 2026-10-16 13:00): two columns side by side on ONE grid - the two bar tracks
   are equal 1fr shares, so one scale serves both columns; the right column's rows (.v-hb-r) sit after it, and under
   the 2-column breakpoint they follow the left column's rows (order) in one column */
.v-hb.v-hb2 { grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr); }
.v-hb.v-hb3 { grid-template-columns:max-content minmax(0,1fr) max-content minmax(0,1fr) max-content minmax(0,1fr); row-gap:4px; }
.v-hb2 .v-hb-n.v-hb-r, .v-hb3 .v-hb-n.v-hb-r { padding-left:var(--v-5); }
.v-hb3 .v-hb-s { height:12px; }
@media (max-width:820px) { .v-hb.v-hb2, .v-hb.v-hb3 { grid-template-columns:max-content minmax(0,1fr); }
  .v-hb2 .v-hb-r, .v-hb3 .v-hb-r { order:1; } .v-hb3 .v-hb-r2 { order:2; }
  .v-hb2 .v-hb-n.v-hb-r, .v-hb3 .v-hb-n.v-hb-r { padding-left:0; } .v-hb-e { display:none; } }
.v-pc .v-bar-s i { background:var(--v-accent); }
.v-bar-x .v-bar-of { display:block; font-style:normal; opacity:.75; white-space:nowrap; }

/* ---- card / coverage box ------------------------------------------------ */
/* THE CARD GRID (Kyle 2026-10-18 #24): tight - 3 across (cards(cols=4): 4 across), a 12px gap */
.v-cards { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--v-3); }
.v-cards.v-cards-4 { grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width:1100px) { .v-cards.v-cards-4 { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:900px) { .v-cards, .v-cards.v-cards-4 { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:560px) { .v-cards, .v-cards.v-cards-4 { grid-template-columns:minmax(0,1fr); } }
.v-card { border:1px solid var(--v-rule); border-radius:3px; padding:var(--v-4); min-width:0; }
.v-cards > .v-card { padding:var(--v-3); }     /* the card grid's cards: tight (#24); the Conferences page's card keeps 16px */
.v-card:hover { background:var(--v-wash); }
/* THE WHOLE CARD IS ONE LINK (Kyle 2026-10-17 07:56): a card with an href carries an overlay link (.v-card-ov, the card's
   whole area, out of the tab order - the name stays the one link to tab to); every other link inside the card (the
   name, subsectors, firms, the latest deal) sits above it and goes to its own page. The hover stays the card's wash. */
.v-card-a { position:relative; }
.v-card-ov { position:absolute; inset:0; z-index:0; }
.v-card-a a:not(.v-card-ov) { position:relative; z-index:1; }
.v-card-h { display:flex; justify-content:space-between; align-items:baseline; gap:var(--v-3); }
.v-card-h .v-card-nm { font-family:var(--v-text); font-size:var(--v-fs-row-title); font-weight:var(--v-fw-row-title); line-height:var(--v-lh-row-title); letter-spacing:var(--v-ls-row-title); text-transform:none; color:var(--v-ink); min-width:0; overflow-wrap:anywhere; }
.v-card-h .v-card-n { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); flex:none; }
/* the Sectors hub card's name (card(mark=True), Kyle 2026-10-16 23:46): bold ink, the teal segment under the word
   as the section header's (.v-sh-w), still a link */
.v-frame .v-card a.v-card-w, .v-card .v-card-w { position:relative; color:var(--v-ink); font-weight:var(--v-fw-name); }
.v-card-w::after { content:""; position:absolute; left:0; right:0; bottom:calc(-1 * var(--v-1)); height:2px; background:var(--v-accent); }
.v-frame .v-card a.v-card-w:hover { color:var(--v-accent); text-decoration:none; }
/* THE ROWS SIT CLOSE (Kyle 2026-10-18 #24): one grid a card - the labels' column as wide as its longest label, each value
   left-aligned right after it (no gap out to a right-aligned value); a row's label and value on one baseline */
.v-card-g { display:grid; grid-template-columns:max-content minmax(0,1fr); column-gap:var(--v-3); row-gap:var(--v-1);
  align-items:baseline; margin-top:var(--v-2); }
.v-card-r { display:contents; }
/* a card row's LABEL (Kyle 2026-10-18 #26): the label caps (small caps style, the text face), slate grey; the value ink -
   teal only where it is a link (THE TEAL RULE above: a subsector, a firm, a deal); a sector name stays green */
.v-card-k { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-grey); }
.v-card-v { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); text-align:left; min-width:0; overflow-wrap:break-word; }
/* a card's PEOPLE row (firm Coverage cards, Kyle 2026-10-16 14:02): each name on its own line, never broken mid-name */
.v-card-ppl { display:flex; flex-direction:column; align-items:flex-start; }
.v-card-ppl > * { white-space:nowrap; }
.v-card-nil { color:var(--v-grey); }   /* a card row's missing value: the slate-grey em dash (Kyle 2026-10-18 #25) */
.v-more-n { color:var(--v-grey); }
/* THE SECTOR LIST (Kyle 2026-10-16 14:11): green linked sectors, spaced middle dots, "+N" grey */
.v-seclist .v-sep { color:var(--v-grey); margin:0 6px; }
.v-covers { display:flex; align-items:baseline; gap:var(--v-3); margin-top:var(--v-2); font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; }
.v-covers .v-lab { margin:0; flex:none; }
/* a scoreboard box of two counts side by side (a bank page's Sell-side / Buy-side; an investor page's Platforms / Add-ons) */
.v-sb-pair { display:flex; flex-wrap:wrap; gap:0 var(--v-5); }

/* ---- the one list (15 + Show more) and the register row ------------- */
.v-reg { border-top:1px solid var(--v-rule2); }
/* THE REGISTER GRID (Kyle 2026-10-17 08:26, approved; replaces the per-list content sizing of 2026-10-16): ONE fixed
   template for every register (REG_TRACKS) - chevron 16px | Target minmax(180px,1.5fr) | Sector, Subsector
   minmax(0,1.2fr) | Type, Sponsor, Sell-side minmax(0,1fr) | Buyer minmax(180px,1.5fr) | Value 100px | Date 80px, a
   16px gap; minmax(0,...) so a long word never blows the grid out. A bank or investor page's Role column (roles=) sits
   right after Target, minmax(0,1fr) (.v-reg-role). The head and the list sit in one box (.v-reg-w) that scrolls
   sideways below the minimums' sum (--v-reg-min); Show more stays outside it. px, never em. */
:root { --v-reg-cols:16px minmax(180px,1.5fr) minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,1fr) minmax(180px,1.5fr) minmax(0,1fr) minmax(0,1fr) 100px 80px; --v-reg-min:1105px; --v-reg-gap:16px; }
.v-reg-role { --v-reg-cols:16px minmax(180px,1.5fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,1fr) minmax(180px,1.5fr) minmax(0,1fr) minmax(0,1fr) 100px 80px; --v-reg-min:1196px; }
.v-reg-w { overflow-x:auto; }
.v-reg-w > .v-rr-hd, .v-reg-w > .v-reg { min-width:var(--v-reg-min); }
.v-rr { border-bottom:1px solid var(--v-rule); }
.v-rr > summary { list-style:none; cursor:pointer; display:grid; align-items:baseline; column-gap:var(--v-reg-gap);
  grid-template-columns:var(--v-reg-cols);
  padding:10px 0; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); }
.v-rr > summary::-webkit-details-marker { display:none; }
.v-rr > summary:hover { background:var(--v-wash); }
/* NO TRUNCATION (Kyle 2026-10-16): every cell wraps - Target, Buyer, Sponsor, Sector, Subsector, Sell-side, Value */
.v-rr > summary > span { min-width:0; overflow-wrap:anywhere; }
.v-rr > summary > span.v-rr-y { overflow-wrap:normal; white-space:nowrap; }   /* the Type cell never wraps */
/* THE CELLS (Kyle 2026-10-17 08:26): Target and Buyer ink 600; Sector teal 500; Subsector teal 400; Type a small tag;
   Value and Date 12.5px, tabular, never wrapping; an empty Sponsor / Sell-side / Value a muted em dash. The text face
   and normal case throughout (Kyle 23:17: no mono face; tabular figures keep the digits aligned) */
.v-rr .v-rr-t, .v-rr .v-rr-b { font-weight:600; color:var(--v-ink); }
.v-frame .v-rr-s a.v-sec { font-weight:500; }
.v-frame .v-rr-u a.v-subsec { font-weight:400; }
.v-rr-y { justify-self:start; font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; font-weight:500; color:var(--v-tag); background:var(--v-tag-bg); border-radius:3px;
  padding:2px 6px; }
.v-rr-v, .v-rr-d { font-size:12.5px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.v-rr > summary > span.v-rr-v, .v-rr > summary > span.v-rr-d { overflow-wrap:normal; }
.v-rr .v-rr-v, .v-rr .v-rr-d { text-align:right; color:var(--v-grey); }
.v-rr-p:empty::before, .v-rr-e:empty::before, .v-rr-v:empty::before { content:"\2014"; color:var(--v-dash); }
.v-rr[open] > summary .v-chev { transform:rotate(90deg); }
.v-rr-more { padding:0 0 var(--v-4) 28px; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); }
.v-rr-more p { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-body); max-width:72ch; }
.v-rr-f { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--v-1) var(--v-6); margin:var(--v-3) 0; }
.v-rr-f div { display:flex; gap:var(--v-2); }
.v-rr-f .v-rr-k { color:var(--v-grey); flex:none; min-width:90px; }
.v-rr-hd { display:grid; column-gap:var(--v-reg-gap); padding:0 0 6px;
  grid-template-columns:var(--v-reg-cols); }
.v-rr-hd .v-lab { margin:0; min-width:0; overflow:hidden; white-space:nowrap; }
/* the head (Kyle 2026-10-17 08:26): the label caps, #6F7886 (--v-reg-hd) */
.v-rr-hd .v-lab { color:var(--v-reg-hd); }
.v-rr-hd .v-r { justify-content:flex-end; }
@media (max-width:820px) { .v-reg-w > .v-rr-hd, .v-reg-w > .v-reg { min-width:0; }
  .v-rr > summary, .v-rr-hd { grid-template-columns:16px minmax(0,1fr) 72px; }
  .v-rr > summary > span:not(.v-rr-x):not(.v-rr-t):not(.v-rr-d), .v-rr-hd > :not(:nth-child(-n+2)):not(:last-child) { display:none; } }
.v-more { text-align:center; padding:var(--v-4) 0; }
.v-more[hidden], .v-cap { display:none !important; }

.v-early { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; font-weight:600; color:var(--v-grey); padding:var(--v-5) 0 var(--v-2);
  border-bottom:1px solid var(--v-rule2); }
.v-early[hidden] { display:none; }
.v-frame a.v-all { display:inline-flex; align-items:baseline; gap:4px; margin-top:var(--v-2); font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-accent); }

/* ---- notable transactions: compact rows -------------------------------- */
.v-nt { display:block; padding:var(--v-2) 0; border-top:1px solid var(--v-rule); }
.v-nt:first-child { border-top:0; }
.v-nt-t { font-family:var(--v-text); font-size:var(--v-fs-item); font-weight:var(--v-fw-item); line-height:var(--v-lh-item); letter-spacing:var(--v-ls-item); text-transform:none; color:var(--v-ink); display:block; }
.v-nt-m { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); display:block; }

/* ---- report row: collapsible, teal chevron at the right, Key points ---- */
.v-rep { border-top:1px solid var(--v-rule); }
.v-rep > summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:baseline;
  gap:var(--v-3); padding:var(--v-2) 0; }
.v-rep > summary::-webkit-details-marker { display:none; }
.v-rep > summary:hover { background:var(--v-wash); }
.v-rep-t { font-family:var(--v-text); font-size:var(--v-fs-item); font-weight:var(--v-fw-item); line-height:var(--v-lh-item); letter-spacing:var(--v-ls-item); text-transform:none; color:var(--v-ink); display:block; }
.v-rep-m { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); display:block; }
.v-rep[open] > summary .v-chev { transform:rotate(90deg); }
.v-rep-b { padding:0 0 var(--v-3) 0; }
.v-rep-b ul { padding-left:18px; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); }
.v-rep-b li + li { margin-top:var(--v-1); }

/* ---- THE CONFERENCE ROW (Kyle 2026-10-16 12:24 #4): ONE title line - the title with its organizer teal inside it,
   the sector chip(s), the date right-aligned, the calendar icon, the chevron; opened: the blurb, then location ·
   attendance (text face). The conferences page's card (.v-cfc) is the shared card around it. --------------------- */
.v-conf { display:block; border-top:1px solid var(--v-rule); }
.v-conf > summary { list-style:none; cursor:pointer; }
.v-conf > summary::-webkit-details-marker { display:none; }
.v-conf > summary:hover { background:var(--v-wash); }
.v-conf-l { display:flex; align-items:baseline; gap:var(--v-2) var(--v-3); padding:var(--v-2) 0; min-width:0; }
.v-conf-t { font-family:var(--v-text); font-size:var(--v-fs-item); font-weight:var(--v-fw-item); line-height:var(--v-lh-item); letter-spacing:var(--v-ls-item); text-transform:none; color:var(--v-ink); flex:1 1 auto; min-width:0; overflow-wrap:anywhere; }
.v-frame .v-conf-t a.v-conf-n { color:var(--v-ink); }
.v-frame .v-conf-t a.v-conf-n:hover { color:var(--v-accent); }
.v-conf-o, .v-frame .v-conf-t a.v-conf-o { color:var(--v-accent); }
.v-frame .v-conf-t a.v-conf-o:hover { text-decoration:underline; text-underline-offset:3px; }
.v-conf-l .v-stag { flex:none; font-weight:600; }
.v-rep-m .v-stag { font-weight:600; margin-left:var(--v-2); }
.v-conf-d { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); flex:none; white-space:nowrap; margin-left:auto; }
.v-conf-w { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); flex:0 1 auto; min-width:0; overflow-wrap:anywhere; text-align:right; margin-left:auto; }
.v-conf-w + .v-conf-d { margin-left:0; }
.v-conf-l > .v-chev { flex:none; width:10px; text-align:center; }
.v-conf[open] > summary .v-chev { transform:rotate(90deg); }
.v-conf-b { padding:0 0 var(--v-3) 0; }
.v-conf-b p { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); max-width:90ch; }
.v-conf-b p + p { margin-top:var(--v-1); color:var(--v-grey); }
.v-cal { position:relative; flex:none; align-self:center; }
.v-cal-b { display:inline-flex; background:none; border:0; padding:0 2px; color:var(--v-grey); cursor:pointer; line-height:1; }
.v-cal-b:hover, .v-cal-b[aria-expanded=true] { color:var(--v-accent); }
.v-cal-m { position:absolute; right:0; top:calc(100% + 6px); z-index:30; display:flex; flex-direction:column; min-width:180px;
  background:var(--v-paper); border:1px solid var(--v-rule2); border-radius:3px; padding:var(--v-1) 0;
  box-shadow:0 6px 18px rgba(20,24,31,.12); }
.v-cal-m[hidden] { display:none; }
.v-frame .v-cal-m a[href] { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); padding:6px var(--v-3); white-space:nowrap; }
.v-frame .v-cal-m a[href]:hover, .v-frame .v-cal-m a[href]:focus-visible { background:var(--v-wash); color:var(--v-accent); }
/* the conferences page: a card per conference (the shared card), its block of boxes (the scoreboard's boxes), and the
   week label the page shows over a week's first card */
.v-cfc { margin-top:var(--v-3); padding-top:var(--v-1); }
.v-cfc:hover { background:none; }
.v-cfc > .v-conf { border-top:0; }
.v-cfc .v-sb { margin-top:var(--v-1); }
.v-cfc .v-sb-row { border-top:1px solid var(--v-rule); border-bottom:0; }
.v-cfc .v-sb-box { padding-bottom:var(--v-1); }
.v-cfc .v-sb-box .v-nt { padding:var(--v-1) 0; border-top:0; }
.v-cfc .v-sb-line + .v-sb-line { margin-top:2px; }
.v-cfc .v-sb-line.v-cfc-t { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); }
.v-cfc-rd { display:flex; align-items:baseline; gap:var(--v-3); border-top:1px solid var(--v-rule); padding-top:var(--v-2); margin-top:var(--v-2); }
.v-cfc-rd .v-lab { margin:0; flex:none; }
.v-frame .v-cfc-rd a[href] { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); }
.v-frame .v-cfc-rd a[href]:hover { color:var(--v-accent); }
.v-cfw { display:block; }
.v-cfw-wk { margin-top:var(--v-6); }
.v-cfw-wk[hidden] { display:none; }

/* ---- tabs, sort control, filter rail ---------------------------------- */
.v-tabs { display:flex; gap:var(--v-1) var(--v-5); border-bottom:1px solid var(--v-rule2); margin-bottom:var(--v-4);
  overflow-x:auto; scrollbar-width:none; }
.v-tabs [role=tab] { font-family:var(--v-text); font-size:var(--v-fs-tab); font-weight:var(--v-fw-tab); line-height:var(--v-lh-tab); letter-spacing:var(--v-ls-tab); text-transform:none; color:var(--v-grey); background:none; border:0; border-bottom:2px solid transparent;
  padding:0 0 var(--v-2) 0; margin-bottom:-1px; cursor:pointer; }
.v-tabs [role=tab][aria-selected=true], .v-tabs [role=tab]:hover { color:var(--v-ink); border-bottom-color:var(--v-accent); }
.v-tabs [role=tab] .v-tabc { color:var(--v-grey); font-weight:400; margin-left:6px; }
.v-tabp[hidden] { display:none; }
.v-sort, .v-tog { display:inline-flex; gap:0; border:1px solid var(--v-rule2); border-radius:3px; overflow:hidden; }
.v-sort button, .v-tog button { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); background:var(--v-paper); border:0; padding:var(--v-1) var(--v-3); cursor:pointer; }
.v-sort button + button, .v-tog button + button { border-left:1px solid var(--v-rule2); }
.v-sort button[aria-pressed=true], .v-tog button[aria-pressed=true] { background:var(--v-sel); color:var(--v-ink); }
.v-tog button:hover { color:var(--v-ink); }
.v-rail { min-width:0; }
.v-rail-q { width:100%; box-sizing:border-box; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); padding:var(--v-2) var(--v-3);
  border:1px solid var(--v-rule2); border-radius:3px; margin-bottom:var(--v-2); }
.v-rail-l { display:flex; flex-direction:column; gap:2px; }
.v-rail-r { display:flex; justify-content:space-between; align-items:baseline; gap:var(--v-3); width:100%; text-align:left;
  font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-accent); background:none; border:0; border-radius:3px; padding:6px var(--v-3); cursor:pointer; }
.v-rail-r .v-rail-n { font-weight:600; min-width:0; overflow-wrap:anywhere; }
.v-rail-r .v-rail-c { color:var(--v-grey); flex:none; }
.v-rail-r:hover, .v-rail-r[aria-pressed=true] { background:var(--v-sel); }
.v-rail-r[hidden] { display:none; }
.v-rail:not(.v-open) .v-rail-x:not([aria-pressed=true]) { display:none; }
.v-rail.v-q .v-rail-x { display:flex; }
.v-rail-a { display:flex; justify-content:space-between; margin-top:var(--v-2); }
.v-rail-a button { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); background:none; border:0; padding:0; cursor:pointer; }
.v-rail-a button:hover { color:var(--v-ink); }
.v-rail-a button[hidden] { display:none; }
.v-open .v-rail-a .v-chev { transform:rotate(90deg); }

.v-railw { display:grid; grid-template-columns:220px minmax(0,1fr); column-gap:var(--v-6); }
.v-railw > * { min-width:0; }
@media (max-width:820px) { .v-railw { grid-template-columns:minmax(0,1fr); } }

/* ---- subsector list row with the trend arrow -------------------------- */
.v-subl { background:var(--v-tint); padding:var(--v-3) var(--v-4); display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  column-gap:var(--v-6); }
@media (max-width:760px) { .v-subl { grid-template-columns:minmax(0,1fr); } }
.v-subl[hidden] { display:none; }
.v-subw:has(> .v-subl[hidden]) { display:none; }
.v-subw > .v-lab { margin-bottom:var(--v-1); }

/* ---- the deal finder (every deal list with a finder): the ask-or-filter bar with its tokens and suggestions, the market
   strip (Deals) / a sector's subsector strip and the count (no type chips: the bar's words, Kyle 2026-10-18 #18); then the register at full width with the
   column filters (Kyle 2026-10-15 13:20, mockup frames 1-3) --------------------------------------------------------- */
.v-find { position:relative; }
.v-find-c { display:flex; flex-direction:column; gap:var(--v-4); min-width:0; }
.v-find-n { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); margin-left:auto; }
.v-find-n b { color:var(--v-ink); font-weight:600; }
.v-pill { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); background:var(--v-sel); border:1px solid var(--v-rule2); border-radius:3px;
  padding:2px var(--v-2); cursor:pointer; }
.v-pill:hover { border-color:var(--v-accent); }
/* SEARCH, BREADCRUMB AND TABLE AS ONE UNIT (Kyle 2026-10-18 #20): the table head - or THE REGISTER's tab row, then the
   head - sits the bar-to-breadcrumb gap (12px) under the breadcrumb line, not the section gap */
.v-find .v-rr-hd { margin-top:var(--v-3); }
.v-find-c + .v-tabs { margin:var(--v-3) 0; }
.v-find .v-tabp .v-rr-hd { margin-top:0; }
/* THE STICKY CONTROL UNIT (the Deals page, Kyle 2026-10-17 10:18): the bar and the breadcrumb row as one
   tight unit on the register's top - reduced vertical padding - stuck to the window's top on scroll, on the paper, over
   the rows (its panel and the column filters' lists open over everything: z-index 40 inside it / beside it) */
.v-find-s > .v-find-c { position:sticky; top:0; z-index:35; background:var(--v-paper); gap:var(--v-2);
  padding:var(--v-2) 0; border-bottom:1px solid var(--v-rule); }
.v-find-s .v-cb { gap:var(--v-2); }
.v-find-s .v-ask { padding-top:var(--v-2); padding-bottom:var(--v-2); }
.v-find-s .v-rr-hd { margin-top:var(--v-2); }
.v-ask { position:relative; display:flex; flex-wrap:wrap; align-items:center; gap:6px var(--v-2); border:1px solid var(--v-rule2);
  border-radius:5px; padding:var(--v-3) 14px; background:var(--v-paper); cursor:text; }
.v-ask:focus-within { border-color:var(--v-accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--v-accent) 18%, transparent); }
.v-ask .v-colon { font-size:var(--v-fs-tab); line-height:1; }
.v-ask-t { display:contents; }
.v-tok { display:inline-flex; align-items:baseline; gap:6px; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-c-plat); background:var(--v-sel);
  border:0; border-radius:3px; padding:2px var(--v-2); cursor:pointer; max-width:100%; }
.v-tok span { color:var(--v-grey); }
.v-tok:hover span, .v-tok:focus-visible span { color:var(--v-ink); }
.v-ask-q { flex:1 1 260px; min-width:0; border:0; outline:0; background:transparent; font-family:var(--v-text); font-size:var(--v-fs-tab); font-weight:var(--v-fw-tab); line-height:var(--v-lh-tab); letter-spacing:var(--v-ls-tab); text-transform:none; font-weight:400; color:var(--v-ink); padding:0; }
.v-ask-q::placeholder { color:var(--v-grey); }
.v-frame .v-ask-q:focus-visible { outline:0; }
.v-ask-q::-webkit-search-cancel-button { display:none; }
.v-ask-drop, .v-cf-pop { position:absolute; z-index:40; background:var(--v-paper); border:1px solid var(--v-rule2); border-radius:3px;
  box-shadow:0 8px 24px rgba(20,24,31,.12); padding:var(--v-1) 0; }
.v-ask-drop { left:-1px; right:-1px; top:calc(100% + 4px); max-height:60vh; overflow:auto; }
.v-ask-drop[hidden], .v-cf-pop[hidden] { display:none; }
.v-ask-o, .v-cf-o { display:flex; justify-content:space-between; align-items:baseline; gap:var(--v-3); width:100%; text-align:left;
  font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-accent); background:none; border:0; padding:6px var(--v-3); cursor:pointer; }
.v-ask-o .v-ask-on, .v-cf-o .v-cf-on { min-width:0; overflow-wrap:anywhere; }
.v-ask-o .v-ask-k, .v-cf-o .v-cf-c { color:var(--v-grey); flex:none; }
.v-ask-o.act, .v-ask-o:hover, .v-cf-o:hover, .v-cf-o:focus-visible { background:var(--v-sel); }
.v-cf-pop { width:260px; padding:var(--v-2); box-sizing:border-box; }
.v-cf-q { width:100%; box-sizing:border-box; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); padding:6px var(--v-2); border:1px solid var(--v-rule2);
  border-radius:3px; margin-bottom:var(--v-1); }
.v-frame .v-cf-q:focus-visible { outline:0; border-color:var(--v-accent); }
.v-cf-l { max-height:280px; overflow:auto; }
.v-cf-o { padding:5px var(--v-1); }
.v-cf { font-family:var(--v-text); font-size:11px; line-height:1; color:var(--v-accent); background:none; border:0; padding:0 2px;
  margin-left:2px; cursor:pointer; }
.v-cf:hover, .v-cf[aria-expanded=true] { color:var(--v-ink); }
.v-rr-hd .v-lab:has(.v-cf) { overflow:visible; }
/* the head's ▾ shows only on its label's hover (Kyle 2026-10-17 08:26) - and while its list is open or it has the
   keyboard focus (opacity, so it stays in the tab order) */
.v-rr-hd .v-cf { opacity:0; }
.v-rr-hd .v-lab:hover .v-cf, .v-rr-hd .v-cf[aria-expanded=true], .v-rr-hd .v-cf:focus-visible { opacity:1; }
/* THE SECTOR COMMAND BAR (Kyle 2026-10-16 00:25, mockup frames 1-3; command_bar): the bar, its panel attached under it
   (TRY, the sector index in three columns, a sector's subsectors on the light page background at the right, the
   footer), then ONE line: the breadcrumb, "Sector index (N) ›" at its right (Kyle 2026-10-16 11:55; was a line of its own) */
.v-cb { display:flex; flex-direction:column; gap:var(--v-3); min-width:0; }
.v-cb-w { position:relative; }
.v-cb-k { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-grey); border:1px solid var(--v-rule2); border-radius:3px; padding:1px 6px; margin-left:auto; flex:none; }
.v-ask.v-cb-on { border-bottom-left-radius:0; border-bottom-right-radius:0; }
.v-cb-p { position:absolute; z-index:40; left:0; right:0; top:100%; box-sizing:border-box; background:var(--v-paper);
  border:1px solid var(--v-accent); border-top-color:var(--v-rule); border-radius:0 0 5px 5px;
  box-shadow:0 12px 28px rgba(20,24,31,.10); padding:var(--v-4) var(--v-4) 0; }
.v-cb-p[hidden] { display:none; }
.v-cb-h { display:flex; justify-content:space-between; align-items:baseline; gap:var(--v-3); padding:0 var(--v-2); }
.v-cb-h .v-lab { margin:0 0 var(--v-1) 0; }
.v-cb-try { display:flex; flex-direction:column; margin-bottom:var(--v-4); }
.v-cb-o { display:flex; justify-content:space-between; align-items:baseline; gap:var(--v-3); width:100%; box-sizing:border-box;
  text-align:left; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); background:none; border:0; border-radius:3px; padding:5px var(--v-2); cursor:pointer; }
.v-cb-o .v-cb-on { min-width:0; overflow-wrap:anywhere; }
.v-cb-o .v-cb-oc { color:var(--v-grey); flex:none; }
.v-cb-o .v-cb-ot { flex:none; display:inline-grid; grid-template-columns:auto minmax(64px, auto); column-gap:var(--v-2);
  align-items:center; justify-items:end; }
.v-cb-o:hover, .v-cb-o.act { background:var(--v-sel); }
.v-cb-t { justify-content:flex-start; gap:var(--v-2); }
.v-cb-s .v-cb-on { color:var(--v-accent); font-weight:600; }
.v-cb-u .v-cb-on { color:var(--v-accent); }
.v-cb-ix { display:grid; grid-template-columns:minmax(0,1fr) 280px; margin:0 calc(-1 * var(--v-4)); }
.v-cb-ix.v-cb-ix1 { grid-template-columns:minmax(0,1fr); }
.v-cb-ixl { min-width:0; padding:0 var(--v-4) var(--v-3); }
.v-cb-cols { columns:3; column-gap:var(--v-5); }
.v-cb-cols .v-cb-o { break-inside:avoid; }
.v-cb-r { min-width:0; background:var(--v-wash2); border-left:1px solid var(--v-rule); padding:0 var(--v-3) var(--v-3); }
.v-cb-sub[hidden] { display:none; }
.v-cb-sub > .v-lab { margin:0 0 var(--v-1) 0; padding:0 var(--v-2); }
.v-frame a.v-cb-open { display:inline-flex; align-items:baseline; gap:4px; margin-top:var(--v-2); padding:0 var(--v-2);
  font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; font-weight:600; color:var(--v-accent); }
.v-frame a.v-cb-open:hover { text-decoration:underline; text-underline-offset:3px; }
.v-cb-f { display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--v-1) var(--v-4); margin:0 calc(-1 * var(--v-4));
  padding:var(--v-2) var(--v-4); border-top:1px solid var(--v-rule); font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); }
.v-cb-l { display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--v-1) var(--v-4); font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); }
.v-cb-ixb { margin-left:auto; display:inline-flex; align-items:baseline; gap:4px; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-accent);
  background:none; border:0; padding:0; cursor:pointer; }
.v-cb-ixb:hover { text-decoration:underline; text-underline-offset:3px; }
.v-cb-l > .v-cb-c { min-width:0; }
.v-cb-c { display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--v-1) 6px; font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-grey); }
.v-frame .v-cb-c a { color:var(--v-accent); }
.v-frame .v-cb-c a:hover { text-decoration:underline; text-underline-offset:3px; }
.v-cb-sl { color:var(--v-rule2); }
.v-frame .v-cb-c .v-cb-cur { color:var(--v-ink); font-weight:600; }
.v-cb-x { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); background:none; border:0; padding:0; margin-left:var(--v-2); cursor:pointer; }
.v-cb-x:hover { color:var(--v-ink); }
.v-cb-n { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); margin-left:var(--v-2); }
.v-hub { margin-bottom:var(--v-5); }
@media (max-width:760px) { .v-cb-ix { grid-template-columns:minmax(0,1fr); } .v-cb-cols { columns:2; }
  .v-cb-r { border-left:0; border-top:1px solid var(--v-rule); padding-top:var(--v-2); } .v-cb-k { display:none; } }
.v-sub { display:flex; justify-content:space-between; align-items:baseline; gap:var(--v-3); padding:6px var(--v-2);
  font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); background:none; border:0; border-radius:3px; text-align:left; cursor:pointer; width:100%; }
.v-sub:hover, .v-sub[aria-pressed=true] { background:var(--v-sel); }
.v-sub-n { color:var(--v-accent); min-width:0; overflow-wrap:anywhere; }
.v-sub-c { color:var(--v-grey); flex:none; display:inline-grid; grid-template-columns:auto minmax(64px, auto); column-gap:var(--v-2);
  align-items:center; justify-items:end; }
/* THE TREND PILL (Kyle 2026-10-16 16:41; trend_html, the one component sitewide): a small pill with the arrow and
   value inside - up green on a green fill, down brick red on a soft red tint (Kyle 2026-10-18 #22); flat is a plain grey dash with no pill. Right-
   aligned in its column (the subsector list's trend slot above). */
.v-tr { display:inline-block; font-size:11.5px; font-weight:600; line-height:1.2; letter-spacing:0;
  padding:2px 6px; border-radius:6px; white-space:nowrap; text-align:right; }
.v-tr.v-up { color:var(--v-tr-up); background:var(--v-tr-up-bg); }
.v-tr.v-down { color:var(--v-tr-dn); background:var(--v-tr-dn-bg); }
.v-flat { color:var(--v-tr-flat); text-align:right; }

/* ---- the landing's blocks: hero, sign-up form, check list, feature grid, delivery boxes ---- */
.v-hero { padding:var(--v-7) 0 var(--v-6); border-bottom:1px solid var(--v-rule); }
.v-hero-h { font-family:var(--v-text); font-size:var(--v-fs-display); font-weight:var(--v-fw-display); line-height:var(--v-lh-display); letter-spacing:var(--v-ls-display); text-transform:none; color:var(--v-ink); max-width:900px; }
.v-colon { font-weight:700; color:var(--v-accent); }
/* THE BLINKING SEARCH COLON (Kyle 2026-10-17 07:53, restored from site_ui's .ui-blink): the colon in the masthead search
   and the command bar above every register / list blinks like a cursor - the old animation, 1.1s steps(1), hidden at 50%;
   no blink under reduced motion. The landing hero's colon stays still. */
.v-ms .v-colon, .v-ask .v-colon { animation:v-blink 1.1s steps(1) infinite; }
@keyframes v-blink { 50% { opacity:0; } }
@media (prefers-reduced-motion: reduce) { .v-ms .v-colon, .v-ask .v-colon { animation:none; } }
.v-hero .v-hero-s { font-family:var(--v-text); font-size:var(--v-fs-lede); font-weight:var(--v-fw-lede); line-height:var(--v-lh-lede); letter-spacing:var(--v-ls-lede); text-transform:none; color:var(--v-body); max-width:62ch; margin-top:var(--v-4); }
.v-hero-a { margin-top:var(--v-6); max-width:640px; }
.v-form { display:flex; flex-wrap:wrap; gap:var(--v-2); }
.v-form input[type=email] { flex:1 1 260px; min-width:0; box-sizing:border-box; font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-ink);
  padding:var(--v-2) var(--v-3); border:1px solid var(--v-ink); border-radius:3px; background:var(--v-paper); }
.v-form .v-btn { padding:var(--v-3) var(--v-5); }
.v-form-m { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); min-height:1.45em; margin-top:var(--v-2); }
.v-form-m:empty { min-height:0; margin:0; }
.v-ctaline { display:flex; flex-wrap:wrap; align-items:center; gap:var(--v-2) var(--v-4); margin-top:var(--v-4);
  font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-body); }
.v-frame .v-checks { list-style:none; padding:0; margin:var(--v-3) 0 0 0; }
.v-checks li { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-ink); display:flex; gap:var(--v-2); }
.v-checks li + li { margin-top:var(--v-1); }
.v-checks .v-ck { color:var(--v-accent); font-weight:700; flex:none; }
.v-prose { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-body); max-width:62ch; }
.v-proof { font-family:var(--v-text); font-size:var(--v-fs-number); font-weight:var(--v-fw-number); line-height:var(--v-lh-number); letter-spacing:var(--v-ls-number); text-transform:none; color:var(--v-ink); margin-top:var(--v-3); }
.v-tag { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); border:1px solid var(--v-rule2); border-radius:3px; padding:0 6px; white-space:nowrap; }
.v-tag.v-tag-on { color:var(--v-accent); border-color:var(--v-accent); }
/* the delivery boxes: equal boxes, three to a row; a live product teal-tinted, a coming one grey */
.v-dlv { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); grid-auto-rows:1fr; gap:var(--v-4); }
.v-dlv-i { display:flex; flex-direction:column; gap:var(--v-2); min-width:0; padding:var(--v-4); border:1px solid var(--v-rule2);
  border-radius:3px; background:var(--v-wash2); }
.v-dlv-i.v-on { background:var(--v-sel); }
.v-dlv-n { display:flex; justify-content:space-between; align-items:baseline; gap:var(--v-2); font-family:var(--v-text); font-size:var(--v-fs-row-title); font-weight:var(--v-fw-row-title); line-height:var(--v-lh-row-title); letter-spacing:var(--v-ls-row-title); text-transform:none; color:var(--v-ink); }
.v-dlv-t { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); }
@media (max-width:900px) { .v-dlv { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:600px) { .v-dlv { grid-template-columns:minmax(0,1fr); } }

/* ---- league table: a name, the YTD count with its bar, then plain cells (the dashboard's tabs) -------- */
.v-lt6, .v-lt7 { display:grid; column-gap:var(--v-5); align-items:baseline; }
.v-lt6 { grid-template-columns:minmax(0,1.5fr) 10em 5em minmax(0,1.2fr) 9em minmax(0,1.5fr); }
.v-lt7 { grid-template-columns:minmax(0,1.3fr) 10em 5em minmax(0,1.4fr) minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1.3fr); }
/* the bank / investor tabs (league_panel): their split columns (Sell-side / Buy-side, PE platform / PE-backed strategic) are
   counts - narrow fixed tracks, right-aligned tabular figures (.v-lt6n / .v-lt7n; the skeleton agent via the coordinator,
   2026-10-16), the text columns keep the room */
.v-lt6n, .v-lt7n { display:grid; column-gap:var(--v-5); align-items:baseline; }
.v-lt6n { grid-template-columns:minmax(0,1.6fr) 10em 5em 8em 8em minmax(0,1.8fr); }
.v-lt7n { grid-template-columns:minmax(0,1.4fr) 10em 5em minmax(0,1.3fr) 8em 8em minmax(0,1.6fr); }
.v-lt6 > *, .v-lt7 > *, .v-lt6n > *, .v-lt7n > * { min-width:0; overflow-wrap:anywhere; }
.v-lt-hd { padding:0 0 6px; border-bottom:1px solid var(--v-rule2); }
.v-lt-hd .v-lab { margin:0; }
.v-lt-hd .v-r { justify-content:flex-end; }
.v-lt { padding:10px 0; border-bottom:1px solid var(--v-rule); font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); }
.v-lt:hover { background:var(--v-wash); }
.v-lt .v-lt-nm { font-family:var(--v-text); font-size:var(--v-fs-row-title); font-weight:var(--v-fw-row-title); line-height:var(--v-lh-row-title); letter-spacing:var(--v-ls-row-title); text-transform:none; color:var(--v-ink); }
.v-lt .v-lt-q { text-align:right; color:var(--v-grey); }
.v-lt .v-lt-nil { color:var(--v-grey); }
.v-lt-b { display:flex; align-items:center; gap:var(--v-2); }
.v-lt-b .v-lt-n { font-family:var(--v-text); font-size:var(--v-fs-number); font-weight:var(--v-fw-number); line-height:var(--v-lh-number); letter-spacing:var(--v-ls-number); text-transform:none; color:var(--v-ink); flex:none; min-width:2.2em; text-align:right; }
.v-lt-b .v-lt-t { flex:1 1 0; min-width:0; display:block; height:8px; }
.v-lt-b .v-lt-t i { display:block; height:100%; background:var(--v-c-grow); border-radius:1px; }
@media (max-width:900px) { .v-lt6, .v-lt7, .v-lt6n, .v-lt7n { grid-template-columns:minmax(0,1.4fr) 8em 4em minmax(0,1.2fr); }
  .v-lt6 > :nth-child(n+5), .v-lt7 > :nth-child(n+5), .v-lt6n > :nth-child(n+5), .v-lt7n > :nth-child(n+5) { display:none; } }

/* ---- tab row: the tabs with a control at the right end of the same row (the Banks hub's side toggle) ---- */
.v-tabrow { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--v-2) var(--v-4); flex-wrap:wrap;
  border-bottom:1px solid var(--v-rule2); margin-bottom:var(--v-4); }
.v-tabrow .v-tabs { border-bottom:0; margin-bottom:0; }
.v-tabrow > .v-tog { margin-bottom:var(--v-2); }

/* ---- firm list: a register-style row per firm (the Banks hub list) ------------------------------------- */
:root { --v-firm-cols:minmax(0,1fr) 88px minmax(0,1fr) 88px 88px minmax(0,1fr); }
.v-er, .v-er-hd { display:grid; grid-template-columns:var(--v-firm-cols); column-gap:var(--v-4); align-items:baseline; }
.v-er { padding:10px var(--v-4) 10px 0; border-bottom:1px solid var(--v-rule); font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); }
.v-er:hover { background:var(--v-wash); }
.v-er[hidden] { display:none; }
.v-er > span { min-width:0; overflow-wrap:anywhere; }
.v-er .v-er-nm { font-family:var(--v-text); font-size:var(--v-fs-row-title); font-weight:var(--v-fw-row-title); line-height:var(--v-lh-row-title); letter-spacing:var(--v-ls-row-title); text-transform:none; color:var(--v-ink); }
.v-er .v-er-n { font-family:var(--v-text); font-size:var(--v-fs-number); font-weight:var(--v-fw-number); line-height:var(--v-lh-number); letter-spacing:var(--v-ls-number); text-transform:none; color:var(--v-ink); text-align:right; }
.v-er .v-er-q { text-align:right; color:var(--v-grey); }
.v-er-hd { padding:0 var(--v-4) 6px 0; border-bottom:1px solid var(--v-rule2); }
.v-er-hd .v-lab { margin:0; min-width:0; overflow:hidden; white-space:nowrap; }
.v-er-hd .v-r { justify-content:flex-end; }
/* every firm list's columns come from its pattern (firm_list, FL_PATTERNS: t a text column - one even share each -,
   n a number column - one fixed width each, right-aligned) */
.v-er .v-er-q { font-variant-numeric:tabular-nums; }
.v-fl-tntnnt { --v-firm-cols:minmax(0,1fr) 88px minmax(0,1fr) 88px 88px minmax(0,1fr); }
.v-fl-tntnt { --v-firm-cols:minmax(0,1fr) 88px minmax(0,1fr) 88px minmax(0,1fr); }
.v-fl-ttt { --v-firm-cols:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }
.v-empty { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); padding:var(--v-4) 0; }
.v-empty[hidden] { display:none; }
@media (max-width:820px) { .v-er, .v-er-hd { grid-template-columns:minmax(0,1fr) 72px; }
  .v-er > :nth-child(n+3), .v-er-hd > :nth-child(n+3) { display:none; }
  .v-fl-ttt .v-er, .v-fl-ttt .v-er-hd { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }

/* ---- heatmap (the Banks hub's Coverage map): a name column, one teal scale over the grid (v-hm1..v-hm9, the
   count of one to the grid's busiest cell), a zero near-white; the count on hover (title); the row total at the right */
.v-hm { overflow-x:auto; }
.v-hmt { width:100%; border-collapse:separate; border-spacing:2px; table-layout:fixed; }
.v-hmt th { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); font-weight:400; text-align:center; vertical-align:bottom; padding:0 2px var(--v-1);
  overflow-wrap:break-word; hyphens:auto; }
.v-hmt th.v-hm-nm { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); text-align:left; width:18%; overflow-wrap:anywhere;
  padding:0 var(--v-2) 0 0; vertical-align:middle; }
.v-hmt thead th.v-hm-nm { vertical-align:bottom; }
.v-hmt th.v-hm-t, .v-hmt td.v-hm-t { width:52px; text-align:right; }
.v-hmt td.v-hm-t { font-family:var(--v-text); font-size:var(--v-fs-number); font-weight:var(--v-fw-number); line-height:var(--v-lh-number); letter-spacing:var(--v-ls-number); text-transform:none; color:var(--v-ink); padding:0 0 0 var(--v-2); }
.v-hmt td.v-hm-c { height:26px; border-radius:2px; background:var(--v-wash2); }
.v-hmt td.v-hm-c:hover, .v-hmt td.v-hm-c:focus-visible { outline:2px solid var(--v-ink); outline-offset:-2px; }
.v-hm1 { background:color-mix(in srgb, var(--v-accent) 12%, var(--v-paper)) !important; }
.v-hm2 { background:color-mix(in srgb, var(--v-accent) 22%, var(--v-paper)) !important; }
.v-hm3 { background:color-mix(in srgb, var(--v-accent) 32%, var(--v-paper)) !important; }
.v-hm4 { background:color-mix(in srgb, var(--v-accent) 42%, var(--v-paper)) !important; }
.v-hm5 { background:color-mix(in srgb, var(--v-accent) 52%, var(--v-paper)) !important; }
.v-hm6 { background:color-mix(in srgb, var(--v-accent) 62%, var(--v-paper)) !important; }
.v-hm7 { background:color-mix(in srgb, var(--v-accent) 72%, var(--v-paper)) !important; }
.v-hm8 { background:color-mix(in srgb, var(--v-accent) 81%, var(--v-paper)) !important; }
.v-hm9 { background:color-mix(in srgb, var(--v-accent) 90%, var(--v-paper)) !important; }
.v-hm-side[hidden] { display:none; }

/* ---- the deal page (spec 2.3, Type A: the live deal sheet's look on v2 tokens) ----------------------------- */
.v-dh { display:flex; align-items:flex-start; justify-content:space-between; gap:var(--v-3) var(--v-5); padding-top:var(--v-6); }
.v-dh > div:first-child { flex:1 1 auto; min-width:0; }
.v-dh .v-title .v-dot { color:var(--v-accent); }
.v-dh-acts { flex:none; display:flex; flex-wrap:wrap; align-items:center; gap:var(--v-2); justify-content:flex-end; }
.v-frame .v-dsum { margin:14px 0 0 0; font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; line-height:1.6; color:var(--v-body); max-width:880px; }
.v-frame .v-kt { display:flex; flex-wrap:wrap; margin:26px 0 0 0; padding:0; background:var(--v-wash2); border-left:3px solid var(--v-accent); }
.v-kt > div { display:flex; flex-direction:column; gap:2px; padding:9px 16px; border-left:1px solid var(--v-rule); min-width:0; }
.v-kt > div:first-child { border-left:0; }
.v-kt dt { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-grey); white-space:nowrap; }
.v-frame .v-kt dd { margin:0; font-family:var(--v-text); font-size:var(--v-fs-number); font-weight:var(--v-fw-number); line-height:var(--v-lh-number); letter-spacing:var(--v-ls-number); text-transform:none; color:var(--v-ink); overflow-wrap:anywhere; }
.v-frame .v-kt dd a, .v-frame .v-fr dd a { color:var(--v-accent); }
.v-frame .v-kt dd a:hover, .v-frame .v-fr dd a:hover { text-decoration:underline; text-underline-offset:3px; }
.v-gt { color:var(--v-grey); margin:0 2px; }
.v-boxes { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--v-4); margin:var(--v-4) 0 0 0; align-items:stretch; align-content:start; }
.v-box { border:1px solid var(--v-rule); border-radius:3px; padding:14px 16px 10px; min-width:0; }
.v-box-k { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-ink); }   /* black (Kyle 2026-10-16 12:58); the one label style (23:17) */
.v-box-n { font-family:var(--v-text); font-size:var(--v-fs-name); font-weight:var(--v-fw-name); line-height:var(--v-lh-name); letter-spacing:var(--v-ls-name); text-transform:none; color:var(--v-accent); margin-top:2px; }                      /* the name bold and green (12:58) */
.v-frame .v-box-n a { color:var(--v-accent); }
.v-frame .v-box-n a:hover { text-decoration:underline; text-underline-offset:3px; }
.v-box-d { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); margin:3px 0 8px 0; overflow-wrap:anywhere; }   /* in full, wrapping (Kyle 09:30) */
.v-frame .v-box dl, .v-frame .v-facts { margin:0; }
.v-fr { display:grid; grid-template-columns:112px minmax(0,1fr); gap:10px; align-items:baseline; min-height:22px; padding:2px 0;
  border-top:1px solid var(--v-rule); }
.v-fr dt { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-grey); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.v-frame .v-fr dd { margin:0; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; line-height:1.35; color:var(--v-ink); overflow-wrap:anywhere; }
.v-fr dd .v-dim { color:var(--v-grey); }
.v-fr dd > div { padding:1px 0; }
.v-facts { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:var(--v-5); }
.v-facts .v-fr { grid-template-columns:168px minmax(0,1fr); }
.v-src { margin:var(--v-1) 0 0 0; font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); }
.v-frame .v-src a { color:var(--v-accent); }
.v-dsec { margin-top:var(--v-6); }
.v-share { position:relative; display:inline-block; }
.v-share-m { display:none; position:absolute; z-index:20; right:0; top:calc(100% + 6px); background:var(--v-paper);
  border:1px solid var(--v-rule); border-radius:6px; box-shadow:0 6px 24px rgba(0,0,0,.10); padding:6px; min-width:150px; white-space:nowrap; }
.v-share-i { display:flex; align-items:center; gap:10px; padding:8px 12px; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); }
.v-share-i[hidden] { display:none; }
.v-share-i svg { flex:none; color:var(--v-grey); }
.v-btn.v-off, .v-btn.v-off:hover { color:var(--v-grey); border-color:var(--v-rule2); cursor:default; }
.v-off .v-tag { margin-left:2px; line-height:1; padding:2px 6px; }
@media (max-width:760px) { .v-dh { flex-direction:column; } .v-dh-acts { justify-content:flex-start; }
  .v-share-m { right:auto; left:0; }
  .v-boxes, .v-facts { grid-template-columns:minmax(0,1fr); }
  .v-facts .v-fr { grid-template-columns:minmax(0,1fr); gap:0; }
  .v-frame .v-kt { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v-kt > div { padding:8px 12px; border-left:0; border-top:1px solid var(--v-rule); }
  .v-kt > div:nth-child(-n+2) { border-top:0; } .v-kt > div:nth-child(2n) { border-left:1px solid var(--v-rule); } }

/* ---- fixed blocks side by side: each "All ›" sits on the pair's ONE baseline (Cowork 07:26) ---------------- */
.v-2col > div:has(.v-fx) { display:flex; flex-direction:column; }
.v-2col > div > div:has(> .v-fx) { flex:1 1 auto; display:flex; flex-direction:column; }
.v-fx { flex:1 1 auto; display:flex; flex-direction:column; }
.v-fx-none > .v-empty { padding:var(--v-1) 0 0; }
.v-fx-none > .v-lab { color:var(--v-grey); }
.v-frame .v-fx > a.v-all { margin-top:auto; padding-top:var(--v-2); align-self:flex-start; }
/* theme cards at the head of a reports column (a sector page, Kyle 2026-10-16 23:46), then its report rows */
.v-fx > .v-thms { margin-bottom:var(--v-4); }
.v-fx .v-thm-p { margin-top:var(--v-2); }

/* ---- THEMES (spec 2.10): the report brief, teal subsector tags, source chips, theme cards, the Research band,
   Numbers worth knowing, Where they disagree --------------------------------------------------------------- */
.v-brief { display:flex; flex-direction:column; gap:var(--v-3); padding-top:var(--v-1); max-width:880px; }
.v-bf .v-lab { margin-bottom:var(--v-1); }
.v-bf-p { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-ink); }
.v-frame .v-bf-co, .v-frame .v-bf-n { list-style:none; padding-left:0; }
.v-frame .v-bf-co { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); column-gap:var(--v-5); }
.v-bf-fig { font-family:var(--v-text); font-size:var(--v-fs-number); font-weight:var(--v-fw-number); line-height:var(--v-lh-number); letter-spacing:var(--v-ls-number); text-transform:none; color:var(--v-ink); margin-right:var(--v-2); }
.v-tags { display:flex; flex-wrap:wrap; gap:6px; }
.v-stag, .v-frame a.v-stag { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-accent); background:var(--v-tint); border-radius:3px; padding:1px 8px;
  border:1px solid color-mix(in srgb, var(--v-accent) 30%, var(--v-paper)); white-space:nowrap; }
.v-frame a.v-stag:hover { border-color:var(--v-accent); }
.v-tagb { margin-bottom:var(--v-3); }
.v-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:var(--v-3); }
.v-chip, .v-frame a.v-chip { display:inline-flex; align-items:baseline; gap:6px; max-width:100%; box-sizing:border-box;
  font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-body); background:var(--v-paper); border:1px solid var(--v-rule2); border-radius:3px; padding:2px 8px; }
.v-frame a.v-chip:hover { border-color:var(--v-accent); color:var(--v-ink); }
.v-chip b { font-weight:600; color:var(--v-ink); flex:none; }
.v-chip span { min-width:0; overflow-wrap:anywhere; }
.v-chip .v-chip-n { color:var(--v-accent); font-weight:600; flex:none; }
.v-cite, .v-frame a.v-cite { font-family:var(--v-text); font-size:10.5px; font-weight:600; line-height:0; vertical-align:super;
  color:var(--v-accent); margin-left:2px; }
.v-thms { display:flex; flex-direction:column; gap:var(--v-5); }
.v-thm { border:1px solid var(--v-rule); border-top:2px solid var(--v-accent); border-radius:3px; padding:var(--v-5); min-width:0; }
.v-thm-h { font-family:var(--v-text); font-size:var(--v-fs-name); font-weight:var(--v-fw-name); line-height:var(--v-lh-name); letter-spacing:var(--v-ls-name); text-transform:none; color:var(--v-ink); margin:0 0 var(--v-2) 0; }
.v-frame .v-thm-h a { color:var(--v-ink); display:inline-flex; align-items:baseline; gap:6px; }
.v-frame .v-thm-h a:hover { color:var(--v-accent); }
.v-thm-g { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:var(--v-4) var(--v-7); margin-top:var(--v-4); }
.v-thm-g > * { min-width:0; }
@media (max-width:820px) { .v-thm-g { grid-template-columns:minmax(0,1fr); } }
.v-thm-p { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-body); max-width:72ch; }
/* the Research section's two slots (the other firm pages, firm_v2.other_html): theme cards first, then the reports list */
.v-rs .v-thm { height:100%; box-sizing:border-box; }
.v-names { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); }
.v-thm-d { margin-top:var(--v-5); }
.v-mv-r .v-mv-h a { color:var(--v-ink); }
.v-frame .v-mv-r .v-mv-h a:hover { color:var(--v-accent); }
.v-mv-r .v-chips { margin-top:auto; padding-top:var(--v-3); }
:root { --v-num-cols:96px minmax(0,2fr) minmax(0,1fr) minmax(0,1.6fr) 96px; }
.v-nw, .v-nw-hd { display:grid; grid-template-columns:var(--v-num-cols); column-gap:var(--v-4); align-items:baseline; }
.v-nw { padding:10px 0; border-bottom:1px solid var(--v-rule); font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); }
.v-nw > span { min-width:0; overflow-wrap:anywhere; }
.v-nw .v-nw-f { font-family:var(--v-text); font-size:var(--v-fs-number); font-weight:var(--v-fw-number); line-height:var(--v-lh-number); letter-spacing:var(--v-ls-number); text-transform:none; color:var(--v-ink); }
.v-nw .v-nw-d { text-align:right; color:var(--v-grey); }
.v-nw-hd { padding:0 0 6px; border-bottom:1px solid var(--v-rule2); }
.v-nw-hd .v-lab { margin:0; }
.v-nw-hd .v-r { justify-content:flex-end; }
@media (max-width:820px) { .v-nw, .v-nw-hd { grid-template-columns:96px minmax(0,1fr); }
  .v-nw > :nth-child(n+3), .v-nw-hd > :nth-child(n+3) { display:none; } }
.v-dis { padding:var(--v-4) 0; border-bottom:1px solid var(--v-rule); }
.v-dis-t { font-family:var(--v-text); font-size:var(--v-fs-row-title); font-weight:var(--v-fw-row-title); line-height:var(--v-lh-row-title); letter-spacing:var(--v-ls-row-title); text-transform:none; color:var(--v-ink); margin-bottom:var(--v-2); }

/* ---- pricing (plan cards), the sign-in pages and the locked page ---------------- */
.v-plans { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:var(--v-4); }
@media (max-width:1000px) { .v-plans { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:600px) { .v-plans { grid-template-columns:minmax(0,1fr); } }
.v-plan { border:1px solid var(--v-rule); border-radius:3px; padding:var(--v-4) var(--v-4) var(--v-5); min-width:0;
  display:flex; flex-direction:column; gap:var(--v-3); }
.v-plan.v-plan-on { background:var(--v-wash); border-color:var(--v-accent); }
.v-plan .v-lab { margin:0; }
.v-plan .v-tog { align-self:flex-start; }
.v-plan-z { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); }
.v-plan-p { display:flex; align-items:baseline; flex-wrap:wrap; gap:var(--v-1) var(--v-2); }
.v-plan-p[hidden] { display:none; }
.v-plan-a { font-family:var(--v-text); font-size:var(--v-fs-title); font-weight:var(--v-fw-title); line-height:var(--v-lh-title); letter-spacing:var(--v-ls-title); text-transform:none; color:var(--v-ink); }
.v-plan-l { font-family:var(--v-text); font-size:var(--v-fs-name); font-weight:var(--v-fw-name); line-height:var(--v-lh-name); letter-spacing:var(--v-ls-name); text-transform:none; color:var(--v-ink); }
.v-plan-per { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); }
.v-frame .v-plan ul { list-style:none; padding:0; }
.v-plan li { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); border-top:1px solid var(--v-rule); padding:var(--v-2) 0; }
.v-plan li .v-tag { margin-left:6px; }
.v-plan-b { margin-top:auto; padding-top:var(--v-2); display:flex; flex-wrap:wrap; gap:var(--v-2); }
.v-plan-yours { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-accent); }
.v-btns { display:flex; flex-wrap:wrap; align-items:center; gap:var(--v-2); margin-top:var(--v-5); }
.v-auth { max-width:560px; padding:var(--v-5) 0 var(--v-7); }
.v-auth .v-prose + .v-prose, .v-auth .v-prose + .v-signup { margin-top:var(--v-3); }
.v-auth .v-form { margin:var(--v-4) 0 var(--v-2); }
.v-auth .v-btns { margin-top:var(--v-3); }
.v-auth [hidden] { display:none; }
.v-auth-m { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-ink); min-height:1.55em; }
.v-auth-d, .th-locked-s { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); }
.th-locked-s { margin-top:var(--v-3); }

/* ---- the shell pages (legal, /slack, the 404, search, ask; merged from v2-shells 2026-10-15) ------------ */
/* .v-txt a column of reading text (text_block); .v-appmark the /slack T-mark tile; .v-srch the search page's rows
   (build_pages.SEARCH_JS draws them with the old site_ui class names); .v-askpg the Ask page's blocks (ask_page.ASK_JS's
   ak-* names; .v-ask is the Deals finder's bar) */
.v-txt { max-width:66ch; }
.v-frame .v-txt > * + * { margin-top:var(--v-3); }
.v-frame .v-txt ul { padding-left:20px; list-style:disc; }
.v-txt li { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-body); }
.v-txt li + li { margin-top:var(--v-1); }
.v-frame .v-txt a, .v-frame .v-srch #zerostate a, .v-frame .v-askpg a { color:var(--v-accent); }
.v-frame .v-txt a:hover { text-decoration:underline; text-underline-offset:3px; }
.v-txt table { width:100%; border-collapse:collapse; }
.v-txt th { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-grey); text-align:left; border-bottom:1px solid var(--v-rule2); padding:var(--v-2) var(--v-3) var(--v-2) 0; }
.v-txt td { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); border-bottom:1px solid var(--v-rule); padding:var(--v-2) var(--v-3) var(--v-2) 0; vertical-align:top; }
.v-txt td:first-child { color:var(--v-ink); white-space:nowrap; }
@media (max-width:560px) { .v-txt td:first-child { white-space:normal; } }
.v-txt .v-btns { margin-top:var(--v-4); }
.v-appmark { display:flex; align-items:center; gap:var(--v-4); }
.v-appmark > span { display:inline-block; width:56px; height:56px; flex:none; box-sizing:border-box; padding:9px;
  border:1px solid var(--v-rule2); border-radius:12px; background:var(--v-paper); }
.v-appmark svg { display:block; width:100%; height:100%; }

.v-srch { max-width:880px; margin-top:var(--v-5); }
.v-srch .v-rail-q { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; padding:var(--v-3) var(--v-4); }
.v-srch #note { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); padding-top:var(--v-2); min-height:1.4em; }
.v-srch #zerostate { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); padding-top:var(--v-3); }
.v-srch #zerostate a { margin-left:var(--v-2); }
.v-srch .ui-sh { display:flex; align-items:flex-end; justify-content:space-between; gap:var(--v-4); padding-bottom:var(--v-2);
  border-bottom:1px solid var(--v-rule2); margin-top:var(--v-6); }
.v-srch .ui-sh h2 { font-family:var(--v-text); font-size:var(--v-fs-section); font-weight:var(--v-fw-section); line-height:var(--v-lh-section); letter-spacing:var(--v-ls-section); text-transform:uppercase; color:var(--v-accent); }
.v-srch .ui-sh em { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; font-style:normal; color:var(--v-grey); }
.v-srch .ui-sh em b { font-weight:600; }
.v-frame .v-srch a.s-r { display:block; padding:var(--v-2) 0; border-bottom:1px solid var(--v-rule); color:var(--v-ink); }
.v-srch a.s-r .nm { font-family:var(--v-text); font-size:var(--v-fs-row-title); font-weight:var(--v-fw-row-title); line-height:var(--v-lh-row-title); letter-spacing:var(--v-ls-row-title); text-transform:none; color:var(--v-ink); }
.v-srch a.s-r.big .nm { font-family:var(--v-text); font-size:var(--v-fs-name); font-weight:var(--v-fw-name); line-height:var(--v-lh-name); letter-spacing:var(--v-ls-name); text-transform:none; }
.v-srch a.s-r:hover .nm { color:var(--v-accent); }
.v-srch a.s-r .ui-type { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); text-transform:capitalize; margin-right:var(--v-1); }
.v-srch a.s-r .k, .v-srch a.s-r .ui-val { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); }
.v-srch a.s-r .ui-sec { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; font-weight:600; color:var(--v-accent); }
.v-srch a.s-r .ui-subsec { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-accent); }
.v-srch a.s-r .s-dt { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); float:right; margin-left:var(--v-3); }
.v-srch a.s-r .d { display:block; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); overflow-wrap:anywhere; }
.v-srch .s-more { padding:var(--v-3) 0; }
.v-srch .ui-btn { display:inline-flex; align-items:center; gap:var(--v-2); font-family:var(--v-text); font-size:var(--v-fs-button); font-weight:var(--v-fw-button); line-height:var(--v-lh-button); letter-spacing:var(--v-ls-button); text-transform:none; padding:var(--v-2) var(--v-4);
  border:1px solid var(--v-ink); border-radius:3px; color:var(--v-ink); background:var(--v-paper); cursor:pointer; }
.v-srch .ui-btn:hover { color:var(--v-accent); border-color:var(--v-accent); }

.v-askpg { max-width:880px; margin-top:var(--v-5); }
.v-askpg .v-rail-q { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; padding:var(--v-3) var(--v-4); }
.v-askpg .ak-status { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); padding-top:var(--v-3); min-height:1.4em; }
.v-askpg .ak-msg { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-ink); padding-top:var(--v-3); }
.v-askpg .ak-msg:empty { padding-top:0; }
.v-askpg .ak-chips { display:flex; flex-wrap:wrap; gap:var(--v-2); padding-top:var(--v-3); }
.v-askpg .ak-chip { display:inline-flex; align-items:center; gap:6px; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-ink); background:var(--v-paper);
  border:1px solid var(--v-rule2); border-radius:3px; padding:var(--v-1) var(--v-2); }
.v-askpg .ak-chip button { border:0; background:transparent; cursor:pointer; font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; line-height:1; color:var(--v-grey); padding:0 2px; }
.v-askpg .ak-chip button:hover, .v-askpg .ak-chip button:focus-visible { color:var(--v-accent); }
.v-askpg .ak-answer { font-family:var(--v-text); font-size:var(--v-fs-lede); font-weight:var(--v-fw-lede); line-height:var(--v-lh-lede); letter-spacing:var(--v-ls-lede); text-transform:none; color:var(--v-ink); padding-top:var(--v-4); max-width:760px; }
.v-askpg .ak-answer p, .v-askpg .ak-answer ul { margin:0 0 var(--v-3) 0; }
.v-frame .v-askpg .ak-answer ul, .v-frame .v-askpg .ak-web ul { padding-left:20px; list-style:disc; }
.v-askpg .ak-head { font-family:var(--v-text); font-size:var(--v-fs-label); font-weight:var(--v-fw-label); line-height:var(--v-lh-label); letter-spacing:var(--v-ls-label); text-transform:uppercase; color:var(--v-grey); padding:var(--v-5) 0 var(--v-2) 0; border-bottom:1px solid var(--v-rule2); }
.v-frame .v-askpg a.ak-row { display:block; padding:var(--v-2) 0; border-bottom:1px solid var(--v-rule); }
.v-askpg .ak-row .h { font-family:var(--v-text); font-size:var(--v-fs-row-title); font-weight:var(--v-fw-row-title); line-height:var(--v-lh-row-title); letter-spacing:var(--v-ls-row-title); text-transform:none; color:var(--v-ink); }
.v-askpg .ak-row:hover .h { color:var(--v-accent); }
.v-askpg .ak-row .c { display:block; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); }
.v-frame .v-askpg .ak-rank ol { padding:0; list-style:none; }
.v-askpg .ak-rank li { font-family:var(--v-text); font-size:var(--v-fs-row-title); font-weight:var(--v-fw-row-title); line-height:var(--v-lh-row-title); letter-spacing:var(--v-ls-row-title); text-transform:none; font-weight:400; color:var(--v-ink); padding:var(--v-2) 0; border-bottom:1px solid var(--v-rule); }
.v-askpg .ak-rank .d { display:block; font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); }
.v-askpg .ak-web { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-ink); padding-top:var(--v-1); max-width:760px; }
.v-askpg .ak-foot { font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); padding-top:var(--v-4); }

/* ---- THE PAGE TEMPLATE (Kyle 2026-10-17 10:11 / 10:25): the ONE place page layout is set, keyed by the config's
   classes. The columns slot has no section title, only a grey rule above it - .v-cols-2-1 LEFT ~2/3 (Notable, or the
   Sectors hub's cards) | the RAIL ~1/3, .v-cols-1-1 two halves, .v-cols-full one column; top-aligned; the rail's
   blocks (Volume, Industry reports, Conferences) stacked on hairline rules. Under 820px the columns stack, the left
   first ------------------------------------------------------------------------------------------------------- */
.v-ovw { border-top:1px solid var(--v-rule2); padding-top:var(--v-5); }
.v-cols { display:grid; column-gap:var(--v-7); row-gap:var(--v-6); align-items:start; }
.v-cols-2-1 { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
.v-cols-1-1 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.v-cols-full { grid-template-columns:minmax(0,1fr); }
.v-cols > * { min-width:0; }
.v-cols-l > .v-section:first-child { margin-top:0; }
.v-cols-2-1 > .v-cols-l .v-cards { grid-template-columns:repeat(2, minmax(0,1fr)); }
.v-rb + .v-rb { border-top:1px solid var(--v-rule); margin-top:var(--v-4); padding-top:var(--v-4); }
/* THE VOLUME BLOCK: a row a month - the month, its count, then its bar of small square blocks (one block = the page's
   unit of deals), shaded by the Deal mix colours (.v-c1-3, the scoreboard's swatches) */
.v-vol { display:grid; grid-template-columns:max-content max-content minmax(0,1fr); column-gap:var(--v-3); row-gap:var(--v-2);
  align-items:center; }
.v-vol-m { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-grey); white-space:nowrap; }
.v-vol-n { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; font-weight:600; color:var(--v-ink); text-align:right; }
.v-vol-b { display:flex; flex-wrap:wrap; gap:2px; min-width:0; }
.v-vol-b i { display:block; width:10px; height:10px; border-radius:2px; }
.v-vol-key { margin-top:var(--v-2); }
/* the dashboard scoreboard's Market volume box (scoreboard kind "volume_blocks"): the same rows, tighter, thin blocks */
.v-vol.v-vol-sb { column-gap:var(--v-2); row-gap:2px; }
.v-vol-sb .v-vol-b { flex-wrap:nowrap; }
.v-vol-sb .v-vol-b i { width:4px; height:10px; border-radius:1px; }   /* thin: 20 blocks fit a 5-column box */
.v-sb-box .v-vol-key { margin-top:var(--v-1); }
.v-key i.v-vol-sq { background:var(--v-grey); }
/* the rail's conference row (Kyle 2026-10-17 23:23 #9): line 1 the title, the date right-aligned, the calendar icon,
   the chevron; line 2 the sector chip(s) and the location */
.v-rb .v-conf-l { flex-wrap:wrap; row-gap:2px; }
.v-rb .v-conf-l::after { content:""; order:5; flex:0 0 100%; height:0; }
.v-rb .v-conf-t { order:1; flex:1 1 0; }
.v-rb .v-conf-d { order:2; margin-left:0; }
.v-rb .v-cal { order:3; }
.v-rb .v-conf-l > .v-chev { order:4; }
.v-rb .v-conf-l .v-stag { order:6; }
.v-rb .v-conf-w { order:7; flex:0 1 auto; margin-left:0; text-align:left; }
@media (min-width:821px) { .v-cols-l .v-nt-m { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } }
@media (max-width:820px) { .v-cols-2-1, .v-cols-1-1 { grid-template-columns:minmax(0,1fr); } }
@media (max-width:560px) { .v-cols-2-1 > .v-cols-l .v-cards { grid-template-columns:minmax(0,1fr); } }

/* ---- footer -------------------------------------------------------------- */
.v-foot { margin-top:var(--v-7); padding:var(--v-5) 0 0; border-top:1px solid var(--v-rule2); font-family:var(--v-text); font-size:var(--v-fs-small); font-weight:var(--v-fw-small); line-height:var(--v-lh-small); letter-spacing:var(--v-ls-small); text-transform:none; color:var(--v-grey); }
.v-foot-r { display:flex; flex-wrap:wrap; gap:var(--v-1) var(--v-4); }
.v-foot .v-foot-d { margin-top:var(--v-3); max-width:90ch; }

.v-hid { display:inline-block; width:5.5em; height:.8em; vertical-align:middle; background:var(--v-rule2); border-radius:2px; }
.v-frame .v-odl { margin:var(--v-5) 0 0 0; padding-top:var(--v-4); border-top:1px solid var(--v-rule); }
.v-odl-b { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-accent); background:none; border:0; padding:0; cursor:pointer; text-align:left;
  text-decoration:underline; text-underline-offset:3px; }
.v-odl-b:hover, .v-odl-b:focus-visible { color:var(--v-ink); }
.v-odl-s { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); margin:var(--v-2) 0 0 0; }
.v-frame .v-odl-s a, .v-frame .v-odl-n a { color:var(--v-accent); }
.v-odl-f { margin-top:var(--v-4); max-width:520px; }
.v-odl-f[hidden], .v-odl-n[hidden] { display:none; }
.v-odl-i { font-family:var(--v-text); font-size:var(--v-fs-body); font-weight:var(--v-fw-body); line-height:var(--v-lh-body); letter-spacing:var(--v-ls-body); text-transform:none; color:var(--v-body); margin:0 0 var(--v-3) 0; }
.v-odl-n { font-family:var(--v-text); font-size:var(--v-fs-row-meta); font-weight:var(--v-fw-row-meta); line-height:var(--v-lh-row-meta); letter-spacing:var(--v-ls-row-meta); text-transform:none; color:var(--v-body); margin:var(--v-2) 0 0 0; }
html.v-member .v-odl { visibility:hidden; }
html.v-signed .v-odl-b, html.v-signed .v-odl-f { display:none; }
html.v-signed .v-odl-s { margin-top:0; }
