/* ─── design tokens (borrowed from CVP visual language) ─────────── */
:root{
  --cream:#F5F8F7;
  --cream-2:#EBF0EE;
  --bg:#E7EBEA;
  --white:#FFFFFF;
  --ink:#1B3D2F;
  /* A three-step ink ladder that also clears WCAG AA. The first pass at
     this set both tiers to 0.71, which cleared the contrast floor and
     collapsed secondary and tertiary into the same colour: an accessibility
     gate passed by deleting a level of hierarchy. 0.85 and 0.71 keep three
     distinguishable steps (9.95 / 6.61 / 4.53 worst-case) with the lightest
     still above 4.5:1 on every ground in use, including the admin panes. */
  --ink-2:rgba(27,61,47,0.85);
  --ink-3:rgba(27,61,47,0.71);
  --ink-4:rgba(27,61,47,0.18);
  --line:rgba(27,61,47,0.10);
  --line-2:rgba(27,61,47,0.18);
  --green:#2F7A4E;
  --green-soft:rgba(47,122,78,0.10);
  --amber:#9A6400;
  --amber-soft:rgba(186,117,23,0.10);
  --rust:#A24E2C;
  --rust-soft:rgba(162,78,44,0.08);
  --gold:#B58A3A;
  --shadow-1:0 1px 2px rgba(27,61,47,0.05);
  --shadow-2:0 4px 12px rgba(27,61,47,0.08);
  --radius:8px;
  --radius-lg:12px;
  /* Editorial type system — 'Playfair Display' (display, variable, optical) +
     Newsreader (body, variable, screen-optimized) + Inter labels
     (data only). Replaces DM Sans / Playfair / DM Mono. The whole
     site reads as an investment letter, not a CRM dashboard. */
  --font:'Newsreader','Hoefler Text',Georgia,serif;
  --serif:'Playfair Display','Hoefler Text',Garamond,serif;
  --mono:'Inter','Helvetica Neue',sans-serif;  /* label face: grotesk caps, not terminal mono (AI-tell) */
  --gilt:#86600C;
  --gilt-soft:rgba(184,146,62,0.10);
}

html{
  font-feature-settings:"kern" 1, "liga" 1, "calt" 1, "onum" 1;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--bg);font-family:var(--font);color:var(--ink);font-size:15px;line-height:1.55}
button{font-family:inherit;font-size:inherit;color:inherit}
a{color:inherit;text-decoration:none}

.hidden{display:none!important}

/* ─── boot screen ───────────────────────────────────────────────── */
.boot{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:9999}
.boot-inner{display:flex;flex-direction:column;align-items:center;gap:18px;padding:32px;max-width:480px;text-align:center}
.boot-mark{font-family:var(--serif);font-size:48px;font-weight:600;color:var(--ink);font-style:italic}
.boot-msg{color:var(--ink-2);font-size:13px;letter-spacing:0.04em}
.boot-deny .boot-deny-h{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--ink);margin-top:4px}
.boot-deny-p{color:var(--ink-2);font-size:14px;line-height:1.55}
.boot-deny-trace{font-family:var(--mono);font-size:11px;color:var(--ink-3)}

/* ─── auth (sign-in + verify) ───────────────────────────────────── */
.auth{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:9999;padding:24px}
.auth-card{
  width:100%;max-width:420px;background:var(--cream);border:1px solid var(--line);
  border-radius:14px;padding:40px 32px 28px;
  box-shadow:0 4px 24px rgba(20,16,8,0.04);
}
.auth-logo{display:flex;justify-content:center;margin:4px 0 28px}
.auth-logo img{
  width:auto;height:88px;max-width:100%;
  /* The stacked CRYSTAL / VENTURE / PARTNERS mark is sharp at this scale
     on 2x displays without dwarfing the form below it. */
}
.auth.auth-verify{
  place-items:center;
  padding:26px;
  background:
    radial-gradient(circle at 16% 10%,rgba(128,194,185,0.16),transparent 32%),
    linear-gradient(145deg,#0B1A15 0%,#122A22 54%,#193A30 100%);
  overflow-y:auto;
}
.auth-verify-shell{
  width:min(860px,100%);
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 295px;
  border:1px solid rgba(228,241,240,0.18);
  border-radius:18px;
  overflow:hidden;
  background:#FBFCFA;
  box-shadow:0 28px 84px rgba(4,12,9,0.34);
}
.auth-verify-main{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:38px 42px 36px;
  background:linear-gradient(180deg,#FFFFFF 0%,#F6F9F6 100%);
  color:#102018;
}
.auth-verify-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:30px;
}
.auth-verify-brand img{
  width:auto;
  height:46px;
  display:block;
}
.auth-verify-brand span{
  padding-left:14px;
  border-left:1px solid rgba(27,61,47,0.13);
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:700;
  letter-spacing:0.16em;
  line-height:1.6;
  text-transform:uppercase;
  color:#6B7A72;
}
.auth-eyebrow{
  font-family:var(--mono);
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--green);margin-bottom:10px;
}
.auth-verify .auth-eyebrow{color:#66766E;margin-bottom:8px}
.auth-h{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--ink);margin:0 0 8px;line-height:1.1}
.auth-deck{font-size:14px;color:var(--ink-2);line-height:1.5;margin:0 0 24px}
.auth-verify-h{
  max-width:460px;
  margin:0;
  font-family:var(--serif);
  font-size:40px;
  font-weight:560;
  line-height:1.02;
  letter-spacing:0;
  color:#102018;
}
.auth-verify-deck{
  max-width:500px;
  margin:13px 0 0;
  font-family:'Instrument Sans',sans-serif;
  font-size:14.5px;
  line-height:1.52;
  color:#526159;
}
.auth-verify-btn{
  width:fit-content;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:26px;
  padding:0 18px;
  border:1px solid #143426;
  border-radius:7px;
  background:#143426;
  color:#FFFFFF;
  font-family:'Instrument Sans',sans-serif;
  font-size:12.5px;
  font-weight:780;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.auth-verify-btn:hover{opacity:1;background:#1B3D2F}
.auth-verify .auth-spinner{
  margin:18px 0 0 0;
  border-color:rgba(27,61,47,0.18);
  border-top-color:#143426;
}
.auth-verify .auth-msg{color:#526159}
.auth-verify .auth-msg.err{color:#A14A33}
.auth-verify .auth-retry{color:#143426}
.auth-verify-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:30px;
  background:#10251C;
  color:#F7FAF7;
  border-left:1px solid rgba(27,61,47,0.10);
}
.auth-verify-panel-k{
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(247,250,247,0.58);
  margin-bottom:14px;
}
.auth-verify-ledger{
  display:grid;grid-template-columns:1fr;
  border-top:1px solid rgba(247,250,247,0.15);
  background:transparent;
  border-radius:0;
  overflow:hidden;
  margin:0 0 18px;
}
.auth-verify-ledger div{
  display:grid;grid-template-columns:1fr;gap:4px;
  align-items:start;
  padding:13px 0;
  border-bottom:1px solid rgba(247,250,247,0.15);
}
.auth-verify-ledger div:last-child{border-bottom:none}
.auth-verify-ledger span{
  font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:0.13em;
  text-transform:uppercase;color:rgba(247,250,247,0.46);
}
.auth-verify-ledger strong{
  font-family:'Instrument Sans',sans-serif;
  font-size:13.5px;
  line-height:1.25;
  color:#F7FAF7;
  font-weight:760;
}
.auth-verify-note{
  padding:16px 0 0;
  border-top:1px solid rgba(247,250,247,0.15);
}
.auth-verify-note-k{
  font-family:var(--mono);
  font-size:9px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#B9D6CA;
  margin-bottom:7px;
}
.auth-verify-note p{
  margin:0;
  font-family:'Instrument Sans',sans-serif;
  font-size:12.5px;
  line-height:1.48;
  color:rgba(247,250,247,0.68);
}
.auth-form{display:flex;flex-direction:column;gap:8px}
.auth-label{font-size:10.5px;font-weight:700;letter-spacing:0.13em;color:var(--ink-3);text-transform:uppercase;margin-top:6px}
.auth-input{
  font:inherit;font-size:15px;color:var(--ink);
  padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:#fff;
  outline:none;transition:border-color 120ms;
}
.auth-input:focus{border-color:var(--ink-2)}
.auth-btn{
  margin-top:14px;font:inherit;font-size:14px;font-weight:600;letter-spacing:0.01em;
  padding:12px 18px;border:none;border-radius:8px;
  background:var(--ink);color:var(--cream);cursor:pointer;transition:opacity 120ms;
}
.auth-btn:hover{opacity:0.9}
.auth-btn:disabled{opacity:0.5;cursor:default}
.auth-msg{min-height:20px;margin-top:10px;font-size:13px;line-height:1.45}
.auth-msg.ok{color:#1a4d2c}
.auth-msg.err{color:#b1431b}
.auth-foot{margin:28px 0 0;font-size:11.5px;color:var(--ink-3);line-height:1.5;border-top:1px solid var(--line);padding-top:14px}
.auth-access-help{
  margin:14px 0 0;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--ink-2);
  font-family:var(--mono);
  font-size:11.5px;
  line-height:1.55;
}
.auth-access-help summary{
  cursor:pointer;
  color:var(--ink);
  font-weight:700;
  letter-spacing:0.02em;
  list-style-position:outside;
}
.auth-access-help p{margin:8px 0 0;color:var(--ink-2)}
.auth-access-help-verify{
  width:100%;
  max-width:430px;
  margin-top:18px;
  border-top-color:rgba(255,255,255,0.12);
  color:rgba(245,248,247,0.62);
}
.auth-access-help-verify summary{color:rgba(245,248,247,0.86)}
.auth-access-help-verify p{color:rgba(245,248,247,0.62)}
.auth-spinner{
  width:32px;height:32px;margin:24px auto 12px;
  border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;
  animation:auth-spin 0.8s linear infinite;
}
@keyframes auth-spin{to{transform:rotate(360deg)}}
.auth-retry{display:inline-block;margin-top:14px;font-size:13px;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.auth-sent-icon{font-family:var(--serif);font-size:56px;line-height:1;color:var(--ink-2);text-align:center;margin:6px 0 18px}
.auth-sent-tip{margin-top:14px;color:var(--ink)}
.auth-sent-foot{margin-top:24px}
.auth-retry-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.auth-retry-link:hover{color:var(--ink-2)}

/* sign-out button in titlebar */
.tb-lp{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;gap:4px}
.tb-signout{
  font:inherit;font-size:10px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--ink-3);background:transparent;border:none;padding:0;cursor:pointer;
}
.tb-signout:hover{color:var(--ink)}
/* Header reading-guide action. Compact bordered pill, aligned with the
   titlebar identity block. */
.tb-guide{
  align-self:center;margin-right:14px;white-space:nowrap;
  font:inherit;font-size:10px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  color:var(--ink-3);background:transparent;border:1px solid rgba(138,147,141,0.45);
  padding:7px 14px;border-radius:5px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease;
}
.tb-guide:hover{color:var(--ink);border-color:var(--ink);background:rgba(138,147,141,0.08)}

/* ─── app shell ─────────────────────────────────────────────────── */
.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}

.titlebar{
  background:var(--cream);
  border-bottom:1px solid var(--line);
  padding:10px 24px;
  display:flex;align-items:center;gap:18px;
  flex-shrink:0;
}
.tb-mark{display:flex;align-items:center;gap:14px}
.tb-logo{height:38px;width:auto;display:block;flex-shrink:0}
.tb-mark-text{display:flex;flex-direction:column;line-height:1.15;padding-left:14px;border-left:1px solid var(--line-2)}
.tb-mark-line2{font-size:10px;font-weight:600;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3)}
.tb-spacer{flex:1}
.tb-lp{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.tb-lp-label{font-size:9.5px;font-weight:700;letter-spacing:0.13em;color:var(--ink-3);text-transform:uppercase}
.tb-lp-name{font-size:13px;font-weight:600;color:var(--ink)}
.tb-tier{
  font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  padding:5px 10px;border-radius:6px;
  background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20);
}
.tb-tier.tier-2{background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.30)}

/* Mobile nav toggle — hidden on desktop (the rail is always visible there);
   shown <=860px where it opens/closes the collapsed nav drawer. */
.nav-toggle{display:none;align-items:center;justify-content:center;
  width:42px;height:42px;flex-shrink:0;margin-right:2px;
  background:transparent;border:1px solid var(--line-2);border-radius:9px;cursor:pointer}
.nav-toggle:hover{background:rgba(27,61,47,0.05)}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{
  display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;
  transition:transform .2s ease,opacity .2s ease}
.nav-toggle-bars{position:relative}
.nav-toggle-bars::before{content:"";position:absolute;top:-6px;left:0}
.nav-toggle-bars::after{content:"";position:absolute;top:6px;left:0}
.app.nav-open .nav-toggle-bars{background:transparent}
.app.nav-open .nav-toggle-bars::before{transform:translateY(6px) rotate(45deg)}
.app.nav-open .nav-toggle-bars::after{transform:translateY(-6px) rotate(-45deg)}

.layout{display:flex;flex:1;min-height:0;overflow:hidden}

/* ─── sidebar ───────────────────────────────────────────────────── */
.sidebar{
  width:240px;flex-shrink:0;
  background:var(--cream);
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;
  /* Companies scroll internally while the fund navigation stays fixed. */
  overflow:hidden;
}
.sb-section-companies{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.sb-section-companies #sb-companies{padding-bottom:30px}
.sb-section-companies #sb-companies{flex:1 1 auto;min-height:0;overflow-y:auto}
.sb-section{padding:14px 0 6px}
.sb-section-utility{margin-top:auto}
.sb-section-h{
  padding:0 20px 8px;
  font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-3);
}
.sb-item{
  display:flex;align-items:center;justify-content:space-between;
  padding:8px 18px 8px 20px;
  font-size:13px;color:var(--ink-2);
  border-left:2px solid transparent;
  cursor:pointer;
  transition:background .12s,color .12s;
}
.sb-item:hover{color:var(--ink);background:rgba(27,61,47,0.04)}
.sb-item.act{color:var(--ink);background:rgba(27,61,47,0.05);border-left-color:var(--green);font-weight:600}
.sb-item-utility{font-weight:600}
.sb-co-meta{font-size:10.5px;color:var(--ink-3);font-family:var(--mono);margin-left:6px}
.sb-lock{
  display:inline-block;width:11px;height:11px;
  background:no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239A6400'><path d='M12 1a5 5 0 0 0-5 5v3H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-2V6a5 5 0 0 0-5-5zm0 2a3 3 0 0 1 3 3v3H9V6a3 3 0 0 1 3-3z'/></svg>");
  opacity:.7;
}
.sb-foot{margin-top:auto;padding:14px 18px;border-top:1px solid var(--line)}

/* ─── main area + views ─────────────────────────────────────────── */
.main{flex:1;min-width:0;overflow-y:auto;background:#F8FAF9;padding:28px 32px 56px}
.view{display:none}
.view.visible{display:block}

.eyebrow{font-size:10.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.h-display{font-family:var(--serif);font-size:32px;font-weight:600;color:var(--ink);letter-spacing:-0.012em;line-height:1.1}
.h-meta{font-size:13px;color:var(--ink-2);margin-top:6px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.h-meta-pill{font-size:11px;font-weight:600;letter-spacing:0.04em;padding:3px 9px;border-radius:6px;background:rgba(27,61,47,0.06);color:var(--ink-2);border:1px solid var(--line)}
.h-meta-pill.tier-2{background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.30)}

/* tabbed company view */
.co-tabs{
  display:flex;gap:4px;
  border-bottom:1px solid var(--line);
  margin-top:18px;
}
.co-tab{
  padding:10px 16px;
  font-size:13px;font-weight:500;color:var(--ink-3);
  border:none;background:transparent;cursor:pointer;
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
  transition:color .12s,border-color .12s;
  display:flex;align-items:center;gap:6px;
}
.co-tab:hover{color:var(--ink-2)}
.co-tab.act{color:var(--ink);border-bottom-color:var(--green);font-weight:600}
.co-tab-body{padding:24px 0}

/* card grid */
.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:1fr 1fr 1fr}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}

.card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius-lg);
  padding:18px 20px;
  box-shadow:var(--shadow-1);
}
.card.tier-2{border-left:3px solid var(--amber)}
.card-h{
  font-size:10.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}
.card-h .tier-pill{
  font-size:9px;letter-spacing:0.10em;padding:2px 6px;border-radius:4px;
  background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25);
}

.kv-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed var(--line)}
.kv-row:last-child{border-bottom:none}
.kv-k{font-size:12px;color:var(--ink-3)}
.kv-v{font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}

.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line)}
.metric{padding:14px 16px;background:var(--white)}
.metric-l{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.metric-v{font-size:24px;font-weight:700;color:var(--ink);line-height:1;letter-spacing:-0.015em;font-variant-numeric:tabular-nums}
.metric-s{font-size:11px;color:var(--ink-3);margin-top:4px}
.metric.pos .metric-v{color:var(--green)}
.metric.neg .metric-v{color:var(--rust)}

/* financing timeline */
.fin{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:6px}
.fin-rd{
  background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:12px 14px;
}
.fin-rd-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:2px}
.fin-rd-date{font-size:11px;color:var(--ink-3);font-family:var(--mono)}
.fin-rd-row{display:flex;justify-content:space-between;font-size:12px;margin-top:6px}
.fin-rd-row .l{color:var(--ink-3)}
.fin-rd-row .v{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}

/* prose section */
.prose{font-size:14px;line-height:1.65;color:var(--ink-2)}
.prose strong{color:var(--ink)}
.prose .pending{color:var(--ink-3);font-style:italic}

/* L2 lock state */
.l2-locked-card{
  background:repeating-linear-gradient(135deg,var(--cream) 0 12px,var(--cream-2) 12px 24px);
  border:1px dashed var(--line-2);border-radius:var(--radius-lg);
  padding:32px 24px;text-align:center;
}
.l2-locked-card h3{font-family:var(--serif);font-size:20px;font-weight:600;margin-bottom:8px}
.l2-locked-card p{font-size:13px;color:var(--ink-2);margin-bottom:14px;max-width:520px;margin-inline:auto}
.l2-locked-card .btn{margin:6px auto 0}
.l2-disclaimer{font-size:11px;color:var(--ink-3);max-width:520px;margin:14px auto 0;line-height:1.55}

/* watermark */
.watermark{
  position:fixed;left:0;right:0;bottom:0;
  padding:6px 18px;
  background:rgba(245,242,238,0.92);
  border-top:1px solid var(--line);
  font-size:10.5px;color:var(--ink-3);
  font-family:var(--mono);
  display:flex;justify-content:space-between;
  letter-spacing:0.02em;
  pointer-events:none;
}
.watermark.tier-2{background:rgba(245,232,210,0.92);color:#945E00}

/* ─── modal ─────────────────────────────────────────────────────── */
.modal{position:fixed;inset:0;z-index:99}
.modal-backdrop{position:absolute;inset:0;background:rgba(27,61,47,0.45);backdrop-filter:blur(2px)}
.modal-card{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:min(560px,calc(100vw - 40px));
  background:var(--white);border-radius:var(--radius-lg);
  padding:32px 32px 24px;
  box-shadow:var(--shadow-2);
}
.modal-eyebrow{font-size:10.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);margin-bottom:8px}
.modal-title{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink);letter-spacing:-0.01em;margin-bottom:14px}
.modal-body{font-size:13.5px;color:var(--ink-2);line-height:1.6;margin-bottom:12px}
.modal-list{list-style:none;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;margin-bottom:18px;font-size:12.5px;color:var(--ink-2)}
.modal-list li{padding:4px 0;display:flex;gap:8px;align-items:flex-start}
.modal-list li::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--amber);margin-top:7px;flex-shrink:0}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}

/* Reading guide modal — visual grid: each cell is a small diagram + one line */
.guide-card{width:min(680px,calc(100vw - 40px));max-height:calc(100vh - 60px);overflow-y:auto}
.guide-eyebrow{color:var(--ink-3)}
.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.guide-cell{border:1px solid var(--line);border-radius:8px;padding:12px 14px 11px}
.guide-wide{grid-column:1/-1}
.guide-cell > svg{width:100%;height:auto;display:block;margin-bottom:8px}
.guide-cell strong{display:block;font-size:12.5px;color:var(--ink);margin-bottom:2px}
.guide-cell span{display:block;font-size:11.5px;color:var(--ink-2);line-height:1.5}
.gd-lab{font-family:'Inter','Helvetica Neue',sans-serif;font-size:8px;font-weight:700;letter-spacing:0.08em;fill:rgba(27,61,47,0.45)}
.gd-sub{font-family:'Inter','Helvetica Neue',sans-serif;font-size:7.5px;font-weight:700;letter-spacing:0.05em;fill:rgba(27,61,47,0.6)}
.gd-big{font-family:'Inter','Helvetica Neue',sans-serif;font-size:12px;font-weight:700;letter-spacing:0.04em;fill:#1B3D2F}
.gd-mid{font-family:'Inter','Helvetica Neue',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.04em;fill:#1B3D2F}
.gd-pill{font-family:'Inter','Helvetica Neue',sans-serif;font-size:7px;font-weight:700;letter-spacing:0.09em;fill:#F5F8F7}
.gd-num-s{font-family:var(--serif);font-size:16px;font-weight:600;fill:#1B3D2F;letter-spacing:0.01em}
.gd-lab-c{font-family:'Inter','Helvetica Neue',sans-serif;font-size:8.5px;font-weight:700;letter-spacing:0.1em;fill:rgba(245,248,247,0.6)}
.gd-lab-g{font-family:'Inter','Helvetica Neue',sans-serif;font-size:8.5px;font-weight:700;letter-spacing:0.1em;fill:#C9A25E}
.gd-sub-c{font-family:'Inter','Helvetica Neue',sans-serif;font-size:7.5px;font-weight:600;letter-spacing:0.05em;fill:rgba(245,248,247,0.7)}
.gd-ic{font-family:'Inter','Helvetica Neue',sans-serif;font-size:9px;font-weight:700;letter-spacing:0.05em;fill:#C9A25E}
.guide-dark{background:linear-gradient(135deg,#17392E,#0E2A20);border-color:#0E2A20}
.guide-dark strong{color:#F5F8F7}
.guide-dark span{color:rgba(245,248,247,0.72)}
.guide-steps{display:flex;align-items:center;gap:8px;padding:10px 2px 14px}
.guide-step{display:flex;align-items:center;gap:10px;flex:1 1 0;min-width:0;text-decoration:none;border-radius:8px;padding:6px 8px;margin:-6px -8px;transition:background .15s ease}
.guide-step:hover{background:rgba(27,61,47,0.05)}
.guide-step .guide-step-t::after{content:"\00a0\2192";opacity:0.3;transition:opacity .15s ease}
.guide-step:hover .guide-step-t::after{opacity:1;color:#B58A3A}
.guide-step-n{font-family:var(--serif);font-style:italic;font-size:34px;font-weight:600;color:var(--ink);line-height:1}
.guide-step-n-gold{color:#B58A3A}
.guide-step-t{font-size:12.5px;font-weight:600;color:var(--ink)}
.guide-step-s{font-family:'Inter','Helvetica Neue',sans-serif;font-size:8.5px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}
svg.guide-step-arrow{width:28px;height:12px;flex-shrink:0}
@media (max-width: 560px){ .guide-steps{flex-direction:column;align-items:flex-start} svg.guide-step-arrow{transform:rotate(90deg);margin-left:8px} }
@media (prefers-reduced-motion: no-preference){
  #guide-modal:not(.hidden) .modal-card{animation:guideCard .38s cubic-bezier(.2,.7,.3,1) both}
  #guide-modal:not(.hidden) .guide-cell{animation:guideIn .5s cubic-bezier(.16,.68,.32,1) both}
  #guide-modal:not(.hidden) .guide-cell:nth-child(2){animation-delay:.06s}
  #guide-modal:not(.hidden) .guide-cell:nth-child(3){animation-delay:.12s}
  #guide-modal:not(.hidden) .guide-cell:nth-child(4){animation-delay:.18s}
  #guide-modal:not(.hidden) .guide-cell:nth-child(5){animation-delay:.24s}
  #guide-modal:not(.hidden) .guide-cell:nth-child(6){animation-delay:.3s}
}
@keyframes guideIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes guideCard{from{opacity:0;transform:translate(-50%,-49%) scale(.985)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.tour-teleport .tour-spot,.tour-teleport .tour-card{transition:none!important}
@media (prefers-reduced-motion: no-preference){
  .tour-card-swap .tour-t,.tour-card-swap .tour-p,.tour-card-swap .tour-k{animation:tourText .32s ease both}
}
@keyframes tourText{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  .tour-spot,.tour-card{transition:none}
}

/* Spotlight tour — gold-ringed cutout over the real UI + floating step card */
.tour{position:fixed;inset:0;z-index:130}
.tour-spot{
  position:fixed;border-radius:10px;pointer-events:none;
  border:1.5px solid #C9A25E;
  box-shadow:0 0 0 9999px rgba(10,30,23,0.55),0 0 24px rgba(201,162,94,0.35);
  transition:left .38s cubic-bezier(.2,.7,.3,1),top .38s cubic-bezier(.2,.7,.3,1),width .38s cubic-bezier(.2,.7,.3,1),height .38s cubic-bezier(.2,.7,.3,1);
}
.tour-card{
  position:fixed;width:320px;max-width:calc(100vw - 32px);
  background:var(--white);border-radius:12px;box-shadow:var(--shadow-2);
  padding:16px 18px 14px;
  transition:left .38s cubic-bezier(.2,.7,.3,1),top .38s cubic-bezier(.2,.7,.3,1);
}
.tour-k{font-family:'Inter','Helvetica Neue',sans-serif;font-size:9px;font-weight:700;letter-spacing:0.12em;color:#B58A3A;margin-bottom:6px}
.tour-t{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-0.01em;margin:0 0 6px}
.tour-p{font-size:12.5px;color:var(--ink-2);line-height:1.55;margin:0}
.tour-actions{display:flex;align-items:center;gap:8px;margin-top:12px}
.tour-actions .btn{min-height:34px;padding:6px 14px;font-size:12px}
.tour-end{background:none;border:none;color:var(--ink-3);font:inherit;font-size:11px;cursor:pointer;padding:0;margin-right:auto;text-decoration:underline;text-underline-offset:2px}
.tour-end:hover{color:var(--ink)}
#tour-back:disabled{opacity:0.4;cursor:default}
.guide-actions{align-items:center}
.guide-help{font-size:11.5px;color:var(--ink-3);margin-right:auto}
.guide-files{display:grid;gap:0;margin:8px 0 10px;border-top:1px solid rgba(27,61,47,0.1)}
.guide-file{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid rgba(27,61,47,0.1)}
.guide-file>svg{width:20px;height:24px;margin-top:1px}
.guide-file strong{display:block;font-size:12.5px;color:var(--ink);margin-bottom:1px}
.guide-file span{display:block;font-size:11.5px;color:var(--ink-2);line-height:1.5}
.guide-l2-tag{font-style:normal;font-family:'Inter','Helvetica Neue',sans-serif;font-size:8.5px;font-weight:600;letter-spacing:0.06em;color:#B58A3A;border:1px solid rgba(181,138,58,0.45);border-radius:8px;padding:1px 7px;margin-left:6px;vertical-align:1px}
.guide-lvls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 10px}
.guide-lvl{border:1px solid rgba(27,61,47,0.18);border-radius:8px;padding:11px 13px;background:rgba(27,61,47,0.025)}
.guide-lvl-2{border-color:rgba(181,138,58,0.55);border-width:1.5px;background:var(--white)}
.guide-lvl-chip{display:flex;align-items:center;gap:7px;font-family:'Inter','Helvetica Neue',sans-serif;font-size:9px;font-weight:700;letter-spacing:0.07em;color:var(--ink);margin-bottom:4px}
.guide-lvl-chip svg{width:12px;height:12px;flex-shrink:0}
.guide-lvl-sub{font-size:10.5px;color:var(--ink-3);margin-bottom:8px}
.guide-lvl-item{font-size:11.5px;color:var(--ink-2);line-height:1.5;padding:3px 0;border-top:1px solid rgba(27,61,47,0.08)}
@media (max-width: 560px){ .guide-lvls{grid-template-columns:1fr} }
@media (max-width: 560px){ .guide-grid{grid-template-columns:1fr} }

.btn{
  padding:10px 18px;
  font-size:13px;font-weight:600;
  border:1px solid transparent;border-radius:6px;
  cursor:pointer;
  transition:all .12s;
}
.btn-primary{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.btn-primary:hover{background:#0F2E22}
.btn-ghost{background:transparent;color:var(--ink-2);border-color:var(--line-2)}
.btn-ghost:hover{background:rgba(27,61,47,0.05);color:var(--ink)}
.btn:disabled{opacity:.5;cursor:not-allowed}

/* ─── company hero ──────────────────────────────────────────────── */
.hero{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-1);
  margin-bottom:18px;
  overflow:hidden;
  position:relative;
}
.hero-stripe{
  height:5px;
  background:var(--green);
}
.hero-body{
  display:flex;align-items:flex-start;gap:24px;
  padding:26px 28px 24px;
}
@media(max-width:780px){.hero-body{flex-direction:column;gap:18px}}
.hero-left{display:flex;align-items:flex-start;gap:20px;flex:1;min-width:0}
.hero-avatar{
  width:120px;height:120px;border-radius:18px;flex-shrink:0;
  display:grid;place-items:center;
  font-family:var(--serif);font-size:42px;font-weight:600;font-style:italic;
  color:#fff;letter-spacing:-0.015em;
  font-variation-settings:"opsz" 60, "SOFT" 30;
  box-shadow:0 1px 0 rgba(0,0,0,0.05) inset;
  overflow:hidden;
}
/* Logo variant — cream background, contain-fit so wordmark logos
   don't get squished. The hero-avatar-img sits inside the same
   rounded box; brand-color background only shows in the initials
   fallback when the logo image can't load. */
.hero-avatar-logo{
  background:#FFFFFF;
  border:1px solid var(--line);
  box-shadow:none;
}
.hero-avatar-img{
  width:100%;height:100%;
  object-fit:contain;object-position:center;
  padding:6px;
  display:block;
}
/* Company name renders next to the logo on every per-company page,
   even when the logo carries the wordmark — operator preference: the
   name is the page anchor, not a redundant overlap with the mark. */
.hero-ident{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.hero-eye{
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:2px;
}
.hero-name{
  font-family:var(--serif);
  font-size:34px;font-weight:420;line-height:1.05;letter-spacing:-0.02em;
  color:var(--ink);
  font-variation-settings:"opsz" 48, "SOFT" 30, "WONK" 0;
}
.hero-tag{
  font-family:var(--serif);
  font-style:italic;
  font-size:16.5px;
  line-height:1.4;
  color:var(--ink-2);
  font-variation-settings:"opsz" 18, "SOFT" 70;
  margin-top:2px;
  max-width:640px;
}
.hero-meta{
  font-family:var(--mono);
  font-size:11px;font-weight:500;letter-spacing:0.10em;text-transform:uppercase;
  color:var(--ink-3);
  margin-top:6px;
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
}
.hero-meta-sep{color:var(--ink-4)}

.hero-right{
  text-align:right;flex-shrink:0;align-self:flex-start;
  min-width:140px;
  padding-left:24px;
  border-left:1px solid var(--line);
  display:flex;flex-direction:column;gap:4px;align-items:flex-end;
}
.hero-moic-eye{
  font-family:var(--mono);
  font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-3);
}
.hero-moic{
  font-family:var(--serif);
  font-size:46px;font-weight:520;letter-spacing:-0.025em;line-height:1;color:var(--ink);
  font-variant-numeric:tabular-nums;
  font-variation-settings:"opsz" 60, "SOFT" 30, "WONK" 0;
  margin-top:2px;
}
.hero-moic.moic-pos    {color:var(--green)}
.hero-moic.moic-watch  {color:var(--amber)}
.hero-moic.moic-neutral{color:var(--ink)}
.hero-fcmoic{
  font-family:var(--mono);
  font-size:10.5px;color:var(--ink-3);margin-top:6px;
  font-variant-numeric:tabular-nums;letter-spacing:0.06em;
}
.hero-fcmoic-l{text-transform:uppercase;letter-spacing:0.16em;font-weight:500}
.hero-fcmoic strong{color:var(--ink);font-weight:700}

/* Action chips — Website / Original deck / CVP memo */
.hero-actions{
  display:flex;gap:0;flex-wrap:wrap;
  border-top:1px solid var(--line);
  background:rgba(27,61,47,0.018);
}
.hero-action{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 20px;
  border-right:1px solid var(--line);
  text-decoration:none;color:var(--ink);
  transition:background .12s, color .12s;
  flex:1;min-width:200px;
}
.hero-action:last-child{border-right:none}
.hero-action:hover{background:var(--white)}
.hero-action-icon{
  font-size:14px;color:var(--ink-3);font-weight:700;
  width:24px;height:24px;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:6px;
  transition:border-color .12s, color .12s, background .12s;
}
.hero-action:hover .hero-action-icon{border-color:var(--ink);color:var(--ink)}
.hero-action-l{
  font-family:var(--mono);
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);
  margin-right:auto;
}
.hero-action-v{
  font-family:var(--mono);
  font-size:11.5px;font-weight:600;color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:0.04em;
}
.hero-action-amber:hover .hero-action-icon{border-color:var(--amber);color:var(--amber)}
.hero-action-amber:hover .hero-action-l   {color:var(--amber)}
.hero-action-gilt {background:linear-gradient(135deg,rgba(184,146,62,0.05) 0%, transparent 100%)}
.hero-action-gilt .hero-action-l   {color:var(--gilt)}
.hero-action-gilt .hero-action-icon{border-color:rgba(184,146,62,0.30);color:var(--gilt)}
.hero-action-gilt:hover{background:linear-gradient(135deg,rgba(184,146,62,0.12) 0%, rgba(184,146,62,0.03) 100%)}
.hero-action-gilt:hover .hero-action-icon{border-color:var(--gilt);background:rgba(184,146,62,0.10)}

/* Old pill classes — leftover compatibility for any remaining callers */
.pill{font-size:11px;font-weight:600;padding:3px 10px;border-radius:5px;letter-spacing:0.02em;background:rgba(27,61,47,0.06);color:var(--ink-2);border:1px solid var(--line)}
.pill-stage{background:var(--green-soft);color:var(--green);border-color:rgba(47,122,78,0.20)}
.pill-sector{background:rgba(27,61,47,0.04);color:var(--ink-2);border-color:var(--line)}
.pill-meta{background:transparent;color:var(--ink-3);border-color:var(--line)}

/* ─── company body grid ─────────────────────────────────────────── */
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start}
@media(max-width:980px){.co-grid{grid-template-columns:1fr}}
/* When the right rail is removed (post-redesign), collapse to single column */
.co-grid:has(> .co-left:only-child){grid-template-columns:1fr}
.co-left{display:flex;flex-direction:column;gap:14px;min-width:0}
.co-right{display:flex;flex-direction:column;gap:14px}

/* ─── panels (replaces .card for the wireframe-styled views) ────── */
.panel{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-1);overflow:hidden;
}
.panel-accent{border-left:3px solid var(--green)}
.panel-news{border-left:3px solid var(--green);background:linear-gradient(to right,rgba(47,122,78,0.04),var(--white) 32%)}
.panel-headline{
  border-left:3px solid var(--green);
  margin-bottom:22px;
}
.panel-headline .panel-head{
  background:linear-gradient(180deg, rgba(47,122,78,0.045) 0%, transparent 100%);
}
.panel-headline .panel-head-t{
  font-size:11.5px;color:var(--green);letter-spacing:0.16em;
}
.panel-head{
  padding:13px 18px;border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.panel-head-t{font-size:10.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3)}
.panel-pill{
  font-size:10.5px;font-weight:600;letter-spacing:0.04em;
  padding:3px 9px;border-radius:5px;
  background:rgba(27,61,47,0.04);color:var(--ink-2);border:1px solid var(--line);
}
.panel-tag{
  font-size:9.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  padding:3px 9px;border-radius:4px;
}
.tag-conv{background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20)}
.tag-news{background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20)}
.tag-l2{background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.panel-body{padding:18px 20px;font-size:14px;line-height:1.65;color:var(--ink-2)}
.panel-body-flush{padding:0}
.panel-snap .kv-list{padding:6px 18px 14px}

/* ─── pillars (Why We Invested) ─────────────────────────────────── */
.pillar{
  display:flex;gap:24px;align-items:flex-start;
  padding:18px 22px;border-top:1px solid var(--line);
}
.pillar-l{flex-shrink:0;width:130px}
.pillar-eyebrow{
  font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--green);margin-bottom:5px;
}
.pillar-title{font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.35}
.pillar-body{font-size:13.5px;color:var(--ink-2);line-height:1.7;flex:1;min-width:0}

/* Executive summary — engagement-first callout layout.
   Sasha-tightened content (key/value points, not prose) rendered
   under a Nigel design pass: numbered tiles for forces, hairline
   definition list for facts and named entries. Each card carries
   the headline as the message; supporting content is structured,
   not paragraphed.

   Layout: header strip → wide verdict banner → 3 cards (Company /
   Team / Underwriting). Cards stack on narrow. Drafted point-in-time
   at the IC decision; no current marks. */
.co-primer{
  margin:28px 0 16px;
  background:#fff;
  border:1px solid var(--line-2);
  border-top:2px solid var(--ink);
}

/* Top header strip */
.co-primer-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  padding:18px 32px 14px;
  border-bottom:1px solid var(--line);
}
.co-primer-head-l{
  font-family:var(--font);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--ink);
}
.co-primer-head-r{
  font-family:var(--serif);
  font-size:13px;
  font-style:italic;
  color:var(--ink-3);
}

/* Verdict banner — full width */
.co-primer-verdict{
  padding:26px 32px 28px;
  border-bottom:1px solid var(--line-2);
  background:#fff;
}
.co-primer-verdict-t{
  font-family:var(--font);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:12px;
}
.co-primer-verdict-l{
  font-family:var(--serif);
  font-size:21px;
  line-height:1.42;
  color:var(--ink);
  font-weight:450;
  letter-spacing:-0.003em;
  max-width:980px;
}

/* 3-card grid of callouts (no narrow cap; uses container width) */
.co-primer-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  background:var(--line-2);
  gap:1px;
}
.co-primer-card{
  background:#fff;
  padding:24px 26px 26px;
  display:flex;
  flex-direction:column;
}
.co-primer-card-l{
  font-family:var(--font);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:12px;
}
.co-primer-card-h{
  font-family:var(--serif);
  font-size:20px;
  line-height:1.32;
  color:var(--ink);
  font-weight:500;
  letter-spacing:-0.005em;
  margin:0 0 16px;
  padding-bottom:14px;
  position:relative;
}
.co-primer-card-h::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width:36px; height:2px;
  background:var(--green);
}
.co-primer-card-b{
  margin:0;
  font-family:var(--font);
  font-size:14px;
  line-height:1.7;
  color:var(--ink);
}

/* Definition-list of structured points (Sasha-tightened cards) */
.co-primer-card-points{
  display:flex;
  flex-direction:column;
  gap:0;
}
.co-primer-point{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px 0;
  border-top:1px solid var(--line);
}
.co-primer-point:first-child{border-top:none; padding-top:4px}
.co-primer-point-n{
  flex:0 0 auto;
  width:30px; height:30px;
  display:flex; align-items:center; justify-content:center;
  background:var(--ink);
  color:#fff;
  font-family:var(--serif);
  font-size:14px;
  font-weight:500;
  font-style:italic;
  border-radius:50%;
  margin-top:1px;
}
.co-primer-point-txt{
  flex:1 1 auto;
  min-width:0;
}
.co-primer-point-k{
  font-family:var(--font);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:4px;
}
.co-primer-point-v{
  font-family:var(--font);
  font-size:13.5px;
  line-height:1.62;
  color:var(--ink);
}
/* Numbered force-tile body gets slightly stronger leading */
.co-primer-point-numbered .co-primer-point-k{
  font-size:11px;
  letter-spacing:0.18em;
  color:var(--ink);
}
.co-primer-point-numbered .co-primer-point-v{
  font-size:13.5px;
  line-height:1.62;
}

@media (max-width:1080px){
  .co-primer-card-h{font-size:19px}
}
@media (max-width:900px){
  .co-primer-grid{grid-template-columns:1fr; gap:1px}
  .co-primer-verdict-l{font-size:19px}
  .co-primer-card{padding:22px 24px 24px}
}
@media (max-width:600px){
  .co-primer-head{padding:14px 20px 12px}
  .co-primer-verdict{padding:22px 20px 24px}
  .co-primer-verdict-l{font-size:17px}
  .co-primer-card{padding:20px 18px 22px}
  .co-primer-card-h{font-size:18px}
  .co-primer-point-v{font-size:13.5px}
}

/* ─── AI-native craft layer: data emphasis + scroll motion ─────── */

/* Inline data tokens (dollar amounts, percentages, ranges) within
   running prose. Tabular numerals + accent so the data pops without
   breaking the sentence — the artifact treats data as data. */
.co-primer-data{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum","lnum";
  color:var(--green);
  font-weight:500;
  letter-spacing:0.005em;
  padding:0 1px;
}
.co-primer-verdict-l .co-primer-data{
  color:var(--ink);
  background:rgba(47,122,78,0.07);
  padding:1px 5px;
  border-radius:2px;
  margin:0 1px;
}

/* Scroll-staggered reveal on the cards. Subtle: 220ms lift + fade,
   per-card animation-delay set inline by JS. Respects reduced-motion
   per the cvp-ai-native-web-decks discipline note. */
.co-primer-card{
  opacity:0;
  transform:translateY(8px);
  animation:co-primer-card-in 0.36s cubic-bezier(0.2, 0.7, 0.3, 1) forwards;
}
@keyframes co-primer-card-in{
  to{opacity:1; transform:translateY(0)}
}
@media (prefers-reduced-motion: reduce){
  .co-primer-card{opacity:1; transform:none; animation:none}
}

/* Hover state: subtle accent. Signals interactivity without overdoing it. */
.co-primer-card{
  transition:background 0.18s ease;
}
.co-primer-card:hover{background:rgba(47,122,78,0.025)}
.co-primer-card:hover .co-primer-card-h::after{
  width:56px;
  transition:width 0.22s ease;
}
.co-primer-card-h::after{
  transition:width 0.22s ease;
}

/* Verdict block also fades in on mount, slightly before the cards. */
.co-primer-verdict{
  opacity:0;
  animation:co-primer-card-in 0.4s cubic-bezier(0.2, 0.7, 0.3, 1) 0.05s forwards;
}
@media (prefers-reduced-motion: reduce){
  .co-primer-verdict{opacity:1; animation:none}
}

/* ─── Position panel: collapsible rounds table ──────────────────
   Sits open by default on Overview; collapsible chip on other tabs.
   Institutional-research table inside; smooth motion on disclosure. */
.co-pos{
  margin:22px 0 24px;
  background:#fff;
  border:1px solid var(--line-2);
  border-radius:2px;
  overflow:hidden;
}

/* Summary strip (also the click target when collapsible) */
.co-pos-strip{
  display:flex;
  align-items:stretch;
  width:100%;
  background:#fff;
  border:0;
  padding:0;
  text-align:left;
  font:inherit;
  cursor:default;
  color:inherit;
}
.co-pos-coll .co-pos-strip{
  cursor:pointer;
  transition:background 0.18s ease;
}
.co-pos-coll .co-pos-strip:hover{background:rgba(47,122,78,0.025)}
.co-pos-strip-in{
  display:flex;
  flex:1 1 auto;
  align-items:center;
  gap:0;
  padding:18px 24px 18px;
}
.co-pos-strip > .co-pos-caret{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  border-left:1px solid var(--line);
  font-size:13px;
  color:var(--ink-3);
  transition:transform 0.22s ease, color 0.18s ease;
}
.co-pos-coll.co-pos-open .co-pos-caret{
  transform:rotate(180deg);
  color:var(--green);
}

.co-pos-stat{
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:0 18px;
  border-left:1px solid var(--line);
  min-width:0;
}
.co-pos-stat:first-child{border-left:none; padding-left:0}
.co-pos-stat-l{
  font-family:var(--font);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.co-pos-stat-v{
  font-family:var(--serif);
  font-size:22px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-0.005em;
  line-height:1.05;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum","lnum";
}
.co-pos-stat-accent .co-pos-stat-v{color:var(--green)}
.co-pos-stat-locked .co-pos-stat-v{color:var(--ink-3); font-style:italic; font-size:14px}
.co-pos-stat-s{
  font-family:var(--font);
  font-size:11px;
  color:var(--ink-3);
  letter-spacing:0.005em;
}
.co-pos-arrow{
  flex:0 0 auto;
  font-family:var(--serif);
  font-size:18px;
  color:var(--ink-3);
  padding:0 12px;
  align-self:center;
}
.co-pos-arrow-locked{opacity:0.4}

/* Details (the rounds table). Open/close via max-height transition. */
.co-pos-details{
  max-height:0;
  overflow:hidden;
  border-top:0;
  transition:max-height 0.32s cubic-bezier(0.2, 0.7, 0.3, 1),
             border-top-color 0.18s ease;
}
.co-pos-open .co-pos-details{
  max-height:1600px;
  border-top:1px solid var(--line);
}

/* Rounds table — modern refresh (2026). Softer hairlines, generous
   row spacing, type pills for Primary/Secondary, MOIC as a real pill,
   hover with left-edge accent slide-in. Carta-restraint + CVP green. */
.co-rounds{
  display:flex;
  flex-direction:column;
  padding:4px 0 0;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum","lnum";
}
.co-rounds-head, .co-rounds-cells{
  display:grid;
  grid-template-columns:
    minmax(220px, 1.6fr)    /* Round (pill + name + date) */
    minmax(180px, 1.3fr)    /* Lead / investors */
    minmax(120px, 0.9fr)    /* CVP $ */
    minmax(120px, 0.9fr)    /* Post-money */
    minmax(64px,  0.6fr)    /* FD% */
    minmax(120px, 0.9fr)    /* NAV today */
    minmax(78px,  0.7fr)    /* MOIC pill */
    20px;                    /* Chevron column (collapsed if row not expandable) */
  gap:0;
  align-items:center;
}
.co-rounds-head{
  padding:14px 28px 12px;
  border-bottom:1px solid rgba(27,61,47,0.08);
}
.co-rounds-row{
  display:flex;
  flex-direction:column;
  position:relative;
  border-bottom:1px solid rgba(27,61,47,0.05);
}
.co-rounds-row::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:0;
  background:var(--green);
  transition:width 0.18s ease;
  z-index:1;
}
.co-rounds-row:hover::before{width:2px}
.co-rounds-cells{
  width:100%;
  background:transparent;
  border:0;
  text-align:inherit;
  font:inherit;
  color:inherit;
  padding:20px 28px;
  transition:background 0.18s ease;
}
.co-rounds-row-exp .co-rounds-cells{cursor:pointer}
.co-rounds-cells:hover{background:rgba(47,122,78,0.025)}
.co-rounds-chev{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  color:var(--ink-3);
  transition:transform 0.22s ease, color 0.18s ease;
}
.co-rounds-row-open .co-rounds-chev{
  transform:rotate(180deg);
  color:var(--green);
}

/* Detail panel — IC decision basis, expanded inline below the row */
.co-rounds-detail{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.32s cubic-bezier(0.2, 0.7, 0.3, 1);
  background:rgba(27,61,47,0.025);
}
.co-rounds-row-open .co-rounds-detail{
  max-height:600px;
}
.co-rounds-detail-in{
  padding:18px 28px 22px;
  border-top:1px solid rgba(27,61,47,0.06);
}
.co-rounds-detail-l{
  font-family:var(--font);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:8px;
}
.co-rounds-detail-terms{
  font-family:var(--font);
  font-size:12.5px;
  color:var(--ink-2);
  margin-bottom:10px;
  letter-spacing:0.005em;
}
.co-rounds-detail-b{
  margin:0;
  font-family:var(--font);
  font-size:14px;
  line-height:1.72;
  color:var(--ink);
}
.co-rounds-h{
  font-family:var(--font);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.co-rounds-num{text-align:right}
.co-rounds-body{display:flex; flex-direction:column}
.co-rounds-c{
  font-family:var(--font);
  font-size:13.5px;
  color:var(--ink);
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.co-rounds-c.co-rounds-num{
  font-weight:500;
  letter-spacing:0.005em;
}
/* Round column: type chip + name on first line, date below */
.co-rounds-c-round{display:flex; flex-direction:column; gap:4px}
.co-rounds-rh{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.co-rounds-tag{
  display:inline-block;
  font-family:var(--font);
  font-size:9px;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  padding:3px 7px 2px;
  border-radius:2px;
  line-height:1;
  white-space:nowrap;
}
.co-rounds-tag-pri{
  background:rgba(47,122,78,0.10);
  color:var(--green);
}
.co-rounds-tag-sec{
  background:rgba(163,85,26,0.10);
  color:#8a4615;
}
.co-rounds-rn{
  font-family:var(--serif);
  font-size:15.5px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-0.003em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.co-rounds-rd{
  font-family:var(--font);
  font-size:11.5px;
  color:var(--ink-3);
  font-style:italic;
}
.co-rounds-c-lead{
  font-size:13px;
  color:var(--ink-2);
}
/* Secondary rows: slightly muted CVP-as-buyer styling */
.co-rounds-row-sec .co-rounds-c-lead{color:var(--ink-3); font-style:italic}

/* MOIC pill */
.co-rounds-pill{
  display:inline-block;
  font-family:var(--font);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:0.005em;
  padding:3px 9px 2px;
  border-radius:99px;
  line-height:1.3;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum","lnum";
}
.co-rounds-pill-pos{
  background:rgba(47,122,78,0.12);
  color:var(--green);
}
.co-rounds-pill-watch{
  background:rgba(163,85,26,0.12);
  color:#8a4615;
}

/* Totals row — cleaner summary banner, not a tinted background */
.co-rounds-total{
  border-top:1px solid var(--ink);
  border-bottom:none;
  background:transparent;
}
.co-rounds-total .co-rounds-cells{
  padding:18px 28px;
}
.co-rounds-total .co-rounds-cells:hover{background:transparent}
.co-rounds-total::before{display:none}
.co-rounds-total .co-rounds-c-round{
  font-family:var(--font);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--ink-2);
  flex-direction:row;
  align-items:center;
}
.co-rounds-total .co-rounds-c-lead{font-size:11.5px; font-style:italic; color:var(--ink-3)}
.co-rounds-total .co-rounds-num{
  font-family:var(--serif);
  font-size:16.5px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-0.003em;
}
.co-rounds-pill-total{
  background:var(--green);
  color:#fff;
  font-size:13px;
  padding:4px 12px 3px;
}

/* Narrow viewports: table degrades to stacked rows */
@media (max-width:960px){
  .co-pos-strip-in{flex-wrap:wrap; gap:14px 0}
  .co-pos-stat{flex:1 1 calc(50% - 1px); border-left:none; padding-left:0; padding-right:0}
  .co-pos-arrow{display:none}
  .co-rounds-head, .co-rounds-cells{
    grid-template-columns:1fr 1fr;
    padding:14px 18px;
    row-gap:6px;
    column-gap:14px;
  }
  .co-rounds-head{display:none}
  .co-rounds-row{
    border-bottom:1px solid var(--line);
  }
  .co-rounds-cells{
    align-items:start;
  }
  .co-rounds-c-round{grid-column:1 / -1}
  .co-rounds-c-lead{grid-column:1 / -1; font-size:12px}
  .co-rounds-chev{grid-column:1 / -1;justify-content:flex-start;padding-top:2px}
  .co-rounds-num::before{
    content:attr(data-label) " ";
    color:var(--ink-3);
    font-size:10px;
    letter-spacing:0.15em;
    text-transform:uppercase;
    margin-right:4px;
  }
}
@media (max-width:560px){
  .co-pos-strip-in{padding:14px 16px}
  .co-pos-stat{flex:1 1 100%}
  .co-rounds-cells{grid-template-columns:1fr}
  .co-rounds-num{text-align:left}
}

/* ─── Dashboard "At a glance" — Route 3 mockup ────────────────── */
.v2-dashboard{
  background:#fff;
  border:1px solid var(--line-2);
  padding:24px 28px 30px;
  margin:22px 0;
}
.v2-dashboard .v2-block-head{
  border-bottom:1px solid var(--line);
  padding-bottom:14px;
  margin-bottom:22px;
}

/* Stat tile strip */
.v2-dash-tiles{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:1px;
  background:var(--line-2);
  border:1px solid var(--line-2);
  margin-bottom:28px;
}
.v2-dash-tile{
  background:#fff;
  padding:16px 18px 18px;
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.v2-dash-tile-accent{background:rgba(47,122,78,0.04)}
.v2-dash-tile-locked{background:rgba(27,61,47,0.03); opacity:0.65}
.v2-dash-tile-l{
  font-family:var(--font);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--ink-3);
}
.v2-dash-tile-v{
  font-family:var(--serif);
  font-size:26px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-0.01em;
  line-height:1.05;
  font-variant-numeric:tabular-nums;
  margin-top:2px;
}
.v2-dash-tile-accent .v2-dash-tile-v{color:var(--green)}
.v2-dash-tile-s{
  font-family:var(--font);
  font-size:11.5px;
  color:var(--ink-3);
  letter-spacing:0.005em;
  margin-top:2px;
}

/* Chart wrapper */
.v2-dash-chart{margin-top:20px}
.v2-dash-chart-l{
  font-family:var(--font);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.24em;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:4px;
}
.v2-dash-chart-s{
  font-family:var(--serif);
  font-size:13px;
  font-style:italic;
  color:var(--ink-3);
  margin-bottom:14px;
}

/* SVG chart styles */
.v2-dash-svg{
  display:block;
  width:100%;
  height:auto;
  max-height:280px;
}
.v2-dash-grid line{stroke:var(--line); stroke-width:1; stroke-dasharray:2 4}
.v2-dash-grid-l{stroke:var(--line-2); stroke-width:1}
.v2-dash-axis-l{
  font-family:var(--font);
  font-size:10px;
  fill:var(--ink-3);
  font-variant-numeric:tabular-nums;
}
.v2-dash-axis-x{
  font-family:var(--font);
  font-size:10px;
  fill:var(--ink-2);
  letter-spacing:0.02em;
}
.v2-dash-axis-x-sub{font-size:9.5px; fill:var(--ink-3)}
.v2-dash-line{
  fill:none;
  stroke:var(--green);
  stroke-width:2.2;
  stroke-linejoin:round;
}
.v2-dash-dot{
  fill:#fff;
  stroke:var(--green);
  stroke-width:2.2;
}
.v2-dash-dot-l{
  font-family:var(--font);
  font-size:11px;
  font-weight:600;
  fill:var(--ink);
  font-variant-numeric:tabular-nums;
}
.v2-dash-bar{fill:var(--green); opacity:0.85}
.v2-dash-bar-l{
  font-family:var(--font);
  font-size:11px;
  font-weight:600;
  fill:var(--ink);
  font-variant-numeric:tabular-nums;
}

@media (max-width:760px){
  .v2-dashboard{padding:18px 18px 22px}
  .v2-dash-tile-v{font-size:22px}
}

/* ─── Block 01 round-by-round IC cadence ───────────────────────── */
.v2-rounds{
  display:flex;
  flex-direction:column;
  margin:8px 0 18px;
}
.v2-round{
  padding:18px 0;
  border-top:1px solid var(--line-2);
}
.v2-round:first-child{border-top:1px solid var(--ink-3)}
.v2-round:last-child{border-bottom:1px solid var(--ink-3)}
.v2-round-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px;
}
.v2-round-l{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap}
.v2-round-name{
  font-family:var(--serif);
  font-size:17px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-0.003em;
}
.v2-round-date{
  font-family:var(--font);
  font-size:11px;
  font-style:italic;
  color:var(--ink-3);
  letter-spacing:0.02em;
}
.v2-round-cvp{
  font-family:var(--font);
  font-size:14px;
  font-weight:600;
  color:var(--ink);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.v2-round-terms{
  font-family:var(--font);
  font-size:12.5px;
  color:var(--ink-2);
  margin-bottom:10px;
  letter-spacing:0.01em;
}
.v2-round-basis{
  margin:0;
  font-family:var(--font);
  font-size:14.5px;
  line-height:1.7;
  color:var(--ink);
}
@media (max-width:600px){
  .v2-round-head{flex-direction:column; gap:4px}
  .v2-round-name{font-size:15.5px}
}

/* ─── conviction / watch split ──────────────────────────────────── */
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:0}
.split-col{padding:18px 22px}
.split-col + .split-col{border-left:1px solid var(--line)}
.col-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:12px}
.col-eyebrow-green{color:var(--green)}
.col-eyebrow-amber{color:var(--amber)}

/* ─── bullets ───────────────────────────────────────────────────── */
.bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.bullets li{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6;color:var(--ink-2)}
.bullet-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:7px}
.bullets-green .bullet-dot{background:var(--green)}
.bullets-amber .bullet-dot{background:var(--amber)}
.bullets-ink   .bullet-dot{background:var(--ink-3)}
.bullet-text{flex:1}

/* ─── investment snapshot kv list ──────────────────────────────── */
.kv-list{display:flex;flex-direction:column}
.kv-list .kv-row{
  display:flex;justify-content:space-between;gap:14px;
  padding:9px 0;border-bottom:1px dashed var(--line);
}
.kv-list .kv-row:last-child{border-bottom:none}
.kv-list .kv-k{font-size:12px;color:var(--ink-3);letter-spacing:0.01em}
.kv-list .kv-v{font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;letter-spacing:-0.005em}

/* ─── metric strip ──────────────────────────────────────────────── */
.metric-strip{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  margin-bottom:14px;overflow:hidden;
  box-shadow:var(--shadow-1);
}
.metric-strip.tier-2{border-left:3px solid var(--amber)}
.metric-strip-inner{margin:0;border:none;border-radius:0;box-shadow:none;background:transparent}
.strip-cell{
  padding:16px 22px;background:var(--white);
  border-right:1px solid var(--line);
}
.strip-cell:last-child{border-right:none}
.strip-l{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:7px}
.strip-v{font-size:21px;font-weight:700;color:var(--ink);line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-0.015em}

/* ─── financing timeline ────────────────────────────────────────── */
.tl{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  padding:16px 18px 18px;gap:12px;
}
.tl-col{
  position:relative;padding:0 6px 28px;
  display:flex;flex-direction:column;gap:8px;
  border-right:1px dashed var(--line);
}
.tl-col:last-child{border-right:none}
.tl-top{display:flex;flex-direction:column;gap:1px;padding:6px 8px 8px}
.tl-rd{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.tl-sz{font-size:18px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.15;margin-top:2px}
.tl-dt{font-size:11px;color:var(--ink-3);font-family:var(--mono);margin-top:2px}
.tl-dot{
  width:14px;height:14px;border-radius:50%;
  margin-left:8px;
  background:var(--ink-3);
  box-shadow:0 0 0 4px var(--cream);
}
.tl-dot-entry{background:var(--green)}
.tl-dot-followon{background:var(--gold)}
.tl-bot{padding:0 8px;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2);line-height:1.5}
.tl-lead{font-size:12.5px}
.tl-lead strong{color:var(--ink);font-weight:700}
.tl-co{font-size:11.5px;color:var(--ink-3)}
.tl-val{font-size:11px;color:var(--ink-3);font-family:var(--mono);font-variant-numeric:tabular-nums}
.tl-sep{color:var(--ink-4)}
.tl-cvp{font-size:11px;font-weight:700;color:var(--green);letter-spacing:0.02em;font-variant-numeric:tabular-nums}

/* ─── press / news items ────────────────────────────────────────── */
.press-list{display:flex;flex-direction:column}
.press-item{
  display:flex;gap:18px;align-items:flex-start;
  padding:14px 20px;border-top:1px solid var(--line);
}
.press-item:first-child{border-top:none}
.press-left{flex-shrink:0;width:96px;display:flex;flex-direction:column;gap:6px}
.press-dt{font-size:11px;color:var(--ink-3);font-family:var(--mono)}
.press-badge{
  display:inline-block;width:fit-content;
  font-size:9.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  padding:3px 8px;border-radius:4px;
}
.press-press   {background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20)}
.press-linkedin{background:rgba(12,68,124,0.08);color:#0C447C;border:1px solid rgba(12,68,124,0.18)}
.press-milestone{background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.press-body{flex:1;min-width:0}
.press-hl{font-size:13.5px;font-weight:600;color:var(--ink);letter-spacing:-0.005em;line-height:1.45;margin-bottom:4px}
.press-txt{font-size:12.5px;color:var(--ink-2);line-height:1.6}
.press-src{font-size:10.5px;color:var(--ink-3);margin-top:6px;font-style:italic}

/* ─── deal log ──────────────────────────────────────────────────── */
.deallog{display:flex;flex-direction:column}
.dl-item{
  display:flex;gap:14px;align-items:flex-start;
  padding:12px 20px;border-top:1px solid var(--line);
}
.dl-item:first-child{border-top:none}
.dl-badge{
  flex-shrink:0;
  width:26px;height:26px;border-radius:50%;
  display:grid;place-items:center;
  font-size:10.5px;font-weight:700;letter-spacing:0.04em;
  font-family:var(--mono);
}
.dl-t{background:rgba(27,61,47,0.06);color:var(--ink-2);border:1px solid var(--line)}
.dl-c{background:rgba(12,68,124,0.08);color:#0C447C;border:1px solid rgba(12,68,124,0.18)}
.dl-d{background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.dl-s{background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20)}
.dl-i{background:var(--green);color:#fff;border:1px solid var(--green)}
.dl-default{background:var(--cream);color:var(--ink-3);border:1px solid var(--line)}
.dl-body{flex:1;min-width:0}
.dl-dt{font-size:11px;color:var(--ink-3);font-family:var(--mono);margin-bottom:3px}
.dl-desc{font-size:13px;color:var(--ink-2);line-height:1.6}

/* ─── deal-card header strip ────────────────────────────────────── */
.dealcard{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  margin:0 0 12px;overflow:hidden;box-shadow:var(--shadow-1);
}
.dealcard-cell{
  padding:14px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
}
.dealcard-l{font-size:9.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.dealcard-v{font-size:16.5px;font-weight:700;color:var(--ink);letter-spacing:-0.01em;line-height:1.2}

.recco{
  display:block;
  padding:22px 26px;margin:0 0 18px;
  background:linear-gradient(180deg, var(--white) 0%, var(--cream) 100%);
  border:1px solid var(--line);border-left:4px solid var(--green);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-1);
}
.recco-eyebrow{
  display:block;
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--green);
  margin-bottom:8px;
}
.recco-body{
  display:block;
  font-family:var(--serif);
  font-size:21px;font-weight:420;line-height:1.45;color:var(--ink);
  letter-spacing:-0.005em;
  font-variation-settings:"opsz" 24, "SOFT" 50;
}

/* ─── numbered section heading (used as panelHead title) ────────── */
.sec-head{display:flex;align-items:baseline;gap:8px;font-family:var(--mono)}
.sec-num{font-size:10px;font-weight:600;letter-spacing:0.18em;color:var(--gilt)}
.sec-sep{font-size:10px;color:var(--ink-4)}
.sec-t  {font-size:11px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink)}

/* ─── executive summary rows ────────────────────────────────────── */
.exec-rows{padding:6px 0}
.exec-row{
  display:flex;gap:18px;align-items:flex-start;
  padding:12px 22px;border-top:1px solid var(--line);
}
.exec-row:first-child{border-top:none}
.exec-label{
  flex-shrink:0;width:88px;
  font-size:10.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  color:#6E2DA8;padding-top:2px;
}
.exec-body{flex:1;min-width:0;font-size:13.5px;color:var(--ink-2)}

.metric-strip-inline{margin:6px 18px 18px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:none}

/* ─── company-overview problem/solution + why-now + phases ──────── */
.split-2-pad .split-col{padding:18px 22px}
.split-col-fw{padding:0 22px 18px}
.subhead{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-0.005em}
.phases{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
@media(max-width:780px){.phases{grid-template-columns:1fr}}
.phase-card{padding:18px 22px;border-right:1px solid var(--line)}
.phase-card:last-child{border-right:none}
.phase-eyebrow{font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3)}
.phase-title{font-size:14px;font-weight:700;color:var(--ink);margin:5px 0 8px;letter-spacing:-0.01em}
.phase-body{font-size:13px;color:var(--ink-2);line-height:1.65}

/* ─── founder cards (3-up) ──────────────────────────────────────── */
.founder-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:1px solid var(--line)}
.founder-card{padding:18px 22px;border-right:1px solid var(--line)}
.founder-card:last-child{border-right:none}
.founder-name{font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:-0.01em}
.founder-title{font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);margin:4px 0 10px}
.founder-bio{font-size:12.5px;color:var(--ink-2);line-height:1.65}

/* ─── market-opportunity segments + product 3-up ───────────────── */
.segments,.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--line)}
.segment-card,.product-card{padding:18px 22px;border-right:1px solid var(--line);border-top:3px solid var(--ink-4)}
.segment-card:last-child,.product-card:last-child{border-right:none}
.segment-card{border-top-color:var(--ink-3)}
.product-card{border-top-color:var(--green)}
.segment-eyebrow{font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3)}
.segment-title{font-size:14px;font-weight:700;color:var(--ink);margin:5px 0 8px}
.segment-body,.product-body{font-size:12.5px;color:var(--ink-2);line-height:1.65}
.product-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px}

/* ─── callout (amber/violet) ────────────────────────────────────── */
.callout{margin:14px 22px;padding:12px 16px;border-radius:8px;border-left:4px solid var(--amber);background:var(--amber-soft)}
.callout-violet{border-left-color:#6E2DA8;background:rgba(110,45,168,0.06)}
.callout-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--amber);margin-bottom:5px}
.callout-violet .callout-eyebrow{color:#6E2DA8}
.callout-body{font-size:12.5px;color:var(--ink-2);line-height:1.65}

/* ─── sample journey (5-step) ───────────────────────────────────── */
.journey-eyebrow{font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);padding:14px 22px 8px;border-top:1px solid var(--line)}
.journey{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0}
.journey-step{padding:14px 18px;border-right:1px solid var(--line)}
.journey-step:last-child{border-right:none}
.journey-num{font-family:var(--mono);font-size:11px;color:var(--ink-3);margin-bottom:6px}
.journey-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:5px}
.journey-body{font-size:12px;color:var(--ink-2);line-height:1.6}

/* ─── traction timeline (vertical date+title+body) ─────────────── */
.traction{padding:6px 22px 18px}
.traction-row{display:flex;gap:20px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.traction-row:first-child{border-top:none}
.traction-dt{flex-shrink:0;width:120px;font-family:var(--mono);font-size:11px;color:var(--ink-3);padding-top:3px}
.traction-txt{flex:1;border-left:2px solid var(--line);padding-left:14px}
.traction-title{font-size:13px;font-weight:700;color:var(--ink)}
.traction-body{font-size:13px;color:var(--ink-2);line-height:1.6;margin-top:3px}

/* ─── investment thesis (numbered) ─────────────────────────────── */
.thesis{display:flex;gap:18px;align-items:flex-start;padding:18px 22px;border-top:1px solid var(--line)}
.thesis:first-of-type{border-top:none}
.thesis-num{
  flex-shrink:0;width:30px;height:30px;border-radius:50%;
  background:var(--green);color:#fff;
  display:grid;place-items:center;
  font-family:var(--serif);font-weight:700;font-size:14px;
}
.thesis-body{flex:1;min-width:0}
.thesis-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-0.005em}

/* ─── considerations 4-panel ──────────────────────────────────── */
.considerations{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
@media(max-width:780px){.considerations{grid-template-columns:1fr}}
.consider-card{padding:16px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.consider-card:nth-child(2n){border-right:none}
.consider-title{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:10px;letter-spacing:-0.005em}
.consider-line{display:flex;gap:10px;align-items:flex-start;padding:6px 0}
.consider-tag{
  flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  padding:3px 7px;border-radius:4px;line-height:1.2;
}
.consider-tag-pos  {background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20)}
.consider-tag-watch{background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.consider-text{font-size:12.5px;color:var(--ink-2);line-height:1.6;flex:1;min-width:0}

.panel-amber-l{border-left:3px solid var(--amber)}

/* ─── return potential ──────────────────────────────────────────── */
.rp-triple{
  display:grid;grid-template-columns:repeat(3,1fr);
  margin:14px 22px;background:var(--cream);
  border:1px solid var(--line);border-radius:8px;overflow:hidden;
}
.rp-cell{padding:14px 18px;border-right:1px solid var(--line)}
.rp-cell:last-child{border-right:none}
.rp-l{font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}
.rp-v{font-size:18px;font-weight:700;color:var(--ink);letter-spacing:-0.01em;font-variant-numeric:tabular-nums}
.scenario-body{font-size:12px;color:var(--ink-2);font-weight:400}
.footnote{padding:12px 22px 16px;font-size:11px;color:var(--ink-3);font-style:italic;line-height:1.55}

/* ─── memo (single long-form Investment Profile tab) ────────────── */
.memo-pane{padding:0}
.memo-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 200px;
  gap:36px;
  align-items:start;
}
.memo-main{min-width:0}
.memo-body > *{margin-bottom:0}
.memo-rail{
  position:sticky;top:80px;
  align-self:start;
  padding:14px 0 14px 18px;
  border-left:1px solid var(--line);
  max-height:calc(100vh - 100px);
  overflow-y:auto;
}
.memo-rail-eye{
  font-family:var(--mono);
  font-size:9.5px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:10px;
}
.memo-rail-list{display:flex;flex-direction:column;gap:1px}
.memo-rail-item{
  display:block;
  font-size:12.5px;line-height:1.4;
  color:var(--ink-3);
  text-decoration:none;
  padding:6px 10px 6px 12px;
  border-left:2px solid transparent;
  margin-left:-1px;
  transition:color .12s, border-color .12s, background .12s;
  cursor:pointer;
}
.memo-rail-item:hover{color:var(--ink);background:rgba(0,0,0,0.02)}
.memo-rail-item.act{
  color:var(--ink);
  border-left-color:var(--gilt);
  font-weight:600;
}
@media(max-width:980px){
  .memo-layout{grid-template-columns:1fr;gap:18px}
  .memo-rail{
    position:static;
    padding:10px 14px;
    border-left:none;
    border-bottom:1px solid var(--line);
    max-height:none;
  }
  .memo-rail-list{flex-direction:row;flex-wrap:wrap;gap:4px}
  .memo-rail-item{
    padding:5px 10px;border-left:none;border-bottom:2px solid transparent;
    margin-left:0;font-size:12px;
  }
  .memo-rail-item.act{border-left-color:transparent;border-bottom-color:var(--gilt)}
}

/* ─── first-time entry screen ──────────────────────────────────── */
.intro{
  position:fixed;inset:0;display:grid;place-items:center;
  background:
    linear-gradient(118deg,#06120E 0%,#0B1A15 28%,#11251E 54%,#E9F3EF 54.2%,#F6FAF8 100%);
  z-index:9999;
  padding:22px;
  overflow:auto;
}
.intro.hidden{display:none}
.intro-stage{
  position:relative;
  isolation:isolate;
  width:min(1240px,100%);
  height:auto;
  max-height:none;
  min-height:0;
  display:grid;
  grid-template-rows:70px minmax(0,1fr);
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(228,241,240,0.20);
  background:
    linear-gradient(110deg,rgba(255,255,255,0.96) 0%,rgba(248,252,250,0.96) 51%,rgba(234,247,242,0.92) 100%);
  box-shadow:0 34px 110px -52px rgba(4,12,9,0.66);
}
.intro-organic{
  position:absolute;inset:70px 0 0 0;
  z-index:0;pointer-events:none;overflow:hidden;
  background:
    linear-gradient(114deg,rgba(255,255,255,0.94) 0%,rgba(255,255,255,0.76) 43%,rgba(226,243,238,0.90) 100%);
}
.intro-organic::before{
  content:"";
  position:absolute;inset:-38% -28% -30% 22%;
  background:
    conic-gradient(from 226deg at 48% 54%,
      transparent 0deg,
      rgba(27,61,47,0.06) 34deg,
      rgba(42,128,128,0.13) 76deg,
      rgba(143,175,154,0.16) 114deg,
      rgba(245,242,238,0.02) 148deg,
      transparent 186deg,
      rgba(27,61,47,0.09) 236deg,
      transparent 320deg);
  filter:blur(10px);
  opacity:.4;
  transform:rotate(-8deg) scale(1.10);
}
.intro-organic::after{
  content:"";
  position:absolute;inset:0 -6% -4% 45%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='740' height='720' viewBox='0 0 740 720'%3E%3Cg fill='none' stroke='%231B3D2F' stroke-opacity='.115' stroke-width='1.1'%3E%3Cpath d='M-32 238C92 160 178 178 288 114c112-65 202-86 334-52 68 18 114 47 172 92'/%3E%3Cpath d='M-52 318C78 248 184 257 296 194c120-68 228-106 360-66 76 23 126 62 184 112'/%3E%3Cpath d='M-42 402C102 328 220 334 340 270c126-68 230-86 354-36 60 24 108 60 154 101'/%3E%3Cpath d='M16 492C142 414 264 406 394 346c134-62 248-64 354 6 44 29 76 58 104 88'/%3E%3Cpath d='M86 590C208 514 332 488 462 440c118-44 228-26 320 45 28 22 52 44 74 68'/%3E%3C/g%3E%3C/svg%3E");
  background-size:cover;
  background-position:center;
  opacity:.58;
  mix-blend-mode:multiply;
}
.intro-grain{
  position:absolute;inset:70px 0 0 0;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E");
  opacity:.032;
  mix-blend-mode:multiply;
}
.intro-topbar{
  position:relative;z-index:2;
  min-height:0;
  padding:15px 30px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  border-bottom:1px solid rgba(27,61,47,0.10);
  background:#FFFFFF;
}
.intro-brand{display:flex;align-items:center;gap:14px}
.intro-brand img{height:40px;width:auto;display:block}
.intro-brand div{
  color:#4F5E55;
  font-family:var(--mono);
  font-size:9.5px;font-weight:800;line-height:1.2;letter-spacing:0.14em;text-transform:uppercase;
}
.intro-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:#707E75;font-size:11px;font-weight:700;letter-spacing:0.04em}
.intro-status span:first-child{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(27,61,47,0.10);background:#fff;border-radius:999px;padding:8px 11px;
}
.intro-status i{display:block;width:7px;height:7px;border-radius:999px;background:var(--green);box-shadow:0 0 0 4px rgba(47,122,78,0.12)}
.intro-content{
  position:relative;z-index:1;
  min-height:0;
  padding:44px 48px 42px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:46px;
  align-items:center;
  overflow:hidden;
}
.intro-main{min-width:0;align-self:center;max-width:760px}
.intro-eye{
  font-family:var(--mono);
  font-size:10px;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;
  color:#64746B;
  margin-bottom:16px;
}
.intro-h{
  font-family:var(--serif);
  font-size:60px;font-weight:540;color:#0E1712;
  margin:0 0 18px;line-height:1.01;letter-spacing:0;
  font-variation-settings:"opsz" 68, "SOFT" 20, "WONK" 0;
  max-width:670px;
}
.intro-deck{
  font-size:16px;color:#435047;line-height:1.5;
  margin:0;max-width:610px;
}
.intro-points{
  list-style:none;margin:16px 0 0;padding:0;max-width:600px;
  display:flex;flex-direction:column;gap:10px;
}
.intro-points li{
  position:relative;padding-left:20px;
  font-size:15.5px;line-height:1.4;color:#516056;
}
.intro-points li::before{
  content:"";position:absolute;left:1px;top:8px;
  width:6px;height:6px;border-radius:50%;background:#3A9487;
}
.intro-points strong{font-weight:600;color:#16241D;}
.intro-actions{margin-top:34px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.intro-btn{
  min-width:200px;
  font:inherit;font-size:13px;font-weight:760;
  background:#143426;color:#fff;
  border:none;padding:13px 16px;border-radius:8px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:space-between;gap:24px;
  transition:background 140ms, transform 140ms;
}
.intro-btn:hover{background:#1B3D2F;transform:translateY(-1px)}
.intro-btn:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.intro-help{margin:0;color:#748178;font-size:11.5px;line-height:1.4}
.intro-aside{
  align-self:center;
  background:#FFFFFF;
  border:1px solid rgba(27,61,47,0.12);
  border-radius:14px;
  box-shadow:0 24px 74px -52px rgba(14,23,18,0.48);
  padding:18px;
}
.intro-aside-head{
  display:flex;justify-content:space-between;gap:18px;align-items:flex-start;
  padding:2px 2px 15px;
}
.intro-aside-title{color:#102018;font-size:16px;font-weight:700;letter-spacing:-0.01em}
.intro-aside-sub{margin-top:3px;color:#7D8A82;font-size:11px;line-height:1.45}
.intro-access{
  border:1px solid #D8E7DE;background:#EDF6F1;color:#143426;border-radius:8px;
  padding:7px 9px;font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;white-space:nowrap;
}
.intro-rows{display:grid;gap:0;border-top:1px solid rgba(27,61,47,0.12)}
.intro-row{
  border:0;
  border-bottom:1px solid rgba(27,61,47,0.10);
  border-radius:0;
  background:transparent;
  padding:12px 0;
  display:grid;
  grid-template-columns:38px 1fr;
  gap:12px;
  align-items:start;
}
.intro-row:last-child{border-bottom:none}
.intro-row > div:first-child{
  color:#789085;
  font-family:var(--mono);
  font-size:10px;font-weight:800;letter-spacing:0.10em;line-height:1.25;text-transform:uppercase;
}
.intro-row strong{display:block;color:#132219;font-size:13.4px;font-weight:760;letter-spacing:0;text-transform:none}
.intro-row span{display:block;margin-top:3px;color:#657169;font-size:11px;line-height:1.32}
.intro-foot{
  margin:14px 0 0;
  padding:13px 0 0;
  border-top:1px solid rgba(27,61,47,0.12);
  color:#6D7A72;font-size:10.8px;line-height:1.45;
}
@media(max-width:1120px){
  .intro{padding:24px;overflow:auto;place-items:start center;background:#0E251C}
  .intro-stage{height:auto;min-height:auto}
  .intro-content{grid-template-columns:1fr;padding:42px 34px}
  .intro-h{font-size:42px}
  .intro-aside{max-width:650px}
}
@media(max-height:760px) and (min-width:1121px){
  .intro-stage{height:calc(100vh - 32px);min-height:600px}
  .intro-content{padding:28px 36px 28px;gap:30px}
  .intro-h{font-size:50px;margin-bottom:13px}
  .intro-deck{font-size:14.5px;line-height:1.42}
  .intro-actions{margin-top:20px}
  .intro-row{padding:8px 0}
  .intro-foot{font-size:10.8px;padding:10px 12px}
}
@media(max-width:680px){
  .auth.auth-verify{padding:14px;background:#0E251C}
  .auth-verify-shell{
    min-height:calc(100vh - 28px);
    grid-template-columns:1fr;
    border-radius:16px;
  }
  .auth-verify-main{padding:30px 22px}
  .auth-verify-brand{margin-bottom:28px}
  .auth-verify-brand img{height:48px}
  .auth-verify-brand span{font-size:9.5px;padding-left:12px}
  .auth-verify-h{font-size:34px;line-height:1.03}
  .auth-verify-deck{font-size:14.5px}
  .auth-verify-btn{width:100%;justify-content:space-between}
  .auth-verify-panel{padding:22px}
  .auth-verify-ledger div{grid-template-columns:1fr;gap:3px}
  .intro{padding:14px;overflow:auto;background:#0E251C}
  .intro-stage{border-radius:16px}
  .intro-organic,.intro-grain{inset:106px 0 0 0}
  .intro-topbar{align-items:flex-start;padding:18px;flex-direction:column}
  .intro-content{padding:30px 20px}
  .intro-h{font-size:34px;line-height:1.04}
  .intro-deck{font-size:16px}
  .intro-points li{font-size:15px}
  .intro-aside{padding:14px;border-radius:16px}
  .intro-aside-head{display:block}
  .intro-access{display:inline-flex;margin-top:10px}
  .intro-row{grid-template-columns:1fr;gap:7px}
  .intro-btn{width:100%}
}

/* ─── restricted returns gate ────────────────────────────────────── */
.rp-gate{max-width:720px}
.rp-gate-body{padding:18px 22px 8px}
.rp-gate-body p{margin:0 0 14px;font-size:14px;line-height:1.65;color:var(--ink-2)}
.rp-gate-body strong{color:var(--ink);font-weight:600}
.rp-gate-actions{padding:8px 22px 22px;display:flex;justify-content:flex-end}

/* ─── sources & diligence ───────────────────────────────────────── */
.src-row{display:flex;gap:14px;align-items:flex-start;padding:8px 0;border-top:1px dashed var(--line)}
.src-row:first-child{border-top:none}
.src-k{flex-shrink:0;width:120px;font-size:10.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--ink-3);padding-top:2px}
.src-v{flex:1;font-size:12px;color:var(--ink-2);line-height:1.6}

/* ─── hero tagline ──────────────────────────────────────────────── */
.hero-tag{font-style:italic;font-family:var(--serif);font-size:13px;color:var(--ink-3);margin-top:4px;letter-spacing:-0.005em}

/* ─── memo: scorecard (founder / market assessment) ─────────────── */
.scorecard-eyebrow{
  padding:14px 22px 6px;font-size:9.5px;font-weight:700;letter-spacing:0.13em;
  text-transform:uppercase;color:var(--ink-3);border-top:1px solid var(--line);
}
.scorecard{
  width:calc(100% - 44px);margin:0 22px 18px;
  border-collapse:collapse;
  font-size:13px;
}
.scorecard tr{border-top:1px solid var(--line)}
.scorecard tr:first-child{border-top:none}
.scorecard td{padding:10px 14px 10px 0;vertical-align:top}
.sc-facet  {width:160px;font-size:10.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--ink-3)}
.sc-rating {width:200px;font-size:13px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.sc-note   {color:var(--ink-2);line-height:1.6;font-size:13px}

/* ─── memo: category thesis stack ───────────────────────────────── */
.thesis-stack{display:flex;flex-direction:column;gap:10px;padding:14px 22px 18px}
.thesis-stack-card{
  padding:13px 16px;background:rgba(27,61,47,0.025);
  border-radius:6px;border-left:3px solid var(--green);
}
.thesis-stack-title{font-size:15.5px;font-weight:700;color:var(--ink);margin-bottom:5px;letter-spacing:-0.005em}
.thesis-stack-body {font-size:13px;color:var(--ink-2);line-height:1.65}

/* ─── memo: competitive detail cards + differentiation 3-col ───── */
.comp-detail{display:flex;flex-direction:column;gap:8px;padding:6px 22px 18px}
.comp-detail-card{padding:12px 14px;border:1px solid var(--line);border-radius:6px}
.comp-detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;gap:10px;flex-wrap:wrap}
.comp-detail-name{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.comp-detail-tags{display:flex;gap:5px;flex-wrap:wrap}
.comp-detail-tag{font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:4px;background:rgba(27,61,47,0.04);color:var(--ink-3);border:1px solid var(--line)}
.comp-detail-body{font-size:12.5px;color:var(--ink-2);line-height:1.6}

.diff-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border-top:1px solid var(--line)}
@media(max-width:780px){.diff-grid{grid-template-columns:1fr}}
.diff-card{padding:18px 22px;border-right:1px solid var(--line)}
.diff-card:last-child{border-right:none}
.diff-card-edge{background:rgba(47,122,78,0.04)}
.diff-eyebrow{font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.diff-title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px;letter-spacing:-0.01em;line-height:1.3}
.diff-body{font-size:13px;color:var(--ink-2);line-height:1.65}

/* ─── L2: process tracker ───────────────────────────────────────── */
.pt-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
@media(max-width:780px){.pt-stages{grid-template-columns:1fr 1fr}}
.pt-stage{padding:16px 18px;border-right:1px solid var(--line)}
.pt-stage:last-child{border-right:none}
.pt-stage-active{background:rgba(186,117,23,0.04)}
.pt-stage-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.pt-num{
  width:24px;height:24px;border-radius:50%;
  background:var(--ink-3);color:#fff;
  display:grid;place-items:center;
  font-size:11px;font-weight:700;
}
.pt-num-done{background:var(--green)}
.pt-num-active{background:var(--amber)}
.pt-badge{font-size:9.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;padding:3px 8px;border-radius:4px}
.pt-badge-done  {background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20)}
.pt-badge-active{background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.pt-title{font-size:13.5px;font-weight:700;color:var(--ink);margin-bottom:9px;letter-spacing:-0.005em}
.pt-checks{display:flex;flex-direction:column;gap:5px}
.pt-check{display:flex;gap:7px;align-items:flex-start}
.ptck{
  flex-shrink:0;width:14px;height:14px;border-radius:50%;
  background:var(--line-2);
  display:grid;place-items:center;color:#fff;font-size:9px;
  margin-top:2px;
}
.ptck-done{background:var(--green)}
.ptck-done::after{content:"✓";font-size:8px;font-weight:700}
.pt-check-lbl{font-size:11.5px;color:var(--ink-2);line-height:1.4}

/* ─── L2: references ────────────────────────────────────────────── */
/* ─── References sub-tab — the specialist diligence showcase ─── */
.refs{display:flex;flex-direction:column;gap:24px}

.refs-head{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:24px 28px 22px;
  box-shadow:var(--shadow-1);
}
.refs-eye{
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.20em;text-transform:uppercase;
  color:var(--gilt);
  margin-bottom:8px;
}
.refs-h{
  font-family:var(--serif);
  font-size:32px;font-weight:420;line-height:1.15;letter-spacing:-0.018em;
  color:var(--ink);
  font-variation-settings:"opsz" 36, "SOFT" 30, "WONK" 0;
  margin-bottom:14px;
}
.refs-h em{
  font-style:italic;color:var(--green);font-weight:380;
  font-variation-settings:"opsz" 36, "SOFT" 70, "WONK" 0;
}
.refs-party-line{
  font-family:var(--font);
  font-size:14px;line-height:1.7;color:var(--ink-2);
  max-width:780px;margin:0 0 14px;
  padding:14px 16px;
  border-left:2px solid var(--gilt);
  background:rgba(186,117,23,0.04);
  border-radius:0 var(--radius) var(--radius) 0;
}
.refs-party-line strong{color:var(--ink);font-weight:600}
.refs-summary{
  font-family:var(--font);
  font-size:15px;line-height:1.7;color:var(--ink-2);
  max-width:780px;margin:0;
}

/* Distribution bar — width by category count, hover-to-expand */
.refs-bar{
  display:flex;
  height:64px;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
}
.refs-bar-seg{
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;
  padding:14px 12px;
  color:var(--cream);
  border-right:1px solid rgba(255,255,255,0.20);
  transition:flex .25s;
}
.refs-bar-seg:last-child{border-right:none}
.refs-bar-seg:hover{flex-grow:1.2}
.refs-bar-seg-n{
  font-family:var(--serif);
  font-size:24px;font-weight:600;line-height:1;
  font-variant-numeric:tabular-nums;
  font-variation-settings:"opsz" 36;
}
.refs-bar-seg-l{
  font-family:var(--mono);
  font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  opacity:0.95;text-align:center;line-height:1.25;
}
/* Footer methodology note — the off-record acknowledgement that sits
   under the per-category buckets. Sits at the same chrome as a panel
   header so it reads as institutional, not a disclaimer. */
.refs-foot{
  margin-top:24px;padding:22px 26px;
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  border-left:3px solid var(--green);
  box-shadow:var(--shadow-1);
}
.refs-foot-eye{
  font-family:var(--mono);
  font-size:10.5px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--green);margin-bottom:10px;
}
.refs-foot-p{
  font-family:var(--font);
  font-size:14.5px;line-height:1.65;color:var(--ink-2);
  font-feature-settings:"kern" 1, "liga" 1, "onum" 1;
  margin:0;
}
.refs-bar-seg-green   {background:var(--green)}
.refs-bar-seg-amber   {background:var(--amber)}
.refs-bar-seg-violet  {background:#7C4BA8}
.refs-bar-seg-neutral {background:var(--ink-3);color:var(--ink)}
.refs-bar-seg-neutral .refs-bar-seg-l{color:var(--ink-2);opacity:1}
.refs-bar-seg-neutral .refs-bar-seg-n{color:var(--ink)}

/* Bucket — one section per category */
.refs-bucket{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:22px 26px 24px;
  box-shadow:var(--shadow-1);
}
.refs-bucket-head{
  margin-bottom:18px;
  border-bottom:1px solid var(--line);
  padding-bottom:14px;
}
.refs-bucket-h{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-bottom:8px;
}
.refs-bucket-tone{
  font-family:var(--mono);
  font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  padding:6px 14px;border-radius:999px;
  white-space:nowrap;
}
.refs-bucket-tone-green   {background:var(--green);color:var(--cream)}
.refs-bucket-tone-amber   {background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.refs-bucket-tone-violet  {background:rgba(124,75,168,0.14);color:#5C2F8E;border:1px solid rgba(124,75,168,0.25)}
.refs-bucket-tone-neutral {background:rgba(0,0,0,0.05);color:var(--ink-2);border:1px solid var(--line)}
.refs-bucket-count{
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--ink-3);
}
.refs-bucket-why{
  font-family:var(--font);font-style:italic;
  font-size:13px;line-height:1.55;color:var(--ink-2);
  margin:0;max-width:680px;
}

/* Reference items */
.refs-list{display:flex;flex-direction:column}
.refs-item{
  display:grid;grid-template-columns:32px 1fr;gap:16px;
  padding:14px 0;
  border-bottom:1px dashed var(--line);
  align-items:flex-start;
}
.refs-item:last-child{border-bottom:none}
.refs-item-num{
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.06em;
  color:var(--gilt);
  font-variant-numeric:tabular-nums;
  text-align:right;
  padding-top:3px;
}
.refs-item-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.refs-item-head{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.refs-item-name{
  font-family:var(--serif);
  font-size:16px;font-weight:520;color:var(--ink);
  letter-spacing:-0.005em;
  font-variant:small-caps;
  font-variation-settings:"opsz" 18, "SOFT" 30;
}
.refs-item-ctx{
  font-family:var(--font);
  font-size:13.5px;line-height:1.55;color:var(--ink-2);
  font-style:italic;
}
.refs-item-quote{
  font-family:var(--serif);font-style:italic;
  font-size:15px;line-height:1.6;color:var(--ink);
  border-left:2px solid var(--gilt);
  padding-left:14px;margin-top:6px;
}

/* Special-relationship tags */
.refs-item-tags{display:flex;gap:5px;flex-wrap:wrap}
.refs-item-tag{
  font-family:var(--mono);
  font-size:9px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  padding:2px 8px;border-radius:3px;
  border:1px solid transparent;white-space:nowrap;
}
.refs-item-tag-gilt    {background:rgba(184,146,62,0.14);color:var(--gilt);border-color:rgba(184,146,62,0.30)}
.refs-item-tag-green   {background:rgba(47,122,78,0.10);color:var(--green);border-color:rgba(47,122,78,0.22)}
.refs-item-tag-amber   {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.refs-item-tag-violet  {background:rgba(124,75,168,0.14);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}
.refs-item-tag-neutral {background:rgba(0,0,0,0.04);color:var(--ink-2);border-color:var(--line)}

/* ─── Reference-check bucket sections ───────────────────────────── */
.ref-bucket{padding:14px 22px 4px;border-top:1px solid var(--line)}
.ref-bucket:first-of-type{border-top:none}
.ref-bucket-head{
  display:flex;justify-content:space-between;align-items:center;
  margin:6px 0 10px;
}
.ref-bucket-tone{
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;
  white-space:nowrap;
}
.ref-bucket-tone-green   {background:var(--green);color:var(--cream)}
.ref-bucket-tone-amber   {background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.ref-bucket-tone-violet  {background:rgba(124,75,168,0.14);color:#5C2F8E;border:1px solid rgba(124,75,168,0.25)}
.ref-bucket-tone-neutral {background:rgba(0,0,0,0.05);color:var(--ink-2);border:1px solid var(--line)}
.ref-bucket-count{
  font-size:11px;font-weight:700;color:var(--ink-3);letter-spacing:0.08em;text-transform:uppercase;
}
.ref-bucket-grid{display:flex;flex-direction:column;gap:0}

.ref-card{display:flex;gap:14px;padding:12px 0;border-top:1px dashed var(--line)}
.ref-card:first-child{border-top:none}
.ref-av{
  flex-shrink:0;width:36px;height:36px;border-radius:50%;
  background:var(--cream-2);color:var(--ink-2);
  display:grid;place-items:center;
  font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:0.05em;
  border:1px solid var(--line);
}
.ref-main{flex:1;min-width:0}
.ref-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:3px}
.ref-name{font-size:13.5px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.ref-rating{
  font-size:9.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  padding:3px 7px;border-radius:4px;
  background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20);
}
.ref-org{font-size:11px;color:var(--ink-3);font-family:var(--mono);margin-bottom:8px}
.ref-quote{font-style:italic;font-size:13.5px;color:var(--ink-2);line-height:1.65;border-left:2px solid var(--green);padding-left:11px}

.pattern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border-top:1px solid var(--line);margin-top:8px}
.pattern-card{padding:14px 18px;border-right:1px solid var(--line)}
.pattern-card:last-child{border-right:none}
.pattern-title{font-size:10.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.pattern-body {font-size:12.5px;color:var(--ink-2);line-height:1.65}

/* ─── L2: pipeline tracker ──────────────────────────────────────── */
.pip-list{padding:6px 22px 18px;display:flex;flex-direction:column}
.pip-hdr,.pip-row{
  display:grid;grid-template-columns:170px 160px 160px 1fr 60px;
  gap:14px;align-items:start;
  padding:10px 0;border-top:1px solid var(--line);
  font-size:12.5px;
}
.pip-hdr{
  border-top:none;color:var(--ink-3);
  font-size:9.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;
  padding-bottom:8px;border-bottom:1px solid var(--line);
}
.pip-row-anchor{background:linear-gradient(to right,rgba(47,122,78,0.04),transparent 60%)}
.pip-name{font-size:13.5px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.pip-geo {font-size:11px;color:var(--ink-3);font-family:var(--mono);margin-top:2px}
.pip-status{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.06em;
  padding:3px 7px;border-radius:4px;margin-right:5px;
}
.pip-st-active{background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.pip-st-signed{background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20)}
.pip-kind{display:inline-block;font-size:10px;font-weight:600;padding:3px 7px;border-radius:4px;background:rgba(27,61,47,0.04);color:var(--ink-3);border:1px solid var(--line)}
.pip-angle{font-size:12px;color:var(--ink-2);line-height:1.55}
.pip-pri{font-size:13px;font-weight:700;color:var(--ink-3);text-align:right;font-family:var(--mono);letter-spacing:0.05em}
.pip-pri-anchor{color:var(--green)}

/* ─── L2: activity log ──────────────────────────────────────────── */
.log-row{display:grid;grid-template-columns:120px 80px 1fr;gap:14px;padding:10px 22px;border-top:1px solid var(--line);align-items:start}
.log-row:first-of-type{border-top:none;padding-top:14px}
.log-dt{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}
.log-tag{
  font-size:9.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  padding:3px 8px;border-radius:4px;text-align:center;height:fit-content;
}
.log-inbound {background:rgba(110,45,168,0.10);color:#6E2DA8;border:1px solid rgba(110,45,168,0.20)}
.log-call    {background:rgba(12,68,124,0.08);color:#0C447C;border:1px solid rgba(12,68,124,0.18)}
.log-intro   {background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20)}
.log-legal   {background:rgba(120,80,30,0.08);color:#7A4D0A;border:1px solid rgba(120,80,30,0.20)}
.log-meeting {background:rgba(27,61,47,0.07);color:var(--ink-2);border:1px solid var(--line)}
.log-dilig   {background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.log-signed  {background:var(--green);color:#fff;border:1px solid var(--green)}
.log-default {background:rgba(27,61,47,0.04);color:var(--ink-3);border:1px solid var(--line)}
.log-body{font-size:12.5px;color:var(--ink-2);line-height:1.6}

/* ─── L2: current status ─────────────────────────────────────────── */
.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--line)}
.status-cell{padding:14px 22px;border-right:1px solid var(--line)}
.status-cell:last-child{border-right:none}
.status-eyebrow{font-size:9.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.status-priority{display:flex;gap:9px;align-items:flex-start;margin-bottom:10px}
.status-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--green);margin-top:6px}
.status-priority-title{font-size:13px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.status-priority-text {font-size:12px;color:var(--ink-3);line-height:1.55;margin-top:3px}
.status-line{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ink-2);padding:4px 0}
.status-pip-dot{flex-shrink:0;width:6px;height:6px;border-radius:2px}
.status-pip-active{background:var(--green)}
.status-pip-pending{background:var(--ink-4)}
.status-watch-dot{flex-shrink:0;width:6px;height:6px;border-radius:50%;background:rgba(186,117,23,0.55)}

.live-metrics{padding:10px 22px 16px;border-top:1px solid var(--line)}
.live-metrics-eyebrow{font-size:9.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.live-metric{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line);font-size:13px}
.live-metric:last-child{border-bottom:none}
.live-metric-l{color:var(--ink-2)}
.live-metric-v{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}

/* ─── L2: risk + mitigant pairs ─────────────────────────────────── */
.rm-card{margin:14px 22px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rm-card:first-of-type{margin-top:18px}
.rm-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:rgba(27,61,47,0.025);border-bottom:1px solid var(--line)}
.rm-title{font-size:13.5px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.rm-label{font-size:9.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;padding:3px 8px;border-radius:4px}
.rm-label-pos  {background:var(--green-soft);color:var(--green);border:1px solid rgba(47,122,78,0.20)}
.rm-label-watch{background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.rm-split{display:grid;grid-template-columns:1fr 1fr}
@media(max-width:780px){.rm-split{grid-template-columns:1fr}}
.rm-side{padding:14px 16px}
.rm-risk{border-right:1px solid var(--line)}
.rm-mit {background:rgba(47,122,78,0.03)}
.rm-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;margin-bottom:6px}
.rm-eyebrow-risk{color:#7A4D0A}
.rm-eyebrow-mit {color:var(--green)}
.rm-headline{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.4;margin-bottom:7px;letter-spacing:-0.005em}
.rm-body{font-size:12.5px;color:var(--ink-2);line-height:1.65}

.tag-meta{background:rgba(27,61,47,0.05);color:var(--ink-3);border:1px solid var(--line)}

/* ─── pipeline-stat sub-line ─────────────────────────────────────── */
.strip-sub{font-size:10px;color:var(--ink-3);margin-top:3px}

/* ─── memo typography polish ─────────────────────────────────────── */
.co-l1 .panel,.co-l2 .panel{margin-bottom:0}
.co-l1 .panel + .panel,.co-l2 .panel + .panel{margin-top:14px}
.h-display{font-size:34px}

/* ─── financing rounds (L1 card-based timeline) ─────────────────── */
.fnh{display:flex;flex-direction:column;padding:14px 18px 18px}
.fnh-card{
  display:grid;grid-template-columns:36px 1fr;gap:0;
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  margin-bottom:10px;overflow:hidden;
  box-shadow:0 1px 0 rgba(15,46,34,0.02);
  transition:border-color .15s, box-shadow .15s;
}
.fnh-card:hover{border-color:var(--line-2);box-shadow:0 2px 8px rgba(15,46,34,0.05)}
.fnh-card.fnh-st-led {border-left:3px solid var(--green)}
.fnh-card.fnh-st-part{border-left:3px solid var(--green-soft);background:linear-gradient(180deg,rgba(47,122,78,0.025) 0%,var(--white) 60%)}
.fnh-card.fnh-st-skip{border-left:3px dashed var(--line-2);background:rgba(0,0,0,0.005)}
.fnh-spine{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  padding-top:18px;
}
.fnh-dot{
  width:12px;height:12px;border-radius:50%;
  box-shadow:0 0 0 4px var(--white), 0 0 0 5px var(--line);
  flex-shrink:0;
}
.fnh-dot-entry{background:var(--green)}
.fnh-dot-followon{background:var(--gold)}
.fnh-line{flex:1;width:1px;background:var(--line);margin-top:6px;min-height:14px}
.fnh-body{padding:14px 18px 16px}
.fnh-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.fnh-id{display:flex;flex-direction:column;gap:2px}
.fnh-rd{font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.fnh-dt{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}
.fnh-pill{
  font-size:10.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;
  border:1px solid transparent;white-space:nowrap;font-variant-numeric:tabular-nums;
}
.fnh-pill.fnh-st-led {background:var(--green);color:var(--cream)}
.fnh-pill.fnh-st-part{background:var(--green-soft);color:var(--green);border-color:rgba(47,122,78,0.20)}
.fnh-pill.fnh-st-skip{background:rgba(0,0,0,0.04);color:var(--ink-3);border-color:var(--line)}
.fnh-econ{display:grid;grid-template-columns:minmax(180px,2fr) 3fr;gap:18px;align-items:flex-end;margin-bottom:12px}
@media(max-width:680px){.fnh-econ{grid-template-columns:1fr}}
.fnh-size-l{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3)}
.fnh-size-v{font-size:24px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1;margin-top:2px;letter-spacing:-0.01em}
.fnh-size-bar{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin-top:8px}
.fnh-size-bar-fill{height:100%;background:linear-gradient(90deg,var(--green) 0%,var(--gold) 100%);border-radius:2px;transition:width .3s}
.fnh-econ-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px}
.fnh-kv-l{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3)}
.fnh-kv-v{font-size:14px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:3px}
.fnh-inv{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px dashed var(--line)}
.fnh-inv-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fnh-inv-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3);min-width:84px}
.fnh-chips{display:flex;gap:6px;flex-wrap:wrap}
.fnh-chip{
  font-size:11.5px;font-weight:600;
  padding:3px 10px;border-radius:999px;
  border:1px solid var(--line);
  background:var(--white);
  color:var(--ink-2);
  white-space:nowrap;
}
.fnh-chip-lead{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.fnh-chip-co{background:var(--cream);color:var(--ink-2)}

/* Secondary share purchases nested under their primary round. Reads as a
   sub-list within the parent card: smaller scale, indented spine, no
   Lead pill, single-line meta. */
.fnh-subs{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line)}
.fnh-subs-head{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.fnh-sub{display:flex;gap:12px;padding:8px 0;align-items:flex-start}
.fnh-sub-tail{flex-shrink:0;width:18px;height:12px;border-left:1px solid var(--line-2);border-bottom:1px solid var(--line-2);border-bottom-left-radius:6px;margin-top:6px}
.fnh-sub-body{flex:1;min-width:0}
.fnh-sub-top{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.fnh-sub-name{font-size:14px;font-weight:600;color:var(--ink)}
.fnh-sub-date{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.fnh-sub-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:4px;font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.fnh-sub-pill{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--green-soft);color:var(--green);border:1px solid var(--green-soft)}
.fnh-sub-kv{color:var(--ink-3)}

/* ─── CVP position trajectory (L2) ───────────────────────────────── */
.trj{padding:0 0 16px}
.trj-totals{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:linear-gradient(135deg,rgba(15,46,34,0.03) 0%,rgba(186,117,23,0.04) 100%);
  border-bottom:1px solid var(--line);
  padding:18px 22px;margin-bottom:10px;
}
@media(max-width:780px){.trj-totals{grid-template-columns:repeat(2,1fr);gap:14px}}
.trj-tot{display:flex;flex-direction:column;gap:4px}
.trj-tot-l{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3)}
.trj-tot-v{font-size:22px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;line-height:1.1}
.trj-tot-sub{font-size:10.5px;color:var(--ink-3);font-family:var(--mono);margin-top:3px;letter-spacing:0.02em}
/* Section eyebrows inside the trajectory panel (table + narrative). */
.trj-sub-eyebrow{
  font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;
  color:var(--ink-3);padding:4px 22px 0;margin:6px 0 8px;
}
.trj-sub-eyebrow-2{border-top:1px solid var(--line);padding-top:18px;margin-top:20px}
/* Dense round-by-round capitalization table. Scoped (.cvptbl) so global
   table styles never leak in; horizontal scroll on narrow viewports. */
.cvptbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 18px 4px}
.cvptbl{
  width:100%;min-width:940px;border-collapse:collapse;
  font-variant-numeric:tabular-nums;font-size:12.5px;color:var(--ink);
}
.cvptbl thead th{
  font-size:9.5px;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;
  color:var(--ink-3);text-align:right;white-space:nowrap;
  padding:7px 11px 8px;border-bottom:1px solid var(--line);
  background:rgba(15,46,34,0.02);
}
.cvptbl th.cvptbl-l,.cvptbl td.cvptbl-l{text-align:left}
.cvptbl tbody td{
  text-align:right;white-space:nowrap;padding:9px 11px;
  border-bottom:1px solid var(--ink-4);
}
.cvptbl tbody tr.cvptbl-part{background:rgba(184,146,62,0.055)}
.cvptbl .cvptbl-rd{font-weight:600;color:var(--ink)}
.cvptbl .cvptbl-dt{color:var(--ink-3);font-family:var(--mono);font-size:11px}
.cvptbl .cvptbl-strong{font-weight:700;color:var(--ink)}
.cvptbl .cvptbl-muted{color:var(--ink-3)}
.cvptbl .cvptbl-moic{font-weight:700}
.cvptbl tr.cvptbl-total td{
  border-top:2px solid var(--ink-4);border-bottom:none;font-weight:700;
  background:linear-gradient(135deg,rgba(15,46,34,0.03) 0%,rgba(186,117,23,0.05) 100%);
}
.trj-foot{
  font-size:10.5px;line-height:1.5;color:var(--ink-3);
  padding:8px 22px 4px;margin:2px 0 4px;
}
.trj-card{
  display:grid;grid-template-columns:42px 1fr;
  margin:0 18px 12px;
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;
  transition:border-color .15s, box-shadow .15s;
}
.trj-card:hover{border-color:var(--line-2);box-shadow:0 2px 10px rgba(15,46,34,0.06)}
.trj-led {border-left:3px solid var(--green)}
.trj-part{border-left:3px solid var(--green-soft)}
.trj-skip{border-left:3px dashed var(--line-2);background:rgba(0,0,0,0.008)}
.trj-spine{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:22px}
.trj-marker{
  width:14px;height:14px;border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 4px var(--white), 0 0 0 5px var(--line);
}
.trj-skip .trj-marker{background:var(--ink-4)}
.trj-connector{flex:1;width:1px;background:var(--line);margin-top:6px;min-height:24px}
.trj-skip .trj-connector{background-image:linear-gradient(180deg,var(--line) 60%,transparent 0%);background-size:1px 6px;background-color:transparent;background-repeat:repeat-y}
.trj-body{padding:18px 22px 18px}
.trj-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:8px}
.trj-heading{display:flex;flex-direction:column;gap:2px}
.trj-rd{font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.trj-dt{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}
.trj-status{
  font-size:10.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;border:1px solid transparent;white-space:nowrap;
}
.trj-status-led {background:var(--green);color:var(--cream)}
.trj-status-part{background:var(--green-soft);color:var(--green);border-color:rgba(47,122,78,0.22)}
.trj-status-skip{background:rgba(0,0,0,0.05);color:var(--ink-3);border-color:var(--line)}
.trj-lead-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.trj-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3)}
.trj-lead-name{font-size:13.5px;font-weight:600;color:var(--ink)}
.trj-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:14px}
@media(max-width:780px){.trj-grid{grid-template-columns:1fr}}
.trj-block{
  background:var(--cream);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 16px 14px;
}
.trj-block-cvp.trj-led {background:rgba(47,122,78,0.04);border-color:rgba(47,122,78,0.18)}
.trj-block-cvp.trj-part{background:rgba(47,122,78,0.025);border-color:rgba(47,122,78,0.14)}
.trj-block-cvp.trj-skip{background:rgba(0,0,0,0.02);border-style:dashed}
.trj-block-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:10px}
.trj-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px}
.trj-cell{display:flex;flex-direction:column;gap:3px}
.trj-cell-l{font-size:10px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--ink-3)}
.trj-cell-v{font-size:14.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.trj-cell-strong{font-size:16px;font-weight:700;letter-spacing:-0.005em}
.trj-cell-muted{font-size:12px;font-weight:600;color:var(--ink-3);font-style:italic}
.trj-own-track{display:inline-flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}
.trj-own-init{color:var(--ink-3);text-decoration:line-through;font-weight:600}
.trj-own-arrow{color:var(--ink-4);font-size:13px;font-weight:600}
.trj-own-cur{color:var(--ink);font-weight:700}
.trj-skip .trj-own-cur{color:var(--ink-2)}

/* ─── Fund I Overview — modern web layout ──────────────────────── */

.fov-head{
  display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;
  padding:8px 0 24px;
  /* Full-width masthead rule. Spans the whole content column (matches the
     KPI band edges); strengthened from a near-invisible 0.1 hairline so it
     reads as an intentional divider rather than "not extending" (Cat A2). */
  border-bottom:1px solid rgba(27,61,47,0.15);
  margin-bottom:28px;
}
.fov-head-eye{
  font-family:var(--mono);
  font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:6px;
}
.fov-head-h{
  font-family:var(--serif);
  font-size:48px;font-weight:380;line-height:1.0;letter-spacing:-0.02em;
  color:var(--ink);margin-bottom:14px;
  font-variation-settings:"opsz" 60, "SOFT" 30, "WONK" 0;
}
.fov-head-deck{
  font-family:var(--font);
  font-size:16px;line-height:1.6;color:var(--ink-2);
  max-width:680px;
}
.fov-head-tag{
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
  padding:7px 14px;border-radius:999px;
  background:var(--cream);color:var(--ink-2);
  border:1px solid var(--line);
  white-space:nowrap;
}
.fov-head-side{
  width:min(410px,100%);
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-end;
}
.fov-head-proof{
  width:100%;
  border:1px solid var(--line);
  background:rgba(255,255,255,0.70);
  border-radius:10px;
  overflow:hidden;
}
.fov-head-proof-row{
  display:grid;
  grid-template-columns:118px 1fr;
  gap:12px;
  padding:11px 13px;
  border-bottom:1px solid var(--line);
}
.fov-head-proof-row:last-child{border-bottom:none}
.fov-head-proof-row span{
  font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:0.10em;
  text-transform:uppercase;color:var(--ink-3);
}
.fov-head-proof-row strong{
  font-size:12.5px;line-height:1.45;color:var(--ink);font-weight:500;
}
@media(max-width:860px){
  .fov-head{
    grid-template-columns:1fr;
    gap:12px;
    align-items:start;
    padding-top:2px;
  }
  .fov-head-h{font-size:34px;line-height:1.05}
  .fov-head-deck{font-size:15px;line-height:1.55}
  .fov-head-tag{
    justify-self:start;
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    border-radius:7px;
    font-size:9.5px;
    letter-spacing:0.08em;
    line-height:1.35;
  }
  .fov-head-side{align-items:flex-start;width:100%}
  .fov-head-proof-row{grid-template-columns:1fr;gap:4px}
}

/* KPI strip */
.fov-kpis{
  display:grid;grid-template-columns:repeat(6,1fr);gap:0;
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  margin-bottom:36px;
  overflow:hidden;
  box-shadow:var(--shadow-1);
}
@media(max-width:1100px){.fov-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.fov-kpis{grid-template-columns:repeat(2,1fr)}}
.fov-kpi-footnote {
  font-family: var(--font); font-style: italic; font-size: 11.5px;
  line-height: 1.55; color: var(--ink-3);
  padding: 10px 22px 14px;
  border-top: 1px dashed var(--line);
  background: var(--cream);
}
.perf-methodology{
  margin:18px 0 34px;
  padding:16px 18px 18px;
  background:#FAFAF8;
  border:1px solid #E9E9E4;
  border-radius:10px;
  color:var(--ink-2);
}
.perf-methodology-compact{margin:12px 0 20px}
.perf-methodology-head{
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding-bottom:11px;margin-bottom:13px;border-bottom:1px solid rgba(27,61,47,0.08);
}
.perf-methodology-eye{
  font-family:var(--mono);font-size:10px;font-weight:650;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--green);
}
.perf-methodology-title{
  font-family:var(--font);font-size:12px;font-weight:600;color:#6F7872;
}
.perf-methodology-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;
}
.perf-methodology-k{
  font-family:var(--mono);font-size:9.5px;font-weight:650;letter-spacing:0.12em;
  text-transform:uppercase;color:#6F7872;margin-bottom:4px;
}
.perf-methodology-v{
  font-family:var(--font);font-size:12.5px;line-height:1.55;color:#3A423D;
}
@media(max-width:980px){.perf-methodology-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){
  .perf-methodology{margin:16px 0 28px;padding:14px 14px 16px}
  .perf-methodology-head{display:block}
  .perf-methodology-title{margin-top:4px}
  .perf-methodology-grid{grid-template-columns:1fr;gap:12px}
}
.fov-kpi{padding:18px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.fov-kpi:last-child{border-right:none}
/* Reserve a full two-line label height so a wrapping label (e.g. "Position
   NAV (gross)") and single-line labels occupy the same vertical space — the
   big numbers then start at the same offset and stay aligned across the row,
   including when the grid reflows on rotate. (Cat A1.) */
.fov-kpi-l{min-height:3.3em}
@media(max-width:1100px){
  .fov-kpi:nth-child(3n){border-right:none}
  .fov-kpi:not(:nth-last-child(-n+3)){border-bottom:1px solid var(--line)}
}
@media(max-width:600px){
  .fov-kpi:nth-child(3n){border-right:1px solid var(--line)}
  .fov-kpi:nth-child(2n){border-right:none}
}
.fov-kpi-l{
  font-family:var(--mono);
  font-size:10px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:6px;
}
.fov-kpi-v{
  font-family:var(--serif);
  font-size:28px;font-weight:420;line-height:1.05;letter-spacing:-0.015em;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  font-variation-settings:"opsz" 36, "SOFT" 30;
}
.fov-kpi-locked{color:var(--ink-4);font-style:italic;font-size:22px}
.fov-kpi-hi{color:var(--green)}

/* Block + section heads */
.fov-block{
  margin-bottom:32px;
}
.fov-block-head{
  display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:14px;flex-wrap:wrap;gap:8px;
}
.fov-block-h{
  font-family:var(--serif);
  font-size:22px;font-weight:420;letter-spacing:-0.01em;color:var(--ink);
  font-variation-settings:"opsz" 24, "SOFT" 30;
}
.fov-block-meta{
  font-family:var(--mono);
  font-size:10.5px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--ink-3);
}
.fov-block-link{
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;
  transition:color .15s, gap .15s;
  display:inline-flex;align-items:center;gap:6px;
}
.fov-block-link:hover{color:var(--gilt);gap:10px}
.fov-arrow{font-family:var(--font);font-size:13px;font-weight:600}

/* Sourcing bar — stacked horizontal */
.fov-bar{
  display:flex;
  height:64px;
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  margin-bottom:14px;
}
.fov-bar-seg{
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;
  padding:0 12px;
  color:var(--cream);
  border-right:1px solid rgba(255,255,255,0.20);
  transition:flex .25s;
  cursor:default;
  min-width:0;
}
.fov-bar-seg:last-child{border-right:none}
.fov-bar-seg:hover{flex-grow:1.25}
.fov-bar-seg-n{
  font-family:var(--serif);
  font-size:22px;font-weight:600;line-height:1;
  font-variant-numeric:tabular-nums;
  font-variation-settings:"opsz" 36;
}
.fov-bar-seg-l{
  font-family:var(--mono);
  font-size:9.5px;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;
  opacity:0.92;text-align:center;line-height:1.2;
}
.fov-bar-seg-green  {background:var(--green)}
.fov-bar-seg-amber  {background:var(--amber)}
.fov-bar-seg-violet {background:#7C4BA8}
.fov-bar-seg-neutral{background:var(--ink-3);color:var(--ink)}
.fov-bar-seg-neutral .fov-bar-seg-l{color:var(--ink-2);opacity:1}
.fov-bar-seg-neutral .fov-bar-seg-n{color:var(--ink)}

.fov-bar-legend{display:flex;flex-wrap:wrap;gap:18px}
.fov-bar-leg{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--ink-2)}
.fov-bar-dot{width:9px;height:9px;border-radius:2px;display:inline-block}
.fov-bar-dot-green  {background:var(--green)}
.fov-bar-dot-amber  {background:var(--amber)}
.fov-bar-dot-violet {background:#7C4BA8}
.fov-bar-dot-neutral{background:var(--ink-3)}
.fov-bar-leg-l{color:var(--ink);font-weight:500}
.fov-bar-leg-c{color:var(--ink-3);font-weight:600;font-variant-numeric:tabular-nums}

/* Portfolio catalog rows */
.fov-catalog{
  display:flex;flex-direction:column;
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--shadow-1);
}
.fov-row{
  display:grid;
  grid-template-columns: 4px minmax(220px,2fr) 110px 110px 95px 170px 24px;
  gap:18px;
  align-items:center;
  padding:18px 24px 18px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;color:inherit;
  transition:background .12s, padding-left .15s;
  position:relative;
}
.fov-row:last-child{border-bottom:none}
.fov-row:hover{background:var(--cream);padding-left:6px}
@media(max-width:1120px){
  .fov-row{
    grid-template-columns:4px minmax(0,2fr) 105px 105px 90px 24px;
    gap:12px;
    padding-right:18px;
  }
  .fov-row > .fov-row-channel{display:none}
  .fov-row-tag{-webkit-line-clamp:2}
}
@media(max-width:980px){
  .fov-row{grid-template-columns:4px 1fr 90px 24px;gap:14px;padding:14px 18px 14px 0}
  .fov-row > .fov-row-round, .fov-row > .fov-row-channel{display:none}
}

.fov-row-stripe{
  width:4px;height:100%;align-self:stretch;
  background:#1B3D2F;
}

.fov-row-ident{display:flex;flex-direction:column;gap:3px;min-width:0;padding-left:14px}
.fov-row-name{
  font-family:var(--serif);
  font-size:18px;font-weight:500;line-height:1.15;letter-spacing:-0.01em;color:var(--ink);
  font-variation-settings:"opsz" 24, "SOFT" 30;
}
.fov-row-tag{
  font-family:var(--font);
  font-size:13px;line-height:1.35;color:var(--ink-2);font-style:italic;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.fov-row-meta{
  font-family:var(--mono);
  font-size:10.5px;letter-spacing:0.10em;text-transform:uppercase;
  color:var(--ink-3);
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
}
.fov-row-sep{color:var(--ink-4)}

.fov-row-round{display:flex;flex-direction:column;gap:2px}
.fov-row-round-r{font-family:var(--mono);font-size:11.5px;font-weight:600;color:var(--ink);letter-spacing:0.04em}
.fov-row-round-d{font-family:var(--mono);font-size:10.5px;color:var(--ink-3)}

.fov-row-check{display:flex;flex-direction:column;gap:2px;text-align:right}
.fov-row-check-v{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;font-variation-settings:"opsz" 24}
.fov-row-check-l{font-family:var(--mono);font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3)}
.fov-row-check-ast{font-size:11px;color:var(--ink-3);margin-left:2px;cursor:help}
.fov-cat-note{margin:14px 4px 0;padding:10px 12px;background:var(--cream);border:1px solid var(--line);border-radius:6px;font-size:11.5px;line-height:1.55;color:var(--ink-2);font-family:var(--font)}
.fov-cat-note-h{font-weight:600;color:var(--ink);margin-right:6px}
.fov-cat-note-i{font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:600px){
  .fov-bar{
    height:auto;
    min-height:72px;
  }
  .fov-bar-seg{
    padding:9px 4px;
    gap:3px;
  }
  .fov-bar-seg-n{font-size:18px}
  .fov-bar-seg-l{
    max-width:100%;
    font-size:8.5px;
    letter-spacing:0.04em;
    overflow-wrap:anywhere;
  }
  .fov-cat-note-i{
    white-space:normal;
    overflow-wrap:anywhere;
  }
}

.fov-row-moic{display:flex;flex-direction:column;gap:2px;text-align:right}
.fov-row-moic-v{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;font-variation-settings:"opsz" 24}
.fov-row-moic-pos{color:var(--green);font-weight:600}
.fov-row-moic-watch{color:var(--amber)}
.fov-row-moic-locked{color:var(--ink-4);font-style:italic}
.fov-row-moic-l{font-family:var(--mono);font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3)}

.fov-row-channel{
  font-family:var(--mono);
  font-size:9.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;
  border:1px solid transparent;white-space:nowrap;text-align:center;
}
.fov-row-channel-green   {background:rgba(47,122,78,0.10);color:var(--green);border-color:rgba(47,122,78,0.22)}
.fov-row-channel-amber   {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.fov-row-channel-violet  {background:rgba(124,75,168,0.14);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}
.fov-row-channel-neutral {background:rgba(0,0,0,0.04);color:var(--ink-2);border-color:var(--line)}

.fov-row-arrow{
  font-family:var(--font);font-size:18px;color:var(--ink-3);
  text-align:right;
  transition:transform .15s, color .15s;
}
.fov-row:hover .fov-row-arrow{color:var(--gilt);transform:translateX(4px)}

/* Multi-check sub-row — each CVP capital-allocation event as discrete */
.fov-row-checks{
  grid-column:2 / -1;
  margin-top:6px;
  padding-top:8px;
  padding-bottom:2px;
  border-top:1px dashed var(--line);
  display:flex;flex-direction:column;gap:4px;
  font-family:var(--font);
}
.fov-row-checks-l{
  font-size:9.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--ink-3);
}
.fov-row-checks-list{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;
  font-size:12px;color:var(--ink-2);
  line-height:1.5;
}
.fov-row-checks-item{white-space:nowrap}
.fov-row-checks-amt{
  font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);
}
.fov-row-checks-meta{color:var(--ink-3);font-size:11.5px}
.fov-row-checks-sep{color:var(--ink-4);font-family:var(--mono);font-size:11px;padding:0 2px}
.fov-row-checks-total{
  font-variant-numeric:tabular-nums;font-weight:700;color:var(--ink);
  padding-left:4px;border-left:1px solid var(--line);margin-left:2px;
}
@media(max-width:980px){
  .fov-row-checks{grid-column:2 / -1;font-size:11.5px}
}

/* ─── Fund-overview card duorow (paired $-amount + MOIC) ───────── */
.kv-duorow{
  display:grid;grid-template-columns:1fr 1px 1fr;
  align-items:stretch;
  padding:6px 0;
  border-top:1px solid var(--line);
}
.kv-duorow:first-child{border-top:none}
.kv-duorow > .kv-duo{display:flex;flex-direction:column;gap:2px;padding:0 4px}
.kv-duorow::before{content:"";display:block;background:var(--line);width:1px;grid-column:2;margin:2px 0}
.kv-duorow > .kv-duo:first-child{padding-left:0}
.kv-duorow > .kv-duo:last-child{padding-right:0;text-align:right;align-items:flex-end}
.kv-duo .kv-k{
  font-size:9.5px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;
  color:var(--ink-3);
}
.kv-duo .kv-v{
  font-size:14px;font-weight:600;color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:-0.005em;
  margin-top:1px;
}
.kv-duo-perf .kv-v-perf{color:var(--green)}
.kv-duo .kv-v-locked{color:var(--ink-4);font-weight:500}

/* ─── Sourcing & Origination view ──────────────────────────────── */
.src-intro{
  font-size:15px;line-height:1.65;color:var(--ink-2);
  max-width:760px;margin:8px 0 22px;
}
.src-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  background:linear-gradient(135deg, rgba(15,46,34,0.04) 0%, rgba(186,117,23,0.04) 100%);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  margin-bottom:22px;
  overflow:hidden;
}
@media(max-width:780px){.src-stats{grid-template-columns:repeat(2,1fr)}}
.src-stat{padding:18px 22px;border-right:1px solid var(--line)}
.src-stat:last-child{border-right:none}
@media(max-width:780px){
  .src-stat:nth-child(2){border-right:none}
  .src-stat:nth-child(1),.src-stat:nth-child(2){border-bottom:1px solid var(--line)}
}
.src-stat-l{
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:5px;
}
.src-stat-v{
  font-size:24px;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:-0.015em;line-height:1.1;
}

.src-channels{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;
  margin-bottom:28px;
}
.src-channel{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:18px 20px 18px;
  display:flex;flex-direction:column;gap:12px;
  transition:border-color .15s, box-shadow .15s;
}
.src-channel:hover{border-color:var(--line-2);box-shadow:0 2px 10px rgba(15,46,34,0.04)}
.src-channel-green  {border-left:3px solid var(--green)}
.src-channel-amber  {border-left:3px solid var(--amber)}
.src-channel-violet {border-left:3px solid #7C4BA8}
.src-channel-neutral{border-left:3px solid var(--line-2)}
.src-channel-head{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:8px;
}
.src-channel-tone{
  font-size:11.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  padding:5px 12px;border-radius:999px;
  white-space:nowrap;
}
.src-channel-tone-green  {background:var(--green);color:var(--cream)}
.src-channel-tone-amber  {background:var(--amber-soft);color:var(--amber);border:1px solid rgba(186,117,23,0.25)}
.src-channel-tone-violet {background:rgba(124,75,168,0.14);color:#5C2F8E;border:1px solid rgba(124,75,168,0.25)}
.src-channel-tone-neutral{background:rgba(0,0,0,0.05);color:var(--ink-2);border:1px solid var(--line)}
.src-channel-count{
  font-size:11px;font-weight:700;color:var(--ink-3);letter-spacing:0.08em;text-transform:uppercase;
}
.src-channel-desc{font-size:13px;line-height:1.6;color:var(--ink-2);margin:0}
.src-channel-deals{display:flex;flex-direction:column;gap:0;border-top:1px dashed var(--line);padding-top:10px}
.src-deal-link{
  display:block;padding:9px 0;text-decoration:none;
  border-bottom:1px dashed var(--line);
  transition:padding-left .12s;
}
.src-deal-link:last-child{border-bottom:none}
.src-deal-link:hover{padding-left:6px}
.src-deal-name{font-size:13.5px;font-weight:700;color:var(--ink);letter-spacing:-0.005em;margin-bottom:2px}
.src-deal-short{font-size:12px;color:var(--ink-3);line-height:1.45}

.src-table{display:flex;flex-direction:column;gap:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.src-row{
  display:grid;grid-template-columns:200px 200px 1fr;gap:16px;
  padding:16px 20px;
  border-bottom:1px solid var(--line);
  text-decoration:none;color:inherit;
  transition:background .12s;
}
.src-row:last-child{border-bottom:none}
.src-row:hover{background:rgba(47,122,78,0.025)}
@media(max-width:880px){.src-row{grid-template-columns:1fr;gap:8px}}
.src-row-left{display:flex;flex-direction:column;gap:3px;min-width:0}
.src-row-co{font-size:14px;font-weight:700;color:var(--ink);letter-spacing:-0.005em}
.src-row-meta{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.src-sep{color:var(--ink-4)}
.src-row-mid{display:flex;flex-direction:column;gap:5px;min-width:0}
.src-row-tone{
  display:inline-block;align-self:flex-start;
  font-size:10.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;border:1px solid transparent;white-space:nowrap;
}
.src-row-tone-green  {background:rgba(47,122,78,0.10);color:var(--green);border-color:rgba(47,122,78,0.22)}
.src-row-tone-amber  {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.src-row-tone-violet {background:rgba(124,75,168,0.14);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}
.src-row-tone-neutral{background:rgba(0,0,0,0.04);color:var(--ink-2);border-color:var(--line)}
.src-row-path{font-size:11.5px;color:var(--ink-3);line-height:1.45}
.src-row-right{font-size:12.5px;line-height:1.6;color:var(--ink-2);min-width:0}

/* (legacy hero-action styles consolidated into the .hero block above) */

/* ─── Position today — clearly separated current state ─────────── */
.ptoday{
  background:linear-gradient(180deg, rgba(47,122,78,0.04) 0%, rgba(47,122,78,0.012) 100%);
  border:1px solid rgba(47,122,78,0.20);border-radius:var(--radius-lg);
  margin-bottom:18px;
  overflow:hidden;
}
.ptoday-head{
  display:flex;align-items:center;gap:14px;
  padding:10px 18px;
  border-bottom:1px solid rgba(47,122,78,0.18);
  background:rgba(47,122,78,0.06);
}
.ptoday-eye{
  font-family:var(--mono);
  font-size:10.5px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--green);
}
.ptoday-stamp{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--mono);
  font-size:10px;font-weight:500;letter-spacing:0.10em;text-transform:uppercase;
  color:var(--green);
}
.ptoday-dot{
  width:6px;height:6px;border-radius:50%;background:var(--green);
  display:inline-block;
  animation:dil-pulse 2s ease-in-out infinite;
}
.ptoday-cta{
  margin-left:auto;
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--green);text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
  transition:gap .15s, color .15s;
}
.ptoday-cta:hover{color:var(--forest-deep,var(--green));gap:10px}
.ptoday-arrow{font-family:var(--font);font-size:13px;font-weight:600}
.ptoday-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
}
@media(max-width:600px){.ptoday-grid{grid-template-columns:1fr}}
.ptoday-cell{
  padding:20px 22px;
  border-right:1px solid rgba(47,122,78,0.14);
  display:flex;flex-direction:column;gap:8px;
}
.ptoday-cell:last-child{border-right:none}
@media(max-width:600px){
  .ptoday-cell{border-right:none}
  .ptoday-cell:not(:last-child){border-bottom:1px solid rgba(47,122,78,0.14)}
}
.ptoday-cell-l{
  font-family:var(--mono);
  font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--green);opacity:0.78;
}
.ptoday-cell-v{
  font-family:var(--serif);
  font-size:38px;font-weight:520;color:var(--ink);
  letter-spacing:-0.022em;line-height:1;
  font-variant-numeric:tabular-nums;
  font-variation-settings:"opsz" 48, "SOFT" 30, "WONK" 0;
}
.ptoday-hi .ptoday-cell-v{color:var(--green)}
.ptoday-watch .ptoday-cell-v{color:var(--amber)}
.ptoday-meta{
  font-family:var(--mono);
  font-size:10px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);margin-left:14px;
}

/* ─── Snapshot — tight analytical opener (no prose, no stamps) ── */
.snap{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  margin-bottom:18px;
  box-shadow:var(--shadow-1);
  display:flex;flex-direction:column;
  overflow:hidden;
}

/* Status bar — top row of dense mono pills */
.snap-bar{
  display:flex;flex-wrap:wrap;gap:8px;
  padding:12px 18px;
  background:linear-gradient(180deg, rgba(27,61,47,0.025) 0%, transparent 100%);
  border-bottom:1px solid var(--line);
  align-items:center;
}
.snap-pill{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;
  border:1px solid transparent;white-space:nowrap;
}
.snap-pill-headline{
  background:var(--ink);color:var(--cream);
  font-weight:700;letter-spacing:0.16em;
}
.snap-pill-pos     {background:var(--green);color:var(--cream)}
.snap-pill-neutral {background:rgba(0,0,0,0.04);color:var(--ink-2);border-color:var(--line)}
.snap-pill-watch   {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.snap-pill-locked  {background:rgba(0,0,0,0.04);color:var(--ink-3);border-color:var(--line);font-style:italic}
.snap-pill-quiet   {background:transparent;color:var(--ink-3);border-color:var(--line)}
.snap-pill-tone-green   {background:rgba(47,122,78,0.10);color:var(--green);border-color:rgba(47,122,78,0.22)}
.snap-pill-tone-amber   {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.snap-pill-tone-violet  {background:rgba(124,75,168,0.12);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}
.snap-pill-tone-neutral {background:rgba(0,0,0,0.04);color:var(--ink-2);border-color:var(--line)}
.snap-pill-live{
  background:rgba(47,122,78,0.10);color:var(--green);border-color:rgba(47,122,78,0.22);
  margin-left:auto;
}
.snap-pill-dot{
  width:6px;height:6px;border-radius:50%;background:var(--green);
  display:inline-block;
  animation:dil-pulse 2s ease-in-out infinite;
}

/* Anchor KPI grid — 2 or 3 hero cells, the eye-magnet of the page */
.snap-kpis{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--line);
}
@media(max-width:600px){.snap-kpis{grid-template-columns:1fr}}
.snap-kpi{
  padding:22px 24px;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:8px;
}
.snap-kpi:last-child{border-right:none}
@media(max-width:600px){
  .snap-kpi{border-right:none}
  .snap-kpi:not(:last-child){border-bottom:1px solid var(--line)}
}
.snap-kpi-l{
  font-family:var(--mono);
  font-size:10px;font-weight:600;letter-spacing:0.20em;text-transform:uppercase;
  color:var(--ink-3);
}
.snap-kpi-v{
  font-family:var(--serif);
  font-size:42px;font-weight:520;color:var(--ink);
  letter-spacing:-0.024em;line-height:1;
  font-variant-numeric:tabular-nums;
  font-variation-settings:"opsz" 36, "SOFT" 30, "WONK" 0;
}
.snap-kpi-hi .snap-kpi-v{color:var(--green)}
.snap-kpi-locked .snap-kpi-v{color:var(--ink-4);font-style:italic;font-size:22px}

.snap-kpi-pill{
  display:inline-block;align-self:flex-start;
  font-family:var(--mono);
  font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  padding:5px 11px;border-radius:4px;border:1px solid transparent;white-space:nowrap;
  margin-top:2px;
}
.snap-kpi-pill-equity{background:var(--green);color:var(--cream)}
.snap-kpi-pill-safe  {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.snap-kpi-pill-note  {background:rgba(124,75,168,0.14);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}

/* Quiet metadata strip under the KPIs — instrument, round size, closed
   date. Dense and small so the eye stays on the hero numbers above. */
.snap-meta{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:12px 22px;border-bottom:1px solid var(--line);
  font-family:var(--mono);
  font-size:11px;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;
  color:var(--ink-3);
  background:linear-gradient(180deg, rgba(27,61,47,0.02) 0%, transparent 100%);
}
.snap-meta-pill{
  font-family:var(--mono);
  font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  padding:4px 10px;border-radius:4px;border:1px solid transparent;
}
.snap-meta-pill-equity{background:var(--green);color:var(--cream)}
.snap-meta-pill-safe  {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.snap-meta-pill-note  {background:rgba(124,75,168,0.14);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}
.snap-meta-l{color:var(--ink-3);opacity:0.75}
.snap-meta-v{color:var(--ink);font-family:var(--serif);font-size:13px;font-weight:520;letter-spacing:0;text-transform:none}
.snap-meta-sep{color:var(--ink-4);opacity:0.6}

/* Thesis bullets — punchy one-line titles, top 3 only */
.snap-thesis{
  display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;
  padding:14px 20px 16px;
}
@media(max-width:780px){.snap-thesis{grid-template-columns:1fr;gap:8px}}
.snap-thesis-l{
  font-family:var(--mono);
  font-size:9.5px;font-weight:600;letter-spacing:0.20em;text-transform:uppercase;
  color:var(--ink-3);
  white-space:nowrap;
}
.snap-thesis-list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  list-style:none;
  margin:0;padding:0;
}
@media(max-width:880px){.snap-thesis-list{grid-template-columns:1fr;gap:6px}}
.snap-thesis-li{
  display:flex;align-items:flex-start;gap:8px;
  padding:0 16px;
  border-right:1px dashed var(--line);
  min-width:0;
}
.snap-thesis-li:first-child{padding-left:0}
.snap-thesis-li:last-child{border-right:none;padding-right:0}
@media(max-width:880px){
  .snap-thesis-li{border-right:none;padding:0}
}
.snap-thesis-num{
  font-family:var(--mono);
  font-size:9.5px;font-weight:700;letter-spacing:0.10em;
  color:var(--gilt);
  flex-shrink:0;padding-top:2px;
}
.snap-thesis-h{
  font-family:var(--font);
  font-size:13px;line-height:1.4;color:var(--ink);font-weight:500;
  letter-spacing:-0.005em;
}

/* ─── Memo prose section (recommendation + lede) ────────────────── */
.memo-prose{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:24px 28px;
  display:flex;flex-direction:column;gap:14px;
  box-shadow:var(--shadow-1);
}
.memo-prose-recco{
  font-family:var(--serif);
  font-size:19px;font-weight:480;line-height:1.45;
  letter-spacing:-0.008em;color:var(--ink);
  font-variation-settings:"opsz" 24, "SOFT" 30;
  margin:0;
}
.memo-prose-lede{
  font-family:var(--font);
  font-size:15.5px;line-height:1.7;color:var(--ink-2);
  font-feature-settings:"kern" 1, "liga" 1, "onum" 1;
  margin:0;
}

/* ─── Memo opening — single elegant panel, no boxy stamps ─────── */
.open{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:32px 36px 28px;
  box-shadow:var(--shadow-1);
  margin-bottom:18px;
  display:flex;flex-direction:column;gap:18px;
}
@media(max-width:780px){.open{padding:24px 22px}}

.open-head{
  display:flex;align-items:center;gap:14px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.open-eye{
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.20em;text-transform:uppercase;
  color:var(--gilt);
}
.open-stamp{
  margin-left:auto;
  font-family:var(--mono);
  font-size:10px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-3);
}

/* Recommendation as a strong serif lead line — not a box */
.open-recco{
  font-family:var(--serif);
  font-size:28px;font-weight:480;line-height:1.30;letter-spacing:-0.018em;
  color:var(--ink);
  font-variation-settings:"opsz" 36, "SOFT" 30, "WONK" 0;
  margin:0;
  max-width:880px;
}

/* Lede paragraph — refined institutional prose */
.open-lede{
  font-family:var(--font);
  font-size:16px;line-height:1.7;color:var(--ink-2);
  font-feature-settings:"kern" 1, "liga" 1, "onum" 1;
  margin:0;
  max-width:780px;
}

/* KPI strip — anchor numbers */
.open-kpis{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:16px 0;
  margin:6px -36px;
  padding-left:36px;padding-right:36px;
}
@media(max-width:780px){
  .open-kpis{grid-template-columns:repeat(2,1fr);margin:6px -22px;padding:16px 22px;gap:14px 0}
}
.open-kpi{
  padding:0 24px;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:6px;
}
.open-kpi:first-child{padding-left:0}
.open-kpi:last-child{border-right:none;padding-right:0}
@media(max-width:780px){
  .open-kpi:nth-child(2){border-right:none}
  .open-kpi{padding:0 14px}
  .open-kpi:first-child{padding-left:0}
}
.open-kpi-l{
  font-family:var(--mono);
  font-size:9.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-3);
}
.open-kpi-v{
  font-family:var(--serif);
  font-size:32px;font-weight:520;color:var(--ink);
  letter-spacing:-0.02em;line-height:1;
  font-variant-numeric:tabular-nums;
  font-variation-settings:"opsz" 48, "SOFT" 30, "WONK" 0;
}
.open-kpi-hi .open-kpi-v{color:var(--green)}
.open-kpi-locked .open-kpi-v{color:var(--ink-4);font-style:italic;font-size:24px}

/* Provenance trace — sourcing + counsel one-liner */
.open-trace{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  background:rgba(27,61,47,0.018);
  border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;
}
@media(max-width:780px){.open-trace{grid-template-columns:1fr}}
.open-trace-cell{
  padding:14px 18px;
  border-right:1px solid var(--line);
}
.open-trace-cell:last-child{border-right:none}
@media(max-width:780px){
  .open-trace-cell{border-right:none}
  .open-trace-cell:not(:last-child){border-bottom:1px solid var(--line)}
}
.open-trace-l{
  font-family:var(--mono);
  font-size:9.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:6px;
}
.open-trace-v{
  font-family:var(--font);
  font-size:13px;color:var(--ink);line-height:1.45;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.open-trace-v strong{color:var(--ink);font-weight:600}
.open-trace-path{color:var(--ink-2);font-style:italic;font-size:12px}
.open-trace-date{color:var(--ink-3);font-family:var(--mono);font-size:10.5px;letter-spacing:0.06em}

.open-tone{
  display:inline-block;
  font-family:var(--mono);
  font-size:9.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;border:1px solid transparent;
  white-space:nowrap;
}
.open-tone-green   {background:rgba(47,122,78,0.12);color:var(--green);border-color:rgba(47,122,78,0.22)}
.open-tone-amber   {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.open-tone-violet  {background:rgba(124,75,168,0.14);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}
.open-tone-neutral {background:rgba(0,0,0,0.04);color:var(--ink-2);border-color:var(--line)}

/* ─── Investment thesis pillars (relocated from opener to memo body) */
.memo-thesis{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
@media(max-width:980px){.memo-thesis{grid-template-columns:1fr}}
.memo-thesis-card{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 22px;
  display:flex;flex-direction:column;gap:10px;
  transition:border-color .15s, box-shadow .15s;
}
.memo-thesis-card:hover{border-color:var(--line-2);box-shadow:var(--shadow-1)}
.memo-thesis-num{
  font-family:var(--serif);font-style:italic;font-weight:380;
  font-size:24px;
  color:var(--gilt);
  font-variation-settings:"opsz" 30, "SOFT" 70, "WONK" 0;
  line-height:1;
}
.memo-thesis-h{
  font-family:var(--serif);
  font-size:16px;font-weight:520;line-height:1.3;color:var(--ink);
  letter-spacing:-0.005em;
  font-variation-settings:"opsz" 18, "SOFT" 30;
}
.memo-thesis-b{
  font-family:var(--font);
  font-size:13.5px;line-height:1.6;color:var(--ink-2);
}

/* ─── Memo "Section" markers — used for "01 / 02 / 03" framing ──── */
.memo-section{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.memo-section-head{
  display:flex;align-items:center;gap:14px;
  padding-bottom:8px;
  border-bottom:1px solid var(--line);
}
.memo-section-num{
  font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.18em;
  color:var(--gilt);
}
.memo-section-h{
  font-family:var(--serif);
  font-size:18px;font-weight:480;letter-spacing:-0.005em;color:var(--ink);
  font-variation-settings:"opsz" 24, "SOFT" 30;
}
.memo-section-meta{
  margin-left:auto;
  font-family:var(--mono);
  font-size:10.5px;font-weight:500;letter-spacing:0.10em;text-transform:uppercase;
  color:var(--ink-3);
}
.memo-section-meta-live{
  color:var(--green);
}
.memo-section-meta-live::first-letter{
  font-size:14px;
}
.memo-lede-eye{
  font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:12px;
}

/* ─── Thesis at a Glance — opening showcase ─────────────────────── */
.tag-block, .dil-block{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:24px 26px 22px;
  box-shadow:var(--shadow-1);
  display:flex;flex-direction:column;gap:18px;
}
.tag-head{
  display:flex;align-items:center;gap:14px;
  padding-bottom:12px;border-bottom:1px solid var(--line);
}
.tag-num{
  font-family:var(--serif);font-size:22px;font-weight:480;font-style:italic;
  color:var(--gilt);
  font-variation-settings:"opsz" 36, "SOFT" 70;
}
.tag-h{
  font-family:var(--serif);
  font-size:22px;font-weight:480;letter-spacing:-0.012em;color:var(--ink);
  font-variation-settings:"opsz" 30, "SOFT" 30, "WONK" 0;
}
.tag-stamp{
  margin-left:auto;
  font-family:var(--mono);
  font-size:10.5px;font-weight:500;letter-spacing:0.10em;text-transform:uppercase;
  color:var(--ink-3);
}

/* KPI row — 4 cells */
.tag-kpis{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:var(--cream);
  border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;
}
@media(max-width:780px){.tag-kpis{grid-template-columns:repeat(2,1fr)}}
.tag-kpi{
  padding:14px 18px;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:5px;
}
.tag-kpi:last-child{border-right:none}
@media(max-width:780px){
  .tag-kpi:nth-child(2){border-right:none}
  .tag-kpi:nth-child(1),.tag-kpi:nth-child(2){border-bottom:1px solid var(--line)}
}
.tag-kpi-l{
  font-family:var(--mono);
  font-size:9.5px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);
}
.tag-kpi-v{
  font-family:var(--serif);
  font-size:24px;font-weight:520;color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:-0.015em;
  line-height:1.1;
  font-variation-settings:"opsz" 30, "SOFT" 30;
}
.tag-kpi-hi .tag-kpi-v{color:var(--green)}
.tag-kpi-locked .tag-kpi-v{color:var(--ink-4);font-style:italic;font-size:18px}

/* Three pillars */
.tag-pillars{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
@media(max-width:880px){.tag-pillars{grid-template-columns:1fr}}
.tag-pillar{
  border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 16px;
  background:var(--white);
  display:flex;flex-direction:column;gap:8px;
  transition:border-color .15s, box-shadow .15s;
}
.tag-pillar:hover{border-color:var(--line-2);box-shadow:var(--shadow-1)}
.tag-pillar-num{
  font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:0.18em;
  color:var(--gilt);
}
.tag-pillar-h{
  font-family:var(--serif);
  font-size:14.5px;font-weight:520;line-height:1.3;color:var(--ink);
  letter-spacing:-0.005em;
  font-variation-settings:"opsz" 18, "SOFT" 30;
}
.tag-pillar-b{
  font-family:var(--font);
  font-size:12.5px;line-height:1.55;color:var(--ink-2);
}

/* Trace row — sourcing + counsel one-liner */
.tag-trace{
  display:grid;grid-template-columns:1fr 1fr;gap:0;
  background:rgba(27,61,47,0.02);
  border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;
}
@media(max-width:780px){.tag-trace{grid-template-columns:1fr}}
.tag-trace-cell{
  padding:12px 16px;
  border-right:1px solid var(--line);
}
.tag-trace-cell:last-child{border-right:none}
@media(max-width:780px){.tag-trace-cell:not(:last-child){border-right:none;border-bottom:1px solid var(--line)}}
.tag-trace-l{
  font-family:var(--mono);
  font-size:9.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:5px;
}
.tag-trace-v{
  font-family:var(--font);
  font-size:13px;color:var(--ink);line-height:1.45;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.tag-trace-v strong{color:var(--ink);font-weight:600}
.tag-trace-path{color:var(--ink-2);font-style:italic;font-size:12px}
.tag-trace-date{color:var(--ink-3);font-family:var(--mono);font-size:10.5px}

.tag-tone{
  display:inline-block;
  font-family:var(--mono);
  font-size:9.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;border:1px solid transparent;
  white-space:nowrap;
}
.tag-tone-green   {background:rgba(47,122,78,0.12);color:var(--green);border-color:rgba(47,122,78,0.22)}
.tag-tone-amber   {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.tag-tone-violet  {background:rgba(124,75,168,0.14);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}
.tag-tone-neutral {background:rgba(0,0,0,0.04);color:var(--ink-2);border-color:var(--line)}

/* ─── Diligence record — proof of work cards ─────────────────────── */
.dil-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
@media(max-width:980px){.dil-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.dil-grid{grid-template-columns:1fr}}
.dil-card{
  background:var(--cream);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:16px 18px;
  display:flex;flex-direction:column;gap:6px;
  position:relative;
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.dil-card:hover{
  border-color:var(--line-2);box-shadow:var(--shadow-1);transform:translateY(-1px);
}
.dil-card-l{
  font-family:var(--mono);
  font-size:9.5px;font-weight:600;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);
}
.dil-card-v{
  font-family:var(--serif);
  font-size:18px;font-weight:520;color:var(--ink);
  letter-spacing:-0.012em;line-height:1.15;
  font-variant-numeric:tabular-nums;
  font-variation-settings:"opsz" 24, "SOFT" 30;
  margin-top:2px;
}
.dil-card-empty{color:var(--ink-4);font-style:italic;font-size:14px}
.dil-card-meta{
  font-family:var(--font);
  font-size:11.5px;color:var(--ink-2);line-height:1.45;
}
.dil-card-tags{
  display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;
}
.dil-tag{
  font-family:var(--mono);
  font-size:9.5px;font-weight:600;letter-spacing:0.06em;
  background:var(--white);color:var(--ink-2);
  border:1px solid var(--line);
  padding:3px 8px;border-radius:4px;white-space:nowrap;
}
.dil-card-stamp{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:6px;
  font-family:var(--mono);
  font-size:10.5px;color:var(--green);font-weight:500;
  letter-spacing:0.04em;
}
.dil-card-stamp-pending{color:var(--amber);font-style:italic}
.dil-stamp-dot{
  width:6px;height:6px;border-radius:50%;
  background:currentColor;
  display:inline-block;
  animation:dil-pulse 2s ease-in-out infinite;
}
@keyframes dil-pulse {
  0%,100% { opacity:0.6; }
  50%    { opacity:1.0; }
}
.dil-card-cta{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:8px;
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--ink);
  padding-bottom:2px;align-self:flex-start;
  transition:color .12s, border-color .12s, gap .12s;
}
.dil-card-cta:hover{color:var(--gilt);border-color:var(--gilt);gap:10px}
.dil-arrow{font-size:11px}

/* Process progress segments */
.dil-progress{
  display:flex;gap:3px;margin-top:8px;
}
.dil-progress-seg{
  flex:1;height:6px;border-radius:2px;
}
.dil-progress-seg-done   {background:var(--green)}
.dil-progress-seg-active {background:var(--amber);
  background:repeating-linear-gradient(45deg, var(--amber), var(--amber) 4px, rgba(186,117,23,0.6) 4px, rgba(186,117,23,0.6) 8px);
  animation:dil-progress-stripe 1.5s linear infinite;
}
.dil-progress-seg-pending{background:var(--line-2)}
@keyframes dil-progress-stripe {
  from { background-position:0 0; }
  to   { background-position:11px 0; }
}

/* ─── Live document footer ─────────────────────────────────────── */
.memo-meta{
  display:flex;flex-wrap:wrap;gap:0;
  margin-top:18px;
  padding:14px 18px;
  background:var(--cream);
  border:1px solid var(--line);border-radius:var(--radius);
  align-items:center;
}
.memo-meta-cell{
  display:flex;flex-direction:column;gap:2px;
  padding:0 16px;
  border-right:1px solid var(--line);
}
.memo-meta-cell:first-child{padding-left:0}
.memo-meta-cell:last-child{border-right:none}
.memo-meta-l{
  font-family:var(--mono);
  font-size:9.5px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--ink-3);
}
.memo-meta-v{
  font-family:var(--mono);font-size:11px;color:var(--ink-2);font-weight:500;
}
.memo-meta-live{
  display:inline-flex;align-items:center;gap:8px;
  margin-left:auto;
  font-family:var(--mono);
  font-size:10.5px;font-weight:600;letter-spacing:0.06em;
  color:var(--green);
  padding:6px 12px;
  background:rgba(47,122,78,0.08);
  border:1px solid rgba(47,122,78,0.20);
  border-radius:999px;
}
.memo-meta-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--green);
  animation:dil-pulse 2s ease-in-out infinite;
}

/* ─── Memo-styled Summary tab ──────────────────────────────────── */
.memo{display:flex;flex-direction:column;gap:18px}
.memo-eyebrow{
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);
  margin-top:6px;
}
.memo-lede{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:28px 32px;
  box-shadow:var(--shadow-1);
}
.memo-lede .prose{
  font-family:var(--font);
  font-size:17px;line-height:1.7;color:var(--ink);
  margin:0;
  font-feature-settings:"kern" 1, "liga" 1, "onum" 1;
}

/* Transaction ribbon — compact, dense, key facts at a glance */
.memo-tx{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:0;
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;
}
.memo-tx-cell{
  padding:14px 18px;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:5px;
  min-width:0;
}
.memo-tx-cell:last-child{border-right:none}
.memo-tx-l{
  font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-3);
}
.memo-tx-v{
  font-family:var(--serif);
  font-size:18px;font-weight:480;color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:-0.01em;
  font-variation-settings:"opsz" 24, "SOFT" 30;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  line-height:1.1;
}
.memo-tx-muted{color:var(--ink-3);font-style:italic}
.memo-tx-pill{
  display:inline-block;align-self:flex-start;
  font-size:10.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:4px;border:1px solid transparent;
  white-space:nowrap;
}
.memo-tx-pill-equity{background:var(--green);color:var(--cream)}
.memo-tx-pill-safe  {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.memo-tx-pill-note  {background:rgba(124,75,168,0.14);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}

/* Sourcing-channel tone chip in the transaction ribbon */
.memo-tx-tone{
  display:inline-block;align-self:flex-start;
  font-size:11.5px;font-weight:600;letter-spacing:-0.005em;
  padding:4px 10px;border-radius:999px;border:1px solid transparent;
  white-space:nowrap;
}
.memo-tx-tone-green  {background:rgba(47,122,78,0.10);color:var(--green);border-color:rgba(47,122,78,0.22)}
.memo-tx-tone-amber  {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.memo-tx-tone-neutral{background:rgba(0,0,0,0.04);color:var(--ink-2);border-color:var(--line)}
.memo-tx-tone-violet {background:rgba(124,75,168,0.12);color:#5C2F8E;border-color:rgba(124,75,168,0.22)}

/* Performance ribbon — L2 only, distinguished by tag + tint */
.memo-perf{
  display:grid;grid-template-columns:auto repeat(auto-fit,minmax(120px,1fr));
  gap:0;
  background:linear-gradient(135deg,rgba(47,122,78,0.04) 0%,rgba(186,117,23,0.04) 100%);
  border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;
  align-items:stretch;
}
.memo-perf-tag{
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 16px;
  font-size:9.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  background:var(--green);color:var(--cream);
  border-right:1px solid rgba(0,0,0,0.06);
  white-space:nowrap;
}
.memo-perf-cell{
  padding:14px 18px;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:5px;
}
.memo-perf-cell:last-child{border-right:none}
.memo-perf-l{
  font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--ink-3);
}
.memo-perf-v{
  font-family:var(--serif);
  font-size:20px;font-weight:520;color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:-0.015em;
  font-variation-settings:"opsz" 24, "SOFT" 30;
  line-height:1.1;
}
.memo-perf-hi .memo-perf-v{color:var(--green)}

/* Exec-summary card grid — replaces the old labeled-row table */
.memo-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:12px;
}
@media(max-width:780px){.memo-grid{grid-template-columns:1fr}}
.memo-card{
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px 18px;
  display:flex;flex-direction:column;gap:8px;
  transition:border-color .15s, box-shadow .15s;
}
.memo-card:hover{border-color:var(--line-2);box-shadow:0 1px 6px rgba(15,46,34,0.04)}
.memo-card-l{
  font-family:var(--mono);
  font-size:10px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;
  color:var(--green);
}
.memo-card-b{
  font-family:var(--font);
  font-size:14.5px;line-height:1.65;color:var(--ink-2);
  font-feature-settings:"kern" 1, "liga" 1, "onum" 1;
}
.memo-card-bullets{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:7px;
}
.memo-card-bullet{
  position:relative;padding-left:18px;
  font-family:var(--font);
  font-size:14.5px;line-height:1.55;color:var(--ink-2);
  font-feature-settings:"kern" 1, "liga" 1, "onum" 1;
}
.memo-card-bullet::before{
  content:"";position:absolute;left:4px;top:0.6em;
  width:5px;height:5px;border-radius:50%;
  background:var(--green);opacity:0.85;
}

/* Deal counsel footer */
.memo-counsel{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:10px;
  padding:12px 18px;
  background:rgba(0,0,0,0.015);
  border:1px dashed var(--line);border-radius:var(--radius);
  font-size:11.5px;color:var(--ink-3);
  margin-top:6px;
}
.memo-counsel-eye{
  font-size:9.5px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
}
.memo-counsel-main{color:var(--ink-2)}
.memo-counsel-main strong{color:var(--ink);font-weight:700}
.memo-counsel-title{color:var(--ink-3);font-style:italic}
.memo-counsel-stamp{
  font-family:var(--mono);font-size:10.5px;
  background:rgba(47,122,78,0.10);color:var(--green);
  padding:3px 9px;border-radius:4px;border:1px solid rgba(47,122,78,0.20);
  white-space:nowrap;
}
.memo-counsel-pending{
  background:var(--amber-soft);color:var(--amber);
  border-color:rgba(186,117,23,0.25);font-style:italic;
}

/* ─── Three-block investment story (deprecated — kept for safety) ─── */
.story{
  background:linear-gradient(135deg, #FFFFFF 0%, var(--cream) 100%);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:18px 22px 16px;
  margin-bottom:14px;
  box-shadow:var(--shadow-1);
}
.story-head{
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:10px;
  margin-bottom:14px;
}
.story-eyebrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.story-tag{
  display:inline-flex;align-items:center;
  font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  padding:5px 11px;border-radius:4px;
  background:var(--ink);color:var(--cream);
}
.story-alias{font-size:11.5px;color:var(--ink-3);font-style:italic}
.story-status{
  font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;border:1px solid transparent;white-space:nowrap;
}
.story-status-pos    {background:var(--green);color:var(--cream)}
.story-status-neutral{background:var(--green-soft);color:var(--green);border-color:rgba(47,122,78,0.20)}
.story-status-watch  {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.story-status-locked {background:rgba(0,0,0,0.04);color:var(--ink-3);border-color:var(--line)}

.story-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;
  background:var(--white);
}
@media(max-width:980px){.story-grid{grid-template-columns:1fr}}
.story-block{
  padding:18px 20px 18px;
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;gap:10px;
}
.story-block:last-child{border-right:none}
@media(max-width:980px){
  .story-block{border-right:none;border-bottom:1px solid var(--line)}
  .story-block:last-child{border-bottom:none}
}
.story-block-1{background:linear-gradient(180deg,rgba(15,46,34,0.025) 0%,transparent 80%)}
.story-block-2{background:linear-gradient(180deg,rgba(186,117,23,0.025) 0%,transparent 80%)}
.story-block-3{background:linear-gradient(180deg,rgba(47,122,78,0.030) 0%,transparent 80%)}

.story-block-eye{
  font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;
  color:var(--ink-3);
}
.story-headline{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  margin-top:2px;
}
.story-bignum{
  font-size:32px;font-weight:700;color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:-0.015em;line-height:1.05;
}
.story-bignum-pos{color:var(--green)}
.story-bignum-muted{color:var(--ink-4);font-size:24px;font-style:italic;font-weight:600}
.story-bignum-sub{
  font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:0.10em;
}

.story-pill{
  display:inline-flex;align-items:center;
  font-size:10.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  padding:4px 10px;border-radius:4px;border:1px solid transparent;white-space:nowrap;
}
.story-pill-equity{background:var(--green);color:var(--cream)}
.story-pill-safe  {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.story-pill-note  {background:rgba(124,75,168,0.14);color:#5C2F8E;border-color:rgba(124,75,168,0.25)}

.story-sub{
  font-size:13px;color:var(--ink-2);font-weight:500;
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
}
.story-sep{color:var(--ink-4)}

.story-lead{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:600;
  padding:5px 11px 5px 8px;border-radius:999px;
  width:max-content;max-width:100%;
}
.story-lead.lead-cvp{background:rgba(47,122,78,0.10);color:var(--green);border:1px solid rgba(47,122,78,0.22)}
.story-lead.lead-co {background:var(--cream);color:var(--ink-2);border:1px solid var(--line)}
.story-lead-dot{
  width:6px;height:6px;border-radius:50%;
  background:currentColor;flex-shrink:0;
}

.story-rows{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.story-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12.5px}
.story-row-l{color:var(--ink-3);font-weight:500}
.story-row-v{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}

.story-counsel{
  margin-top:14px;padding-top:12px;
  border-top:1px dashed var(--line);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:8px;
  font-size:11.5px;color:var(--ink-3);
}
.story-counsel-eye{
  font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;
  margin-right:10px;
}
.story-counsel-main{color:var(--ink-2)}
.story-counsel-main strong{color:var(--ink);font-weight:700}
.story-counsel-title{color:var(--ink-3);font-style:italic}
.story-counsel-stamp{
  font-family:var(--mono);font-size:10.5px;
  background:rgba(0,0,0,0.04);
  padding:3px 8px;border-radius:4px;border:1px solid var(--line);
  white-space:nowrap;
}
.story-counsel-pending{color:var(--amber);font-style:italic}

/* ─── At-a-glance summary callout (always visible below hero) ──── */
.atg{
  background:linear-gradient(135deg, #FFFFFF 0%, var(--cream) 100%);
  border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:14px 18px 16px;
  margin-bottom:14px;
  box-shadow:var(--shadow-1);
}
.atg-head{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:12px;
}
.atg-eyebrow{
  font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);
}
.atg-status{
  font-size:10.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;border:1px solid transparent;white-space:nowrap;
}
.atg-status-pos    {background:var(--green);color:var(--cream)}
.atg-status-neutral{background:var(--green-soft);color:var(--green);border-color:rgba(47,122,78,0.20)}
.atg-status-watch  {background:var(--amber-soft);color:var(--amber);border-color:rgba(186,117,23,0.25)}
.atg-status-locked {background:rgba(0,0,0,0.04);color:var(--ink-3);border-color:var(--line)}
.atg-grid{
  display:grid;grid-template-columns:repeat(8,1fr);gap:0;
  border-top:1px solid var(--line);
}
@media(max-width:1100px){.atg-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:640px){.atg-grid{grid-template-columns:repeat(2,1fr)}}
.atg-cell{
  padding:14px 16px 10px;
  display:flex;flex-direction:column;gap:4px;
  border-right:1px dashed var(--line);
}
.atg-cell:nth-child(8n),.atg-cell:last-child{border-right:none}
@media(max-width:1100px){
  .atg-cell:nth-child(8n){border-right:1px dashed var(--line)}
  .atg-cell:nth-child(4n),.atg-cell:last-child{border-right:none}
}
@media(max-width:640px){
  .atg-cell:nth-child(4n),.atg-cell:nth-child(8n){border-right:1px dashed var(--line)}
  .atg-cell:nth-child(2n),.atg-cell:last-child{border-right:none}
}
.atg-l{font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-3)}
.atg-v{font-size:18px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;line-height:1.15}
.atg-perf .atg-v{font-size:20px}
.atg-hi .atg-v{color:var(--green)}
.atg-lock .atg-v{color:var(--ink-4);font-style:italic}
.atg-lock{background:rgba(0,0,0,0.012)}

/* ─── Best-in-class sub-tabs (content-swap navigation) ────────── */
.stabs-wrap{display:flex;flex-direction:column}
.stabs{
  position:sticky;top:0;z-index:35;
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);
  margin-bottom:14px;
  box-shadow:0 1px 0 rgba(15,46,34,0.02);
  overflow:hidden;
}
.stabs-inner{
  display:flex;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.stabs-inner::-webkit-scrollbar{display:none}
.stab{
  flex-shrink:0;
  display:inline-flex;align-items:center;gap:8px;
  padding:13px 18px;
  font-family:inherit;
  font-size:13px;font-weight:600;color:var(--ink-3);
  border:none;border-bottom:2px solid transparent;
  background:transparent;cursor:pointer;
  white-space:nowrap;
  transition:color .12s, border-color .12s, background .12s;
}
.stab:hover{color:var(--ink);background:rgba(27,61,47,0.025)}
.stab.act{color:var(--ink);border-bottom-color:var(--green)}
.stab.act .stab-badge{background:var(--green);color:var(--cream);border-color:var(--green)}
.stab-l{}
.stab-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:18px;padding:1px 7px;
  font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2;
  border-radius:999px;
  background:rgba(0,0,0,0.05);color:var(--ink-3);
  border:1px solid var(--line);
  transition:background .12s, color .12s, border-color .12s;
}
.tab-pane{display:none}
.tab-pane.act{display:block;animation:tab-fade-in .18s ease-out}
@keyframes tab-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to   { opacity: 1; transform: translateY(0); }
}
.co-pane{display:flex;flex-direction:column;gap:14px}

/* ─── Sticky in-page section nav ────────────────────────────────── */
.ipnav{
  position:sticky;top:0;z-index:35;
  background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);
  margin-bottom:14px;
  box-shadow:0 1px 0 rgba(0,0,0,0.02);
  overflow:hidden;
}
.ipnav-inner{
  display:flex;gap:2px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.ipnav-inner::-webkit-scrollbar{display:none}
.ipnav-link{
  flex-shrink:0;
  padding:11px 16px;
  font-size:12.5px;font-weight:600;color:var(--ink-2);
  border:none;border-bottom:2px solid transparent;
  background:transparent;cursor:pointer;text-decoration:none;
  white-space:nowrap;
  transition:color .12s, border-color .12s, background .12s;
}
.ipnav-link:hover{color:var(--ink);background:rgba(27,61,47,0.03)}
.ipnav-link.act{color:var(--ink);border-bottom-color:var(--green);background:rgba(47,122,78,0.04)}

/* ─── consolidated news/press/deal-log layout (L2) ──────────────── */
.newsbody{display:flex;flex-direction:column;padding:6px 18px 14px}
.newsbody-block{padding:12px 0;border-bottom:1px dashed var(--line)}
.newsbody-block:last-child{border-bottom:none}
.newsbody-eyebrow{
  font-size:10px;font-weight:700;letter-spacing:0.13em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:8px;
}

/* ─── outline button (paired with btn-ghost on the materials panel) */
.btn-outline{background:var(--white);color:var(--ink);border-color:var(--line-2)}
.btn-outline:hover{border-color:var(--ink);background:rgba(27,61,47,0.03)}

/* ─── original investor materials embed ────────────────────────── */
.materials-intro{padding:14px 18px 0;color:var(--ink-2);font-size:13px}
.materials-actions{display:flex;flex-wrap:wrap;gap:10px;padding:10px 18px 0}
.materials-frame{
  display:block;width:100%;height:780px;
  margin-top:14px;
  border:1px solid var(--line);border-top:none;
  border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);
  background:var(--cream);
}
@media(max-width:780px){.materials-frame{height:520px}}

/* ─── admin console (path = /admin) ──────────────────────────────── */
.admin{min-height:100vh;background:var(--bg)}
.admin.hidden{display:none}
.admin-tb{display:flex;align-items:center;gap:18px;padding:18px 28px;border-bottom:1px solid var(--line);background:var(--cream)}
.admin-tb-mark{display:flex;align-items:center;gap:14px}
.admin-tb-logo{height:38px;width:auto;display:block;flex-shrink:0}
.admin-tb-text{display:flex;flex-direction:column;line-height:1.15;padding-left:14px;border-left:1px solid var(--line-2)}
.admin-tb-line2{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-3)}
.admin-tb-spacer{flex:1}
.admin-tb-user{font-size:13px;color:var(--ink-2)}
.admin-tb-signout{font:inherit;font-size:12.5px;background:transparent;border:1px solid var(--line-2);color:var(--ink);padding:6px 12px;border-radius:6px;cursor:pointer}
.admin-tb-signout:hover{background:var(--cream-2)}
.admin-tabs{display:flex;gap:0;padding:0 28px;border-bottom:1px solid var(--line);background:var(--cream)}
.admin-tab{font:inherit;font-size:13px;background:transparent;border:none;color:var(--ink-2);padding:12px 18px;cursor:pointer;border-bottom:2px solid transparent;letter-spacing:0.02em}
.admin-tab:hover{color:var(--ink)}
.admin-tab.act{color:var(--ink);border-bottom-color:var(--ink)}
.admin-main{padding:24px 28px 60px;max-width:1200px}
.admin-pane{display:none}
.admin-pane.visible{display:block}
.admin-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px;margin-bottom:20px}
.admin-card-h{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);margin:0 0 14px}
.admin-help{color:var(--ink-2);font-size:12.5px;line-height:1.55;margin:0 0 16px}
.admin-loading,.admin-empty{color:var(--ink-3);font-size:13px;padding:20px 0;text-align:center}
.admin-error{color:#9a3a2a;background:rgba(154,58,42,0.06);border:1px solid rgba(154,58,42,0.18);border-radius:6px;padding:10px 12px;font-size:13px;margin:6px 0}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--ink-3);padding:8px 10px;border-bottom:1px solid var(--line-2)}
.admin-table td{padding:10px 10px;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle}
.admin-table tr:last-child td{border-bottom:none}
.admin-table td:nth-child(1),.admin-table td:nth-child(2){font-family:var(--mono);font-size:12px}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin-bottom:0;max-width:860px}
.admin-field{display:flex;flex-direction:column;gap:7px}
.admin-field-l{font-size:10.5px;font-weight:700;letter-spacing:0.10em;text-transform:uppercase;color:var(--ink-3)}
.admin-field input,.admin-field select{font:inherit;font-size:14px;color:var(--ink);height:42px;padding:0 13px;border:1px solid var(--line-2);border-radius:8px;background:var(--white);transition:border-color .15s ease,box-shadow .15s ease}
.admin-field input::placeholder{color:var(--ink-3)}
.admin-field input:hover,.admin-field select:hover{border-color:var(--ink-3)}
.admin-field input:focus,.admin-field select:focus{border-color:var(--ink);outline:none;box-shadow:0 0 0 3px rgba(27,61,47,0.10)}
/* Kill native OS select chrome (the cheap beveled chevron) for one quiet
   ink chevron that matches the editorial palette on every platform. */
.admin-field select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%231B3D2F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:11px 8px}
.admin-field select::-ms-expand{display:none}
.admin-form-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;align-items:center}
.admin-btn{font:inherit;font-size:13px;font-weight:500;background:var(--ink);color:var(--cream);border:none;padding:10px 18px;border-radius:6px;cursor:pointer;letter-spacing:0.02em}
.admin-btn:hover{opacity:0.92}
.admin-btn:disabled{opacity:0.5;cursor:default}
.admin-btn-mini{padding:6px 12px;font-size:11.5px}
/* Disable is reversible -> quiet amber outline. Delete is destructive ->
   guarded red (below). Emphasis must escalate with consequence. */
.admin-btn-warn{background:transparent;color:#9a6400;border:1px solid rgba(154,100,0,0.42)}
.admin-btn-warn:hover{background:#9a6400;color:var(--cream);opacity:1}
.admin-btn-danger{background:transparent;color:#9a3a2a;border:1px solid rgba(154,58,42,0.45)}
.admin-btn-danger:hover{background:#9a3a2a;color:var(--cream);opacity:1}
.admin-btn-ghost{background:transparent;color:var(--ink-2,#5F6B64);border:1px solid rgba(27,61,47,0.22)}
.admin-btn-ghost:hover{background:rgba(27,61,47,0.06);opacity:1}
.admin-td-actions{white-space:nowrap}
.admin-td-actions .admin-btn-mini{margin-left:6px}
.admin-td-actions .admin-btn-mini:first-child{margin-left:0}
.admin-search{width:100%;font:inherit;font-size:13px;padding:9px 12px;margin-bottom:14px;
  border:1px solid var(--line-2);border-radius:6px;background:var(--cream);color:var(--ink)}
.admin-search:focus{outline:none;border-color:var(--ink-3)}
.admin-msg{margin-top:12px;font-size:12.5px;min-height:18px}
.admin-msg.ok{color:#1f6b4a}
.admin-msg.err{color:#9a3a2a}
.admin-pill{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.10em;padding:3px 8px;border-radius:99px}
.admin-pill-ok{background:rgba(31,107,74,0.12);color:#1f6b4a}
.admin-pill-warn{background:rgba(154,58,42,0.12);color:#9a3a2a}
/* Access tier pills: L2 carries the gilt accent (privileged), L1 stays quiet. */
.admin-pill-l2{background:var(--gilt-soft,rgba(192,138,63,0.12));color:var(--gilt,#9a6400);border:1px solid rgba(192,138,63,0.30)}
.admin-pill-l1{background:rgba(107,109,116,0.10);color:var(--ink-3)}
.admin-td-actions{text-align:right;white-space:nowrap}
/* Center the console + give it a comfortable measure (kills dead right-side space). */
.admin-main{margin:0 auto}
/* Zebra + hover so a long roster stays scannable. */
.admin-table tbody tr:nth-child(even){background:var(--cream-2,rgba(0,0,0,0.015))}
.admin-table tbody tr:hover{background:var(--accent-soft,rgba(27,61,47,0.05))}
/* Dashboard stat strip — one bordered instrument with hairline dividers
   (the 1px grid gap reveals the --line backing), not six floaty cards. */
.admin-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-bottom:24px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
@media(max-width:900px){.admin-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.admin-stats{grid-template-columns:repeat(2,1fr)}}
.admin-stat{background:var(--white);border:none;border-radius:0;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.admin-stat-v{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.admin-stat-v.accent{color:var(--accent)}
.admin-stat-v.gilt{color:var(--gilt,#9a6400)}
.admin-stat-l{font-size:9.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3)}
/* Pending-requests count badge on the tab. */
.admin-tab-badge{display:inline-block;min-width:17px;text-align:center;font-size:10px;font-weight:700;line-height:16px;
  margin-left:7px;padding:0 5px;border-radius:99px;background:#9a3a2a;color:var(--cream);vertical-align:middle}
/* Sortable header affordance. */
.admin-table th.sortable{cursor:pointer;user-select:none}
.admin-table th.sortable:hover{color:var(--ink)}
.admin-table th .sort-caret{opacity:0.5;font-size:9px;margin-left:3px}
.admin-copy{font:inherit;font-size:11px;background:none;border:none;color:var(--ink-3);cursor:pointer;padding:0 0 0 6px}
.admin-copy:hover{color:var(--accent)}
.admin-command{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px;margin-bottom:20px}
.admin-command-kicker{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:5px}
.admin-command-title{font-family:var(--serif);font-size:22px;font-weight:500;color:var(--ink);margin:0 0 6px}
.admin-command .admin-help{max-width:680px;margin:0}
.admin-flash{background:rgba(31,107,74,0.08);border:1px solid rgba(31,107,74,0.20);border-radius:6px;padding:10px 12px;margin:0 0 16px}
.admin-list-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.admin-list-tools .admin-card-h{margin:0}
.admin-search-inline{max-width:460px;margin:0}
.admin-subtext{font-size:11.5px;color:var(--ink-3);line-height:1.35;margin-top:4px}
.admin-pill-accent{background:var(--gilt-soft,rgba(192,138,63,0.12));color:var(--gilt,#9a6400);border:1px solid rgba(192,138,63,0.30)}
/* The pill sits on its own tinted ground, and on a striped row that ground
   is darker still (#dee3e2), where --ink-3 lands at 4.32:1. Solve for the
   pill rather than darkening the global tertiary ink, which would collapse
   it back toward --ink-2 and flatten the three-step ladder. */
.admin-pill-muted{background:rgba(107,109,116,0.10);color:#4A6659}
.admin-admissions-table td:first-child{font-family:var(--mono);font-size:12px}
.admin-admission-cards{display:none}
/* iPad / intermediate widths (601-1024px): the 7-column roster table is wider
   than the viewport, but the mobile card layout only engages at <=600. Let the
   table scroll inside its own box here so the page never overflows sideways.
   Desktop (>=1025) keeps the full-width table; phones (<=600) use cards. */
@media (min-width:601px) and (max-width:1024px){
  .admin-admissions-table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
.admin-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.admin-check{display:flex;align-items:center;gap:9px;margin-top:18px;font-size:13px;color:var(--ink-2);cursor:pointer}
.admin-check input{width:16px;height:16px;accent-color:var(--ink)}
.admin-drawer-open{overflow:hidden}
.admin-drawer{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end;pointer-events:none}
.admin-drawer.is-open{pointer-events:auto}
.admin-drawer-backdrop{position:absolute;inset:0;border:none;background:rgba(15,24,20,0.22);opacity:0;transition:opacity .16s ease;cursor:pointer}
.admin-drawer.is-open .admin-drawer-backdrop{opacity:1}
.admin-drawer-card{position:relative;z-index:1;width:min(560px,calc(100vw - 28px));height:100%;background:#fff;border-left:1px solid var(--line);box-shadow:-24px 0 60px rgba(15,24,20,0.14);transform:translateX(100%);transition:transform .18s ease;display:flex;flex-direction:column}
.admin-drawer.is-open .admin-drawer-card{transform:translateX(0)}
.admin-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--line);background:var(--cream)}
.admin-drawer-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.admin-drawer-title{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--ink);margin:0;line-height:1.1}
.admin-drawer-close{font:inherit;font-size:12px;background:transparent;border:1px solid var(--line-2);color:var(--ink);padding:7px 11px;border-radius:6px;cursor:pointer}
.admin-drawer-close:hover{background:var(--cream-2)}
.admin-drawer-body{padding:22px 24px 34px;overflow:auto}
.admin-addlp .admin-form-grid{grid-template-columns:1fr 1fr;max-width:none}
.admin-newfirm.hidden{display:none}
.admin-user-detail{display:flex;flex-direction:column;gap:20px}
.admin-detail-section{border-top:1px solid var(--line);padding-top:18px}
.admin-detail-section:first-child{border-top:none;padding-top:0}
.admin-detail-section h3{font-size:10.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 12px}
.admin-detail-grid{display:grid;grid-template-columns:120px 1fr;gap:9px 16px;margin:0;font-size:13px}
.admin-detail-grid dt{color:var(--ink-3);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;font-size:10px}
.admin-detail-grid dd{margin:0;color:var(--ink)}
.admin-status-stack{display:flex;flex-direction:column;gap:9px;color:var(--ink-2);font-size:13px}
.admin-timeline{display:flex;flex-direction:column;gap:0}
.admin-timeline-item{display:grid;grid-template-columns:18px 1fr;gap:10px;position:relative;padding:0 0 16px}
.admin-timeline-item:before{content:"";position:absolute;left:6px;top:13px;bottom:0;width:1px;background:var(--line)}
.admin-timeline-item:last-child:before{display:none}
.admin-timeline-dot{width:13px;height:13px;border-radius:99px;background:var(--white);border:2px solid var(--gilt,#9a6400);margin-top:2px}
.admin-timeline-label{font-size:13px;color:var(--ink);line-height:1.35}
.admin-timeline-meta{font-size:11.5px;color:var(--ink-3);line-height:1.35;margin-top:2px}
.admin-empty-left{text-align:left;padding:4px 0}
/* Security is an operational pane inside the existing console, not a second
   visual system. Hairlines and continuous instruments keep dense status
   readable without turning the page into a grid of dashboard cards. */
.admin-security-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:2px 0 22px}
.admin-security-title{font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.05;color:var(--ink);margin:0 0 7px}
.admin-security-head .admin-help{margin:0}
.admin-security-head-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}
.admin-security-status{font-size:11.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.admin-security-refresh{padding:7px 13px}
.admin-security-posture{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);gap:1px;overflow:hidden;margin-bottom:24px}
.admin-security-posture-item{background:var(--white);padding:16px 17px;min-width:0}
.admin-security-posture-label{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--ink-3);margin-bottom:9px}
.admin-security-state{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:7px}
.admin-security-state-dot{width:7px;height:7px;border-radius:50%;background:var(--ink-3);flex:0 0 auto}
.admin-security-state.is-ok .admin-security-state-dot{background:#1f6b4a;box-shadow:0 0 0 4px rgba(31,107,74,.08)}
.admin-security-state.is-attention .admin-security-state-dot{background:#9a3a2a;box-shadow:0 0 0 4px rgba(154,58,42,.08)}
.admin-security-state.is-unavailable{color:var(--ink-3)}
.admin-security-posture-note{font-size:11px;line-height:1.4;color:var(--ink-3)}
.admin-security-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:20px;margin-bottom:20px}
.admin-security-section{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px;min-width:0}
.admin-security-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.admin-security-section-head h2{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--ink);margin:0}
.admin-security-section-head span{font-size:10.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.admin-security-health-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}
.admin-security-health-row:last-child{border-bottom:none;padding-bottom:0}
.admin-security-health-label{display:block;font-size:12.5px;color:var(--ink)}
.admin-security-health-time{display:block;font-size:10px;color:var(--ink-3);margin-top:3px}
.admin-security-health-row strong{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
.admin-security-health-row.is-attention strong{color:#9a3a2a}
.admin-security-health-row.is-unavailable strong{color:var(--ink-3);font-family:var(--sans);font-weight:500}
.admin-security-control-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.admin-security-control-row:last-child{border-bottom:none;padding-bottom:0}
.admin-security-control-row strong{display:block;font-size:12.5px;font-weight:600;color:var(--ink);margin-bottom:4px}
.admin-security-control-row p{font-size:11px;line-height:1.4;color:var(--ink-3);margin:0}
.admin-security-control-mode{font-size:10px;font-weight:700;white-space:nowrap;color:var(--ink-3);padding-top:2px}
.admin-security-control-mode.is-ok{color:#1f6b4a}
.admin-security-control-mode.is-attention{color:#9a3a2a}
.admin-security-events{margin-bottom:20px}
.admin-security-events-head{align-items:center}
.admin-security-events-head>div>span{display:block;margin-top:4px}
.admin-security-search{width:240px;margin:0;padding:7px 10px;background:var(--white)}
.admin-security-events-body{overflow-x:auto}
.admin-security-events-table td:first-child{font-family:var(--sans);white-space:nowrap}
.admin-security-events-table td:nth-child(2),.admin-security-events-table td:nth-child(4){font-family:var(--mono);font-size:11.5px}
.admin-security-event-cards{display:none}
@media(max-width:1024px){
  .admin-security-posture{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-security-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .admin-form-grid{grid-template-columns:1fr}
  .admin-main{padding:18px 16px 40px}
  .admin-tb{padding:14px 16px}
  .admin-tabs{padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .admin-tab{white-space:nowrap}
  /* Wide tables (7 cols + action clusters) scroll inside the card instead
     of spilling past its edge on phones. */
  .admin-card{overflow-x:auto}
  .admin-command{display:block;padding:20px;margin-bottom:16px}
  .admin-command .admin-btn{margin-top:16px;width:100%}
  .admin-list-tools{display:block}
  .admin-search-inline{max-width:none;margin-top:12px}
  .admin-card-admissions{background:transparent;border:none;padding:0;overflow:visible}
  .admin-card-admissions>.admin-list-tools{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;margin-bottom:14px}
  .admin-admissions-table{display:none}
  .admin-admission-cards{display:flex;flex-direction:column;gap:12px}
  .admin-admission-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:17px 18px}
  .admin-admission-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
  .admin-admission-card h3{font-family:var(--serif);font-size:20px;font-weight:500;color:var(--ink);margin:0 0 3px}
  .admin-admission-card p{font-family:var(--mono);font-size:12px;color:var(--ink-2);line-height:1.35;margin:0;overflow-wrap:anywhere}
  .admin-admission-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 16px;margin-bottom:16px}
  .admin-admission-card-grid span{display:block;font-size:9.5px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
  .admin-admission-card-grid strong{display:block;font-size:13px;font-weight:500;color:var(--ink);line-height:1.35}
  .admin-card-actions .admin-btn-mini{flex:1;min-width:100px}
  .admin-drawer-card{width:100%;border-left:none}
  .admin-drawer-head{padding:18px}
  .admin-drawer-body{padding:18px}
  .admin-addlp .admin-form-grid{grid-template-columns:1fr}
  .admin-detail-grid{grid-template-columns:1fr;gap:3px 0}
  .admin-security-head{align-items:flex-start;margin-bottom:18px}
  .admin-security-head-actions{display:block;text-align:right}
  .admin-security-status{display:block;margin-bottom:8px;max-width:145px}
  .admin-security-posture{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}
  .admin-security-posture-item{padding:14px}
  .admin-security-section{padding:17px 18px}
  .admin-security-events-head{display:block}
  .admin-security-search{width:100%;margin-top:12px}
  .admin-security-events-table{display:none}
  .admin-security-event-cards{display:flex;flex-direction:column}
  .admin-security-event-card{padding:14px 0;border-bottom:1px solid var(--line)}
  .admin-security-event-card:last-child{border-bottom:none;padding-bottom:0}
  .admin-security-event-card-head,.admin-security-event-card-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
  .admin-security-event-card-head strong{font-family:var(--mono);font-size:11.5px;color:var(--ink)}
  .admin-security-event-card-head time,.admin-security-event-card-meta{font-size:10.5px;color:var(--ink-3)}
  .admin-security-event-card-result{font-size:13px;color:var(--ink);margin:7px 0}
  .admin-security-event-card-meta span{overflow-wrap:anywhere}
}
@media(max-width:430px){
  .admin-security-head{display:block}
  .admin-security-head-actions{display:flex;justify-content:space-between;text-align:left;margin-top:14px}
  .admin-security-status{margin:0;max-width:none}
  .admin-security-posture{grid-template-columns:1fr}
}

/* ─── print ─────────────────────────────────────────────────────── */
@media print{
  .sidebar,.titlebar,.modal,.boot,.sb-foot,.btn,.l2-locked-card{display:none!important}
  .main{padding:0;overflow:visible}
  body,html{background:var(--white);overflow:visible;height:auto}
  .watermark{position:fixed;bottom:8px;background:transparent;border:none}
}

/* ─── performance chart (Performance tab) ─────────────────────────
   Editorial broadsheet treatment: three 'Playfair Display' headline numbers
   anchor the page; one hero NAV trajectory chart underneath; the
   round timeline is a typographic strip beneath the baseline,
   not a separate bar chart. Company valuation and blended MOIC
   live in the headlines, not in the chart. */
.perf-wrap{padding:4px 6px 8px}

.perf-eyebrow{
  font-family:var(--mono);font-size:10.5px;font-weight:600;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--ink-3);
  margin:2px 2px 18px;
  padding-bottom:10px;
  border-bottom:1px solid var(--ink-4);
}

.perf-head{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;
  margin:0 0 22px;
}
.perf-cell{
  padding:6px 22px 8px;
  border-left:1px solid var(--ink-4);
  min-width:0;
}
.perf-cell:first-child{padding-left:4px;border-left:none}
.perf-cell-primary{
  /* The protagonist gets a single gilt rule on its leading edge. */
  border-left:2px solid var(--gilt);
  padding-left:18px;
}
.perf-head .perf-cell:first-child.perf-cell-primary{padding-left:18px}

.perf-cell-l{
  font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;
  color:var(--ink-3);
  margin-bottom:6px;
}
.perf-cell-v{
  font-family:var(--serif);font-weight:500;
  font-size:42px;line-height:1.02;
  letter-spacing:-0.012em;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum","lnum";
  margin:0 0 7px;
}
.perf-cell-primary .perf-cell-v{color:var(--ink)}
.perf-cell-s{
  font-family:var(--font);font-size:12.5px;line-height:1.4;
  color:var(--ink-2);font-style:italic;
}

.perf-rule{
  height:1px;background:var(--ink-4);
  margin:0 0 16px;
}

.perf-hero{
  display:block;width:100%;height:auto;
  max-height:380px;
  overflow:visible;        /* let endpoint labels breathe past the viewBox edge */
}

/* SVG primitives — controlled via CSS classes rather than inline attrs
   so theming and reduced-motion overrides have a single home. */
.perf-grid{stroke:var(--ink-4);stroke-width:1;opacity:0.55}
.perf-baseline{stroke:var(--ink-3);stroke-width:1}
.perf-ytick{
  font-family:var(--mono);font-size:10.5px;
  fill:var(--ink-3);font-variant-numeric:tabular-nums;
}

.perf-area{fill:var(--green-soft);opacity:0;transition:opacity 700ms ease 250ms}
.perf-mounted .perf-area{opacity:1}

.perf-line{
  fill:none;stroke:var(--ink);stroke-width:2.25;
  stroke-linejoin:round;stroke-linecap:round;
}
.perf-line-draw{
  animation:perf-draw 1100ms cubic-bezier(0.4,0.0,0.2,1) forwards;
}
@keyframes perf-draw{
  to{stroke-dashoffset:0}
}

.perf-dot{fill:var(--ink);opacity:0;transition:opacity 280ms ease}
.perf-mounted .perf-dot{opacity:1;transition-delay:1050ms}
.perf-dot-last{
  fill:var(--ink);stroke:var(--cream,#F7FAF9);stroke-width:2;
}
.perf-mounted .perf-dot-last{transition-delay:1150ms}

.perf-tether{stroke:var(--ink-3);stroke-width:1;opacity:0;transition:opacity 280ms ease}
.perf-mounted .perf-tether{opacity:1;transition-delay:1150ms}

/* MOIC trajectory ribbon — replaces the prior MOIC line chart whose
   compressed y-axis made multipliers feel small. Each round is a stop
   on a horizontal track. No axis. Numbers are the visual. */
.perf-eyebrow-sub{margin-top:32px}
.perf-ribbon{padding:8px 0 24px;margin-top:6px}
.perf-ribbon-track{position:relative;padding:14px 0 0}
.perf-ribbon-track::before{
  content:"";position:absolute;left:6%;right:6%;
  top:calc(50% - 1px);height:2px;background:var(--ink-3);border-radius:1px;
}
.perf-ribbon-stops{display:flex;align-items:center;justify-content:space-between;
  position:relative;padding:0 4%}
.perf-ribbon-stop{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  min-width:0;flex:1;text-align:center;position:relative;
}
/* Labels carry the page background so the absolute trajectory line
   underneath gets visually broken at each stop instead of slicing
   through "blended" text. z-index keeps them above the ::before line. */
.perf-ribbon-fc-v{
  font-family:var(--serif);font-weight:600;
  color:var(--ink);font-variant-numeric:tabular-nums;
  font-size:30px;line-height:1.05;
  position:relative;z-index:1;
  background:var(--bg, #F8FAF9);padding:0 8px;
}
.perf-ribbon-stop-last .perf-ribbon-fc-v{
  font-size:42px;color:var(--gilt-deep, var(--ink));
}
.perf-ribbon-fc-l{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-2);
  position:relative;z-index:1;
  background:var(--bg, #F8FAF9);padding:0 6px;
}
.perf-ribbon-bl-v{
  font-family:var(--mono);font-size:11px;color:var(--ink-2);
  font-variant-numeric:tabular-nums;margin-top:4px;margin-bottom:4px;
  position:relative;z-index:1;
  background:var(--bg, #F8FAF9);padding:1px 6px;
}
.perf-ribbon-dot{
  width:12px;height:12px;border-radius:50%;
  background:var(--ink);border:2px solid #fff;
  box-shadow:0 0 0 1px var(--ink-3);
  margin:6px 0 8px;
}
.perf-ribbon-dot-last{
  width:18px;height:18px;background:var(--gilt);
  box-shadow:0 0 0 1px var(--gilt);
}
.perf-ribbon-meta{display:flex;flex-direction:column;gap:2px}
.perf-ribbon-round{
  font-family:var(--sans, system-ui);font-size:12.5px;font-weight:600;
  color:var(--ink);
}
.perf-ribbon-date{
  font-family:var(--mono);font-size:10.5px;color:var(--ink-2);
  font-variant-numeric:tabular-nums;
}

.perf-endpoint-v{
  font-family:var(--serif);font-size:18px;font-weight:600;
  fill:var(--ink);font-variant-numeric:tabular-nums;
  opacity:0;transition:opacity 320ms ease,transform 320ms ease;
  transform:translateY(2px);
}
.perf-endpoint-l{
  font-family:var(--mono);font-size:9.5px;font-weight:600;
  letter-spacing:0.14em;text-transform:uppercase;
  fill:var(--ink-3);
  opacity:0;transition:opacity 320ms ease;
}
.perf-mounted .perf-endpoint-v{opacity:1;transform:translateY(0);transition-delay:1200ms}
.perf-mounted .perf-endpoint-l{opacity:1;transition-delay:1260ms}

.perf-startpoint-v{
  font-family:var(--mono);font-size:10.5px;font-weight:600;
  fill:var(--ink-3);font-variant-numeric:tabular-nums;
  opacity:0;transition:opacity 320ms ease;
}
.perf-mounted .perf-startpoint-v{opacity:1;transition-delay:1300ms}

.perf-roundtick{stroke:var(--ink-3);stroke-width:1;opacity:0;transition:opacity 220ms ease}
.perf-mounted .perf-roundtick{opacity:1;transition-delay:900ms}

.perf-strip-date{
  font-family:var(--mono);font-size:10px;font-weight:600;
  letter-spacing:0.04em;text-transform:uppercase;
  fill:var(--ink);
  opacity:0;transition:opacity 280ms ease;
}
.perf-strip-round{
  font-family:var(--font);font-size:11.5px;font-style:italic;
  fill:var(--ink-2);
  opacity:0;transition:opacity 280ms ease;
}
.perf-strip-inv{
  font-family:var(--mono);font-size:10.5px;font-weight:600;
  fill:var(--gilt);font-variant-numeric:tabular-nums;
  opacity:0;transition:opacity 280ms ease;
}
.perf-mounted .perf-strip-date{opacity:1;transition-delay:950ms}
.perf-mounted .perf-strip-round{opacity:1;transition-delay:1000ms}
.perf-mounted .perf-strip-inv{opacity:1;transition-delay:1050ms}

.perf-foot{
  margin:18px 4px 0;
  font-family:var(--font);font-size:12px;line-height:1.55;
  color:var(--ink-3);
  border-top:1px solid var(--ink-4);
  padding-top:12px;
  max-width:62ch;
}
.perf-foot em{color:var(--ink-2);font-style:italic}

/* Tighten on smaller widths — three columns become one stack but
   keep the typographic hierarchy. */
@media (max-width:760px){
  .perf-head{grid-template-columns:1fr;gap:14px}
  .perf-cell,
  .perf-cell:first-child,
  .perf-cell-primary{
    border-left:none;padding:10px 4px 0;
    border-top:1px solid var(--ink-4);
  }
  .perf-cell:first-child{border-top:none}
  .perf-cell-primary{border-left:none;border-top:2px solid var(--gilt);padding-top:12px}
  .perf-cell-v{font-size:34px}
}

@media (prefers-reduced-motion: reduce){
  .perf-line-draw{animation:none}
  .perf-line{stroke-dasharray:none !important;stroke-dashoffset:0 !important}
  .perf-area,.perf-dot,.perf-tether,.perf-endpoint-v,.perf-endpoint-l,
  .perf-startpoint-v,.perf-roundtick,
  .perf-strip-date,.perf-strip-round,.perf-strip-inv{
    opacity:1 !important;transform:none !important;transition:none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE LAYER · added 2026-05-19
   ───────────────────────────────────────────────────────────────────
   The Deal OS aesthetic is editorial: Newsreader body, 'Playfair Display'
   display, Inter label accents, ink #1B3D2F / cream #F6FAF8 /
   gilt #c08a3f. Mobile refits the same content into narrow viewports
   without redesigning. Breakpoints:
     · ≤ 1024px — collapse two-column layouts inside views
     · ≤ 860px  — collapse the app shell sidebar above the main pane
     · ≤ 600px  — phone-size: dense type, single-column tables,
                  reduce padding, scroll horizontally on data tables
   ═══════════════════════════════════════════════════════════════════ */

/* ── 1024px · in-view two-column collapses ──────────────────────── */
@media (max-width: 1024px) {
  /* Attribution: treemap | waterfall side-by-side → stack */
  .attr-summary { grid-template-columns: 1fr !important; }
  /* Sourcing channels grid (3 cols at desktop) → 2 cols */
  .src-channels { grid-template-columns: 1fr 1fr; }
  /* Hero on company page → vertical */
  .hero-body { flex-direction: column; }
}

/* ── 860px · the shell collapses (sidebar above main) ───────────── */
@media (max-width: 860px) {
  .shell { flex-direction: column; }
  .sidebar {
    width: 100%;
    flex-shrink: 0;
    border-right: none;
    border-bottom: 1px solid var(--line);
    /* Cap vertical sidebar height on mobile so the main view is
       reachable without infinite scroll. Sidebar becomes a scrolling
       header strip with full nav. */
    max-height: 50vh;
  }
  .sb-section { padding: 10px 0 4px; }
  .sidebar { overflow-y: auto; }
  .sb-section-companies { display: block; overflow: visible; }
  .sb-section-companies #sb-companies { overflow: visible; }
  .sb-section-h { padding: 0 16px 6px; font-size: 9.5px; }
  .sb-item { padding: 7px 14px; font-size: 12.5px; }
  .sb-foot { padding: 10px 14px; }
  .main { padding: 20px 18px 56px; }
  .h-display { font-size: 26px; }

  /* Sourcing channels → 1 column */
  .src-channels { grid-template-columns: 1fr; }

  /* Per-company hero numbers */
  .hero-logo { width: 88px; height: 88px; }
  .hero-ident-name { font-size: 24px; }
}

/* ── 600px · phone-size, the densest refit ──────────────────────── */
@media (max-width: 600px) {
  .main { padding: 16px 14px 56px; }
  .h-display { font-size: 22px; }
  .eyebrow { font-size: 9.5px; }

  /* Sidebar in phone mode: header-strip-tight */
  .sidebar { max-height: 42vh; }
  .sb-item { padding: 6px 14px; font-size: 12px; }

  /* Page header meta pills wrap nicely */
  .h-meta { flex-wrap: wrap; gap: 6px; }
  .h-meta-pill { font-size: 9.5px; padding: 2px 8px; }

  /* FOV (Fund Overview) rows — restack tighter */
  .fov-kpis { grid-template-columns: 1fr 1fr !important; }
  .fov-kpi-v { font-size: 22px; }

  /* Hero card */
  .hero-logo { width: 72px; height: 72px; }
  .hero-ident-name { font-size: 20px; }
  .hero-meta { font-size: 11.5px; }

  /* Wide tables scroll horizontally inside their wrap */
  .tablewrap,
  .src-table { overflow-x: auto; }
  table { font-size: 12px; }
  thead th { font-size: 10px; padding: 8px 10px; }
  tbody td { padding: 7px 10px; }

  /* Attribution summary stacks vertically + reduces gap */
  .attr-summary { gap: 14px !important; padding: 12px !important; }

  /* Channel cards padding */
  .src-channel { padding: 14px 16px !important; }
  .src-channel-head {
    display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center;
  }
  .src-channel-count { font-size: 11px; }

  /* Channel mix vintage stacked-column chart — smaller cols on phone */
  /* Targets the inline `display:flex;gap:32px` set in buildChannelMixByVintage */
  .card .body[style*="flex-end"],
  .card div[style*="flex-end"][style*="gap:32px"] {
    gap: 14px !important;
  }

  /* Hypothetical disclaimer block — narrower padding */
  .hypo-disclaimer { padding: 8px 12px !important; }

  /* MOIC variants strip stacks */
  .metric-strip { flex-wrap: wrap; gap: 12px; }
  .strip-cell { min-width: 45%; }

  /* Performance NAV/MOIC charts: SVGs use viewBox + preserveAspectRatio
     so they scale automatically. Just ensure their wraps don't add
     horizontal padding that crops them. */
  .perf-wrap { padding: 0 2px; }
  .perf-hero { width: 100% !important; height: auto !important; }

  /* MOIC ribbon stops — shrink number on phone but keep readable */
  .perf-ribbon-fc-v { font-size: 22px; }
  .perf-ribbon-stop-last .perf-ribbon-fc-v { font-size: 30px; }
  .perf-ribbon-stops { padding: 0 2%; }

  /* Sourcing detail table rows already collapse to single column at
     880px via the existing .src-row rule; tighten the typography. */
  .src-row-co { font-size: 14px; }
  .src-row-meta { font-size: 11px; }

  /* Per-company hero number facts */
  .hero-fact-v { font-size: 16px; }
  .hero-fact-k { font-size: 9.5px; }

  /* Memo content panels */
  .panel { padding: 14px 16px; }
  .panel-h { font-size: 15px; }
  .panel-tag { font-size: 9.5px; }
  .prose { font-size: 14.5px; line-height: 1.6; }

  /* Sub-tabs (Investment Profile / Performance) — wrap cleanly */
  .subtabs { flex-wrap: wrap; gap: 4px; }
  .subtab { font-size: 11.5px; padding: 6px 10px; }

  /* L2 unlock card */
  .l2-locked-card { padding: 22px 18px; }
  .l2-locked-card h2 { font-size: 18px; }

  /* The headline argument card (Sourcing tab top) keeps padding sane */
  .card { padding: 14px 16px; }
  .card-h { font-size: 13px; }
}

/* ── Wide-table horizontal scroll guard for narrow viewports ─────
   Many tables we added (fund-returning thresholds, by-sector, by-vintage,
   top-performers) have 5+ columns. Below 700px wrap them in a
   horizontally-scrolling container. The existing .tablewrap already
   has overflow-x:auto; ensure every standalone table also has it. */
@media (max-width: 700px) {
  .card > table,
  .card > div > table,
  section.s table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
  /* Make table cells less aggressive on wrap so headers stay readable */
  section.s table th,
  section.s table td {
    white-space: normal;
  }
}

/* ── Print fidelity (LP saving a PDF) ──────────────────────────────
   On print, sidebar disappears, main takes full width, links are ink
   not gilt to print cleanly. */
@media print {
  .sidebar, .sb-section { display: none !important; }
  .shell { display: block; }
  .main { padding: 0; background: white; }
  a { color: var(--ink); text-decoration: none; }
  .card { break-inside: avoid; }
}

/* ═════════════════════════════════════════════════════════════════
   Company page V2 — four-block IC-memo layout. Recommendation banner
   → temporal arc bar → 01 Investment / 02 Team / 03 Thesis / 04 Work.
   ═════════════════════════════════════════════════════════════════ */
.co-v2 { display:flex; flex-direction:column; gap:22px; }

/* — Recommendation banner — */
/* Recommendation banner — single institutional line. Dense, mono-ish
   feel so it reads like a deal slip, not a magazine pull-quote. */
.v2-recco {
  background: var(--cream);
  border: 1px solid var(--line);
  border-left: 3px solid var(--green);
  border-radius: 4px;
  padding: 12px 16px;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 16px;
  align-items: baseline;
}
.v2-recco-eye {
  font-family: var(--mono); font-size: 10px; font-weight: 700;
  letter-spacing: 0.20em; text-transform: uppercase; color: var(--green);
  white-space: nowrap;
}
.v2-recco-l {
  font-family: var(--font); font-size: 13.5px; font-weight: 500;
  letter-spacing: 0; line-height: 1.55; color: var(--ink);
}
@media(max-width:780px){
  .v2-recco { grid-template-columns: 1fr; row-gap: 4px; }
}

/* — Temporal arc bar — */
.v2-arc {
  background: var(--white);
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  box-shadow: var(--shadow-1);
  display: grid; grid-template-columns: 1fr auto 1fr;
  column-gap: 16px; row-gap: 0;
  padding: 20px 24px;
  align-items: center;
}
.v2-arc-side { display:flex; flex-direction:column; gap:4px; min-width:0; }
.v2-arc-side-r { text-align: right; align-items: flex-end; }
.v2-arc-eye {
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-3);
}
.v2-arc-v {
  font-family: var(--serif); font-size: 36px; font-weight: 500;
  letter-spacing: -0.6px; line-height: 1; color: var(--ink);
  font-variation-settings:"opsz" 48, "SOFT" 30, "WONK" 0;
}
.v2-arc-v-pos    { color: var(--green); }
.v2-arc-v-watch  { color: var(--amber); }
.v2-arc-v-locked { color: var(--ink-4); font-style: italic; font-size: 26px; }
.v2-arc-sub  { font-size: 13px; color: var(--ink-2); }
.v2-arc-foot { font-size: 11.5px; color: var(--ink-3); font-style: italic; margin-top: 4px; }
.v2-arc-arrow {
  font-family: var(--serif); font-size: 38px; color: var(--ink-3);
  align-self: center; line-height: 1; padding: 0 8px;
}
.v2-arc-toggle {
  grid-column: 1 / -1; justify-self: end;
  margin-top: 12px;
  font-family: var(--mono); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--green); background: transparent; border: none;
  cursor: pointer; padding: 4px 0;
  display: inline-flex; align-items: center; gap: 6px;
}
.v2-arc-toggle:hover { color: var(--ink); }
.v2-arc-toggle-caret { transition: transform 0.18s ease; display:inline-block; }
.v2-arc-toggle.open .v2-arc-toggle-caret { transform: rotate(180deg); }
.v2-arc-rounds {
  grid-column: 1 / -1;
  display: none;
  margin-top: 12px;
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.v2-arc-rounds.open { display: flex; flex-direction: column; gap: 6px; }
.v2-arc-round {
  display: grid;
  grid-template-columns: 110px 1fr auto auto 1fr;
  column-gap: 16px; align-items: baseline;
  padding: 6px 0; font-size: 13px; color: var(--ink-2);
  border-bottom: 1px dashed rgba(27,61,47,0.10);
}
.v2-arc-round:last-child { border-bottom: none; }
.v2-arc-round-date { font-family: var(--mono); font-size: 11.5px; color: var(--ink-3); }
.v2-arc-round-name { color: var(--ink); font-weight: 500; }
.v2-arc-round-cvp  { font-family: var(--mono); color: var(--ink); }
.v2-arc-round-post { font-size: 12px; color: var(--ink-3); }
.v2-arc-round-lead { font-size: 12px; color: var(--ink-3); font-style: italic; text-align: right; }
@media(max-width:780px){
  .v2-arc { grid-template-columns: 1fr; }
  .v2-arc-arrow { display: none; }
  .v2-arc-side-r { text-align: left; align-items: flex-start; border-top: 1px solid var(--line); padding-top: 14px; margin-top: 6px; }
}

/* — Two-column layout: main + sticky rail — */
.v2-layout {
  display: grid; grid-template-columns: 1fr 220px;
  column-gap: 36px; align-items: start;
}
@media(max-width:980px){
  .v2-layout { grid-template-columns: 1fr; }
  .v2-rail { display: none; }
}
.v2-main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.v2-rail {
  position: sticky; top: 92px; align-self: start;
  display: flex; flex-direction: column; gap: 2px;
  border-left: 1px solid var(--line); padding-left: 18px;
}
.v2-rail-link {
  display: flex; gap: 12px; align-items: baseline;
  padding: 8px 0; color: var(--ink-2); text-decoration: none;
  border-bottom: 1px dashed rgba(27,61,47,0.10);
  /* Button reset — TOC links are <button> elements now to avoid
     triggering hashchange. Reset default browser button chrome. */
  background: transparent; border-left: none; border-right: none;
  border-top: none; width: 100%; text-align: left; cursor: pointer;
  font: inherit;
}
.v2-rail-link:last-child { border-bottom: none; }
.v2-rail-link:hover { color: var(--ink); }
.v2-rail-link:focus { outline: none; }
.v2-rail-link:focus-visible { outline: 2px solid var(--green); outline-offset: 2px; }
.v2-rail-n {
  font-family: var(--mono); font-size: 10px; font-weight: 700;
  letter-spacing: 0.14em; color: var(--ink-3); min-width: 22px;
}
.v2-rail-l {
  font-family: var(--serif); font-size: 14.5px; font-weight: 500;
  color: var(--ink); letter-spacing: -0.2px;
}

/* — Block scaffold — */
.v2-block {
  background: var(--white);
  border: 1px solid var(--line); border-radius: 4px;
  box-shadow: none;
  padding: 18px 22px 22px;
  scroll-margin-top: 84px;
}
.v2-block-head {
  display: grid; grid-template-columns: auto 1fr; column-gap: 12px;
  align-items: baseline;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 14px;
}
.v2-block-num {
  font-family: var(--mono); font-size: 11px; font-weight: 700;
  letter-spacing: 0.20em; color: var(--green);
}
.v2-block-t {
  font-family: var(--serif); font-size: 19px; font-weight: 600;
  letter-spacing: -0.2px; color: var(--ink); line-height: 1.2;
  font-variation-settings:"opsz" 24, "SOFT" 0, "WONK" 0;
}

/* — Block subsection chrome — */
.v2-subhead-wrap { margin-top: 16px; margin-bottom: 8px; }
.v2-subhead-wrap:first-child { margin-top: 0; }
.v2-subhead {
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-2);
  padding-bottom: 4px;
  border-bottom: 1px dashed rgba(27,61,47,0.18);
}
.v2-mini {
  font-family: var(--mono); font-size: 10px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-3);
  margin: 10px 0 4px;
}
.v2-prose {
  font-family: var(--font); font-size: 14.5px; line-height: 1.6;
  color: var(--ink); margin: 0 0 8px;
}
.v2-prose:last-child { margin-bottom: 0; }
.v2-prose-italic { font-style: italic; color: var(--ink-2); }
/* Lead paragraph at the top of Block 01 — the underwriting case the
   LP sees on first scroll. Slightly larger and tighter to anchor the
   memo before the thesis pillars. */
.v2-prose-lead {
  font-size: 15.5px; line-height: 1.65;
  color: var(--ink); margin: 0 0 14px;
}

/* L2-gated subsection stub — shown on L1 Investment Profile where the
   content is forward-looking and Marketing-Rule gated. Soft cream card
   with a lock icon, never a clickthrough button. */
.v2-locked {
  border: 1px solid var(--line);
  background: var(--cream);
  border-radius: 8px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 12px; row-gap: 4px;
  align-items: start;
  margin: 4px 0 6px;
}
.v2-locked-icon { width: 14px; height: 14px; margin-top: 4px; opacity: 0.6; }
.v2-locked-l {
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-2);
  grid-column: 2;
}
.v2-locked-body {
  font-family: var(--font); font-size: 13.5px; line-height: 1.6;
  color: var(--ink-2); margin: 0; grid-column: 2;
}
.v2-split-2 {
  display: grid; grid-template-columns: 1fr 1fr;
  column-gap: 24px; margin: 8px 0 12px;
}
@media(max-width:780px){ .v2-split-2 { grid-template-columns: 1fr; row-gap: 14px; } }
.v2-bullets { margin: 8px 0 0; padding-left: 20px; }
.v2-bullets li { font-size: 14.5px; line-height: 1.65; color: var(--ink); margin-bottom: 6px; }

/* — Block 01 specifics — */
.v2-pillars {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column;
}
.v2-pillar {
  display: grid; grid-template-columns: 28px 1fr; column-gap: 10px;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid rgba(27,61,47,0.08);
}
.v2-pillar:last-child { border-bottom: none; }
.v2-pillar-n {
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.14em; color: var(--ink-3);
}
.v2-pillar-t {
  font-family: var(--font); font-size: 14px; font-weight: 600;
  letter-spacing: 0; color: var(--ink); line-height: 1.4;
}
.v2-scenarios { margin: 8px 0 14px; }

/* — Block 02 specifics — */
.v2-founders {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px; margin-top: 4px;
}
.v2-founder-card {
  padding: 14px 16px;
  background: var(--cream);
  border: 1px solid var(--line); border-left: 3px solid var(--green);
  border-radius: var(--radius);
}
.v2-founder-name {
  font-family: var(--serif); font-size: 17px; font-weight: 500;
  letter-spacing: -0.2px; color: var(--ink); line-height: 1.2;
}
.v2-founder-title {
  font-family: var(--mono); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-3); margin-top: 4px;
}
.v2-founder-bio {
  font-family: var(--font); font-size: 13.5px; line-height: 1.55;
  color: var(--ink-2); margin: 10px 0 0;
}
.v2-facets {
  display: flex; flex-direction: column; gap: 10px; margin-top: 4px;
}
.v2-facet {
  display: grid; grid-template-columns: 180px auto 1fr;
  column-gap: 14px; row-gap: 4px; align-items: baseline;
  padding: 10px 0; border-bottom: 1px solid rgba(27,61,47,0.08);
}
.v2-facet:last-child { border-bottom: none; }
.v2-facet-l {
  font-family: var(--mono); font-size: 11px; font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink);
}
.v2-facet-r {
  font-family: var(--mono); font-size: 11px; font-weight: 600;
  letter-spacing: 0.06em; color: var(--green);
  padding: 3px 8px; border: 1px solid rgba(47,122,78,0.30);
  border-radius: 4px; align-self: center; justify-self: start;
}
.v2-facet-n {
  grid-column: 1 / -1;
  font-family: var(--font); font-size: 13.5px; line-height: 1.6;
  color: var(--ink-2); margin: 4px 0 0;
}
@media(max-width:780px){
  .v2-facet { grid-template-columns: 1fr; }
  .v2-facet-r { justify-self: flex-start; }
}
.v2-advisory {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px; margin-top: 4px;
}
.v2-advisor {
  padding: 12px 14px; background: var(--white);
  border: 1px dashed rgba(27,61,47,0.18); border-radius: var(--radius);
}
.v2-advisor-name {
  font-family: var(--serif); font-size: 15px; font-weight: 500;
  letter-spacing: -0.15px; color: var(--ink); line-height: 1.2;
}
.v2-advisor-title {
  font-family: var(--mono); font-size: 10px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-3); margin-top: 3px;
}
.v2-advisor-bio {
  font-family: var(--font); font-size: 13px; line-height: 1.55;
  color: var(--ink-2); margin: 8px 0 0;
}

/* — Block 03 specifics — */
.v2-metrics {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr));
  gap: 0;
  background: var(--cream); border: 1px solid var(--line);
  border-radius: var(--radius); margin: 12px 0;
}
.v2-metric {
  padding: 14px 16px;
  border-right: 1px solid var(--line);
}
.v2-metric:last-child { border-right: none; }
.v2-metric-v {
  font-family: var(--serif); font-size: 22px; font-weight: 500;
  letter-spacing: -0.3px; color: var(--ink); line-height: 1;
  font-variation-settings:"opsz" 30, "SOFT" 30, "WONK" 0;
}
.v2-metric-l {
  font-family: var(--mono); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--ink-3); margin-top: 6px;
}
.v2-pillar-card {
  padding: 12px 14px; margin: 8px 0;
  background: var(--cream); border: 1px solid var(--line);
  border-left: 3px solid var(--gilt); border-radius: 4px;
}
/* Soft variant for category_thesis cards — distinguishes macro
   "why this category" pillars from the company-specific underwriting
   pillars (which use the gilt left border). */
.v2-pillar-card-soft {
  background: var(--white);
  border-left-color: var(--green);
}

/* — Market segments — */
.v2-segments {
  display: flex; flex-direction: column;
  border: 1px solid var(--line); border-radius: 4px;
  margin: 6px 0 10px;
}
.v2-segment {
  padding: 10px 14px;
  border-bottom: 1px solid var(--line);
}
.v2-segment:last-child { border-bottom: none; }
.v2-segment-h {
  display: flex; gap: 12px; align-items: baseline;
  margin-bottom: 4px;
}
.v2-segment-r {
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--green);
  min-width: 110px;
}
.v2-segment-n {
  font-family: var(--font); font-size: 14px; font-weight: 600; color: var(--ink);
}
.v2-segment-b { margin: 0; font-size: 13.5px; line-height: 1.55; }

/* — Data-note (market methodology citation) — */
.v2-data-note {
  font-family: var(--font); font-style: italic;
  font-size: 11.5px; line-height: 1.5; color: var(--ink-3);
  border-top: 1px dashed var(--line);
  padding-top: 6px; margin: 6px 0 0;
}

/* — Traction (round-by-round at investment) — */
.v2-traction {
  display: flex; flex-direction: column; gap: 4px;
  margin: 4px 0 8px;
}
.v2-traction-row {
  padding: 8px 0;
  border-bottom: 1px dashed rgba(27,61,47,0.10);
}
.v2-traction-row:last-child { border-bottom: none; }
.v2-traction-h { display: flex; gap: 10px; align-items: baseline; }
.v2-traction-d {
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.16em; color: var(--ink-3); min-width: 80px;
}
.v2-traction-t {
  font-family: var(--font); font-size: 13.5px; font-weight: 600; color: var(--ink);
}
.v2-traction-b { margin: 4px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--ink-2); }

/* — Memo summary (labeled-row narrative inside Diligence) — */
.v2-memo-summary {
  display: flex; flex-direction: column;
  border: 1px solid var(--line); border-radius: 4px;
  background: var(--cream);
}
.v2-memo-row {
  display: grid; grid-template-columns: 130px 1fr; column-gap: 18px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
}
.v2-memo-row:last-child { border-bottom: none; }
.v2-memo-l {
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--green);
  padding-top: 2px;
}
.v2-memo-b { min-width: 0; }
.v2-memo-b .v2-prose { margin: 0 0 6px; }
.v2-memo-b .v2-prose:last-child { margin: 0; }
.v2-memo-bullets { margin: 6px 0 0 18px; }
.v2-memo-bullets li { font-size: 13.5px; line-height: 1.55; color: var(--ink); margin-bottom: 3px; }
@media(max-width:780px){
  .v2-memo-row { grid-template-columns: 1fr; row-gap: 4px; }
  .v2-segment-h { flex-direction: column; gap: 2px; }
}
.v2-pillar-card-n {
  font-family: var(--mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gilt);
}
.v2-pillar-card-t {
  font-family: var(--font); font-size: 14.5px; font-weight: 700;
  letter-spacing: 0; color: var(--ink); margin: 4px 0 6px; line-height: 1.4;
}
.v2-risks {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
}
.v2-risk {
  padding: 14px 16px;
  background: var(--white); border: 1px solid var(--line);
  border-left: 3px solid var(--amber); border-radius: var(--radius);
}
.v2-risk-cat {
  font-family: var(--mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--amber);
  margin-bottom: 4px;
}
.v2-risk-t {
  font-family: var(--serif); font-size: 15.5px; font-weight: 500;
  letter-spacing: -0.2px; color: var(--ink); line-height: 1.25;
}
.v2-risk-body {
  font-family: var(--font); font-size: 13.5px; line-height: 1.55;
  color: var(--ink-2); margin: 8px 0 0;
}
.v2-risk-mit-l {
  font-family: var(--mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--green);
  margin: 12px 0 4px;
}
.v2-risk-mit {
  font-family: var(--font); font-size: 13.5px; line-height: 1.55;
  color: var(--ink); margin: 0;
}

/* — Block 04 specifics — */
.v2-pill {
  display: inline-flex; align-items: center;
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.10em; text-transform: uppercase;
  padding: 5px 11px; border-radius: 999px; white-space: nowrap;
  border: 1px solid transparent;
}
.v2-pill-green   { background: rgba(47,122,78,0.10); color: var(--green); border-color: rgba(47,122,78,0.22); }
.v2-pill-amber   { background: var(--amber-soft); color: var(--amber); border-color: rgba(186,117,23,0.25); }
.v2-pill-violet  { background: rgba(124,75,168,0.12); color: #5C2F8E; border-color: rgba(124,75,168,0.25); }
.v2-pill-neutral { background: rgba(0,0,0,0.04); color: var(--ink-2); border-color: var(--line); }
.v2-sourcing-line { display:flex; flex-wrap:wrap; gap:14px; align-items:flex-start; }
.v2-sourcing-summary { flex: 1; min-width: 260px; margin: 0; }
.v2-trace {
  display: flex; flex-direction: column; gap: 6px;
  margin-top: 4px; padding: 12px 14px;
  background: var(--cream); border: 1px solid var(--line);
  border-radius: var(--radius);
}
.v2-trace-row {
  display: grid; grid-template-columns: 160px 1fr; column-gap: 14px;
  align-items: baseline; padding: 6px 0;
  border-bottom: 1px dashed rgba(27,61,47,0.10);
  font-size: 13.5px;
}
.v2-trace-row:last-child { border-bottom: none; }
.v2-trace-l {
  font-family: var(--mono); font-size: 10.5px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-3);
}
.v2-trace-v { color: var(--ink); }
.v2-trace-meta { color: var(--ink-3); font-style: italic; }

/* ── Network Support pane (L2 Current Performance subtab) ─────────
   Institutional, dense layout for the CVP-network-intros surface.
   Hero KPI + per-category rows with proportional bars + fund-wide
   strip + methodology footnote. */
.network-panel { padding-bottom: 22px; }
.network-hero {
  display: grid; grid-template-columns: 1fr 1fr;
  column-gap: 36px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--cream);
}
@media(max-width:780px){ .network-hero { grid-template-columns: 1fr; row-gap: 18px; } }
.network-hero-l, .network-hero-r { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.network-hero-r { padding-left: 24px; border-left: 1px solid var(--line); }
@media(max-width:780px){ .network-hero-r { padding-left: 0; border-left: none; border-top: 1px solid var(--line); padding-top: 18px; } }
.network-hero-eye {
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.20em; text-transform: uppercase; color: var(--ink-3);
  margin-bottom: 2px;
}
.network-hero-v {
  font-family: var(--serif); font-size: 60px; font-weight: 500;
  line-height: 1; letter-spacing: -1px; color: var(--green);
  font-variation-settings:"opsz" 72, "SOFT" 30, "WONK" 0;
}
.network-hero-sub {
  font-family: var(--font); font-size: 14px; line-height: 1.5;
  color: var(--ink-2);
}

/* Section header — separates audit-traceable channels from the
   uncounted in-person / text / phone touchpoints below */
.network-section-head {
  padding: 20px 24px 6px;
  border-top: 1px solid var(--line);
  margin-top: 8px;
}
.network-section-head:first-of-type { border-top: none; margin-top: 0; }
.network-section-eye {
  font-family: var(--mono); font-size: 10.5px; font-weight: 700;
  letter-spacing: 0.20em; text-transform: uppercase; color: var(--green);
  margin-bottom: 4px;
}
.network-section-sub {
  font-family: var(--font); font-style: italic; font-size: 12.5px;
  line-height: 1.5; color: var(--ink-3);
}

/* Per-category rows */
.network-cats {
  padding: 6px 24px 8px;
  display: flex; flex-direction: column;
}
/* Uncounted-channels variant — visually muted; no count bars, just
   a label + "Ongoing" pill + description */
.network-cats-other .network-cat { border-bottom-style: dashed; }
.network-cats-other .network-cat:last-child { border-bottom: none; }
.network-cat-v-ongoing {
  font-family: var(--mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gilt);
  border: 1px solid var(--gilt); padding: 2px 8px; border-radius: 999px;
  /* Override the serif-display .network-cat-v styling */
  -webkit-font-feature-settings: normal;
}
.network-cat-other .network-cat-v { all: unset; }
.network-cat-other .network-cat-v.network-cat-v-ongoing {
  font-family: var(--mono); font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase; color: var(--gilt);
  border: 1px solid var(--gilt); padding: 2px 10px; border-radius: 999px;
  background: rgba(192,138,63,0.06);
}
.network-cat {
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.network-cat:last-child { border-bottom: none; }
.network-cat-h {
  display: grid; grid-template-columns: 1fr auto;
  align-items: baseline; column-gap: 18px;
  margin-bottom: 8px;
}
.network-cat-l {
  font-family: var(--mono); font-size: 11px; font-weight: 700;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink);
}
.network-cat-v {
  font-family: var(--serif); font-size: 22px; font-weight: 500;
  line-height: 1; color: var(--ink); letter-spacing: -0.3px;
  font-variation-settings:"opsz" 24, "SOFT" 0, "WONK" 0;
}
.network-cat-bar {
  height: 4px; background: rgba(27,61,47,0.08); border-radius: 2px;
  overflow: hidden; margin-bottom: 6px;
}
.network-cat-bar-fill {
  height: 100%; background: var(--green);
  transition: width .35s ease;
}
.network-cat-desc {
  margin: 0;
  font-family: var(--font); font-size: 12.5px; line-height: 1.55;
  color: var(--ink-3);
}

/* Fund-wide strip */
.network-fund-strip {
  margin: 8px 24px 0;
  padding: 14px 16px;
  background: var(--ink);
  border-radius: 4px;
}
.network-fund-eye {
  font-family: var(--mono); font-size: 10px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gilt);
  margin-bottom: 10px;
}
.network-fund-grid {
  display: grid; grid-template-columns: repeat(6, 1fr);
  column-gap: 14px; row-gap: 10px;
}
@media(max-width:780px){ .network-fund-grid { grid-template-columns: repeat(3, 1fr); } }
.network-fund-cell { display: flex; flex-direction: column; gap: 2px; }
.network-fund-v {
  font-family: var(--serif); font-size: 22px; font-weight: 500;
  line-height: 1; color: var(--cream); letter-spacing: -0.3px;
  font-variation-settings:"opsz" 24, "SOFT" 0, "WONK" 0;
}
.network-fund-l {
  font-family: var(--mono); font-size: 9.5px; font-weight: 600;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(250,246,238,0.65);
  line-height: 1.3;
}

/* Methodology footnote */
.network-footnote {
  margin: 14px 24px 0;
  font-family: var(--font); font-style: italic; font-size: 11.5px;
  line-height: 1.55; color: var(--ink-3);
  padding-top: 10px; border-top: 1px dashed var(--line);
}

/* ── Front-page Executive Summary panel ─────────────────────────
   "Why we invested" labeled-row table. Sits between the temporal
   arc bar and the four-block body. Distinct visual treatment from
   the inline Block 04 chrome it replaced: cream surround, larger
   eyebrow + sub-headline, dense Sasha IC-memo-grade rows. */
.co-exec-summary {
  background: var(--white);
  border: 1px solid var(--line);
  border-left: 3px solid var(--ink);
  border-radius: var(--radius-lg);
  padding: 18px 22px 22px;
  margin-top: 18px;
}
.co-exec-summary-head {
  display: grid; grid-template-columns: 1fr auto;
  align-items: baseline; column-gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 16px;
}
.co-exec-summary-eye {
  font-family: var(--mono); font-size: 11px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--green);
}
.co-exec-summary-sub {
  font-family: var(--font); font-size: 12.5px; color: var(--ink-3);
  font-style: italic;
  text-align: right;
}
@media(max-width:780px){
  .co-exec-summary-head { grid-template-columns: 1fr; row-gap: 4px; }
  .co-exec-summary-sub  { text-align: left; }
}
.co-exec-summary-list { border-radius: 4px; }

/* ── Performance attribution: takeaway/cohort bands + first-check table ── */
.attband,.fcband{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.attband{margin:6px 0 4px}
.fcband{padding:18px 22px 6px}
.wcfmt > .fcband{padding:0;margin-top:24px;gap:18px;grid-template-columns:repeat(4,1fr)}
.fcband-cell{background:var(--paper,#fff);border:1px solid rgba(27,61,47,0.12);border-top:3px solid #1B3D2F;padding:16px 20px;box-shadow:0 1px 2px rgba(27,61,47,0.05),0 6px 18px -12px rgba(27,61,47,0.18)}
#view-sourcing .fcband-cell{min-height:112px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.fcband-cell.hl{border-top-color:#88692B}
.fcband-v{font-family:'Playfair Display',serif;font-size:32px;font-weight:600;color:#1B3D2F;line-height:1;font-variant-numeric:tabular-nums lining-nums}
.fcband-l{font-family:Inter,sans-serif;font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:#1A1A1A;margin-top:9px}
.fcband-s{font-family:Inter,sans-serif;font-size:11px;color:#555;margin-top:6px;line-height:1.5}
table.fctable{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
table.fctable th{text-align:left;font-family:Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:0.20em;text-transform:uppercase;color:#5E7E69;padding:14px 22px 10px;border-bottom:1px solid rgba(27,61,47,0.10)}
table.fctable th.num{text-align:right}
table.fctable td{padding:12px 22px;border-bottom:1px solid rgba(27,61,47,0.05);vertical-align:middle;color:#333}
table.fctable td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}
table.fctable td.num.strong{color:#1B3D2F;font-weight:700}
table.fctable td.psd{font-family:'Inter','Helvetica Neue',sans-serif;font-size:11px;color:#555;white-space:nowrap}
table.fctable tr.fcgroup td{background:rgba(245,242,238,0.65);font-family:Inter,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.20em;text-transform:uppercase;color:#1B3D2F;padding:11px 22px}
.fcco{display:flex;align-items:center;gap:10px;font-weight:600;color:#1A1A1A}
.pc-logo{height:20px;width:auto;max-width:84px;object-fit:contain;display:inline-block}
.fcnote{font-family:Inter,sans-serif;font-size:11px;color:#555;line-height:1.6;padding:14px 22px 18px;border-top:1px solid rgba(27,61,47,0.05)}
table.fctable td.strongleads{font-weight:600;color:#1B3D2F}
.table-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.table-scroll:focus{
  outline:1px solid rgba(27,61,47,0.28);
  outline-offset:2px;
}
.table-scroll table{min-width:640px}
@media(max-width:640px){
  .table-scroll{
    margin:0 -2px;
    padding-bottom:4px;
  }
  .table-scroll table{min-width:680px}
}

/* ── Attribution: standardized card header + percentile bullets + motion ── */
#view-attribution .card.tier-2{border-top:3px solid #1B3D2F;border-left:1px solid rgba(27,61,47,0.12);box-shadow:0 1px 2px rgba(27,61,47,0.05),0 6px 18px -12px rgba(27,61,47,0.18)}
.att-frame{font-family:'Playfair Display',serif;font-style:italic;font-size:17px;color:#333;margin:2px 0 10px;letter-spacing:-0.005em}
.atth{padding:16px 22px 14px;border-bottom:1px solid rgba(27,61,47,0.07)}
.atth-k{display:flex;align-items:center;gap:12px}
.atth-num{font-family:'Inter','Helvetica Neue',sans-serif;font-size:11px;font-weight:700;color:rgba(27,61,47,0.45);letter-spacing:0.12em}
.atth-kick{font-family:Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;color:#1B3D2F;display:flex;align-items:center;gap:9px}
.atth-kick::before{content:"";width:12px;height:2px;background:#C6A35E}
.atth-claim{font-family:'Playfair Display',serif;font-size:20px;font-weight:600;color:#1A1A1A;letter-spacing:-0.010em;margin-top:8px;line-height:1.25}
.cb-row{display:grid;grid-template-columns:110px 1fr;gap:24px;align-items:center;padding:26px 0 34px;border-bottom:1px solid rgba(27,61,47,0.06)}
.cb-row:last-of-type{border-bottom:none}
.cb-metric{font-family:Inter,sans-serif;font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:#333}
.cb-track{position:relative;height:10px;background:rgba(27,61,47,0.07);border-radius:5px}
.cb-range{position:absolute;left:0;top:0;height:100%;background:rgba(27,61,47,0.16);border-radius:5px}
.cb-tick{position:absolute;top:-5px;width:1.5px;height:20px;background:rgba(27,61,47,0.45)}
.cb-tick-l{position:absolute;top:24px;transform:translateX(-50%);font-family:Inter,sans-serif;font-size:10.5px;color:#555;white-space:nowrap}
.cb-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:#88692B;box-shadow:0 0 0 3px rgba(198,163,94,0.30)}
.cb-val{position:absolute;top:-34px;transform:translateX(-50%);font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#1B3D2F;font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion: no-preference){
  body.anim #view-attribution .rv{opacity:0;transform:translateY(12px)}
  body.anim #view-attribution .rv.in{opacity:1;transform:translateY(0);transition:opacity .55s ease,transform .55s ease}
}

/* ── Co-investor timeline (native s8 rebuild) ── */
.cvtl{position:relative;padding:30px 26px 8px}
.cvtl-grid{position:absolute;inset:30px 26px 8px;pointer-events:none}
.cvtl-gl{position:absolute;top:0;bottom:0;width:1px;background:rgba(27,61,47,0.07)}
.cvtl-row{position:relative;display:grid;grid-template-columns:150px 1fr;gap:18px;padding:34px 0 30px;border-bottom:1px solid rgba(27,61,47,0.04);transition:opacity .2s ease}
.cvtl:hover .cvtl-row{opacity:0.3}
.cvtl:hover .cvtl-row:hover{opacity:1}
.cvtl-co{font-family:'Playfair Display',serif;font-size:19px;font-weight:600;color:#1B3D2F;letter-spacing:-0.008em;align-self:center}
.cvtl-track{position:relative;height:14px;align-self:center}
.cvtl-line{position:absolute;top:50%;height:2px;background:rgba(27,61,47,0.30);transform:translateY(-50%)}
.cvtl-node{position:absolute;top:50%;transform:translate(-50%,-50%);width:0}
.cvtl-dot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;background:#F5F8F7;border:2.5px solid #1B3D2F}
.cvtl-dot.cvp{background:#1B3D2F;box-shadow:0 0 0 5px rgba(27,61,47,0.12)}
.cvtl-logos{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap}
.cvtl-logos img{height:17px;width:auto;max-width:120px;object-fit:contain}
.cvtl-cvp{font-family:'Inter','Helvetica Neue',sans-serif;font-size:11px;font-weight:700;letter-spacing:0.18em;color:#1B3D2F}
.cvtl-rl{position:absolute;top:14px;left:50%;transform:translateX(-50%);font-family:Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:#8a8a85;white-space:nowrap}
.cvtl-axis{position:relative;height:26px;margin-left:168px}
.cvtl-ax{position:absolute;transform:translateX(-50%);font-family:Inter,sans-serif;font-size:10.5px;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;color:#8a8a85;top:6px}
.cvtl-legend{display:flex;justify-content:flex-end;gap:22px;padding:6px 26px 4px;font-family:'Inter','Helvetica Neue',sans-serif;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:#555}
.cvtl-legend .lg-cvp::before{content:"";display:inline-block;width:11px;height:11px;border-radius:50%;background:#1B3D2F;margin-right:8px;vertical-align:-1px}
.cvtl-legend .lg-inst::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:#F5F8F7;border:2px solid #1B3D2F;margin-right:8px;vertical-align:-1px}
.cvtl-legend .lg-fc::before{content:"";display:inline-block;width:10px;height:10px;background:#88692B;transform:rotate(45deg);margin-right:8px;vertical-align:-1px}
.cvtl-legend .lg-gr::before{content:"";display:inline-block;width:11px;height:11px;border-radius:50%;background:#1B3D2F;margin-right:8px;vertical-align:-1px}

/* ── MOIC dumbbell ── */
.db-wrap{position:relative;padding:34px 220px 10px 26px}
.db-grid{position:absolute;inset:34px 220px 10px 196px;pointer-events:none}
.db-gl{position:absolute;top:0;bottom:0;width:1px;background:rgba(27,61,47,0.06)}
.db-gt{position:absolute;bottom:-22px;transform:translateX(-50%);font-family:Inter,sans-serif;font-size:10.5px;color:#8a8a85}
.db-row{display:grid;grid-template-columns:170px 1fr;gap:0;align-items:center;padding:11px 0}
.db-co{font-family:'Playfair Display',serif;font-size:15px;font-weight:600;color:#1A1A1A;letter-spacing:-0.005em}
.db-track{position:relative;height:18px}
.db-conn{position:absolute;top:50%;height:2px;background:rgba(156,125,63,0.45);transform:translateY(-50%)}
.db-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:13px;height:13px;border-radius:50%;background:#1B3D2F}
.db-dot.cost{background:rgba(27,61,47,0.30)}
.db-dia{position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:11px;height:11px;background:#88692B;box-shadow:0 0 0 1.5px #fff,0 0 0 3px rgba(198,163,94,0.3)}
.db-val{position:absolute;top:50%;transform:translateY(-50%);font-family:Inter,sans-serif;font-size:11px;font-weight:600;color:#555;white-space:nowrap}
.db-val.cost{color:#999;font-weight:500}
/* Match the pov-hero (Coverage) graphic width exactly. The sourcing-engine
   graphic lives inside a .card (20px padding) while pov-hero is a full-bleed
   child of the view; that padding made the 2nd graphic read narrower. Break
   the iframe out of the card padding so both span the full content column,
   edge-to-edge (Steve). Negative margin only bites >860px (hidden below). */
.vdev-wrap{padding:14px 0 6px;margin-left:-20px;margin-right:-20px}
.vdev-frame{display:block;width:100%;aspect-ratio:16/9;border:0;background:#10201A}
.vdev-card{position:relative}
.vdev-stage{position:relative;overflow:hidden}
.vdev-stage::after{
  content:"";
  position:absolute;
  inset:14px 0 6px;
  pointer-events:none;
  background:linear-gradient(105deg,transparent 0%,rgba(247,250,247,0.16) 48%,transparent 64%);
  opacity:0;
  transform:translateX(-120%);
  z-index:2;
}
.vdev-source-action{
  position:absolute;
  top:28px;
  right:28px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:38px;
  padding:0 16px;
  border-radius:9px;
  border:1px solid rgba(159,205,180,0.42);
  background:rgba(247,252,249,0.92);
  color:#1B3D2F;
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:12px;
  font-weight:650;
  letter-spacing:0.01em;
  box-shadow:0 10px 28px -20px rgba(13,36,32,0.42);
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.vdev-source-action::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#1B3D2F;
  box-shadow:0 0 0 4px rgba(47,122,78,0.12);
}
.vdev-source-action:hover{background:#FFFFFF;border-color:rgba(47,122,78,0.52);transform:translateY(-1px)}
.vdev-source-action:focus-visible,
.vdev-source-close:focus-visible,
.vdev-source-backdrop:focus-visible{
  outline:2px solid rgba(47,122,78,0.45);
  outline-offset:2px;
}
.vdev-motion-pulses{position:absolute;inset:14px 0 6px;z-index:3;pointer-events:none}
.vdev-pulse{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid rgba(233,214,168,0.92);
  box-shadow:0 0 0 0 rgba(233,214,168,0.28);
  opacity:0;
}
.vdev-pulse-a{left:35%;top:58%}
.vdev-pulse-b{left:66%;top:42%}
.vdev-pulse-c{left:82%;top:34%}
.vdev-source-backdrop{
  position:absolute;
  inset:77px 0 48px;
  z-index:5;
  border:0;
  background:rgba(8,27,20,0.15);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  cursor:default;
}
.vdev-source-panel{
  position:absolute;
  top:92px;
  right:22px;
  z-index:6;
  width:min(560px,calc(100% - 44px));
  max-height:calc(100% - 128px);
  overflow:auto;
  border:1px solid #D8E5DF;
  border-radius:18px;
  background:rgba(253,255,252,0.98);
  box-shadow:0 28px 64px -34px rgba(13,36,32,0.55),0 2px 0 rgba(255,255,255,0.55) inset;
  padding:24px 26px 18px;
  opacity:0;
  pointer-events:none;
  transform:translateX(18px);
  transition:opacity .2s ease,transform .2s ease;
}
.vdev-card.source-open .vdev-source-backdrop{opacity:1;pointer-events:auto}
.vdev-card.source-open .vdev-source-panel{opacity:1;pointer-events:auto;transform:translateX(0)}
.vdev-source-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #E4EDE8;padding-bottom:14px;margin-bottom:14px}
.vdev-source-chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:9px;
  background:#E6F4EE;
  color:#1B3D2F;
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.07em;
  text-transform:uppercase;
}
.vdev-source-head h3{margin:12px 0 3px;font-family:'Instrument Sans','Inter',sans-serif;font-size:24px;line-height:1.08;letter-spacing:-0.02em;color:#141916}
.vdev-source-head p{margin:0;font-family:'Instrument Sans','Inter',sans-serif;font-size:12.5px;font-weight:650;color:#5F6B64}
.vdev-source-close{
  width:32px;
  height:32px;
  border-radius:9px;
  border:1px solid #E1E9E5;
  background:#FFFFFF;
  color:#6F7872;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.vdev-source-close:hover{color:#1B3D2F;border-color:#C8D9D0}
.vdev-source-row{padding:14px 0;border-bottom:1px solid #EDF2EF}
.vdev-source-label{
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:10.5px;
  font-weight:750;
  letter-spacing:0.07em;
  text-transform:uppercase;
  color:#4F8A6C;
  margin-bottom:6px;
}
.vdev-source-body{font-family:'Instrument Sans','Inter',sans-serif;font-size:14px;line-height:1.45;color:#27342D}
.vdev-source-checks{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:18px;
  padding:16px;
  border:1px solid #DDEAE4;
  border-radius:14px;
  background:#F6FBF8;
}
.vdev-source-check-title{grid-column:1/-1;font-family:'Instrument Sans','Inter',sans-serif;font-size:13px;font-weight:750;color:#1B3D2F}
.vdev-source-check strong{display:block;font-family:'Instrument Sans','Inter',sans-serif;font-size:21px;line-height:1.05;letter-spacing:-0.02em;color:#141916;font-variant-numeric:tabular-nums}
.vdev-source-check span{display:block;margin-top:4px;font-family:'Instrument Sans','Inter',sans-serif;font-size:10.5px;color:#6E7A73}
@media (prefers-reduced-motion: no-preference){
  body.anim #view-attribution .vdev-card.rv.in .vdev-stage::after{animation:vdevSweep 1.25s cubic-bezier(.2,.7,.2,1) .18s both}
  body.anim #view-attribution .vdev-card.rv.in .vdev-pulse{animation:vdevPulse 1.7s cubic-bezier(.2,.7,.2,1) both}
  body.anim #view-attribution .vdev-card.rv.in .vdev-pulse-b{animation-delay:.22s}
  body.anim #view-attribution .vdev-card.rv.in .vdev-pulse-c{animation-delay:.42s}
}
@keyframes vdevSweep{0%{opacity:0;transform:translateX(-120%)}18%{opacity:1}100%{opacity:0;transform:translateX(120%)}}
@keyframes vdevPulse{
  0%{opacity:0;transform:scale(.7);box-shadow:0 0 0 0 rgba(233,214,168,0.28)}
  18%{opacity:1}
  70%{opacity:.82;transform:scale(1.25);box-shadow:0 0 0 18px rgba(233,214,168,0)}
  100%{opacity:0;transform:scale(1.25);box-shadow:0 0 0 18px rgba(233,214,168,0)}
}
@media(max-width:760px){
  .vdev-source-action{top:20px;right:16px;min-height:34px;padding:0 12px;font-size:11.5px}
  .vdev-source-panel{position:fixed;top:84px;right:16px;left:16px;width:auto;max-height:calc(100dvh - 112px);z-index:50}
  .vdev-source-backdrop{position:fixed;inset:0;z-index:49}
  .vdev-source-checks{grid-template-columns:1fr}
}

/* ── Concentration: lit treemap + gain bars + linked hover ── */
.tm-tile{transition:opacity .2s ease,filter .2s ease;cursor:default}
.tm-tile.dim{opacity:0.35;filter:saturate(0.6)}
.tm-tile:hover rect:first-child{filter:brightness(1.12)}
.gw-row{display:grid;grid-template-columns:140px 1fr 64px;align-items:center;gap:12px;margin-bottom:8px;transition:opacity .2s ease}
.gw-row.dim{opacity:0.30}
.gw-name{font-family:Inter,sans-serif;font-size:12.5px;font-weight:600;color:#1A1A1A}
.gw-track{position:relative;height:20px;background:rgba(27,61,47,0.06);border-radius:10px;overflow:hidden}
.gw-track.cost{background:transparent;border-bottom:1px dotted rgba(27,61,47,0.18);border-radius:0;height:10px}
.gw-fill{height:100%;border-radius:10px;background:linear-gradient(90deg,#2a5c45,#1B3D2F);min-width:6px}
.gw-fill.lead{background:linear-gradient(90deg,#C6A35E,#88692B);box-shadow:0 0 12px rgba(198,163,94,0.35)}
.gw-pct{font-family:'Playfair Display',serif;font-size:16px;font-weight:700;color:#1B3D2F;text-align:right;font-variant-numeric:tabular-nums}
.gw-pct.cost{font-family:'Inter','Helvetica Neue',sans-serif;font-size:10px;font-weight:500;color:#999;letter-spacing:0.08em}
.gw-takeaway{display:flex;align-items:baseline;gap:14px;margin-top:16px;padding:14px 18px;background:#E0EAE5;border-left:4px solid #1B3D2F}
.gw-big{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:#1B3D2F;line-height:1}
.gw-lbl{font-family:Inter,sans-serif;font-size:12px;color:#333;line-height:1.45}

/* ── Sourcing: bare beat headers, engine claims, record groups ── */
.atth.bare{padding:0 2px 10px;border-bottom:none}
.srcarg{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0;margin-top:18px}
.srcarg-tile{background:#FFFFFF;border:1px solid rgba(27,61,47,0.12);border-top:3px solid #1B3D2F;padding:18px 20px;box-shadow:0 1px 2px rgba(27,61,47,0.05),0 6px 18px -12px rgba(27,61,47,0.18)}
.srcarg-t{font-family:Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:#1B3D2F;display:flex;align-items:center;gap:8px;margin-bottom:8px}
.srcarg-t::before{content:"";width:12px;height:2px;background:#C6A35E}
.srcarg-b{font-family:Inter,sans-serif;font-size:12.5px;color:#333;line-height:1.6}
.src-group{display:flex;align-items:center;gap:9px;font-family:Inter,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:0.20em;text-transform:uppercase;color:#1B3D2F;padding:18px 4px 8px}
.src-group-dot{width:10px;height:10px;border-radius:2px;display:inline-block}
.src-channel-tone-amber{background:rgba(184,116,45,0.14);color:#8a5620;border:1px solid rgba(184,116,45,0.30)}
.src-channel-tone-violet{background:rgba(156,125,63,0.14);color:#7A6230;border:1px solid rgba(156,125,63,0.30)}
.src-channel-violet{border-left-color:#88692B}
.src-channel-amber{border-left-color:#B8742D}

/* ── Fund detail table ── */
.fdgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:6px 0}
.fdcol{padding:16px 26px;border-right:1px solid rgba(27,61,47,0.07)}
.fdcol:last-child{border-right:none}
.fdcol-t{font-family:Inter,sans-serif;font-size:10px;font-weight:700;letter-spacing:0.24em;text-transform:uppercase;color:#1B3D2F;display:flex;align-items:center;gap:8px;margin-bottom:12px}
.fdcol-t::before{content:"";width:12px;height:2px;background:#C6A35E}
.fdrow{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:7px 0;border-bottom:1px solid rgba(27,61,47,0.05)}
.fdrow:last-child{border-bottom:none}
.fdrow .k{font-family:Inter,sans-serif;font-size:12px;color:#555}
.fdrow .v{font-family:Inter,sans-serif;font-size:12.5px;font-weight:700;color:#1A1A1A;text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:1100px){.fdgrid{grid-template-columns:1fr}.fdcol{border-right:none;border-bottom:1px solid rgba(27,61,47,0.07)}}

/* ── 05 dumbbell polish ── */
.db-row{transition:background .15s ease;border-radius:4px;padding:11px 6px}
.db-row:hover{background:rgba(27,61,47,0.045)}
.db-row:hover .db-co{color:#1B3D2F}
.db-dot{width:14px;height:14px;box-shadow:0 1px 4px rgba(13,36,32,0.35)}
.db-dia{width:12px;height:12px}
.db-conn{height:2.5px;background:linear-gradient(90deg,rgba(27,61,47,0.5),rgba(156,125,63,0.6))}
.db-val{font-size:11.5px;color:#444}
.db-row:hover .db-val{color:#1B3D2F;font-weight:700}
.db-gt{font-weight:600}

/* ── 02 concentration · dark stage ── */
.att-dark{background:radial-gradient(120% 110% at 60% 0%,#1c352a 0%,#10211a 55%,#0B1712 100%);padding:22px 26px 18px}
.att-dark .memo-eyebrow{color:rgba(143,175,154,0.85)!important}
.att-dark .gw-name{color:#EAEFED}
.att-dark .gw-track{background:rgba(245,242,238,0.08)}
.att-dark .gw-track.cost{border-bottom-color:rgba(245,242,238,0.22)}
.att-dark .gw-fill{background:linear-gradient(90deg,#3E7257,#9FCDB4);box-shadow:0 0 10px rgba(143,175,154,0.25)}
.att-dark .gw-fill.lead{background:linear-gradient(90deg,#88692B,#E9D6A8);box-shadow:0 0 14px rgba(198,163,94,0.45)}
.att-dark .gw-pct{color:#EFF3F1}
.att-dark .gw-pct.cost{color:rgba(245,242,238,0.40)}
.att-dark .gw-takeaway{background:rgba(143,175,154,0.10);border-left-color:#C6A35E}
.att-dark .gw-big{color:#E9D6A8}
.att-dark .gw-lbl{color:rgba(245,242,238,0.75)}
.att-dark svg text{fill-opacity:1}

/* ── A1 fund-returner runway ── */
.fr-row{transition:opacity .2s ease}
svg:hover .fr-row{opacity:0.45}
svg .fr-row:hover{opacity:1}
@media (prefers-reduced-motion: no-preference){
  .fr-bar{transform-origin:left center;animation:frGrow 1.1s cubic-bezier(.2,.7,.2,1) both}
  .fr-ring{animation:frPulse 2.8s ease-in-out infinite}
}
@keyframes frGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes frPulse{0%,100%{stroke-opacity:1}50%{stroke-opacity:0.45}}

/* sidebar portfolio logos */
.sb-co{display:flex;align-items:center;gap:9px;min-width:0}
.sb-logo{width:16px;height:16px;object-fit:contain;border-radius:3px;background:#fff;padding:1.5px;flex-shrink:0;border:1px solid rgba(27,61,47,0.10)}
.sb-co-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-item{gap:8px}

/* ── WithCoverage-format migration (wave 1: fund tabs) ──────────────
   Scoped chrome per sasha-working/withcoverage-format-migration-scope.md.
   Views flip one at a time behind the .wcfmt wrapper; when every view
   wears it, these rules collapse into the .card base and the class dies.
   Spec source: frontend/companies/with_coverage.html (canonical). */
.wcfmt .card{
  border-radius:0;
  background:#FFFFFF;
  border:1px solid rgba(27,61,47,0.10);
  border-top:3px solid #1B3D2F;
  box-shadow:0 1px 2px rgba(27,61,47,0.05),0 6px 18px -12px rgba(27,61,47,0.18);
}
/* L2 cards keep their pill marker; the amber left spine is not template grammar */
.wcfmt .card.tier-2{border-left:1px solid rgba(27,61,47,0.10)}
/* free section headers step up to the template .shead scale */
.wcfmt .atth.bare .atth-claim{font-size:26px;font-weight:500;letter-spacing:-0.014em;line-height:1.1}
.wcfmt .atth.bare .atth-kick{font-size:10.5px;letter-spacing:0.24em}
/* template type: Inter carries body/UI inside migrated views; display
   stays Playfair via the atth/shead grammar (inline declarations) */
.wcfmt{font-family:'Inter','Helvetica Neue',sans-serif;background:#F5F8F7}
/* template stage: discrete tiles on stone, 24px vertical rhythm
   (!important beats the inline 18px margins until wave-4 collapse) */
.wcfmt .card{margin-top:24px !important}
.wcfmt .card:first-child{margin-top:0 !important}
/* view banner — the template position-header grammar (h-eye/h-name/h-sub),
   tab scale: forest Playfair display, italic Playfair frame, gold-tick eyebrow */
.wcfmt .eyebrow{font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:0.30em;text-transform:uppercase;color:#1B3D2F;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.wcfmt .eyebrow::before{content:"";width:12px;height:2px;background:#C6A35E;flex-shrink:0}
.wcfmt .h-display{font-family:'Playfair Display',serif;font-size:clamp(38px,4vw,50px);font-weight:500;letter-spacing:-0.018em;line-height:0.98;color:#1B3D2F;margin-bottom:12px}
.wcfmt .att-frame{font-size:18px;line-height:1.4;max-width:780px;margin-bottom:30px}
.wcfmt .h-meta{margin-top:10px}
.wcfmt .h-meta-pill{border-radius:0;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:4px 10px}
.wcfmt .h-meta-pill.tier-2{background:rgba(156,125,63,0.10);color:#7A6230;border-color:rgba(156,125,63,0.35)}

/* data cells in mono, per the rounds-table grammar on the template */
.wcfmt .card > table td:not(:first-child){font-family:'Inter','Helvetica Neue',sans-serif;font-size:12px}

/* ── masthead to the template green topbar (with_coverage.html .topbar) —
   global: the masthead does not flip per view; static company pages
   already wear the forest plate ── */
.titlebar{background:#0d2420;border-bottom:1px solid rgba(245,242,238,0.08);padding:0 24px 0 0;min-height:76px;gap:0}
.tb-mark{padding:8px 22px;border-right:1px solid rgba(245,242,238,0.08);align-self:stretch}
.tb-logo{height:54px;filter:brightness(0) invert(1) opacity(0.92)}
.tb-mark-text{border-left:0;padding-left:18px}
.tb-mark-line2{font-family:'Inter',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.22em;color:rgba(245,242,238,0.78)}
.tb-lp{padding-left:24px}
.tb-lp-label{font-family:'Inter',sans-serif;font-size:10.5px;letter-spacing:0.16em;color:rgba(245,242,238,0.55)}
.tb-lp-name{font-family:'Playfair Display',serif;font-size:17px;font-weight:500;letter-spacing:-0.005em;color:#F5F8F7}
.tb-signout{color:rgba(245,242,238,0.55)}
.tb-signout:hover{color:#F5F8F7}
.tb-tier{font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:0.20em;border-radius:0;padding:10px 16px;background:transparent;color:#C6A35E;border:1px solid #C6A35E;margin-left:24px}
.tb-tier.tier-2{background:transparent;color:#C6A35E;border-color:#C6A35E}

/* ── shell to the template sidebar (with_coverage.html .sidebar) —
   dark forest panel, Inter nav, gold active bar. Global: one shell. ── */
.sidebar{background:#0d2420;border-right:1px solid rgba(245,242,238,0.08);padding-top:18px}
.sb-section-h{font-family:'Inter',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:0.24em;color:rgba(143,175,154,0.85)}
.sb-item{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:500;color:rgba(245,242,238,0.78);border-left-width:3px;padding:9px 16px 9px 18px}
.sb-item:hover{background:rgba(245,242,238,0.05);color:#F5F8F7}
.sb-item.act{color:#F5F8F7;background:rgba(198,163,94,0.08);border-left-color:#C6A35E;font-weight:600}
.sb-co-meta{color:rgba(143,175,154,0.8)}
.sb-lock{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23C6A35E'><path d='M12 1a5 5 0 0 0-5 5v3H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-2V6a5 5 0 0 0-5-5zm0 2a3 3 0 0 1 3 3v3H9V6a3 3 0 0 1 3-3z'/></svg>")}
.sb-foot{border-top:1px solid rgba(245,242,238,0.08)}
.sb-foot,.sb-foot *{color:rgba(245,242,238,0.78)}

/* migrated views: stone full-bleed inside .main, disciplined margins —
   cancels .main's 28/32 padding so the stage reaches the shell edges,
   then restores the template's 44px content gutters */
.wcfmt{margin:-28px -32px -56px;padding:34px 44px 90px}

/* ── Nigel round 2: record grammar, stat presence ── */
/* record table joins the card grammar */
.wcfmt .src-table{border-radius:0;border-top:3px solid #1B3D2F;box-shadow:0 1px 2px rgba(27,61,47,0.05),0 6px 18px -12px rgba(27,61,47,0.18)}
/* channel group headers become full-width tinted bands (fctable fcgroup grammar) */
.wcfmt .src-group{background:rgba(245,242,238,0.8);padding:12px 22px 10px;border-bottom:1px solid rgba(27,61,47,0.08);margin:0}
.wcfmt .src-row{padding:16px 22px}
.wcfmt .src-row-co{font-family:'Playfair Display',serif;font-size:15.5px;font-weight:600;letter-spacing:-0.008em}
.wcfmt .src-row-meta{font-family:'Inter','Helvetica Neue',sans-serif;font-size:10.5px}
/* headline numerals get command presence (stat band + cohort tiles) */
.wcfmt .fcband-v{font-size:40px}

/* ── shell dimension parity with the static template (Nigel sweep) ──
   template: 200px sidebar · 92px topbar · 64px wordmark. The SPA ran
   240/76/54 — three shell dimensions out of spec. One shell, one set
   of numbers. */
.titlebar{min-height:92px}
.tb-logo{height:64px}
.tb-mark{width:200px;box-sizing:border-box;flex-shrink:0;justify-content:center}
/* eyebrow is its own bordered cell, per the template topbar */
.tb-eyebrow{display:flex;align-items:center;align-self:stretch;padding:0 30px;border-right:1px solid rgba(245,242,238,0.08);font-family:'Inter',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.22em;text-transform:uppercase;color:rgba(245,242,238,0.78);white-space:nowrap}
@media(max-width:880px){.tb-eyebrow{display:none}}
.sidebar{width:200px;padding-top:24px}
/* template hover affordance: chevron + indent shift */
.sb-item{transition:background .12s,color .12s,padding-left .15s}
.sb-item::after{content:"\203A";font-family:'Inter','Helvetica Neue',sans-serif;font-size:13px;color:rgba(143,175,154,0.4);opacity:0;transition:opacity .15s,transform .15s,color .15s}
.sb-item:hover{padding-left:22px}
.sb-item:hover::after{opacity:1;color:#5E7E69;transform:translateX(2px)}
.sb-item.act::after{opacity:1;color:#5E7E69}

/* ── wave 2: fund overview to the template grammar ── */
/* banner — position-header grammar */
.wcfmt .fov-head-eye{font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:0.30em;text-transform:uppercase;color:#1B3D2F;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.wcfmt .fov-head-eye::before{content:"";width:12px;height:2px;background:#C6A35E;flex-shrink:0}
.wcfmt .fov-head-h{font-family:'Playfair Display',serif;font-size:clamp(38px,4vw,50px);font-weight:500;letter-spacing:-0.018em;line-height:0.98;color:#1B3D2F;margin-bottom:12px}
.wcfmt .fov-head-deck{font-family:'Playfair Display',serif;font-style:italic;font-size:18px;line-height:1.45;color:#333;max-width:780px}
.wcfmt .fov-head-tag{border-radius:0;font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:5px 12px;background:rgba(156,125,63,0.10);color:#7A6230;border:1px solid rgba(156,125,63,0.35)}
/* the landing plate — fund KPIs on the dark exec stage, audited pair in gold */
.wcfmt .fov-kpis{background:#1B3D2F;border:none;border-top:3px solid #C6A35E;border-radius:0;box-shadow:0 2px 6px rgba(13,36,32,0.25),0 18px 40px -18px rgba(13,36,32,0.45);padding:6px 0}
.wcfmt .fov-kpi{border-right:1px solid rgba(245,242,238,0.08);padding:22px 26px}
.wcfmt .fov-kpi:last-child{border-right:none}
.wcfmt .fov-kpi-l{font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.22em;color:rgba(143,175,154,0.9)}
.wcfmt .fov-kpi-v{font-family:'Playfair Display',serif;font-size:40px;font-weight:600;color:#EFF3F1;margin-top:10px}
.wcfmt .fov-kpi-hi{color:#EFF3F1}
.wcfmt .fov-kpi-locked{color:rgba(245,242,238,0.30)}
.wcfmt .fov-kpi-sub{font-family:'Inter','Helvetica Neue',sans-serif;font-size:10px;letter-spacing:0.08em;color:rgba(143,175,154,0.95);margin-top:6px}
/* section headers at shead scale */
.wcfmt .fov-block-h{font-family:'Playfair Display',serif;font-size:26px;font-weight:500;letter-spacing:-0.014em;color:#1A1A1A}
/* catalog joins the card grammar */
.wcfmt .fov-catalog{border-radius:0;border:1px solid rgba(27,61,47,0.10);border-top:3px solid #1B3D2F;box-shadow:0 1px 2px rgba(27,61,47,0.05),0 6px 18px -12px rgba(27,61,47,0.18);background:#FFFFFF}
.wcfmt .fov-row-name{font-family:'Playfair Display',serif}
.wcfmt .fov-row-moic-v{font-family:'Playfair Display',serif}
.wcfmt .fov-row-channel{border-radius:0;font-family:'Inter',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:0.14em}

/* ── color discipline (Nigel): charts speak in the channel palette,
   labels whisper. Chips are neutral with a single channel dot. ── */
.chip-quiet{display:inline-flex;align-items:center;gap:7px;background:transparent !important;color:#333 !important;border:1px solid rgba(27,61,47,0.18) !important;border-radius:0;font-family:'Inter',sans-serif;font-size:9.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;padding:4px 10px;white-space:nowrap}
.chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block}
/* channel cards: uniform forest spine — the dot carries the channel */
.wcfmt .src-channel{border-left:3px solid #1B3D2F}

/* gold-text retirement: pills and markers go quiet (gold lives only in
   borders, ticks, and chart markers) */
.wcfmt .card-h .tier-pill,.wcfmt .tier-pill{background:transparent;color:#555;border:1px solid rgba(27,61,47,0.20);border-radius:0;font-family:'Inter',sans-serif;letter-spacing:0.12em}
.wcfmt .h-meta-pill.tier-2{background:transparent;color:#555;border-color:rgba(27,61,47,0.20)}
.wcfmt .fov-head-tag{background:transparent;color:#555;border-color:rgba(27,61,47,0.20)}

/* ════ V2 MODERN — tech-VC register for the fund tabs ════
   Appended last: cascade beats every v1 .wcfmt rule. Ink on white,
   one grotesk, hairlines and air, forest as the single accent.
   Plan: sasha-working/modern-redesign-plan.md */
.wcfmt{background:#FFFFFF;font-family:'Instrument Sans','Helvetica Neue',sans-serif;color:#141916;
  /* every var(--font)/var(--serif) inside the v2 scope resolves to the grotesk */
  --font:'Instrument Sans','Helvetica Neue',sans-serif;
  --serif:'Instrument Sans','Helvetica Neue',sans-serif}
.wcfmt .fov-row-tag{font-style:normal;color:#5F6B64}
.wcfmt .fov-row-check-v{font-weight:600;letter-spacing:-0.015em}
/* defeat inline serif/italic declarations without touching the DOM */
.wcfmt [style*="Playfair"]{font-family:'Instrument Sans',sans-serif !important}
.wcfmt [style*="italic"]{font-style:normal !important}
.wcfmt [style*="Newsreader"],.wcfmt [style*="'Playfair Display'"]{font-family:'Instrument Sans',sans-serif !important}
.wcfmt svg text{font-family:'Instrument Sans',sans-serif}
/* banner */
.wcfmt .eyebrow,.wcfmt .fov-head-eye{font-family:'Instrument Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.08em;color:#6F7872;margin-bottom:16px}
.wcfmt .eyebrow::before,.wcfmt .fov-head-eye::before{display:none}
.wcfmt .h-display,.wcfmt .fov-head-h{font-family:'Instrument Sans',sans-serif;font-size:clamp(34px,3.6vw,46px);font-weight:650;letter-spacing:-0.025em;line-height:1.04;color:#141916;margin-bottom:14px}
.wcfmt .att-frame,.wcfmt .fov-head-deck{font-family:'Instrument Sans',sans-serif;font-style:normal;font-size:17px;font-weight:400;line-height:1.55;color:#5F6B64;max-width:720px;margin-bottom:34px}
.wcfmt .h-meta-pill,.wcfmt .fov-head-tag{border-radius:7px;font-size:10.5px;font-weight:600;letter-spacing:0.06em;background:transparent;color:#5F6B64;border:1px solid #E9E9E4;padding:5px 11px}
/* cards: quiet, soft-cornered, spineless */
.wcfmt .card,.wcfmt .fcband-cell,.wcfmt .srcarg-tile,.wcfmt .src-table,.wcfmt .fov-catalog{border:1px solid #E9E9E4;border-radius:12px;box-shadow:none;background:#FFFFFF}
.wcfmt .card{margin-top:28px !important;overflow:hidden}
.wcfmt .fcband-cell.hl{border-top-color:#E9E9E4}
/* beat headers */
.wcfmt .atth{border-bottom:1px solid #F0F0EB;padding:18px 24px 15px}
.wcfmt .atth-num{font-family:'Inter','Helvetica Neue',sans-serif;font-size:10.5px;color:#A9B2AB;font-weight:600}
.wcfmt .atth-kick{font-family:'Instrument Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.08em;color:#6F7872}
.wcfmt .atth-kick::before{display:none}
.wcfmt .atth-claim{font-family:'Instrument Sans',sans-serif;font-size:19px;font-weight:600;letter-spacing:-0.012em;color:#141916;margin-top:7px}
.wcfmt .atth.bare .atth-claim{font-size:23px;font-weight:650;letter-spacing:-0.018em}
.wcfmt .atth.bare .atth-kick{font-size:11px;letter-spacing:0.08em}
/* section heads (fund overview) */
.wcfmt .fov-block-h{font-family:'Instrument Sans',sans-serif;font-size:22px;font-weight:650;letter-spacing:-0.018em;color:#141916}
.wcfmt .fov-block-meta,.wcfmt .fov-block-link{font-family:'Instrument Sans',sans-serif;letter-spacing:0.02em;text-transform:none;font-size:12.5px}
/* exec plate: modern dark feature panel */
.wcfmt .fov-kpis{border-radius:14px;border:none;border-top:none;box-shadow:none;background:#15241D}
.wcfmt .fov-kpi-l{font-family:'Instrument Sans',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:0.10em;color:rgba(245,250,246,0.52)}
.wcfmt .fov-kpi-v{font-family:'Instrument Sans',sans-serif;font-size:38px;font-weight:650;letter-spacing:-0.02em;color:#F7FAF7;font-variant-numeric:tabular-nums}
.wcfmt .fov-kpi-sub{font-family:'Instrument Sans',sans-serif;font-size:11px;letter-spacing:0.02em;color:rgba(245,250,246,0.55)}
/* stat tiles + argument tiles */
.wcfmt .fcband-v{font-family:'Instrument Sans',sans-serif;font-size:34px;font-weight:650;letter-spacing:-0.02em;color:#141916}
.wcfmt .fcband-l{font-family:'Instrument Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.07em;color:#141916}
.wcfmt .fcband-s{font-family:'Instrument Sans',sans-serif;font-size:11.5px;color:#5F6B64}
.wcfmt .srcarg-t{font-family:'Instrument Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.08em;color:#6F7872}
.wcfmt .srcarg-t::before{display:none}
.wcfmt .srcarg-b{font-family:'Instrument Sans',sans-serif;font-size:13px;color:#3A423D;line-height:1.62}
/* tables */
.wcfmt table th,.wcfmt .fctable th{font-family:'Instrument Sans',sans-serif !important;font-size:10.5px !important;font-weight:600 !important;letter-spacing:0.07em !important;color:#6F7872 !important}
.wcfmt table td{color:#26302A}
.wcfmt .fcco,.wcfmt .src-row-co,.wcfmt .fov-row-name{font-family:'Instrument Sans',sans-serif;font-weight:600}
.wcfmt .src-row-co{font-size:14px}
.wcfmt .fov-row-moic-v{font-family:'Instrument Sans',sans-serif;font-weight:600;font-variant-numeric:tabular-nums}
.wcfmt tr.fcgroup td,.wcfmt .src-group{background:#FAFAF8;color:#5F6B64;font-family:'Instrument Sans',sans-serif;letter-spacing:0.07em}
/* quiet chips keep their grammar, rounder + lighter */
.wcfmt .chip-quiet{border-radius:7px;border-color:#E9E9E4 !important;color:#5F6B64 !important;letter-spacing:0.06em;font-weight:600}
.wcfmt .tier-pill,.wcfmt .card-h .tier-pill{border-radius:7px;border-color:#E9E9E4;color:#6F7872;letter-spacing:0.05em}
/* strategy/construction/disclaimer bands: neutral, never tinted gold */
.wcfmt .strategy-strip{background:#FAFAF8 !important;border-left:2px solid #1B3D2F !important}
.wcfmt .l2-disclaimer,.wcfmt [class*="disclaimer"]{background:#FAFAF8;border-color:#E9E9E4;color:#5F6B64}
/* footnotes */
.wcfmt .panel-foot,.wcfmt .fov-kpi-footnote,.wcfmt .perf-methodology{font-family:'Instrument Sans',sans-serif;font-style:normal;color:#6F7872}
/* gain bars on light cards: ink track, green lead */
.wcfmt .gw-pct{font-family:'Instrument Sans',sans-serif;font-weight:650}
.wcfmt .cb-val{font-family:'Instrument Sans',sans-serif;font-weight:650}
/* remaining serif declarations inside the v2 scope */
.wcfmt .db-co,.wcfmt .cvtl-co,.wcfmt .gw-big{font-family:'Instrument Sans',sans-serif;font-weight:600}

/* v2 polish round: neutral methodology band, aligned radii */
.wcfmt .fov-kpi-footnote{background:#FAFAF8;border:1px solid #E9E9E4;border-radius:10px;color:#6F7872;font-style:normal;font-family:'Instrument Sans',sans-serif;font-size:12px;line-height:1.6;padding:12px 16px}
.wcfmt .perf-methodology{box-shadow:none}
.wcfmt .perf-methodology-v,.wcfmt .perf-methodology-title{font-family:'Instrument Sans',sans-serif}
.wcfmt .fov-kpis{border-radius:12px}
.wcfmt .fov-bar{border-radius:10px;overflow:hidden}

/* ── v2 shell: light frame (Nigel) — the dark drama belongs to the
   content panels; the chrome recedes. Appended last: wins cascade. ── */
.titlebar{background:#FFFFFF;border-bottom:1px solid #E9E9E4}
.tb-mark{border-right:1px solid #E9E9E4}
.tb-logo{filter:none}
.tb-eyebrow{border-right:1px solid #E9E9E4;color:#6F7872;font-family:'Instrument Sans',sans-serif;font-weight:600;letter-spacing:0.10em;font-size:11px}
.tb-lp-label{color:#A9B2AB;font-family:'Instrument Sans',sans-serif;letter-spacing:0.08em}
.tb-lp-name{font-family:'Instrument Sans',sans-serif;font-size:14.5px;font-weight:600;color:#141916;letter-spacing:0}
.tb-signout{color:#6F7872}
.tb-signout:hover{color:#141916}
.tb-tier{color:#1B3D2F;border:1px solid rgba(27,61,47,0.35);border-radius:8px;font-family:'Instrument Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.08em;padding:9px 14px}
.tb-tier.tier-2{color:#1B3D2F;border-color:rgba(27,61,47,0.35)}
.sidebar{background:#FAFAF8;border-right:1px solid #E9E9E4}
.sb-section-h{color:#A9B2AB;font-family:'Instrument Sans',sans-serif;letter-spacing:0.10em}
.sb-item{color:#3A423D;font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:500}
.sb-item:hover{background:rgba(27,61,47,0.04);color:#141916}
.sb-item.act{background:rgba(27,61,47,0.06);color:#141916;border-left-color:#1B3D2F;font-weight:600}
.sb-item:hover::after{color:#1B3D2F}
.sb-item.act::after{color:#1B3D2F}
.sb-co-meta{color:#A9B2AB}
.sb-lock{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236F7872'><path d='M12 1a5 5 0 0 0-5 5v3H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-2V6a5 5 0 0 0-5-5zm0 2a3 3 0 0 1 3 3v3H9V6a3 3 0 0 1 3-3z'/></svg>")}
.sb-logo{background:#FFFFFF;border:1px solid #E9E9E4}
.sb-foot{border-top:1px solid #E9E9E4}
.sb-foot,.sb-foot *{color:#5F6B64}

/* ── signature stripe: CVP spectrum across the masthead top —
   the one piece of color jewelry on the light frame ── */
.titlebar{position:relative}
.titlebar::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#0d2420 0%,#1B3D2F 22%,#2F7A4E 48%,#6FA888 68%,#9FCDB4 84%,#C6A35E 100%)}
/* the active nav bar picks up the living green from the stripe */
.sb-item.act{border-left-color:#2F7A4E}

/* ── organic-modern nav: pill items, soft depth, breathing rail ── */
.titlebar{background:linear-gradient(180deg,#FFFFFF,#FBFCFB);border-bottom:none;box-shadow:0 1px 0 #E9E9E4,0 8px 24px -18px rgba(13,36,32,0.18)}
.tb-tier{background:rgba(47,122,78,0.08);border:none;color:#1B3D2F;border-radius:9px;padding:10px 16px;cursor:pointer;transition:background .15s}
.tb-tier:hover{background:rgba(47,122,78,0.15)}
.tb-tier.tier-2{background:rgba(47,122,78,0.08);border:none;color:#1B3D2F}
.sidebar{background:linear-gradient(180deg,#FAFAF8 0%,#F5F8F5 100%)}
.sb-item{margin:1px 8px;padding:8px 12px;border-radius:8px;border-left:none}
.sb-item:hover{padding-left:12px;background:rgba(27,61,47,0.05)}
.sb-item.act{background:rgba(47,122,78,0.10);color:#0d2420;border-left:none}
.sb-section-h{padding:14px 20px 7px;margin-top:8px}
.sb-section + .sb-section{border-top:1px solid #ECEEE9;margin-top:12px}
.sb-foot{padding:14px 16px;border-top:1px solid #ECEEE9}

/* ── masthead refinement: tighter wordmark, context block, avatar ── */
.tb-logo{height:44px}
.tb-eyebrow{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;white-space:nowrap}
.tb-eyebrow-t{font-family:'Instrument Sans',sans-serif;font-size:11px;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;color:#5F6B64}
.tb-eyebrow-s{font-family:'Instrument Sans',sans-serif;font-size:11px;font-weight:400;letter-spacing:0.02em;text-transform:none;color:#A9B2AB}
.tb-lp{flex-direction:row;align-items:center;gap:12px}
.tb-lp-label{display:none}
.tb-avatar{width:34px;height:34px;border-radius:50%;background:rgba(47,122,78,0.10);color:#1B3D2F;display:inline-flex;align-items:center;justify-content:center;font-family:'Instrument Sans',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:0.02em;flex-shrink:0}
#tb-lp{display:flex}
.tb-lp-name{font-size:13.5px}
.tb-signout{font-size:11px}

/* ── first impression: one family of type, one family of green ── */
.wcfmt .fov-bar-seg-l{font-family:'Instrument Sans',sans-serif;font-size:10px;font-weight:600;letter-spacing:0.07em}
.wcfmt .fov-bar-seg-n{font-family:'Instrument Sans',sans-serif;font-weight:700}
/* legend duplicated the in-bar labels and counts verbatim — hidden, not removed */
.wcfmt .fov-bar-legend{display:none}
.wcfmt .fov-row-meta,.wcfmt .fov-row-round-r,.wcfmt .fov-row-round-d,.wcfmt .fov-row-check-l,.wcfmt .fov-block-meta{font-family:'Instrument Sans',sans-serif;letter-spacing:0.04em;text-transform:none}
.wcfmt .fov-row-round-r{font-weight:600}
.wcfmt .fov-row-moic-l{font-family:'Instrument Sans',sans-serif;letter-spacing:0.04em;text-transform:none}
/* with the ramp bar, per-channel dot colors on catalog chips point at
   nothing — the chip text carries the channel on this page */
.wcfmt .fov-catalog .chip-dot{display:none}

/* ── opening screen: stand-first scale + orchestrated entrance ── */
.wcfmt .fov-head-deck{font-size:20px;font-weight:450;color:#3A423D;max-width:680px;line-height:1.5;letter-spacing:-0.005em}
@media(prefers-reduced-motion:no-preference){
  #view-fund-overview .fov-head,#view-fund-overview .fov-kpis,#view-fund-overview .fov-kpi-footnote,#view-fund-overview .perf-methodology,#view-fund-overview .fov-block{
    animation:fovRise .55s cubic-bezier(.22,.8,.3,1) both}
  #view-fund-overview .fov-kpis{animation-delay:.10s}
  #view-fund-overview .fov-kpi-footnote{animation-delay:.18s}
  #view-fund-overview .perf-methodology{animation-delay:.22s}
  #view-fund-overview .fov-block:nth-of-type(1){animation-delay:.24s}
  #view-fund-overview .fov-block:nth-of-type(2){animation-delay:.30s}
}
@keyframes fovRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* The KPI strip carries a dark fill + light text. Fading its opacity from 0
   (fovRise) makes it read as pale-gray-with-white-text mid-animation on slow
   or CPU-throttled mobile/tablet devices — the dark fill is translucent over
   the light page while the white numbers are still faint. Slide it in fully
   opaque instead so foreground/background contrast holds at every frame. */
@media(prefers-reduced-motion:no-preference){
  #view-fund-overview .fov-kpis{animation:fovRiseSolid .55s cubic-bezier(.22,.8,.3,1) both;animation-delay:.10s}
}
@keyframes fovRiseSolid{from{transform:translateY(14px)}to{transform:none}}
.wcfmt.no-rise .fov-head,.wcfmt.no-rise .fov-kpis,.wcfmt.no-rise .fov-kpi-footnote,.wcfmt.no-rise .perf-methodology,.wcfmt.no-rise .fov-block{animation:none}

/* the gain leader is not a one-hit wonder: lead bar joins the green
   family (rank reads through length), takeaway accents to sage/cream */
.att-dark .gw-fill.lead{background:linear-gradient(90deg,#5E9678,#BFE3CD);box-shadow:0 0 12px rgba(143,175,154,0.30)}
.gw-fill.lead{background:linear-gradient(90deg,#2F7A4E,#6FA888);box-shadow:none}
.att-dark .gw-takeaway{border-left-color:#5E7E69}
.att-dark .gw-big{color:#EFF3F1}

/* ── landing hero: the firm's statement at display scale ── */
.wcfmt .fov-head-h{font-size:56px;max-width:880px;line-height:1.05;margin-bottom:22px}
.wcfmt .fov-head-accent{color:#1B3D2F}
.wcfmt .fov-head-line{font-family:'Instrument Sans',sans-serif;font-size:17.5px;font-weight:450;color:#3A423D;line-height:1.5;margin:0 0 7px;padding-left:22px;position:relative;max-width:680px}
.wcfmt .fov-head-line::before{content:"";position:absolute;left:0;top:0.72em;width:12px;height:2px;background:#5E7E69}
/* hero proof rail: the opening screen should explain the review system,
   not just decorate the portfolio metrics. */
.wcfmt .fov-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,410px);
  align-items:end;
  gap:32px;
  padding:10px 0 28px;
}
.wcfmt .fov-head-side{
  width:100%;
  align-items:flex-start;
  gap:12px;
}
.wcfmt .fov-head-tag{
  align-self:flex-start;
  margin-top:0;
  border-radius:8px;
  background:#F7F9F6;
  color:#5F6B64;
  border-color:#E4E9E3;
  font-family:'Instrument Sans',sans-serif;
  letter-spacing:0.08em;
  line-height:1.35;
}
.wcfmt .fov-head-proof{
  border-color:#E4E9E3;
  background:rgba(255,255,255,0.72);
  border-radius:12px;
  box-shadow:0 18px 48px -42px rgba(13,36,32,0.35);
}
.wcfmt .fov-head-proof-row{
  grid-template-columns:116px 1fr;
  border-bottom-color:#E9EEE8;
}
.wcfmt .fov-head-proof-row span{
  font-family:'Instrument Sans',sans-serif;
  letter-spacing:0.08em;
  color:#6F7872;
}
.wcfmt .fov-head-proof-row strong{
  font-family:'Instrument Sans',sans-serif;
  color:#33443B;
  font-weight:560;
}
@media(max-width:980px){
  .wcfmt .fov-head{
    grid-template-columns:1fr;
    gap:18px;
    align-items:start;
  }
  .wcfmt .fov-head-h{font-size:44px}
  .wcfmt .fov-head-side{max-width:680px}
}
@media(max-width:600px){
  .wcfmt .fov-head-h{font-size:32px;line-height:1.08;margin-bottom:16px}
  .wcfmt .fov-head-proof-row{grid-template-columns:1fr;gap:4px}
}

/* ════ 2026-06-12 — Sourcing/Fund-Overview review fixes (Steve) ════
   Clean pills (the "Fund I"/"Level 2" tag read as a tight bordered circle),
   modern tiles (drop the gray header + green spine to match the portfolio
   pages), and breathing room between the KPI callout band and the table. */
.tier-pill{
  padding:3px 11px;border:1px solid #E9E9E4;border-radius:7px;background:#FAFAF8;
  color:#6F7872;font-family:'Instrument Sans',sans-serif;font-size:9.5px;font-weight:600;
  letter-spacing:0.10em;line-height:1.7;white-space:nowrap;text-transform:uppercase;
}
.srcarg-tile{
  border:1px solid #E9E9E4 !important;border-top:1px solid #E9E9E4 !important;
  border-radius:12px !important;box-shadow:none !important;background:#FFFFFF;
}
.srcarg-t{
  font-family:'Instrument Sans',sans-serif !important;font-size:11px !important;
  font-weight:600 !important;letter-spacing:0.08em !important;text-transform:none !important;
  color:#6F7872 !important;
}
.srcarg-t::before{display:none !important;}
.srcarg-b{font-family:'Instrument Sans',sans-serif !important;font-size:13px !important;color:#3A423D !important;line-height:1.62 !important;}
.fov-kpis{margin-bottom:32px !important;}
.fov-head-thesis{color:#5F6B64;font-style:italic;}
.src-takeaway{margin-top:14px;padding:13px 16px;border-left:2px solid #C6A35E;background:rgba(192,138,63,0.05);font-family:'Instrument Sans',sans-serif;font-size:12.5px;line-height:1.6;color:#3A423D}
.src-takeaway strong{color:#1B3D2F;font-weight:650}

/* ════ 2026-06-12 — sidebar section headers (Steve): the gray labels read as
   faint nav items. Make them clear SECTION headers — divider rule above each
   section, stronger muted label, and a gold tick marking it as a header. ════ */
.sb-section + .sb-section{border-top:1px solid #E9E9E4 !important;margin-top:12px;padding-top:15px !important}
/* Nigel: no ornament — section headers separate by type + the divider rule above.
   Smaller, wider-tracked, muted: reads as a category label, not a nav item. */
.sb-section-h{color:#9AA39C !important;font-weight:700 !important;font-size:9px !important;letter-spacing:0.2em !important;text-transform:uppercase}
.sb-section-h::before{display:none !important}

/* ═══ Mobile / tablet-portrait shell (<=860px) — AUTHORITATIVE ═══════
   Placed at end-of-file deliberately: earlier mobile rules (the ~line 4247
   block) targeted a `.shell` container that no longer exists (markup uses
   `.layout`), and the wcfmt migration's later `.sidebar{width:200px}`
   (~line 5354) overrode the older `width:100%`. Re-asserting here means it
   wins by source order. 860px catches every iPad PORTRAIT width
   (768/810/820/834) while landscape + laptops/desktops (>860px) keep the
   two-column layout untouched. Desktop/computer view keeps prior geometry. */
@media (max-width: 860px) {
  /* Let the whole DOCUMENT scroll on mobile. The desktop shell pins .app to
     height:100vh + overflow:hidden and scrolls .main internally; once stacked
     that clips the now-taller content and nothing scrolls (confirmed: .app
     scrollHeight 4162 clipped to 844, document not scrollable). Relaxing the
     shell here lets the page scroll naturally. Scoped <=860 so desktop keeps
     its fixed 100vh internal-scroll shell and visuals unchanged. */
  html, body { height: auto; }
  /* Root-level guard: no element (titlebar, footer, wide content cell) may
     create sideways page scroll on phones. overflow-x:hidden on <html> clips
     horizontal while the viewport still scrolls vertically. Nested scroll
     regions (tables in their own boxes) are unaffected. */
  html { overflow-x: hidden; }
  .app { height: auto; min-height: 100vh; overflow: visible; }
  .layout { flex-direction: column; overflow: visible; min-height: 0; }
  .nav-toggle { display: inline-flex; }
  /* Nav collapsed by default so CONTENT leads the first viewport; the menu
     toggle reveals it as a full-width drawer below the header. */
  .sidebar { display: none; }
  .app.nav-open .sidebar {
    display: flex;
    width: 100% !important;       /* beat the later .sidebar{width:200px} */
    max-height: 72vh;
    overflow-y: auto;
    border-right: none;
    border-bottom: 1px solid var(--line);
  }
  /* overflow-y visible -> document scrolls; overflow-x clip prevents any wide
     descendant (full-bleed deck views, wide tables) from creating sideways
     page scroll. `clip` (unlike `hidden`) does not force overflow-y to auto,
     so vertical document scroll is preserved. Nested scroll regions (the
     iframe stages, table boxes) still scroll internally. */
  .main { overflow-y: visible; overflow-x: clip; }
}

/* ═══ Mobile (<=860px) tab-2/tab-3 fixes (Sourcing + Attribution) ═════
   Two breakages on phones, both desktop-untouched (scoped):
   1) Wide data tables (e.g. attribution fund-returning thresholds, 813px)
      stretched the page to 736px causing horizontal page scroll + clipping.
      Scroll them inside their own box instead.
   2) Fixed-stage deck iframes (pov-hero, sourcing-engine, value-development)
      are ~1280px 16:9 slides designed for desktop; at phone width they either
      overlap into mush (crammed) or overflow the page (min-width). They are
      the primary 720px overflow source. Hide them on phones; the substance
      (channels, KPIs, the value tables) is present in legible HTML. Bespoke
      mobile-native versions of these graphics are a follow-up if wanted. */
@media (max-width: 860px) {
  .main table { display: block; overflow-x: auto; max-width: 100%;
    -webkit-overflow-scrolling: touch; }
  .pov-hero-wrap { display: none; }
}

/* ═══ Mobile (<=860px) titlebar + footer declutter ═══════════════════
   The desktop titlebar packs hamburger + logo + eyebrow + Export + "Viewing
   as <name>" + Sign out + tier into one non-wrapping row; at phone width it
   ran to 736px and caused sideways page scroll (and the full-width footer
   matched it). Strip the titlebar to the essentials on phones; let the
   watermark footer wrap. Desktop (>860px) keeps the full titlebar. */
@media (max-width: 860px) {
  .titlebar { gap: 8px; padding: 10px 14px; }
  .tb-eyebrow, .tb-tier, .tb-lp-label, .tb-lp-name, .tb-avatar { display: none; }
  .tb-logo { height: 30px; }
  .tb-guide { margin-right: 0; }
  .watermark { flex-wrap: wrap; gap: 2px 10px; text-align: left; }
  .watermark > * { white-space: normal; }
}

/* ═══ Mobile (<=860px) titlebar fit + content-grid collapse ══════════
   Titlebar: drop the flex spacer and allow wrap so the logo + Export +
   Sign out all stay reachable instead of being pushed off the right edge.
   Content grids that kept desktop column counts (sourcing argument tiles,
   attribution fund-check band) collapse to one column so cells fit. */
@media (max-width: 860px) {
  .titlebar { flex-wrap: wrap; row-gap: 8px; }
  .tb-spacer { display: none; }
  .srcarg, .fcband { grid-template-columns: 1fr !important; }
}

/* ═══ MOIC dumbbell plot — phone horizontal-scroll viewport ══════════
   .db-wrap is a desktop-proportioned dot-plot: absolute, white-space:nowrap
   value labels positioned by percentage and sized to fit a 220px right
   gutter, over a 170px name column. It cannot reflow below ~560px. On phones
   the .db-scroll wrapper becomes a horizontal-scroll viewport and the plot
   keeps a usable min-width (legible, swipe to pan) — same treatment as wide
   tables. On desktop .db-scroll is inert (plot fits, no scrollbar appears),
   so the desktop view keeps prior geometry. */
.db-scroll { max-width: 100%; }
@media (max-width: 860px) {
  .db-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .db-wrap { min-width: 560px; }
}

/* ═══ Phone (<=600px) inline two-column grid collapse (fund views) ═══
   The fund views build several panel grids with inline `display:grid;
   grid-template-columns:1fr 1fr` (e.g. the Attribution scenario panels at
   app.js ~2737) and `1.1fr 1fr` editorial splits. `1fr` tracks have an
   implicit min of min-content; on a phone (~390) the cards' inner `1fr auto`
   value-rows cannot shrink below ~258px, so each track grows to min-content
   (~514px total), pushing the right column off-screen — the html overflow
   guard then clips ~177px of a real card. At iPad width (768) the tracks
   have room and the two-column layout is correct and wanted, so this only
   fires at <=600 (phones). Inline style attributes are stored without spaces
   after the colon (verified), so these attribute selectors match. Scoped to
   .wcfmt; desktop + tablet untouched. */
@media (max-width: 600px) {
  .wcfmt [style*="grid-template-columns:1fr 1fr"],
  .wcfmt [style*="grid-template-columns:1.1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* ═══ Mobile (<=860px) wcfmt full-bleed neutralizer ══════════════════
   The fund views (.wcfmt) use `margin:-28px -32px -56px; padding:34px 44px
   90px` — a desktop full-bleed that pulls the section out past main's 32px
   padding then re-pads to a wide editorial gutter. At mobile widths main's
   padding is only 18px (<=600: 14px), so the -32px horizontal margin pushes
   the section 14-18px PAST each viewport edge. The html{overflow-x:clip}
   guard hides the resulting bleed (no scroll, no content lost — content sits
   44px inside), but it is the guard masking sloppiness rather than a real
   fit. Zero the horizontal bleed here: the section sits flush within main's
   gutter, so the page measures exactly viewport-wide with zero overflow.
   Vertical bleed (-28 top / -56 bottom) is kept. Desktop (>860) untouched. */
@media (max-width: 860px) {
  .wcfmt { margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
}

/* ═══ Data Room Confidentiality Agreement ═══════════════════════════ */
.modal-card{max-height:90vh;overflow-y:auto}
.agreement-accept-card{
  width:min(820px,calc(100vw - 40px));
  max-height:min(780px,calc(100vh - 40px));
  padding:30px 34px 26px;
  border:1px solid rgba(27,61,47,.12);
}
.agreement-accept-card .modal-title{margin-bottom:8px}
#l2-modal-title:focus{outline:none}
.agreement-identity{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  margin:15px 0 13px;
  background:#F4F7F5;
  border:1px solid #DCE5E0;
  font-size:12px;
  color:var(--ink-3);
}
.agreement-identity strong{font-size:13px;color:var(--ink)}
.agreement-identity span:last-child{font-family:var(--mono);font-size:10.5px}
.agreement-document{border:1px solid #D8DEDA;background:#fff}
.agreement-document-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px;
  border-bottom:1px solid #E1E5E2;
  background:#F8FAF9;
}
.agreement-document-head strong{display:block;font-size:12.5px;color:var(--ink)}
.agreement-document-head span{display:block;margin-top:2px;font-size:10.5px;color:var(--ink-3)}
.agreement-source-link{
  flex:0 0 auto;
  color:var(--forest);
  font-size:11.5px;
  font-weight:700;
  text-decoration:none;
}
.agreement-source-link:hover{text-decoration:underline}
.agreement-document-text{
  height:min(310px,35vh);
  overflow:auto;
  padding:18px 20px;
  scroll-behavior:smooth;
  overscroll-behavior:contain;
  font-family:Arial,"Helvetica Neue",sans-serif;
  font-size:11.5px;
  line-height:1.55;
  color:#303A34;
}
.agreement-document-text p{margin:0 0 12px}
.agreement-document-text p:first-child{font-weight:700;color:var(--ink);letter-spacing:.04em}
.agreement-document-text:focus{outline:2px solid rgba(27,61,47,.28);outline-offset:-2px}
.agreement-consent{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:10px;
  align-items:start;
  margin:15px 0 4px;
  padding:0 2px;
  color:var(--ink-2);
  font-size:12px;
  line-height:1.5;
  cursor:pointer;
}
.agreement-consent input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--forest)}
.agreement-error{margin:10px 0 0;color:#A6402E;font-size:11.5px}
.agreement-accept-card.receipt-mode{
  width:min(620px,calc(100vw - 32px));
  max-height:calc(100dvh - 32px);
  padding:0;
  overflow:hidden;
}
.agreement-receipt{text-align:left;padding:34px 36px 30px}
.agreement-receipt-status{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:15px;
}
.agreement-receipt-status .modal-eyebrow{margin:0;color:var(--forest)}
.agreement-receipt .modal-title{margin:0 0 9px;font-size:29px;line-height:1.12}
.agreement-receipt .modal-body{max-width:500px;margin:0;color:var(--ink-2)}
.agreement-receipt-mark{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  margin:0;
  border-radius:50%;
  background:var(--forest);
  color:#fff;
  font-size:14px;
  font-weight:700;
}
.agreement-continue{
  display:flex;
  justify-content:center;
  width:100%;
  min-height:48px;
  margin-top:22px;
}
.agreement-copy-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px 18px;
  align-items:center;
  margin-top:16px;
  padding:15px 16px;
  border:1px solid #DCE5E0;
  border-radius:6px;
  background:#F5F8F6;
}
.agreement-copy-title{
  margin-bottom:3px;
  color:var(--ink);
  font-size:12px;
  font-weight:700;
}
.agreement-copy-description{
  color:var(--ink-3);
  font-size:11.5px;
  line-height:1.45;
}
.agreement-copy-description strong{color:var(--ink-2);overflow-wrap:anywhere}
.agreement-copy-actions{display:flex;align-items:center;gap:8px}
.agreement-copy-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #C9D5CF;
  border-radius:4px;
  background:#fff;
  color:var(--forest);
  font:700 11px/1.2 Arial,"Helvetica Neue",sans-serif;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
}
.agreement-copy-action:hover{border-color:var(--forest);background:#FDFEFD}
.agreement-copy-action:focus-visible{outline:2px solid rgba(27,61,47,.35);outline-offset:2px}
.agreement-copy-action:disabled{border-color:#DCE2DE;background:#F2F4F2;color:var(--ink-3);cursor:default}
.agreement-email-status{
  grid-column:1/-1;
  min-height:0;
  margin:0;
  color:var(--ink-3);
  font-size:11px;
  line-height:1.4;
}
.agreement-email-status:empty{display:none}
@media(max-width:640px){
  .agreement-accept-card{
    width:calc(100vw - 20px);
    max-height:calc(100dvh - 20px);
    padding:22px 18px 18px;
  }
  .agreement-accept-card .modal-title{font-size:21px}
  .agreement-identity{grid-template-columns:1fr;gap:2px}
  .agreement-identity span:last-child{overflow-wrap:anywhere}
  .agreement-document-head{align-items:flex-start}
  .agreement-document-text{height:34vh;padding:15px;font-size:11px}
  .agreement-consent{font-size:11.5px}
  .agreement-accept-card .modal-actions{justify-content:stretch}
  .agreement-accept-card .modal-actions .btn{flex:1 1 0}
  .agreement-accept-card.receipt-mode{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}
  .agreement-receipt{padding:26px 22px 22px}
  .agreement-receipt .modal-title{font-size:24px}
  .agreement-copy-panel{grid-template-columns:1fr}
  .agreement-copy-actions{width:100%}
  .agreement-copy-action{flex:1 1 0}
}

/* ═══ Admin · Signed Agreements — the signed-document modal ═══════════ */
.modal-card.agreement-doc{max-width:680px}
.agreement-doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;margin:12px 0 16px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-2)}
.agreement-doc-meta strong{color:var(--ink-3);font-weight:600}
.agreement-doc-terms{margin:10px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.agreement-doc-terms li{font-size:12.5px;line-height:1.55;color:var(--ink-2)}
.agreement-doc-terms li strong{color:var(--ink)}

/* Export the signed agreement as a clean PDF (print only that modal). */
@media print{
  body.printing-agreement > *{display:none !important}
  body.printing-agreement #agreement-doc-modal{display:block !important;position:static !important}
  body.printing-agreement #agreement-doc-modal .modal-backdrop{display:none !important}
  body.printing-agreement #agreement-doc-modal .modal-card{box-shadow:none !important;max-height:none !important;max-width:none !important;overflow:visible !important}
  body.printing-agreement #agreement-doc-modal .modal-actions{display:none !important}
  /* Clean PDF formatting (Cat #12): clauses + meta block never split across a
     page break, title stays with its first clause, and the card prints flush. */
  body.printing-agreement{background:#fff !important}
  body.printing-agreement #agreement-doc-modal .modal-card{padding:0 !important;border:none !important}
  body.printing-agreement #agreement-doc-modal .modal-title{break-after:avoid;page-break-after:avoid}
  body.printing-agreement #agreement-doc-modal .agreement-doc-meta{break-inside:avoid;page-break-inside:avoid}
  body.printing-agreement #agreement-doc-modal .agreement-doc-terms li{break-inside:avoid;page-break-inside:avoid}
  @page{margin:18mm}
}

/* ═══ Fund I surface redesign — overview, sourcing, performance ═══════ */
#view-fund-overview.fund-surface,
#view-sourcing.fund-surface,
#view-attribution.fund-surface{
  color:#111815;
}
.fund-surface .fov-kicker{
  font-family:'Inter','Helvetica Neue',sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#4D6960;
}
.fov-surface{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.fov-hero-panel{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:26px;
  align-items:stretch;
  padding:34px;
  border:1px solid #D7E5DF;
  border-radius:14px;
  background:
    radial-gradient(130% 100% at 4% 0%,rgba(58,148,135,.34),transparent 48%),
    radial-gradient(80% 70% at 99% 4%,rgba(200,176,114,.18),transparent 44%),
    linear-gradient(135deg,#EEF9F5 0%,#DDF0EA 52%,#CCE7DE 100%);
  box-shadow:0 26px 64px -28px rgba(20,50,40,.34);
  overflow:hidden;
  position:relative;
}
.fov-hero-panel::before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(24,55,45,.05) 1px,transparent 1px),
    linear-gradient(rgba(24,55,45,.045) 1px,transparent 1px);
  background-size:54px 54px;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 78%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.6),transparent 78%);
  pointer-events:none;
}
.fov-hero-copy,.fov-metric-rail{position:relative;z-index:1}
.fov-hero-copy{
  min-height:312px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  max-width:760px;
  color:#16241D;
}
.fov-hero-copy .fov-kicker{color:#4D6960}
.fov-hero-title{
  margin:12px 0 14px;
  max-width:720px;
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(32px,3.4vw,50px);
  line-height:1.04;
  font-weight:560;
  letter-spacing:-.01em;
}
.fov-hero-line{
  margin:0;
  max-width:650px;
  font-family:'Instrument Sans',sans-serif;
  font-size:17px;
  line-height:1.62;
  color:#3F5149;
}
.fov-hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}
.fov-primary-link,
.fov-secondary-link{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border-radius:8px;
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  font-weight:760;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
}
.fov-primary-link{background:#15352B;color:#F7FBF8;border:1px solid #15352B}
.fov-secondary-link{background:#FFFFFF;color:#15352B;border:1px solid #CFE0D8}
.fov-metric-rail{
  align-self:stretch;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.fov-hero-metric{
  min-height:130px;
  padding:18px 18px 20px;
  border:1px solid #CFE0D6;
  border-radius:10px;
  background:#FFFFFF;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 12px 24px -16px rgba(20,50,38,.35);
}
/* Net IRR (5th metric) spans the rail as the gold-struck capstone, the audited
   headline number that anchors the hero. */
.fov-metric-rail .fov-hero-metric:nth-child(5){grid-column:1 / -1;min-height:0;border-top:3px solid #C8B072}
.fov-metric-rail .fov-hero-metric:nth-child(5) .fov-hero-metric-v{font-size:52px}
.fov-hero-metric-k{
  font-family:'Inter','Helvetica Neue',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:#8C948E;
}
.fov-hero-metric-v{
  margin-top:14px;
  font-family:'Instrument Sans',sans-serif;
  font-size:44px;
  line-height:1;
  font-weight:560;
  font-variant-numeric:tabular-nums;
  color:#0E1B14;
}
/* Magnitude letter (M/B/K) reads quieter than the number it modifies. */
.fov-hero-metric-v .num-unit,
.perf-hero-stat strong .num-unit{
  font-size:0.56em;
  font-weight:500;
  margin-left:0.06em;
  color:#42584C;
}
.fov-hero-metric-s{
  margin-top:8px;
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  line-height:1.35;
  color:#65706A;
}
/* Dark forest accent band — the second dark anchor (with the selected-company
   card), giving the page a deliberate dark/light rhythm instead of a pale runway. */
.fov-review-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid rgba(200,176,114,.20);
  border-radius:12px;
  background:linear-gradient(160deg,#163322 0%,#102219 100%);
  overflow:hidden;
  box-shadow:0 24px 54px -26px rgba(10,24,17,.5);
}
.fov-review-item{
  padding:22px 24px;
  border-left:1px solid rgba(200,176,114,.16);
}
.fov-review-item:first-child{border-left:0}
.fov-review-h{
  font-family:'Instrument Sans',sans-serif;
  font-size:13px;
  font-weight:780;
  color:#C8B072;
}
.fov-review-b{
  margin-top:8px;
  font-family:'Instrument Sans',sans-serif;
  font-size:13px;
  line-height:1.55;
  color:rgba(246,241,230,.78);
}
.fov-system{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,390px);
  gap:22px;
  align-items:start;
}
.fov-system-main{
  padding:22px;
  border:1px solid #E3E8E6;
  border-radius:12px;
  background:#FEFDF9;
}
.fov-system-head{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
  margin-bottom:18px;
}
.fov-grid-tabs{
  display:inline-flex;
  align-items:center;
  gap:3px;
  padding:4px;
  border:1px solid #DCE5E0;
  border-radius:9px;
  background:#F1F5F2;
}
.fov-grid-tab{
  appearance:none;
  min-height:34px;
  padding:0 13px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#5E6B64;
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  font-weight:650;
  letter-spacing:0;
  cursor:pointer;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.fov-grid-tab:hover{color:#15352B;background:rgba(255,255,255,.72)}
.fov-grid-tab.active{
  background:#FFFFFF;
  color:#15352B;
  box-shadow:0 1px 3px rgba(20,50,38,.13);
}
.fov-grid-tab:focus-visible{
  outline:2px solid #2F7A4E;
  outline-offset:2px;
}
.fov-section-title{
  margin:6px 0 0;
  font-family:'Playfair Display',Georgia,serif;
  font-size:36px;
  font-weight:570;
  line-height:1.08;
  color:#101714;
  letter-spacing:0;
}
.fov-system-note{
  margin:0;
  max-width:420px;
  font-family:'Instrument Sans',sans-serif;
  font-size:12.5px;
  line-height:1.5;
  color:#6E756F;
}
.fov-record-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.fov-record-card{
  appearance:none;
  min-height:156px;
  padding:16px;
  border:1px solid #E1E7E4;
  border-radius:10px;
  background:#FFFFFF;
  color:#101714;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.fov-record-card:hover,
.fov-record-card-selected{
  transform:translateY(-2px);
  border-color:#1B3D2F;
  box-shadow:0 18px 34px rgba(23,42,33,.12);
}
.fov-record-card-selected{background:#142D22;border-color:#142D22}
.fov-record-card-selected .fov-record-name{color:#F4F8F6}
.fov-record-card-selected .fov-record-moic{color:#C8B072}
.fov-record-card-selected .fov-record-sector{color:rgba(246,241,230,.62)}
.fov-record-card-selected .fov-record-econ{border-top-color:rgba(246,241,230,.16)}
.fov-record-card-selected .fov-record-econ-k{color:rgba(246,241,230,.50)}
.fov-record-card-selected .fov-record-econ-v{color:#F4F8F6}
.fov-record-card-breakout{border-top:5px solid #14512F}
.fov-record-card-marked{border-top:5px solid #2F7A4E}
.fov-record-card-cost{border-top:5px solid #C6A35E}
.fov-record-card-watch{border-top:5px solid #B0552F}
.fov-record-card-locked{border-top:5px solid #C2BEB0}
.fov-record-top{
  display:flex;
  gap:12px;
  justify-content:space-between;
  align-items:flex-start;
}
.fov-record-name{
  font-family:'Instrument Sans',sans-serif;
  font-size:15px;
  font-weight:780;
  line-height:1.15;
  color:#111815;
}
.fov-record-moic{
  flex:0 0 auto;
  font-family:'Instrument Sans',sans-serif;
  font-size:21px;
  line-height:1;
  color:#163B2C;
  font-variant-numeric:tabular-nums;
}
.fov-record-sector{
  margin-top:10px;
  min-height:32px;
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  line-height:1.35;
  color:#6C746E;
}
.fov-record-economics{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:14px;
}
.fov-record-econ{
  padding-top:10px;
  border-top:1px solid #E9EEEC;
}
.fov-record-econ-k{
  display:block;
  font-family:'Inter','Helvetica Neue',sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#99A099;
}
.fov-record-econ-v{
  display:block;
  margin-top:4px;
  font-family:'Instrument Sans',sans-serif;
  font-size:14px;
  font-weight:760;
  color:#121916;
  font-variant-numeric:tabular-nums;
}
.fov-selected-company{
  position:sticky;
  top:18px;
  padding:24px;
  border-radius:12px;
  background:linear-gradient(160deg,#163322 0%,#102219 100%);
  color:#F4F8F6;
  border:1px solid rgba(200,176,114,.18);
  box-shadow:0 30px 60px -22px rgba(10,24,17,.55);
}
.fov-selected-k{
  font-family:'Inter','Helvetica Neue',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#C8B072;
}
.fov-selected-name{
  margin:10px 0 8px;
  font-family:'Playfair Display',Georgia,serif;
  font-size:34px;
  line-height:1.04;
  font-weight:570;
  letter-spacing:0;
}
.fov-selected-tag{
  margin:0 0 14px;
  font-family:'Instrument Sans',sans-serif;
  font-size:14px;
  line-height:1.55;
  color:rgba(248,243,232,.75);
}
.fov-selected-founders{
  margin:0 0 18px;
  padding:11px 0;
  border-top:1px solid rgba(248,243,232,.16);
  border-bottom:1px solid rgba(248,243,232,.16);
  font-family:'Instrument Sans',sans-serif;
  font-size:13px;
  line-height:1.45;
  color:#F4F8F6;
}
.fov-selected-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.fov-selected-fact{
  min-height:64px;
  padding:11px;
  border:1px solid rgba(248,243,232,.14);
  border-radius:8px;
  background:rgba(255,255,255,.045);
}
.fov-selected-fact span{
  display:block;
  font-family:'Inter','Helvetica Neue',sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(248,243,232,.48);
}
.fov-selected-fact strong{
  display:block;
  margin-top:5px;
  font-family:'Instrument Sans',sans-serif;
  font-size:14px;
  line-height:1.2;
  color:#F4F8F6;
}
.fov-selected-links{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:18px;
}
.fov-selected-links a{
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:40px;
  padding:0 12px;
  border:1px solid rgba(248,243,232,.18);
  border-radius:8px;
  color:#F4F8F6;
  text-decoration:none;
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  font-weight:760;
}
.fov-selected-links a::after{content:"→";color:#C8B072}
.fov-evidence-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.fov-evidence-card{
  padding:22px;
  border:1px solid #E3E8E6;
  border-radius:12px;
  background:#FFF;
}
.fov-evidence-card h3{
  margin:8px 0 8px;
  font-family:'Playfair Display',Georgia,serif;
  font-size:25px;
  line-height:1.12;
  font-weight:570;
  color:#121916;
}
.fov-evidence-card p{
  margin:0 0 14px;
  font-family:'Instrument Sans',sans-serif;
  font-size:13px;
  line-height:1.55;
  color:#626B65;
}
.fov-evidence-card a{
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  font-weight:760;
  color:#1B3D2F;
  text-decoration:none;
}
/* Light, tech-forward hero — near-white ground with a whisper of teal/mint glow (Fund II deck accent) */
.src-research-shell,
.perf-research-shell{
  position:relative;
  overflow:hidden;
  margin-bottom:24px;
  padding:28px;
  border:1px solid #DDEBE8;
  border-radius:16px;
  background:
    radial-gradient(95% 85% at 100% -12%, rgba(42,128,128,.09), transparent 55%),
    radial-gradient(70% 72% at -2% 0%, rgba(143,213,206,.12), transparent 52%),
    linear-gradient(160deg, #FFFFFF 0%, #F4FBFA 100%);
  box-shadow:0 22px 54px -32px rgba(20,60,55,.20);
}
.src-research-shell::before,
.perf-research-shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(42,128,128,.055) 1px, transparent 1px),
    linear-gradient(rgba(42,128,128,.05) 1px, transparent 1px);
  background-size:46px 46px;
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.5), transparent 72%);
  mask-image:linear-gradient(180deg, rgba(0,0,0,.5), transparent 72%);
  pointer-events:none;
}
.src-research-shell > *,
.perf-research-shell > *{position:relative;z-index:1;}
.src-research-shell .fov-kicker,
.perf-research-shell .fov-kicker{color:#297F7F;}
.src-research-shell .src-proof-cell strong{color:#1E6B62;}
/* Main + context rail — a feature (chart) beside a narrow rail of key figures */
.perf-mainrail{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(210px,250px);gap:22px;align-items:stretch;padding:8px 26px 6px;}
.vdev-mainrail .vdev-wrap{margin:0;}
.vdev-rail{display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding-left:22px;}
.vdev-rail-eye{font-family:'Inter','Helvetica Neue',sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8FA79A;margin-bottom:8px;}
.vdev-rail-item{padding:10px 0;border-top:1px solid var(--line);}
.vdev-rail-item:first-of-type{border-top:0;}
.vdev-rail-v{font-family:'Instrument Sans',sans-serif;font-size:23px;font-weight:600;color:#15352B;line-height:1;font-variant-numeric:tabular-nums;}
.vdev-rail-k{font-family:'Inter',sans-serif;font-size:12px;font-weight:600;color:#2D3A34;margin-top:4px;}
.vdev-rail-s{font-family:'Inter',sans-serif;font-size:10.5px;color:#8A938C;margin-top:1px;}
@media(max-width:900px){.perf-mainrail{grid-template-columns:1fr;padding:8px 20px 6px;}.vdev-rail{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:16px;margin-top:6px;}}
/* Performance appendix — quiet reference cluster (2-col where it fits) */
.perf-appendix{border:1px solid var(--line);border-radius:14px;background:#FBFCFB;padding:20px 22px 22px;box-shadow:0 1px 2px rgba(27,61,47,.05);}
.perf-appendix-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.perf-appendix-eye{font-family:'Inter','Helvetica Neue',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#6D8D7B;}
.perf-appendix-sub{font-family:'Instrument Sans',sans-serif;font-size:12.5px;color:#6E756F;}
.perf-appendix-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:14px;margin-top:14px;}
.perf-appendix-grid > .perf-appendix-item:last-child:nth-child(odd){grid-column:1 / -1;}
.perf-appendix-item{border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden;}
.perf-appendix-t{font-family:'Instrument Sans',sans-serif;font-size:13px;font-weight:760;color:#1B3D2F;padding:14px 16px 6px;}
@media(max-width:760px){.perf-appendix-grid{grid-template-columns:1fr;}}
.src-hero-top,
.perf-hero-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,430px);
  gap:24px;
  align-items:end;
}
.src-hero-title,
.perf-hero-title{
  margin:9px 0 10px;
  max-width:720px;
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(32px,3.2vw,46px);
  line-height:1.04;
  font-weight:560;
  letter-spacing:0;
  color:#111815;
}
.src-hero-copy{max-width:760px}
.src-hero-line,
.perf-hero-line{
  margin:0;
  max-width:700px;
  font-family:'Instrument Sans',sans-serif;
  font-size:16px;
  line-height:1.58;
  color:#5F6962;
}
.src-proof-map{
  display:flex;
  flex-wrap:wrap;
  margin-top:18px;
  border-top:1px solid rgba(22,44,35,.14);
}
.src-proof-cell{
  flex:1;
  min-width:130px;
  padding:14px 26px 0 0;
  display:flex;
  align-items:baseline;
  gap:10px;
}
.src-proof-cell strong{
  font-family:'Playfair Display',Georgia,serif;
  font-size:28px;
  line-height:1;
  color:#163B2C;
  font-variant-numeric:tabular-nums;
}
.src-proof-cell span{
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;
  line-height:1.3;
  color:#69736B;
}
.src-mix{
  margin-top:22px;
  padding:22px 24px;
  border-radius:14px;
  background:linear-gradient(162deg,#173524 0%,#0F2017 100%);
  border:1px solid rgba(200,176,114,.20);
  box-shadow:0 28px 56px -24px rgba(10,24,17,.6);
}
.src-mix-head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:14px;margin-bottom:15px;
}
.src-mix-kick{
  font-family:'Inter','Helvetica Neue',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:#C8B072;
}
.src-mix-note{
  font-family:'Instrument Sans',sans-serif;
  font-size:12px;line-height:1.35;color:rgba(246,241,230,.6);text-align:right;
}
.src-mix-bar{
  display:flex;height:18px;gap:2px;border-radius:6px;overflow:hidden;
}
.src-mix-seg{
  display:flex;align-items:center;justify-content:center;min-width:16px;
  box-shadow:inset 0 0 0 1px rgba(246,241,230,.10);
}
.src-mix-seg-n{
  font-family:'Instrument Sans',sans-serif;
  font-size:10.5px;font-weight:700;color:rgba(255,255,255,.95);
}
.src-mix-rows{
  margin-top:20px;
  display:grid;grid-template-columns:1fr 1fr;gap:15px 30px;
}
.src-mix-row{
  display:flex;flex-direction:column;gap:9px;
  padding-top:14px;border-top:1px solid rgba(246,241,230,.1);
}
.src-mix-row:last-child:nth-child(odd){grid-column:1 / -1}
.src-mix-lead{display:flex;align-items:flex-start;gap:10px}
.src-mix-dot{
  flex:none;width:9px;height:9px;border-radius:50%;margin-top:4px;
  box-shadow:0 0 0 1px rgba(246,241,230,.28);
}
.src-mix-label{min-width:0}
.src-mix-label strong{
  display:block;
  font-family:'Instrument Sans',sans-serif;
  font-size:13.5px;font-weight:640;line-height:1.25;color:#F4F8F6;
}
.src-mix-label span{
  display:block;margin-top:3px;
  font-family:'Instrument Sans',sans-serif;
  font-size:11.5px;color:rgba(246,241,230,.6);
}
.src-mix-chips{display:flex;flex-wrap:wrap;gap:5px;padding-left:19px}
.src-mix-chip{
  font-family:'Instrument Sans',sans-serif;
  font-size:11px;color:rgba(246,241,230,.82);
  background:rgba(246,241,230,.06);
  border:1px solid rgba(246,241,230,.13);
  border-radius:5px;padding:2px 8px;
}
.perf-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.perf-hero-stat{
  min-height:116px;
  padding:15px;
  border:1px solid #DCE3E0;
  border-radius:10px;
  background:#FFFFFF;
}
.perf-hero-stat > span{
  display:block;
  font-family:'Inter','Helvetica Neue',sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#707871;
}
.perf-hero-stat strong{
  display:block;
  margin-top:13px;
  font-family:'Instrument Sans',sans-serif;
  font-size:34px;
  line-height:1;
  color:#163B2C;
  font-variant-numeric:tabular-nums;
}
.perf-hero-stat em{
  display:block;
  margin-top:8px;
  font-family:'Instrument Sans',sans-serif;
  font-size:11.5px;
  font-style:normal;
  color:#6A736D;
}
.perf-research-shell .perf-methodology{
  margin-top:20px;
  background:#FFFFFF;
}
@media(max-width:1180px){
  .fov-hero-panel{grid-template-columns:1fr}
  .fov-metric-rail{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fov-system{grid-template-columns:1fr}
  .fov-selected-company{position:relative;top:auto}
  .src-mix-rows{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .fov-hero-panel,
  .src-research-shell,
  .perf-research-shell{padding:22px;border-radius:12px}
  .fov-hero-copy{min-height:0}
  .fov-review-strip,
  .fov-record-grid,
  .fov-evidence-row,
  .src-hero-top,
  .perf-hero-top,
  .src-proof-map,
  .perf-hero-stats{grid-template-columns:1fr}
  .fov-metric-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fov-review-item{border-left:0;border-top:1px solid #E4E9E7}
  .fov-review-item:first-child{border-top:0}
  .fov-system-main{padding:16px}
  .fov-system-head{align-items:flex-end}
  .src-mix-rows{grid-template-columns:1fr}
}
@media(max-width:560px){
  .fov-hero-panel{padding:18px;margin-left:-4px;margin-right:-4px}
  .fov-hero-title{font-size:34px}
  .fov-section-title{font-size:28px}
  .fov-hero-metric{min-height:106px;padding:14px}
  .fov-hero-metric-v{font-size:34px}
  .fov-metric-rail .fov-hero-metric:nth-child(5) .fov-hero-metric-v{font-size:40px}
  .fov-system-head{display:block}
  .fov-grid-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;width:100%}
  .fov-grid-tab{padding:0 7px}
  .src-mix-rows{grid-template-columns:1fr}
}

/* New L2 Performance analysis panes (J-Curve, Valuation Bridge, First-Check
   Allocation, Attribution) — desktop grid + mobile stacking so narrow
   viewports collapse to one column instead of cramping. */
.pa-jcurve-grid{display:grid;grid-template-columns:minmax(0,1.7fr) 210px;gap:28px;align-items:center}
.pa-attr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 24px;align-items:start}
.pa-attr-grid > *{padding:0 22px;border-left:1px solid rgba(27,61,47,0.10)}
.pa-attr-grid > *:first-child{padding-left:0;border-left:none}
@media (max-width:860px){
  .pa-jcurve-grid{grid-template-columns:1fr;gap:22px}
  .pa-attr-grid{grid-template-columns:1fr;gap:24px;padding:18px 22px}
  .pa-attr-grid > *{padding:0;border-left:none}
}
/* Returning-review continuation: a single quiet utility band, only rendered
   when the authenticated viewer has meaningful prior activity. */
.review-resume{display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:16px;margin:0 0 18px;padding:12px 14px 12px 16px;border:1px solid #DCE9E3;border-left:3px solid #1B3D2F;background:#F6FAF8;color:#16201A}
.review-resume-copy{display:flex;align-items:baseline;gap:11px;min-width:0}
.review-resume-k{font-family:var(--mono);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#4F6C60;white-space:nowrap}
.review-resume-title{font-family:var(--mono);font-size:13px;font-weight:650;letter-spacing:0;color:#17251F;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review-resume-meta{font-family:var(--mono);font-size:11px;color:#64726C;white-space:nowrap}
.review-resume-open{font-family:var(--mono);font-size:12px;font-weight:700;color:#173A2C;text-decoration:none;border-bottom:1px solid #8EAA9D;padding:4px 0}
.review-resume-open:hover{border-bottom-color:#173A2C}
.review-resume-clear{width:32px;height:32px;border:0;background:transparent;color:#64726C;font:400 22px/1 var(--mono);cursor:pointer}
.review-resume-clear:hover,.review-resume-clear:focus-visible{color:#173A2C;background:#E9F2ED;outline:2px solid #8EAA9D;outline-offset:1px}
@media(max-width:720px){.review-resume{grid-template-columns:minmax(0,1fr) auto 32px;gap:10px}.review-resume-copy{display:grid;gap:2px}.review-resume-title{white-space:normal}.review-resume-meta{white-space:normal}.review-resume-k{font-size:9px}}

/* Agreement fulfillment: compact operational states inside the existing
   admin console. This deliberately reuses the console palette and table
   language rather than introducing a separate legal-document aesthetic. */
.admin-agreement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 24px 16px;border-bottom:1px solid var(--admin-rule,#DDE4E0)}
.admin-card-sub{max-width:78ch;margin:5px 0 0;color:#66726D;font:500 12px/1.5 var(--admin-sans,'Instrument Sans',sans-serif);letter-spacing:0}
.admin-agreement-count{flex:0 0 auto;padding:6px 9px;border:1px solid #C9D8D0;background:#F3F8F5;color:#234A39;font:700 10px/1.1 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.admin-agreement-status{display:inline-flex;align-items:center;min-height:24px;padding:4px 8px;border:1px solid #D6DFDA;background:#F7F9F8;color:#53605A;font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.admin-agreement-status.is-pending{border-color:#C9D9D1;background:#F2F8F5;color:#24513D}
.admin-agreement-status.is-complete{border-color:#C8D8CF;background:#EDF6F1;color:#1C4B36}
.admin-agreement-status.is-alert{border-color:#E0B8AA;background:#FFF4F0;color:#8A3F2A}
.admin-agreement-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.admin-cell-sub{display:block;margin-top:3px;color:#646F6A;font:500 11px/1.35 var(--admin-sans,'Instrument Sans',sans-serif)}
.tb-guide,
.tb-signout,
.agreement-copy-link{
  font-family:'Instrument Sans',sans-serif;
  font-weight:650;
  letter-spacing:.08em;
}
.tb-guide{border-radius:8px}
.tb-guide:focus-visible,
.tb-signout:focus-visible,
.agreement-copy-link:focus-visible{
  outline:2px solid #2F7A4E;
  outline-offset:3px;
}
.agreement-copy-link{white-space:nowrap}
@media(max-width:900px){.admin-agreement-head{padding:18px 16px}.admin-agreement-actions{justify-content:flex-start}.admin-table td.admin-td-actions{min-width:180px}}

/* Performance Attribution workspace: institutional research hierarchy,
   linked position analysis, and a native phone/tablet chart. */
#view-attribution{
  --perf-forest:#173A2C;
  --perf-teal:#2A6E68;
  --perf-sage:#88A99A;
  --perf-mist:#EDF4F1;
  --perf-rule:#DCE4DF;
  --perf-ink:#17201B;
}
#view-attribution .perf-workspace-section{
  scroll-margin-top:72px;
  margin:0 0 24px;
}
#view-attribution .card.tier-2{
  border-top:1px solid var(--perf-rule);
  border-left:1px solid var(--perf-rule);
  border-radius:8px;
  box-shadow:0 8px 24px -22px rgba(15,43,32,.42);
}
#view-attribution .atth{
  padding:19px 22px 16px;
}
#view-attribution .atth-kick{
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:10px;
  letter-spacing:.12em;
  color:#65736B;
}
#view-attribution .atth-kick::before{
  width:16px;
  height:1px;
  background:#7DA99C;
}
#view-attribution .atth-claim{
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:20px;
  font-weight:640;
  line-height:1.3;
  letter-spacing:0;
  color:var(--perf-ink);
}
#view-attribution .perf-research-shell{
  margin:0;
  padding:30px;
  border-radius:8px;
  border:1px solid #D8E5E1;
  background:#F8FBFA;
  box-shadow:none;
}
#view-attribution .perf-research-shell::before{
  display:none;
}
#view-attribution .perf-hero-top{
  grid-template-columns:minmax(260px,.78fr) minmax(560px,1.22fr);
  gap:34px;
  align-items:center;
}
#view-attribution .perf-hero-title{
  max-width:none;
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:42px;
  font-weight:620;
  line-height:1.04;
}
#view-attribution .perf-hero-line{
  max-width:510px;
  font-size:14px;
  line-height:1.55;
}
#view-attribution .perf-hero-stats{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border:1px solid var(--perf-rule);
  background:#FFF;
}
#view-attribution .perf-hero-stat{
  min-height:120px;
  padding:16px 17px;
  border:0;
  border-left:1px solid var(--perf-rule);
  border-radius:0;
}
#view-attribution .perf-hero-stat:first-child{border-left:0}
#view-attribution .perf-hero-stat strong{
  margin-top:15px;
  font-size:31px;
}
#view-attribution .perf-hero-stat em{
  font-size:10.5px;
  line-height:1.35;
}
.perf-section-nav{
  position:sticky;
  top:0;
  z-index:18;
  display:flex;
  align-items:center;
  gap:2px;
  width:max-content;
  max-width:100%;
  margin:12px 0 24px;
  padding:4px;
  overflow-x:auto;
  border:1px solid var(--perf-rule);
  border-radius:8px;
  background:rgba(255,255,255,.96);
  box-shadow:0 9px 24px -22px rgba(15,43,32,.72);
  backdrop-filter:blur(12px);
}
.perf-section-nav-item{
  min-height:44px;
  padding:0 14px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#617068;
  font:650 12px/1 'Instrument Sans','Inter',sans-serif;
  cursor:pointer;
  white-space:nowrap;
}
.perf-section-nav-item:hover{background:#F1F6F3;color:var(--perf-forest)}
.perf-section-nav-item[aria-current="location"]{
  background:var(--perf-forest);
  color:#FFF;
}
.perf-section-nav-item:focus-visible,
.perf-mark-filter:focus-visible,
.perf-deployment-tab:focus-visible{
  outline:2px solid #2F7A4E;
  outline-offset:2px;
}
.perf-filter-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid var(--perf-rule);
  background:#FFF;
}
.perf-filter-group,
.perf-deployment-tabs{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:3px;
  border:1px solid var(--perf-rule);
  border-radius:6px;
  background:#F6F8F7;
}
.perf-mark-filter,
.perf-deployment-tab{
  min-height:34px;
  padding:0 12px;
  border:0;
  border-radius:4px;
  background:transparent;
  color:#647169;
  font:650 11.5px/1 'Instrument Sans','Inter',sans-serif;
  cursor:pointer;
}
.perf-mark-filter.active,
.perf-deployment-tab.active{
  background:#FFF;
  color:var(--perf-forest);
  box-shadow:0 1px 4px rgba(20,55,41,.12);
}
.perf-filter-status{
  color:#728078;
  font:550 11px/1.3 'Instrument Sans','Inter',sans-serif;
}
.perf-deployment-views{
  padding-top:4px;
}
.perf-deployment-tabs{
  margin:0 0 10px;
}
.perf-deployment-panel[hidden]{display:none}
.perf-deployment-panel > .card{margin-top:0!important}
#view-attribution [data-slug]{
  cursor:pointer;
  transition:opacity .16s ease,filter .16s ease,outline-color .16s ease;
}
#view-attribution [data-slug]:focus-visible{
  outline:2px solid #67A596;
  outline-offset:3px;
}
#view-attribution [data-slug].is-muted{opacity:.24}
#view-attribution [data-slug].is-selected{
  outline:2px solid #2F7A4E;
  outline-offset:2px;
}
#view-attribution [data-slug].perf-filtered-out{
  display:none!important;
}
#view-attribution table tr[data-slug].is-selected{
  outline:0;
  background:#F1F7F4;
  box-shadow:inset 3px 0 0 #2F7A4E;
}
.position-attribution-shell{
  position:fixed;
  inset:0;
  z-index:120;
  pointer-events:none;
  visibility:hidden;
}
.position-attribution-shell.is-open{
  pointer-events:auto;
  visibility:visible;
}
.position-attribution-backdrop{
  position:absolute;
  inset:0;
  border:0;
  background:rgba(10,25,19,.34);
  opacity:0;
  transition:opacity .2s ease;
}
.position-attribution-shell.is-open .position-attribution-backdrop{opacity:1}
.position-attribution-drawer{
  position:absolute;
  top:0;
  right:0;
  width:min(450px,92vw);
  height:100%;
  padding:26px;
  overflow-y:auto;
  background:#FFF;
  border-left:1px solid var(--perf-rule);
  box-shadow:-28px 0 60px -44px rgba(6,25,16,.68);
  transform:translateX(100%);
  transition:transform .24s ease;
}
.position-attribution-shell.is-open .position-attribution-drawer{transform:translateX(0)}
.position-attribution-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding-bottom:20px;
  border-bottom:1px solid var(--perf-rule);
}
.position-attribution-kicker{
  color:#738178;
  font:700 10px/1 'Instrument Sans','Inter',sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.position-attribution-head h2{
  margin:8px 0 4px;
  color:var(--perf-ink);
  font:650 28px/1.1 'Instrument Sans','Inter',sans-serif;
}
.position-attribution-head p{
  margin:0;
  color:#67736C;
  font:500 12px/1.45 'Instrument Sans','Inter',sans-serif;
}
.position-attribution-close{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border:1px solid var(--perf-rule);
  border-radius:50%;
  background:#FFF;
  color:var(--perf-forest);
  font:400 24px/1 'Instrument Sans',sans-serif;
  cursor:pointer;
}
.position-attribution-close:hover{background:#F0F6F3}
.position-attribution-close:focus-visible,
.position-attribution-link:focus-visible{
  outline:2px solid #2F7A4E;
  outline-offset:2px;
}
.position-attribution-facts{
  display:grid;
  grid-template-columns:1fr 1fr;
  margin:20px 0;
  border-top:1px solid var(--perf-rule);
  border-left:1px solid var(--perf-rule);
}
.position-attribution-fact{
  min-height:92px;
  padding:13px;
  border-right:1px solid var(--perf-rule);
  border-bottom:1px solid var(--perf-rule);
}
.position-attribution-fact span{
  display:block;
  color:#758078;
  font:650 9.5px/1.25 'Instrument Sans','Inter',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.position-attribution-fact strong{
  display:block;
  margin-top:9px;
  color:var(--perf-forest);
  font:650 16px/1.25 'Instrument Sans','Inter',sans-serif;
  overflow-wrap:anywhere;
}
.position-attribution-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:46px;
  padding:0 15px;
  border-radius:6px;
  background:var(--perf-forest);
  color:#FFF;
  font:700 12.5px/1 'Instrument Sans','Inter',sans-serif;
  text-decoration:none;
}
.position-attribution-link::after{content:"→";font-size:17px}
.position-attribution-note{
  margin:16px 0 0;
  color:#6C7871;
  font:500 11px/1.55 'Instrument Sans','Inter',sans-serif;
}
body.performance-drawer-open{overflow:hidden}
.vdev-frame{pointer-events:none}
.vdev-mobile-chart{display:none}
.perf-mobile-detail{margin:0}
.perf-mobile-detail > summary{display:none}
.perf-mobile-detail:not([open]) > :not(summary){display:block}

@media(max-width:1100px){
  #view-attribution .perf-hero-top{grid-template-columns:1fr}
  #view-attribution .perf-hero-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:860px){
  #view-attribution .perf-workspace-section{scroll-margin-top:62px;margin-bottom:18px}
  #view-attribution .perf-research-shell{padding:20px}
  #view-attribution .perf-hero-title{font-size:34px}
  #view-attribution .perf-hero-line{font-size:13.5px}
  #view-attribution .perf-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  #view-attribution .perf-hero-stat{
    min-height:108px;
    border-left:1px solid var(--perf-rule);
    border-top:1px solid var(--perf-rule);
  }
  #view-attribution .perf-hero-stat:nth-child(odd){border-left:0}
  #view-attribution .perf-hero-stat:nth-child(-n+2){border-top:0}
  #view-attribution .perf-hero-stat strong{font-size:28px}
  .perf-section-nav{
    top:0;
    width:100%;
    margin:8px 0 18px;
  }
  .perf-section-nav-item{flex:1;padding:0 10px}
  .perf-filter-bar{align-items:flex-start;flex-direction:column}
  .perf-filter-group{width:100%;overflow-x:auto}
  .perf-mark-filter{flex:1;white-space:nowrap}
  .vdev-wrap{
    margin:0;
    padding:12px 14px 8px;
    background:#10211A;
  }
  .vdev-frame{display:none}
  .vdev-mobile-chart{
    display:block;
    padding:62px 8px 12px;
    color:#F5F8F6;
  }
  .vdev-mobile-chart svg{display:block;width:100%;height:auto}
  .vdev-mobile-grid{stroke:rgba(255,255,255,.10);stroke-width:1}
  .vdev-mobile-axis,
  .vdev-mobile-date{
    fill:rgba(244,249,246,.58);
    font:600 11px 'Instrument Sans','Inter',sans-serif;
  }
  .vdev-mobile-line{
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .vdev-mobile-line-value{stroke:#9CC7B4;stroke-width:5}
  .vdev-mobile-line-paid{stroke:#D3B66C;stroke-width:3;stroke-dasharray:8 7}
  .vdev-mobile-mark{fill:#F4E1A8;stroke:#10211A;stroke-width:2}
  .vdev-mobile-end{
    font:700 13px 'Instrument Sans','Inter',sans-serif;
  }
  .vdev-mobile-end-value{fill:#C8E2D6}
  .vdev-mobile-end-paid{fill:#E7CF8B}
  .vdev-mobile-legend{
    display:flex;
    gap:18px;
    padding:8px 4px 15px;
    border-bottom:1px solid rgba(255,255,255,.12);
    color:rgba(247,250,248,.72);
    font:600 11px/1.2 'Instrument Sans','Inter',sans-serif;
  }
  .vdev-mobile-legend span::before{
    content:"";
    display:inline-block;
    width:18px;
    height:2px;
    margin-right:7px;
    vertical-align:3px;
  }
  .vdev-mobile-legend .value::before{background:#9CC7B4}
  .vdev-mobile-legend .paid::before{
    background:repeating-linear-gradient(90deg,#D3B66C 0 5px,transparent 5px 8px);
  }
  .vdev-mobile-milestones{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    margin-top:8px;
    border-top:1px solid rgba(255,255,255,.10);
    border-left:1px solid rgba(255,255,255,.10);
  }
  .vdev-mobile-milestone{
    min-height:72px;
    padding:10px;
    border-right:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.10);
  }
  .vdev-mobile-milestone span,
  .vdev-mobile-milestone strong,
  .vdev-mobile-milestone em{display:block}
  .vdev-mobile-milestone span{
    color:#C7D9D0;
    font:700 9px/1 'Instrument Sans','Inter',sans-serif;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .vdev-mobile-milestone strong{
    margin-top:6px;
    color:#FFF;
    font:650 11.5px/1.25 'Instrument Sans','Inter',sans-serif;
  }
  .vdev-mobile-milestone em{
    margin-top:3px;
    color:#D8C485;
    font:500 10.5px/1.2 'Instrument Sans','Inter',sans-serif;
    font-style:normal;
  }
  .vdev-stage::after{display:none}
  .vdev-source-action{top:20px;right:20px}
  .attr-summary{grid-template-columns:1fr!important}
  .position-attribution-drawer{
    top:auto;
    bottom:0;
    width:100%;
    height:auto;
    max-height:84vh;
    padding:20px;
    border-top:1px solid var(--perf-rule);
    border-left:0;
    transform:translateY(100%);
  }
  .position-attribution-shell.is-open .position-attribution-drawer{transform:translateY(0)}
}
@media(max-width:480px){
  #view-attribution .perf-research-shell{padding:17px}
  #view-attribution .perf-hero-title{font-size:31px}
  #view-attribution .perf-hero-stat{padding:13px 12px}
  #view-attribution .perf-hero-stat strong{font-size:25px}
  #view-attribution .perf-hero-stat em{font-size:9.5px}
  .perf-section-nav-item{font-size:10.5px;padding:0 8px}
  .perf-filter-group{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible;
  }
  .perf-mark-filter{
    min-height:54px;
    padding:7px 6px;
    text-align:center;
    white-space:normal;
    line-height:1.2;
  }
  .vdev-mobile-chart{padding-left:0;padding-right:0}
  .vdev-mobile-milestones{grid-template-columns:1fr}
  .position-attribution-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .position-attribution-fact{min-height:72px}
}
@media(max-width:860px){
  .perf-mobile-detail{
    margin:10px 0;
    border:1px solid var(--perf-rule);
    background:#FFF;
  }
  .perf-mobile-detail > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:52px;
    padding:0 15px;
    color:var(--perf-forest);
    font:650 12px/1.3 'Instrument Sans','Inter',sans-serif;
    cursor:pointer;
    list-style:none;
  }
  .perf-mobile-detail > summary::-webkit-details-marker{display:none}
  .perf-mobile-detail > summary::after{
    content:"+";
    flex:0 0 auto;
    font:500 21px/1 'Instrument Sans','Inter',sans-serif;
  }
  .perf-mobile-detail[open] > summary::after{content:"−"}
  .perf-mobile-detail > summary em{
    margin-left:auto;
    color:#718078;
    font:550 10px/1 'Instrument Sans','Inter',sans-serif;
    font-style:normal;
  }
  .perf-mobile-detail:not([open]) > :not(summary){display:none}
  .perf-mobile-detail[open] > :not(summary){border-top:1px solid var(--perf-rule)}
  .perf-mobile-detail > .card{margin-top:0!important;border:0!important;border-radius:0!important}
  #performance-value .pa-jcurve-grid > div:first-child{display:none}
  #performance-value .pa-jcurve-grid{
    grid-template-columns:1fr;
    gap:0;
  }
  #performance-value .pa-jcurve-grid > div:last-child{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0!important;
  }
  #performance-value .pa-jcurve-grid > div:last-child > div{
    min-width:0;
    padding:2px 10px;
    border-left:1px solid rgba(255,255,255,.12);
  }
  #performance-value .pa-jcurve-grid > div:last-child > div:first-child{border-left:0}
}

/* Sourcing workspace: one research surface with preserved visual evidence,
   an accessible channel explorer, and a complete company-level record. */
#view-sourcing{
  --src-forest:#173A2C;
  --src-teal:#2A6E68;
  --src-sage:#88A99A;
  --src-mist:#F3F7F5;
  --src-paper:#FFFFFF;
  --src-rule:#DCE4DF;
  --src-ink:#17201B;
  --src-muted:#66726B;
}
#view-sourcing .src-workspace-section{
  scroll-margin-top:96px;
  margin:0 0 26px;
}
#view-sourcing .src-research-shell{
  margin:0;
  padding:30px;
  border:1px solid #D8E5E1;
  border-radius:8px;
  background:#F8FBFA;
  box-shadow:none;
}
#view-sourcing .src-research-shell::before{display:none}
#view-sourcing .src-hero-copy{max-width:780px}
#view-sourcing .src-hero-title{
  margin:10px 0 11px;
  max-width:none;
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:42px;
  font-weight:620;
  line-height:1.04;
  letter-spacing:0;
  color:var(--src-ink);
}
#view-sourcing .src-hero-line{
  max-width:690px;
  font-size:14px;
  line-height:1.58;
}
#view-sourcing .src-proof-map{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:22px;
  border:1px solid var(--src-rule);
  background:var(--src-paper);
}
#view-sourcing .src-proof-cell{
  min-width:0;
  min-height:96px;
  padding:17px 18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:8px;
  border-left:1px solid var(--src-rule);
}
#view-sourcing .src-proof-cell:first-child{border-left:0}
#view-sourcing .src-proof-cell strong{
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:31px;
  font-weight:650;
  color:var(--src-forest);
}
#view-sourcing .src-proof-cell span{
  font-size:10.5px;
  line-height:1.35;
  color:var(--src-muted);
}
#view-sourcing .src-mix{
  margin-top:16px;
  padding:22px 24px 24px;
  border:1px solid rgba(137,179,164,.22);
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(42,110,104,.18),transparent 42%),
    #10251C;
  box-shadow:none;
}
#view-sourcing .src-mix-head{margin-bottom:16px}
#view-sourcing .src-mix-kick{color:#8FD6CE}
#view-sourcing .src-mix-note{max-width:540px}
#view-sourcing .src-mix-bar{
  height:16px;
  gap:1px;
  border-radius:3px;
}
#view-sourcing .src-mix-rows{gap:14px 28px}
#view-sourcing .src-mix-row{
  min-width:0;
  padding-top:13px;
}
#view-sourcing .src-mix-chip{border-radius:3px}
.src-section-nav{
  position:sticky;
  top:0;
  z-index:18;
  display:flex;
  align-items:center;
  gap:2px;
  width:max-content;
  max-width:100%;
  margin:12px 0 26px;
  padding:4px;
  overflow-x:auto;
  border:1px solid var(--src-rule);
  border-radius:8px;
  background:rgba(255,255,255,.96);
  box-shadow:0 9px 24px -22px rgba(15,43,32,.72);
  backdrop-filter:blur(12px);
}
.src-section-nav-item{
  min-height:44px;
  padding:0 15px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:#617068;
  font:650 12px/1 'Instrument Sans','Inter',sans-serif;
  cursor:pointer;
  white-space:nowrap;
}
.src-section-nav-item:hover{background:#F1F6F3;color:var(--src-forest)}
.src-section-nav-item[aria-current="location"]{
  background:var(--src-forest);
  color:#FFF;
}
.src-section-nav-item:focus-visible,
.src-record-filter:focus-visible,
#view-sourcing .src-row:focus-visible{
  outline:2px solid #2A7D76;
  outline-offset:2px;
}
.src-workspace-head{
  display:grid;
  grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);
  gap:24px;
  align-items:start;
  margin:0 0 16px;
  padding:0 2px 13px;
  border-bottom:1px solid var(--src-rule);
}
.src-workspace-head > span{
  padding-top:6px;
  color:#607168;
  font:700 10px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.src-workspace-head h2{
  max-width:780px;
  margin:0;
  color:var(--src-ink);
  font:620 22px/1.28 'Instrument Sans','Inter',sans-serif;
  letter-spacing:0;
}
.src-coverage-frame{
  width:100%;
  margin:0 0 16px;
  overflow:hidden;
  border-radius:8px;
  background:#0A1712;
}
#view-sourcing .src-coverage-frame .pov-hero-wrap{
  display:block;
  margin:0;
}
#view-sourcing .src-coverage-frame .vdev-frame{
  display:block;
  width:100%;
  border:0;
}
.src-coverage-mobile{display:none}
.src-engine-card{
  overflow:hidden;
  border:1px solid #C9D7D1;
  border-radius:8px;
  background:var(--src-paper);
}
.src-engine-head{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:4px 24px;
  padding:18px 22px 16px;
  border-bottom:1px solid var(--src-rule);
}
.src-engine-head > span{
  grid-row:1 / 3;
  padding-top:4px;
  color:#607168;
  font:700 10px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.src-engine-head h3{
  margin:0;
  color:var(--src-ink);
  font:630 18px/1.3 'Instrument Sans','Inter',sans-serif;
  letter-spacing:0;
}
.src-engine-head p{
  max-width:790px;
  margin:4px 0 0;
  color:var(--src-muted);
  font:450 12px/1.5 'Instrument Sans','Inter',sans-serif;
}
.src-engine-layout{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(220px,280px);
  min-width:0;
  background:#10251C;
}
.src-engine-graphic{min-width:0}
.src-engine-desktop .vdev-wrap{
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:#10251C;
}
.src-engine-desktop iframe{
  display:block;
  width:100%;
  border:0;
  pointer-events:none;
}
.src-engine-mobile{display:none}
.src-engine-evidence{
  display:flex;
  flex-direction:column;
  min-width:0;
  border-left:1px solid rgba(255,255,255,.12);
  background:#152D23;
}
.src-engine-evidence-item{
  flex:1;
  padding:18px;
  border-top:1px solid rgba(255,255,255,.10);
}
.src-engine-evidence-item:first-child{border-top:0}
.src-engine-evidence-item strong{display:block}
.src-engine-evidence-item strong{
  color:#FFF;
  font:650 13px/1.3 'Instrument Sans','Inter',sans-serif;
}
.src-engine-evidence-item p{
  margin:8px 0 0;
  color:rgba(245,249,247,.62);
  font:450 11px/1.45 'Instrument Sans','Inter',sans-serif;
}
.src-founder-proof{
  display:grid;
  grid-template-columns:minmax(210px,.72fr) repeat(2,minmax(0,1fr));
  margin-top:16px;
  overflow:hidden;
  border-radius:8px;
  background:#18372B;
  color:#FFF;
}
.src-founder-proof-lead,
.src-founder-quote{padding:24px}
.src-founder-proof-lead{
  background:#10251C;
}
.src-founder-proof-eye{
  display:block;
  color:#8FD6CE;
  font:700 10px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.src-founder-proof-lead h3{
  margin:34px 0 0;
  color:#FFF;
  font:620 17px/1.35 'Instrument Sans','Inter',sans-serif;
  letter-spacing:0;
}
.src-founder-quote{
  margin:0;
  border-left:1px solid rgba(255,255,255,.12);
}
.src-founder-quote blockquote{
  min-height:88px;
  margin:0;
  color:#F7FAF8;
  font:500 20px/1.35 'Playfair Display',Georgia,serif;
  letter-spacing:0;
}
.src-founder-quote figcaption{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:20px;
}
.src-founder-quote figcaption strong{
  color:#FFF;
  font:650 12px/1.3 'Instrument Sans','Inter',sans-serif;
}
.src-founder-quote figcaption span{
  color:rgba(247,250,248,.58);
  font:500 10.5px/1.3 'Instrument Sans','Inter',sans-serif;
}
.src-peer-network-label{
  color:#64726B;
  font:700 9.5px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.src-peer-network{
  margin-top:19px;
  padding:15px 0 0;
  border-top:1px solid var(--src-rule);
}
.src-peer-network-marks{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  margin-top:10px;
}
.src-peer-mark{
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px;
  overflow:hidden;
  border:1px solid #E1E7E4;
  background:#FAFCFB;
  color:#425048;
  font:650 11px/1 'Instrument Sans','Inter',sans-serif;
}
.src-peer-mark img{
  display:block;
  width:100%;
  max-width:76px;
  max-height:26px;
  object-fit:contain;
  filter:grayscale(1) contrast(1.35);
  opacity:.88;
}
.src-peer-mark img[alt="Lowercarbon"]{
  filter:grayscale(1) contrast(1.8) brightness(.55);
  opacity:1;
}
.src-peer-network p{
  margin:8px 0 0;
  color:#76817B;
  font:450 10.5px/1.45 'Instrument Sans','Inter',sans-serif;
}
.src-channel-method{
  max-width:920px;
  margin:10px 0 0;
  color:#748078;
  font:450 10.5px/1.45 'Instrument Sans','Inter',sans-serif;
}
.src-origin-map{
  margin:0 0 20px;
  padding:22px 0 0;
  border-top:1px solid var(--src-rule);
}
.src-origin-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin:0 0 15px;
}
.src-origin-head > div{min-width:0}
.src-origin-head > div > span,
.src-origin-detail-eye{
  display:block;
  color:#65746C;
  font:700 9.5px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.src-origin-head h3{
  margin:7px 0 0;
  color:var(--src-ink);
  font:640 22px/1.18 'Instrument Sans','Inter',sans-serif;
  letter-spacing:0;
}
.src-origin-head p{
  margin:7px 0 0;
  color:#68756E;
  font:450 12px/1.45 'Instrument Sans','Inter',sans-serif;
}
.src-origin-clear{
  flex:0 0 auto;
  min-height:38px;
  padding:0 12px;
  border:1px solid #C9D5CF;
  border-radius:5px;
  background:#FFF;
  color:var(--src-forest);
  font:650 11px/1 'Instrument Sans','Inter',sans-serif;
  cursor:pointer;
}
.src-origin-clear:hover{background:#F3F7F5}
.src-origin-desktop{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(350px,.65fr);
  overflow:hidden;
  border:1px solid var(--src-rule);
  border-radius:8px;
  background:#FFF;
}
.src-origin-matrix{
  min-width:0;
  border-right:1px solid var(--src-rule);
}
.src-origin-grid-row{
  display:grid;
  grid-template-columns:minmax(170px,.9fr) repeat(var(--src-origin-years),minmax(98px,1fr));
}
.src-origin-grid-row > *{
  min-width:0;
  border-right:1px solid var(--src-rule);
  border-bottom:1px solid var(--src-rule);
}
.src-origin-grid-row > *:last-child{border-right:0}
.src-origin-grid-row:last-child > *{border-bottom:0}
.src-origin-corner{
  display:flex;
  align-items:end;
  padding:13px 15px;
  color:#7A8680;
  font:700 9px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  background:#F7FAF8;
}
.src-origin-year-head{background:#F7FAF8}
.src-origin-year-control{
  width:100%;
  min-height:62px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
  padding:10px 13px;
  border:0;
  background:transparent;
  color:#56645D;
  cursor:pointer;
  text-align:left;
}
.src-origin-year-control strong{
  color:var(--src-forest);
  font:650 15px/1 'Instrument Sans','Inter',sans-serif;
}
.src-origin-year-control span{
  color:#829089;
  font:550 8.5px/1.2 'Inter','Helvetica Neue',sans-serif;
}
.src-origin-year-control:hover,
.src-origin-year-control[aria-pressed="true"]{background:#EAF2EE}
.src-origin-row{
  transition:background-color 160ms ease,opacity 160ms ease;
}
.src-origin-row.is-selected{background:#F3F7F5}
.src-origin-row-head{background:#FBFCFB}
.src-origin-channel-control{
  width:100%;
  min-height:102px;
  display:grid;
  grid-template-columns:4px minmax(0,1fr);
  gap:12px;
  align-items:stretch;
  padding:0 14px 0 0;
  border:0;
  background:transparent;
  color:var(--src-ink);
  text-align:left;
  cursor:pointer;
}
.src-origin-channel-line{width:4px;height:100%}
.src-origin-channel-control > span:last-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}
.src-origin-channel-control strong{
  display:block;
  font:620 12px/1.25 'Instrument Sans','Inter',sans-serif;
}
.src-origin-channel-control span span{
  color:#7A8680;
  font:550 8.5px/1.2 'Inter','Helvetica Neue',sans-serif;
}
.src-origin-channel-control:hover,
.src-origin-channel-control[aria-pressed="true"]{background:#EEF4F1}
.src-origin-cell{
  min-height:102px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  padding:8px 9px;
  transition:background-color 160ms ease;
}
.src-origin-cell.is-selected-year{background:#F6F9F7}
.src-origin-node{
  width:100%;
  min-height:42px;
  display:grid;
  grid-template-columns:7px minmax(0,1fr);
  gap:7px;
  align-items:center;
  padding:5px 4px;
  border:0;
  border-bottom:1px solid transparent;
  border-radius:0;
  background:transparent;
  color:#27342D;
  text-align:left;
  cursor:pointer;
  transition:opacity 160ms ease,color 160ms ease,background-color 160ms ease;
}
.src-origin-node:hover{
  border-bottom-color:#AFC1B7;
  color:var(--src-forest);
}
.src-origin-node-mark{
  width:7px;
  height:7px;
  border-radius:50%;
  box-shadow:0 0 0 3px rgba(255,255,255,.82);
}
.src-origin-node-meta{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.src-origin-node-meta strong{
  overflow:hidden;
  color:#24332B;
  font:650 11px/1.2 'Instrument Sans','Inter',sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.src-origin-node-meta > span{
  overflow:hidden;
  color:#7A8680;
  font:520 8.5px/1.2 'Inter','Helvetica Neue',sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.src-origin-node.is-selected{
  background:#E7F0EB;
  color:var(--src-forest);
  font-weight:680;
}
.src-origin-node.is-muted{opacity:.22}
.src-origin-node:focus-visible,
.src-origin-channel-control:focus-visible,
.src-origin-year-control:focus-visible,
.src-origin-clear:focus-visible{
  position:relative;
  z-index:2;
  outline:2px solid #2A7D76;
  outline-offset:-2px;
}
.src-origin-detail{
  min-width:0;
  padding:22px;
  background:#F8FBFA;
}
.src-origin-detail h4{
  margin:9px 0 0;
  color:var(--src-forest);
  font:650 21px/1.2 'Instrument Sans','Inter',sans-serif;
  letter-spacing:0;
}
.src-origin-detail-lead{
  margin:12px 0 0;
  color:#2B3A32;
  font:560 13px/1.48 'Instrument Sans','Inter',sans-serif;
}
.src-origin-detail-copy{
  margin:11px 0 0;
  color:#65726B;
  font:450 11.5px/1.55 'Instrument Sans','Inter',sans-serif;
}
.src-origin-observations{
  margin-top:17px;
  border-top:1px solid var(--src-rule);
}
.src-origin-observation{
  display:grid;
  grid-template-columns:minmax(92px,.34fr) minmax(0,1fr);
  gap:14px;
  padding:13px 0;
  border-bottom:1px solid var(--src-rule);
}
.src-origin-observation strong{
  color:var(--src-forest);
  font:650 10.5px/1.35 'Instrument Sans','Inter',sans-serif;
}
.src-origin-observation span{
  color:#536159;
  font:450 11px/1.48 'Instrument Sans','Inter',sans-serif;
}
.src-origin-channel-copy{
  margin-top:17px;
  border-top:1px solid var(--src-rule);
}
.src-origin-channel-block{
  padding:13px 0;
  border-bottom:1px solid var(--src-rule);
}
.src-origin-channel-block > span,
.src-origin-company-list > span{
  display:block;
  color:#6E7B74;
  font:700 8.5px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.src-origin-channel-block p{
  margin:7px 0 0;
  color:#4F5D55;
  font:450 11px/1.5 'Instrument Sans','Inter',sans-serif;
}
.src-origin-economics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:16px;
  border:1px solid var(--src-rule);
  background:#FFF;
}
.src-origin-economics.has-capex{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.src-origin-economic{
  min-width:0;
  padding:10px;
  border-left:1px solid var(--src-rule);
}
.src-origin-economic:first-child{border-left:0}
.src-origin-economics.has-capex .src-origin-economic:nth-child(odd){border-left:0}
.src-origin-economics.has-capex .src-origin-economic:nth-child(n+3){border-top:1px solid var(--src-rule)}
.src-origin-economic span,
.src-origin-economic strong{display:block}
.src-origin-economic span{
  color:#75827B;
  font:700 7.5px/1.25 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.src-origin-economic strong{
  margin-top:6px;
  color:var(--src-forest);
  font:650 15px/1.1 'Instrument Sans','Inter',sans-serif;
}
.src-origin-economic-note{
  margin:7px 0 0;
  color:#77837C;
  font:450 9px/1.45 'Instrument Sans','Inter',sans-serif;
}
.src-origin-company-list{
  margin-top:15px;
}
.src-origin-company-list > div{
  display:flex;
  flex-wrap:wrap;
  gap:6px 13px;
  margin-top:8px;
}
.src-origin-company-list a{
  color:var(--src-forest);
  font:630 10.5px/1.35 'Instrument Sans','Inter',sans-serif;
  text-decoration:none;
  border-bottom:1px solid #B9CAC1;
}
.src-origin-company-list a:hover{border-bottom-color:var(--src-forest)}
.src-origin-detail .src-peer-network-marks{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.src-origin-detail-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:16px 0 0;
  border-top:1px solid var(--src-rule);
  border-bottom:1px solid var(--src-rule);
}
.src-origin-fact{min-width:0;padding:11px 10px 11px 0}
.src-origin-fact:nth-child(even){padding-left:10px;border-left:1px solid var(--src-rule)}
.src-origin-fact span,
.src-origin-fact strong{display:block}
.src-origin-fact span{
  color:#7A8680;
  font:700 8.5px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.src-origin-fact strong{
  margin-top:6px;
  color:#24332B;
  font:620 11px/1.35 'Instrument Sans','Inter',sans-serif;
}
.src-origin-detail-path{margin-top:15px}
.src-origin-detail-path > span{
  color:#7A8680;
  font:700 8.5px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.src-origin-detail-path p{
  margin:6px 0 0;
  color:#34443B;
  font:520 11.5px/1.5 'Instrument Sans','Inter',sans-serif;
}
.src-origin-detail-link{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  margin-top:15px;
  color:var(--src-forest);
  font:680 11px/1 'Instrument Sans','Inter',sans-serif;
  text-decoration:none;
  border-bottom:1px solid #AFC1B7;
}
.src-origin-detail-link:hover{border-bottom-color:var(--src-forest)}
.src-origin-mobile-timeline{display:none}
.src-record-filterbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:10px;
}
.src-record-filters{
  display:flex;
  align-items:center;
  gap:4px;
  max-width:100%;
}
.src-record-filter{
  min-height:38px;
  padding:0 11px;
  border:1px solid var(--src-rule);
  border-radius:5px;
  background:#FFF;
  color:#637169;
  font:620 10.5px/1 'Instrument Sans','Inter',sans-serif;
  cursor:pointer;
  white-space:nowrap;
}
.src-record-filter:hover{border-color:#AAC0B6;color:var(--src-forest)}
.src-record-filter.active{
  border-color:var(--src-forest);
  background:var(--src-forest);
  color:#FFF;
}
.src-record-status{
  flex:0 0 auto;
  color:#75817A;
  font:550 10.5px/1.3 'Instrument Sans','Inter',sans-serif;
}
.src-record-hidden{display:none!important}
#view-sourcing .src-table{
  overflow:hidden;
  border:1px solid var(--src-rule);
  border-radius:8px;
  background:#FFF;
  box-shadow:none;
}
.src-table-head{
  display:grid;
  grid-template-columns:minmax(190px,.8fr) minmax(180px,.8fr) minmax(280px,1.4fr);
  gap:20px;
  padding:11px 20px;
  border-bottom:1px solid var(--src-rule);
  background:#F3F7F5;
}
.src-table-head span{
  color:#6B7871;
  font:700 9px/1.2 'Inter','Helvetica Neue',sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
#view-sourcing .src-group{
  margin:0;
  padding:13px 20px 10px;
  border-bottom:1px solid var(--src-rule);
  background:#FAFCFB;
  color:#526159;
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:10px;
  letter-spacing:.08em;
}
#view-sourcing .src-group-dot{border-radius:50%}
#view-sourcing .src-row{
  grid-template-columns:minmax(190px,.8fr) minmax(180px,.8fr) minmax(280px,1.4fr);
  gap:20px;
  min-width:0;
  padding:15px 20px;
  border-bottom:1px solid var(--src-rule);
}
#view-sourcing .src-row:hover{background:#F7FAF8}
#view-sourcing .src-row-co{
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:13px;
  font-weight:650;
}
#view-sourcing .src-row-meta{
  margin-top:3px;
  color:#78847D;
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:10px;
}
#view-sourcing .src-row-path{
  color:#536159;
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:11.5px;
  line-height:1.45;
}
#view-sourcing .src-row-right{
  color:#5A665F;
  font-family:'Instrument Sans','Inter',sans-serif;
  font-size:11.5px;
  line-height:1.5;
}

@media(max-width:1100px){
  .src-engine-layout{grid-template-columns:1fr}
  .src-engine-evidence{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid rgba(255,255,255,.12);
    border-left:0;
  }
  .src-engine-evidence-item{
    border-top:0;
    border-left:1px solid rgba(255,255,255,.10);
  }
  .src-engine-evidence-item:first-child{border-left:0}
  .src-founder-proof{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .src-founder-proof-lead{grid-column:1 / -1}
  .src-founder-proof-lead h3{margin-top:16px}
  .src-founder-quote:first-of-type{border-left:0}
  .src-peer-network-marks{grid-template-columns:repeat(3,minmax(0,1fr))}
  .src-origin-desktop{grid-template-columns:1fr}
  .src-origin-matrix{border-right:0}
  .src-origin-detail{
    min-height:190px;
    border-top:1px solid var(--src-rule);
  }
}
@media(max-width:860px){
  #view-sourcing .src-workspace-section{
    scroll-margin-top:88px;
    margin-bottom:20px;
  }
  #view-sourcing .src-research-shell{padding:20px}
  #view-sourcing .src-hero-title{font-size:34px}
  #view-sourcing .src-hero-line{font-size:13.5px}
  #view-sourcing .src-mix{padding:18px}
  .src-section-nav{
    top:0;
    width:100%;
    margin:8px 0 20px;
  }
  .src-section-nav-item{flex:1;padding:0 10px}
  .src-workspace-head{grid-template-columns:1fr;gap:7px}
  .src-workspace-head > span{padding-top:0}
  .src-workspace-head h2{font-size:19px}
  .src-origin-head{align-items:flex-start}
  .src-origin-desktop{display:none}
  .src-origin-mobile-timeline{
    display:block;
    border-top:1px solid var(--src-rule);
  }
  .src-origin-mobile-year{
    display:grid;
    grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);
    border-bottom:1px solid var(--src-rule);
  }
  .src-origin-mobile-year-head{
    padding:17px 15px;
    border-right:1px solid var(--src-rule);
    background:#F7FAF8;
  }
  .src-origin-mobile-year-head strong,
  .src-origin-mobile-year-head span{display:block}
  .src-origin-mobile-year-head strong{
    color:var(--src-forest);
    font:650 17px/1 'Instrument Sans','Inter',sans-serif;
  }
  .src-origin-mobile-year-head span{
    margin-top:6px;
    color:#7B8881;
    font:550 9px/1.25 'Inter','Helvetica Neue',sans-serif;
  }
  .src-origin-mobile-item{min-width:0;border-top:1px solid var(--src-rule)}
  .src-origin-mobile-item:first-of-type{border-top:0}
  .src-origin-mobile-item summary{
    min-height:56px;
    display:grid;
    grid-template-columns:8px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:10px 13px;
    color:var(--src-ink);
    cursor:pointer;
    list-style:none;
  }
  .src-origin-mobile-item summary::-webkit-details-marker{display:none}
  .src-origin-mobile-mark{width:8px;height:8px;border-radius:50%}
  .src-origin-mobile-item summary > span:nth-child(2){
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  .src-origin-mobile-item summary strong{
    font:630 12px/1.25 'Instrument Sans','Inter',sans-serif;
  }
  .src-origin-mobile-item summary span span{
    color:#78847D;
    font:550 9px/1.2 'Instrument Sans','Inter',sans-serif;
  }
  .src-origin-mobile-plus{
    color:#637169;
    font:500 18px/1 'Instrument Sans','Inter',sans-serif;
    transition:transform 160ms ease;
  }
  .src-origin-mobile-item[open] .src-origin-mobile-plus{transform:rotate(45deg)}
  .src-origin-mobile-item[open] summary{background:#EEF4F1}
  .src-origin-mobile-body{
    padding:2px 13px 17px 31px;
    background:#F8FBFA;
  }
  .src-origin-mobile-facts{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--src-rule);
    border-bottom:1px solid var(--src-rule);
  }
  .src-origin-mobile-facts .src-origin-fact{
    padding:10px 8px 10px 0;
    border-left:0;
  }
  .src-origin-mobile-facts .src-origin-fact + .src-origin-fact{
    padding-left:8px;
    border-left:1px solid var(--src-rule);
  }
  .src-origin-mobile-body p{
    margin:11px 0 0;
    color:#59665F;
    font:450 11px/1.52 'Instrument Sans','Inter',sans-serif;
  }
  .src-origin-mobile-body a{
    display:inline-flex;
    min-height:40px;
    align-items:center;
    margin-top:10px;
    color:var(--src-forest);
    font:680 10.5px/1 'Instrument Sans','Inter',sans-serif;
    text-decoration:none;
    border-bottom:1px solid #AFC1B7;
  }
  .src-origin-mobile-routes{
    margin-top:18px;
    border-top:1px solid var(--src-rule);
  }
  .src-origin-mobile-routes-head{
    padding:17px 14px 13px;
    background:#F7FAF8;
  }
  .src-origin-mobile-routes-head > span{
    display:block;
    color:#6D7A73;
    font:700 8.5px/1.2 'Inter','Helvetica Neue',sans-serif;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .src-origin-mobile-routes-head h4{
    margin:6px 0 0;
    color:var(--src-forest);
    font:650 16px/1.25 'Instrument Sans','Inter',sans-serif;
  }
  .src-origin-mobile-route{border-top:1px solid var(--src-rule)}
  .src-origin-mobile-route summary{
    min-height:52px;
    display:grid;
    grid-template-columns:8px minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:10px 14px;
    color:var(--src-ink);
    cursor:pointer;
    list-style:none;
  }
  .src-origin-mobile-route summary::-webkit-details-marker{display:none}
  .src-origin-mobile-route summary strong{
    font:650 12px/1.3 'Instrument Sans','Inter',sans-serif;
  }
  .src-origin-mobile-route[open] summary{background:#EEF4F1}
  .src-origin-mobile-route[open] .src-origin-mobile-plus{transform:rotate(45deg)}
  .src-origin-mobile-route-body{
    padding:2px 14px 18px 32px;
    background:#F8FBFA;
  }
  .src-origin-mobile-route-body .src-origin-detail-lead{
    margin-top:10px;
    font-size:12px;
  }
  #view-sourcing .src-coverage-frame .pov-hero-wrap{display:none}
  .src-coverage-mobile{
    display:grid;
    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
    min-height:410px;
    padding:24px;
    gap:20px;
    background:
      radial-gradient(circle at 72% 50%,rgba(42,128,128,.22),transparent 36%),
      #0A1712;
  }
  .src-coverage-mobile-copy > span{
    color:#8FD6CE;
    font:700 9px/1.2 'Inter','Helvetica Neue',sans-serif;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .src-coverage-mobile-copy h3{
    margin:18px 0 0;
    color:#FFF;
    font:600 24px/1.16 'Instrument Sans','Inter',sans-serif;
    letter-spacing:0;
  }
  .src-coverage-mobile-copy p{
    margin:12px 0 0;
    color:rgba(245,249,247,.64);
    font:450 12px/1.5 'Instrument Sans','Inter',sans-serif;
  }
  .src-coverage-mobile-map{
    align-self:center;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .src-coverage-mobile-core{
    grid-column:1 / -1;
    width:104px;
    height:104px;
    margin:0 auto 5px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(143,214,206,.42);
    border-radius:50%;
    background:radial-gradient(circle,rgba(42,128,128,.34),rgba(42,128,128,.08));
    color:#FFF;
    font:700 18px/1 'Instrument Sans','Inter',sans-serif;
  }
  .src-coverage-mobile-node{
    min-width:0;
    padding:9px 10px;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.035);
  }
  .src-coverage-mobile-node strong,
  .src-coverage-mobile-node span{display:block}
  .src-coverage-mobile-node strong{
    overflow:hidden;
    color:#F4F8F6;
    font:620 10.5px/1.25 'Instrument Sans','Inter',sans-serif;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .src-coverage-mobile-node span{
    margin-top:3px;
    color:rgba(244,248,246,.48);
    font:500 9px/1.2 'Instrument Sans','Inter',sans-serif;
  }
  .src-engine-head{grid-template-columns:1fr;gap:7px}
  .src-engine-head > span{grid-row:auto;padding-top:0}
  .src-engine-desktop{display:none}
  .src-engine-mobile{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,.8fr);
    gap:12px;
    align-items:stretch;
    min-width:0;
    padding:18px;
    color:#FFF;
  }
  .src-engine-mobile-source{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:7px;
  }
  .src-engine-mobile-row{
    display:grid;
    grid-template-columns:8px minmax(0,1fr);
    gap:7px;
    align-items:center;
    min-width:0;
  }
  .src-engine-mobile-dot{width:7px;height:7px;border-radius:50%}
  .src-engine-mobile-row > div{min-width:0}
  .src-engine-mobile-row strong,
  .src-engine-mobile-row > div > span{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .src-engine-mobile-row strong{
    color:#EAF1ED;
    font:600 9.5px/1.2 'Instrument Sans','Inter',sans-serif;
  }
  .src-engine-mobile-row > div > span{
    margin-top:2px;
    color:rgba(234,241,237,.5);
    font:500 8px/1.2 'Instrument Sans','Inter',sans-serif;
  }
  .src-engine-mobile-gates{
    min-width:100px;
    padding:12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-right:1px solid rgba(255,255,255,.14);
    border-left:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.52);
    text-align:center;
  }
  .src-engine-mobile-eye{
    margin-bottom:8px;
    color:#8FD6CE;
    font:700 8px/1.2 'Inter','Helvetica Neue',sans-serif;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .src-engine-mobile-gates strong{
    color:#FFF;
    font:620 10px/1.3 'Instrument Sans','Inter',sans-serif;
  }
  .src-engine-mobile-gates > span:not(.src-engine-mobile-eye){
    margin:2px 0;
    font:500 8.5px/1.2 'Instrument Sans','Inter',sans-serif;
  }
  .src-engine-mobile-result{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
  }
  .src-engine-mobile-result strong{
    color:#FFF;
    font:650 17px/1.12 'Instrument Sans','Inter',sans-serif;
  }
  .src-engine-mobile-result span{
    margin-top:6px;
    color:#8FD6CE;
    font:550 9.5px/1.3 'Instrument Sans','Inter',sans-serif;
  }
  .src-founder-proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .src-record-filterbar{align-items:flex-start;flex-direction:column}
  .src-record-filters{
    width:100%;
    padding-bottom:3px;
    overflow-x:auto;
  }
  .src-table-head{display:none}
  #view-sourcing .src-row{
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:10px 18px;
  }
  #view-sourcing .src-row-right{grid-column:1 / -1}
}
@media(max-width:720px){
  #view-sourcing .src-mix-head{align-items:flex-start;flex-direction:column}
  #view-sourcing .src-mix-note{text-align:left}
  #view-sourcing .src-mix-rows{grid-template-columns:1fr}
  .src-coverage-mobile{
    grid-template-columns:1fr;
    min-height:0;
    padding:20px;
  }
  .src-coverage-mobile-copy h3{font-size:22px}
  .src-coverage-mobile-map{width:100%}
  .src-coverage-mobile-core{width:88px;height:88px}
  .src-engine-mobile{
    grid-template-columns:1fr;
    gap:14px;
  }
  .src-engine-mobile-gates{
    min-width:0;
    flex-direction:row;
    gap:7px;
    border:0;
    border-top:1px solid rgba(255,255,255,.14);
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .src-engine-mobile-eye{margin:0 6px 0 0}
  .src-engine-mobile-result{align-items:flex-start}
  .src-engine-evidence{grid-template-columns:1fr}
  .src-engine-evidence-item{
    padding:15px 18px;
    border-top:1px solid rgba(255,255,255,.10);
    border-left:0;
  }
  .src-founder-proof{grid-template-columns:1fr}
  .src-founder-proof-lead{grid-column:auto}
  .src-founder-quote{border-top:1px solid rgba(255,255,255,.12);border-left:0}
  .src-founder-quote blockquote{min-height:0;font-size:18px}
  .src-peer-network-marks{grid-template-columns:repeat(2,minmax(0,1fr))}
  #view-sourcing .src-row{grid-template-columns:1fr;gap:7px;padding:14px 16px}
  #view-sourcing .src-row-right{grid-column:auto}
  #view-sourcing .src-group{padding-right:16px;padding-left:16px}
}
@media(max-width:420px){
  #view-sourcing .src-research-shell{padding:16px}
  #view-sourcing .src-hero-title{font-size:31px}
  #view-sourcing .src-mix{padding:16px}
  .src-section-nav-item{padding:0 8px;font-size:11px}
  .src-workspace-head h2{font-size:18px}
  .src-origin-map{padding-top:18px}
  .src-origin-head{display:block}
  .src-origin-head h3{font-size:19px}
  .src-origin-clear{margin-top:12px}
  .src-origin-mobile-year{grid-template-columns:1fr}
  .src-origin-mobile-year-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:13px 11px;
    border-right:0;
  }
  .src-origin-mobile-year-head span{margin-top:0}
  .src-origin-mobile-facts{grid-template-columns:1fr}
  .src-origin-mobile-facts .src-origin-fact + .src-origin-fact{
    padding-left:0;
    border-top:1px solid var(--src-rule);
    border-left:0;
  }
  .src-origin-mobile-body{padding-left:31px}
  .src-origin-observation{grid-template-columns:1fr;gap:5px}
  .src-origin-mobile-route-body{padding-left:31px}
  .src-origin-mobile-route-body .src-origin-economics{grid-template-columns:1fr}
  .src-origin-mobile-route-body .src-origin-economic{
    border-top:1px solid var(--src-rule);
    border-left:0;
  }
  .src-origin-mobile-route-body .src-origin-economic:first-child{border-top:0}
  .src-coverage-mobile{padding:18px}
  .src-coverage-mobile-node{padding:8px}
  .src-engine-head{padding:17px}
  .src-founder-proof-lead,.src-founder-quote{padding:20px}
  .src-record-status{white-space:normal}
}


/* ═══ Shell: one command row on phones, reserved watermark band ══════
   Two defects this replaces. The titlebar carried the desktop composition
   (200px mark, 92px min-height) onto a 390px screen and was allowed to wrap,
   giving a 106px two-row header. And the watermark is fixed to the bottom
   with nothing reserving its band, so the last line of every view rendered
   underneath it.

   The watermark stays fixed on purpose: it carries the viewer's name, email
   and timestamp, so it has to appear on a screenshot taken at any scroll
   position. Its height is measured at runtime into --watermark-h and the
   scroll container reserves exactly that, plus the safe-area inset. */
:root { --watermark-h: 28px; }

.main {
  padding-bottom: calc(var(--watermark-h) + env(safe-area-inset-bottom, 0px) + 14px);
}

.sb-actions { display: none; }

@media (max-width: 860px) {
  /* One row, no wrap. Anything that does not fit is not titlebar material. */
  .titlebar {
    flex-wrap: nowrap;
    min-height: 0;
    padding: 8px 12px;
    row-gap: 0;
    align-items: center;
  }
  .tb-mark {
    width: auto;
    min-width: 0;
    padding: 0;
    border-right: none;
    justify-content: flex-start;
    flex-shrink: 1;
  }
  .tb-logo { height: 26px; }
  /* ID selector: a later `#tb-lp{display:flex}` outranks a class rule, so the
     class version of this silently did nothing. */
  #tb-lp { display: none; }

  /* Secondary actions live in the drawer at this width. */
  .sb-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px 18px 18px;
    border-top: 1px solid var(--line);
    margin-top: auto;
  }
  .sb-actions > * {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 0;
  }
}


/* ═══ Service-unavailable state ══════════════════════════════════════
   Shown when the API cannot be reached. Deliberately plain: no stack
   traces, no raw status codes, and no implication that access has
   lapsed. Restyled from .boot so it inherits the shell. */
.unavailable-h {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 26px; font-weight: 600; letter-spacing: -0.01em;
  margin: 18px 0 8px; color: var(--ink);
}
.unavailable-p {
  font-family: 'Inter', sans-serif; font-size: 14px; line-height: 1.6;
  color: var(--ink-2); max-width: 42ch; margin: 0 auto 22px;
}
.unavailable-actions {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
}
.unavailable-actions .btn { min-height: 44px; }
