/* ══════════════════════════════════════════════════════════════════════════
   LV CHROME · one system, sixteen boards.
   Defined once in LV.chrome and rendered into #lv-header and #lv-footer.
   Every rule below is scoped to the chrome so no page section is touched.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── UTILITY BAND ──────────────────────────────────────────────────────── */
#lv-header .util{background:var(--paper-cool);border-bottom:1px solid var(--rule)}
#lv-header .util .wrap{display:flex;flex-wrap:wrap;align-items:baseline;
  justify-content:space-between;gap:3px 18px;padding-top:8px;padding-bottom:8px}
#lv-header .util span{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-65)}
#lv-header .util .loc{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px;min-width:0}
#lv-header .util .loc b{font-weight:700;color:var(--navy);white-space:nowrap}
#lv-header .util .loc i{font-style:normal;color:var(--rule)}
#lv-header .util .mot{color:var(--red-deep);font-weight:700;white-space:nowrap}
@media(max-width:519px){#lv-header .util span{font-size:9.5px;letter-spacing:.09em}}

/* ── MASTHEAD · capital first in the stack ─────────────────────────────── */
#lv-header .lvnav{position:relative;z-index:40;background:var(--bg-deep)}
#lv-header .lvnav .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding-top:16px;padding-bottom:16px;border-bottom:1px solid var(--w-hair)}
#lv-header .lvnav .brand img{display:block;width:148px}
@media(min-width:760px){#lv-header .lvnav .brand img{width:180px}}
#lv-header .lvnav .menu{display:none}
#lv-header .lvnav .burger{display:inline-flex}
@media(min-width:1200px){
  #lv-header .lvnav .menu{display:flex;align-items:center;gap:0}
  #lv-header .lvnav .burger{display:none}
  #lv-header .lvnav .menu a{position:relative;font-family:var(--sans);font-weight:600;
    font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--w-soft);
    padding:14px 11px;white-space:nowrap;flex:0 0 auto;min-height:44px;display:inline-flex;
    align-items:center;transition:color var(--t-ui) ease-out}
  #lv-header .lvnav .menu a::after{content:"";position:absolute;left:11px;right:11px;bottom:8px;
    height:2px;background:var(--red-hot);transform:scaleX(0);transform-origin:left;
    transition:transform 260ms var(--e-settle)}
  #lv-header .lvnav .menu a:hover{color:var(--white)}
  #lv-header .lvnav .menu a:hover::after,#lv-header .lvnav .menu a:focus-visible::after{transform:scaleX(1)}
  #lv-header .lvnav .menu a[aria-current="page"]{color:var(--white)}
  #lv-header .lvnav .menu a[aria-current="page"]::after{transform:scaleX(1)}
  /* Apply for Capital leads the stack and is the only button in the masthead */
  #lv-header .lvnav .menu .cta{order:-1;margin-left:0;margin-right:20px;border:1px solid var(--w-line);
    background:var(--w-tint);color:var(--white);padding:12px 18px;
    transition:background var(--t-ui) ease-out,border-color var(--t-ui) ease-out}
  #lv-header .lvnav .menu .cta::after{display:none}
  #lv-header .lvnav .menu .cta:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.5)}
  #lv-header .lvnav .menu .cta[aria-current="page"]{border-color:var(--red-hot)}
}
#lv-header .mnav .mhead a{display:block}

/* ── FOOTER · every panel starts on one line ───────────────────────────── */
/* §1.3 — no two dark bands touch: a beige block lands the footer every time */
#lv-footer .fbreak{background:var(--paper-cool,#F4F1EB);height:64px}
@media(max-width:679px){#lv-footer .fbreak{height:44px}}
#lv-footer footer{background:var(--bg-deep);color:var(--white);padding:46px 0 34px;position:relative}
#lv-footer footer::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:var(--red);transform-origin:left}
.anim #lv-footer footer::before{transform:scaleX(0);transition:transform 900ms var(--e-rule)}
.anim #lv-footer footer.in::before{transform:scaleX(1)}
@media (prefers-reduced-motion: reduce){#lv-footer footer::before{transform:none!important}}

/* the masthead row: mark left, motto and the three marks side by side right */
#lv-footer .fmast{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:16px 30px;padding-bottom:22px;border-bottom:1px solid var(--w-line)}
#lv-footer .fmark img{display:block;width:172px}
#lv-footer .fmast-r{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;
  gap:10px 30px;flex:1 1 340px;min-width:0}
#lv-footer .ftag{display:flex;flex-wrap:wrap;gap:0;font-family:var(--mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--w-soft);min-width:0}
#lv-footer .ftag span{white-space:nowrap}
/* the separator trails its own word, so a wrap never starts a line with a dot */
#lv-footer .ftag span:not(:last-child)::after{content:"\00B7";margin:0 12px;color:rgba(255,255,255,.38)}
#lv-footer .fsoc{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px}
#lv-footer .fsoc a{display:inline-flex;align-items:center;gap:8px;min-height:44px;
  font-family:var(--sans);font-weight:600;font-size:12px;letter-spacing:.10em;
  text-transform:uppercase;color:var(--w-soft);border-bottom:1px solid transparent;
  transition:color var(--t-ui) ease-out,border-color var(--t-ui) ease-out}
#lv-footer .fsoc a:hover{color:var(--white);border-bottom-color:var(--red-hot)}
#lv-footer .fsoc svg{width:14px;height:14px;flex:0 0 auto;display:block}

/* four panels, one shared top line */
#lv-footer .fgrid{margin-top:28px;display:grid;gap:26px;align-items:start}
@media(min-width:680px){#lv-footer .fgrid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}}
@media(min-width:1040px){#lv-footer .fgrid{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px}}
#lv-footer .fcol{min-width:0;margin:0;padding:0}
#lv-footer .fcol h3{margin:0;padding:0 0 10px;font-family:var(--sans);font-weight:800;
  font-size:11px;line-height:16px;letter-spacing:.20em;text-transform:uppercase;
  color:var(--w-faint);border-bottom:1px solid var(--w-line)}
#lv-footer .fcol ul{list-style:none;margin:0;padding:0}
#lv-footer .fcol li a{display:block;padding:10px 0;min-height:44px;font-family:var(--sans);
  font-size:14px;line-height:1.5;color:var(--w-soft);border-bottom:1px solid var(--w-hair);
  transition:color var(--t-ui) ease-out,padding-left var(--t-ui) ease-out}
#lv-footer .fcol li a:hover{color:var(--white);padding-left:6px}

/* Basel and Tel Aviv stack under the other three — the panel never runs long */
#lv-footer .foff{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,auto);
  grid-auto-flow:column;column-gap:14px}
#lv-footer .foff li{padding:10px 0;min-height:44px;display:flex;align-items:center;
  border-bottom:1px solid var(--w-hair);font-family:var(--sans);font-size:14px;
  line-height:1.5;color:var(--w-soft)}

#lv-footer .fcomp{margin-top:14px;padding-top:12px;border-top:1px solid var(--w-line)}
#lv-footer .fcomp b{display:block;font-family:var(--sans);font-weight:800;font-size:10.5px;
  letter-spacing:.20em;text-transform:uppercase;color:var(--w-faint)}
#lv-footer .fcomp a{display:inline-flex;align-items:center;min-height:44px;
  font-family:var(--mono);font-size:12px;letter-spacing:.03em;color:var(--white);
  border-bottom:1px solid rgba(255,255,255,.30);transition:border-color var(--t-ui) ease-out}
#lv-footer .fcomp a:hover{border-bottom-color:var(--red-hot)}
#lv-footer .fbtn{margin-top:14px;width:100%;justify-content:center}

#lv-footer .legal{margin-top:32px;padding-top:14px;border-top:1px solid var(--w-line)}
#lv-footer .legal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 22px}
#lv-footer .legal li a{display:inline-flex;align-items:center;min-height:44px;
  font-family:var(--sans);font-size:12.5px;color:var(--w-faint);
  transition:color var(--t-ui) ease-out}
#lv-footer .legal li a:hover{color:var(--white)}
/* no text-transform: the mark is LeverVenture, capital L and capital V */
#lv-footer .copy{margin:6px 0 0;font-family:var(--mono);font-size:12px;letter-spacing:.10em;
  text-transform:none;color:var(--w-faint)}
#lv-footer .disc{margin:12px 0 0;font-family:var(--sans);font-size:11.5px;line-height:1.7;
  color:rgba(255,255,255,.52);max-width:96ch}

@media(max-width:679px){
  #lv-footer .fmast{gap:14px 0}
  #lv-footer .fmark img{width:150px}
  /* the motto and the three marks stay on ONE row: the motto wraps inside
     its own box rather than pushing the marks onto a line of their own */
  #lv-footer .fmast-r{flex:1 1 100%;width:100%;flex-wrap:nowrap;
    justify-content:space-between;align-items:center;gap:8px 12px}
  #lv-footer .ftag{flex:1 1 0;min-width:0;font-size:10px;letter-spacing:.13em;line-height:1.7}
  #lv-footer .ftag span:not(:last-child)::after{margin:0 9px}
  #lv-footer .fsoc{flex:0 0 auto;gap:0 8px}
  #lv-footer .fsoc a{gap:0;padding:0 8px;min-width:44px;justify-content:center}
  #lv-footer .fsoc a .fsl{position:absolute;width:1px;height:1px;overflow:hidden;
    clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  #lv-footer .fsoc svg{width:17px;height:17px}
}

/* ══ LV PEOPLE PRESENTATION · lifted out of team.html's own <style> so the
   registry renders identically on every board (José: define it once) ══ */
/* FOCUS ROWS · a partner's remit, set tight under the bio */
.focus{margin-top:16px;padding-top:11px;border-top:1px solid var(--rule);display:grid;gap:0}
.focus .row{display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;padding:8px 0;
  border-bottom:1px solid var(--rule-soft);align-items:baseline}
.focus dt{font-family:var(--sans);font-weight:800;font-size:10px;letter-spacing:.19em;
  text-transform:uppercase;color:var(--ink-50)}
.focus dd{font-family:var(--sans);font-size:13.5px;line-height:1.45;color:var(--ink-80)}
.advcard .focus .row{grid-template-columns:122px minmax(0,1fr)}
.mpbox .team-row{align-items:start}
/* a credential we are holding: the structure ships, the sentence does not */
.held{margin-top:12px;padding:10px 13px;border-left:2px solid var(--rule);background:var(--void);
  font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;
  color:var(--ink-50);line-height:1.7}
/* ── NAVY ENCAPSULATION · the partnership, set apart from the bench ──────── */
.mpbox{margin-top:26px;background:var(--bg-deep);padding:28px 20px 32px;position:relative}
@media(min-width:880px){.mpbox{padding:38px 40px 42px}}
.mpbox::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--red)}
.mpbox .mph{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;padding-bottom:15px;
  border-bottom:1px solid var(--w-line)}
.mpbox .mph .n{font-family:var(--mono);font-weight:700;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--red-hot)}
.mpbox .mph h3{font-family:var(--serif);font-weight:600;font-size:23px;line-height:1.15;
  letter-spacing:-.012em;color:var(--white)}
.mpbox .mph .ct{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--w-faint)}
.mpbox .mps{margin-top:24px}
.mpbox .nm{color:var(--white)}
.mpbox .tt{color:var(--red-hot)}
.mpbox .bio{color:var(--w-soft)}
.mpbox .portrait{background:var(--navy-deep);box-shadow:0 0 0 1px var(--w-hair)}
.mpbox .portrait .mg{color:var(--w-soft)}
.mpbox .focus{border-top-color:var(--w-line)}
.mpbox .focus .row{border-bottom-color:var(--w-hair)}
.mpbox .focus dt{color:var(--w-faint)}
.mpbox .focus dd{color:var(--w-soft)}
.mpbox .ir{margin-top:26px;padding-top:24px;border-top:1px solid var(--w-line)}
.mpbox .ir .team-row{margin-top:0}
.mpbox .foot-note{color:var(--w-faint)}
.mpbox .slotnote{margin-top:9px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--w-faint)}

/* the advisory sub-head where it sits on light ground, outside the navy box */
.advh{display:flex;align-items:center;gap:13px;margin-top:46px;padding-bottom:14px;
  border-bottom:1px solid var(--rule)}
.advh .mpi{display:inline-flex;align-items:center;color:var(--red-deep)}
.advh h3{margin:0;font-family:var(--serif);font-weight:600;font-size:23px;line-height:1.15;
  letter-spacing:-.012em;color:var(--navy)}
.advl{margin-top:16px;max-width:70ch}
/* ══ LV PEOPLE PRESENTATION · END ══ */

/* ══ LV WAVE TWO · BRANCH B CSS · BEGIN ══ */
/* One icon grammar: Lucide, single family, currentColor, never without a label. */
.lvi{display:inline-block;vertical-align:-.16em;flex:none;fill:none;stroke:currentColor;
  stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* ── the partnership box · no tier, no counter, an icon instead ─────────── */
.mpbox .mph{gap:13px;align-items:center}
.mpbox .mph .mpi{display:inline-flex;align-items:center;color:var(--red-hot)}
.mpbox .mph h3{margin:0}

/* ── ADVISORY BOARD · one identical treatment, five times ───────────────── */
.advb{margin-top:26px;display:grid;gap:0}
.avrow{display:grid;gap:18px;padding:26px 0 30px;position:relative}
@media(min-width:760px){.avrow{grid-template-columns:132px minmax(0,1fr);column-gap:34px;
  align-items:start}}
.avpt{width:116px;height:116px;border-radius:50%;overflow:hidden;background:var(--paper-cool);
  box-shadow:0 0 0 1px var(--rule);margin:0}
@media(min-width:760px){.avpt{width:132px;height:132px}}
.avpt img{width:100%;height:100%;object-fit:cover;display:block}
.avbody .nm{font-family:var(--serif);font-weight:600;font-size:23px;line-height:1.16;
  color:var(--navy);letter-spacing:-.01em}
@media(min-width:760px){.avbody .nm{font-size:25px}}
.avbody .tt{margin-top:6px;font-family:var(--sans);font-weight:700;font-size:11.5px;
  letter-spacing:.15em;text-transform:uppercase;color:var(--red-deep);line-height:1.5}
.avbio{margin-top:13px;font-size:16.5px;line-height:1.56;color:var(--ink-80);max-width:68ch}
.avbody .focus{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule-soft)}
.avmk{margin-top:14px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.avmk .lab{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-50)}
.avmk .wd{font-family:var(--serif);font-weight:600;font-size:17.5px;line-height:1.2;
  color:var(--navy);letter-spacing:-.006em}
.anchor-alias{display:block;position:absolute;width:1px;height:1px;overflow:hidden}

/* ── THE PARTNER BENCH · four columns on navy so every mark reads ───────── */
.pbench{margin-top:32px;display:grid;gap:0}
@media(min-width:860px){.pbench{grid-template-columns:repeat(4,minmax(0,1fr))}}
.pcol{padding:22px 0 26px;position:relative}
@media(min-width:860px){.pcol{padding:22px 28px 26px}
  .pcol+.pcol::after{content:"";position:absolute;left:0;top:22px;bottom:26px;width:1px;
    background:var(--w-hair)}
  .pcol:first-child{padding-left:0}
  .pcol:last-child{padding-right:0}}
.pcol h3{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:800;
  font-size:10.5px;letter-spacing:.19em;text-transform:uppercase;color:var(--w-faint)}
.pcol h3 .pci{display:inline-flex;align-items:center;color:var(--red-hot)}
.pmk{margin-top:20px;list-style:none;padding:0;display:flex;flex-direction:column;gap:22px}
.pmk li{height:34px;display:flex;align-items:center}
.pmk img{max-height:34px;max-width:100%;width:auto;height:auto;object-fit:contain;
  object-position:left center;opacity:.94}
@media(max-width:859px){.pmk{flex-direction:row;flex-wrap:wrap;gap:18px 28px}
  .pmk li{height:30px}.pmk img{max-height:30px;max-width:150px}}

/* ── a working band · contextual imagery, never beside a named person ───── */
.wband{margin:30px 0 0;position:relative;padding-top:14px}
.wband img{width:100%;height:auto;display:block;aspect-ratio:7/3;object-fit:cover}
.wband figcaption{margin-top:11px;font-family:var(--sans);font-size:12px;line-height:1.6;
  color:var(--ink-65);max-width:74ch}
.sec.deep .wband figcaption{color:var(--w-faint)}

/* ── SECTOR MAP · the five asset classes, one icon each ─────────────────── */
.secmap{margin-top:26px;display:grid;gap:0}
.smrow{display:grid;gap:8px 20px;padding:18px 0 20px;align-items:start;--rh:1px;--rc:var(--rule-soft)}
@media(min-width:820px){.smrow{grid-template-columns:44px minmax(0,1.1fr) minmax(0,1.4fr)}}
.smi{display:inline-flex;align-items:center;justify-content:flex-start;color:var(--navy)}
.sec.deep .smi{color:var(--red-hot)}
.smn{display:block;font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.25;
  color:var(--navy)}
.sec.deep .smn{color:var(--white)}
.sms{display:block;margin-top:5px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-50)}
.sec.deep .sms{color:var(--w-faint)}
.smd{font-family:var(--sans);font-size:14.5px;line-height:1.55;color:var(--ink-65)}
.sec.deep .smd{color:var(--w-soft)}

/* ── icon + label rows used on the About page ───────────────────────────── */
.steps .st .lvi,.step .sx .lvi{color:var(--red-deep)}
.step .sxi{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  color:var(--red-deep)}
.sec.deep .step .sxi{color:var(--red-hot)}
.note h3 .lvi{margin-right:9px;color:var(--red-deep)}
.sec.deep .note h3 .lvi{color:var(--red-hot)}
.locrow .lci{display:inline-flex;align-items:center;margin-right:11px;color:var(--navy);
  vertical-align:-.22em}
.sec.deep .locrow .lci{color:var(--red-hot)}
.side h3 .lvi{margin-right:10px;color:var(--red-deep)}

/* ── a story figure · contextual imagery inside prose ───────────────────── */
.storyfig{margin:26px 0 0;position:relative;padding-top:12px}
/* José, 2026-09-11: "this big, big, tall image of people walking across the
   building… it doesn't have to be that big." 3:2 rendered 787px tall in a
   1180px prose column. 21:9 with a hard ceiling puts it at 430px. */
.storyfig img{width:100%;display:block;object-fit:cover;aspect-ratio:21/9;
  max-height:clamp(190px,30vw,430px);object-position:50% 42%}
.storyfig figcaption{margin-top:10px;font-family:var(--sans);font-size:12px;line-height:1.6;
  color:var(--ink-65);max-width:70ch}
/* ── label columns: never break a word, stack under 640 ─────────────────── */
.focus dt{overflow-wrap:normal;word-break:keep-all}
.mpbox .focus .row{grid-template-columns:98px minmax(0,1fr)}
@media(max-width:640px){
  .focus .row,.mpbox .focus .row,.advcard .focus .row,.avbody .focus .row{
    grid-template-columns:minmax(0,1fr);gap:3px;align-items:start}
}
/* the ecosystem band crops to the work on the page, not to a face */
.wband img.low{object-position:center 82%}
/* ══ LV WAVE TWO · BRANCH B CSS · END ══ */

/* ══ LV MODAL ROUTING · one contact contract on every board ═══════════════
   The panel says out loud which form was filled out and where it lands, and
   the same three hidden fields travel with every submission. */
.ric{flex:0 0 auto;vertical-align:-3px}
.route .rt .ric{color:var(--navy);opacity:.55}
.rkey{display:inline-block;padding:3px 7px;border:1px solid var(--rule);border-radius:2px;
  background:var(--navy-air);color:var(--navy);font-family:var(--mono);font-size:10.5px;
  letter-spacing:.09em;text-transform:none;font-weight:700}
.rkey.light{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.24);color:#FFFFFF}
.rtable .tn .ric{color:var(--red-hot)}
.step .st .ric{color:var(--navy);opacity:.55}
.mk2{display:flex;align-items:center;gap:9px}
.mk2 .ric{color:var(--red-deep)}
.mroute{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:15px;
  padding:11px 13px;background:var(--navy-air);border-left:3px solid var(--navy)}
.mroute .lb{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-50)}
.mroute b{font-family:var(--sans);font-size:13.5px;font-weight:700;color:var(--navy)}
/* ══ LV MODAL ROUTING · END ══ */

/* ══ LV · PROVEN TRACK RECORD band ══ */
/* ══════════════════════════════════════════════════════════════════════════
   LV · PROVEN TRACK RECORD BAND
   Appendable block. Every selector is scoped under .tr, so nothing here can
   reach another section. No color literals: LVDS tokens only. No shadows.
   Motion is SETTLE (data-rise) + RULE DRAW (.rl) borrowed from the board —
   this block adds no keyframes, nothing loops, nothing alternates.
   ══════════════════════════════════════════════════════════════════════════ */

/* The board's own furniture, tuned for this band only. Kept in CSS rather
   than inline so the hover state below can still win the cascade. */
.tr .sechead{--rh:2px;--rc:var(--w-line)}
.tr .blk{margin-top:34px}

/* ── THE ANCHOR FIGURE ─────────────────────────────────────────────────── */
/* The display lockup: the figure and the sentence it belongs to sit on one
   baseline once there is room, so the upper half of the band carries the same
   full-measure weight as the schedule below it. */
.tr .tr-lead{display:grid;gap:10px}
@media(min-width:900px){
  .tr .tr-lead{grid-template-columns:minmax(0,auto) minmax(0,1fr);
    column-gap:40px;align-items:last baseline}
}
.tr .tr-stat{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 14px}
.tr .tr-val{font-family:var(--serif);font-weight:340;font-size:clamp(58px,13.2vw,104px);
  line-height:.9;letter-spacing:-.03em;color:var(--white);
  font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.tr .tr-unit{font-family:var(--mono);font-weight:700;font-size:clamp(12px,1.5vw,15px);
  letter-spacing:.20em;text-transform:uppercase;color:var(--w-soft);white-space:nowrap}
.tr .tr-say{font-family:var(--serif);font-weight:350;
  font-size:clamp(19px,2.4vw,25px);line-height:1.32;letter-spacing:-.008em;
  color:var(--w-soft);max-width:30ch;text-wrap:pretty}

/* The qualifier. It is load-bearing, so it keeps the figure's own color and
   only loses size — never contrast. Raised to the numeral's optical center so
   it reads as a sign rather than a stray glyph, with a hair of space after. */
.tr .tr-q{font-size:.66em;vertical-align:.02em;letter-spacing:0;
  margin-inline-end:.04em;font-variant-numeric:normal}

/* ── THE SCHEDULE · a ledger, not a grid of tiles ──────────────────────── */
/* One column on a phone so seven rows stay scannable; two printed columns,
   filled top-to-bottom, once there is room for the labels to sit beside the
   figures. Column-major flow keeps the descending magnitude readable down
   each column the way a printed schedule reads. */
.tr .tr-sched{margin-top:38px;list-style:none;display:grid;gap:0}
@media(min-width:760px){
  .tr .tr-sched{grid-template-rows:repeat(4,auto);grid-auto-flow:column;
    grid-auto-columns:minmax(0,1fr);column-gap:38px}
}
.tr .tr-item{--rh:1px;--rc:var(--w-line);
  display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:14px;
  align-items:baseline;padding:15px 0 16px}
@media(min-width:520px){
  .tr .tr-item{grid-template-columns:142px minmax(0,1fr);column-gap:16px;padding:17px 0 18px}
}
.tr .tr-fig{font-family:var(--serif);font-weight:400;font-size:clamp(27px,4.4vw,35px);
  line-height:1;letter-spacing:-.016em;color:var(--white);
  font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.tr .tr-lab{font-family:var(--sans);font-weight:500;font-size:clamp(13px,1.1vw,14.5px);
  line-height:1.45;color:var(--w-soft);overflow-wrap:break-word;text-wrap:pretty}

/* A ledger highlight, not an affordance: the row's own hairline warms. Nothing
   moves, so it never implies the row is clickable. Pointer devices only. */
@media(hover:hover) and (pointer:fine){
  .tr .tr-item:hover{--rc:var(--red-hot)}
}

/* ── THE CODA · the two figures that are not dollars raised or deployed ─── */
.tr .tr-coda{--rh:2px;--rc:var(--red);
  margin-top:34px;padding-top:28px;list-style:none;display:grid;gap:24px}
@media(min-width:620px){
  .tr .tr-coda{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:38px}
}
.tr .tr-mark{display:grid;gap:9px;
  border-inline-start:2px solid var(--w-line);padding-inline-start:17px}
.tr .tr-fig2{font-family:var(--serif);font-weight:340;font-size:clamp(38px,5.8vw,54px);
  line-height:.98;letter-spacing:-.024em;color:var(--white);
  font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.tr .tr-lab2{font-family:var(--mono);font-weight:700;font-size:11.5px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--w-soft);line-height:1.55;overflow-wrap:break-word}

/* ── THE FOOTNOTE ──────────────────────────────────────────────────────── */
/* Rendered at genuine reading contrast, not the faintest tint on the page:
   a disclaimer nobody can read is a disclaimer that does not exist. */
/* The rule runs the full column while the measure stays inside 80ch, so the
   hairline reads as structure rather than as a paragraph that stopped short. */
.tr .tr-note{margin-top:30px;padding-top:17px;border-top:1px solid var(--w-line)}
.tr .foot-note{margin-top:0;font-size:12.5px;color:var(--w-soft);max-width:80ch}

/* ── THE RAIL LABEL ────────────────────────────────────────────────────── */
/* The board's rail <b> is red-hot, which measures 3.42:1 on the deep ground
   — fine as a graphic, short of 4.5:1 as small text. Rather than fork the
   house color, promote the label to the size the board already uses for a
   red rail mark (.sblk .sn b), where 3:1 is the governing threshold. */
.tr .rail b{font-size:19px;line-height:1.2;letter-spacing:.015em;margin-bottom:6px}

/* ══ LV · MASTHEAD CTA + RED ROLLOVERS ══════════════════════════════════════
   José, 2026-09-11: "let's move 'Apply for Capital' all the way to the right.
   It should be to the right, and it should be red. Give it a nice red color
   with the blue rollover so it stands out better" and, on the footer, "maybe
   it's okay to have the rollover that way: you make those lines red so it
   stands out a little bit more. The deep red, I think it'll look really nice."
   The CTA is now LAST in the registry's nav array, so the old order:-1 that
   pulled it to the front is canceled here rather than left to fight it. */
@media (min-width: 1000px){
  #lv-header .lvnav .menu .cta{
    order:0;margin-left:20px;margin-right:0;
    background:var(--red);border-color:var(--red);color:var(--white);
    transition:background var(--t-ui) ease-out,border-color var(--t-ui) ease-out,
               color var(--t-ui) ease-out}
  #lv-header .lvnav .menu .cta:hover,
  #lv-header .lvnav .menu .cta:focus-visible{
    background:var(--navy);border-color:var(--white);color:var(--white)}
  #lv-header .lvnav .menu .cta[aria-current="page"]{
    background:var(--navy);border-color:var(--red-hot)}
}
/* the mobile panel gets the same treatment, where it is a full-width row */
#lv-header .mnav nav a.cta{background:var(--red);border-color:var(--red);color:var(--white)}
#lv-header .mnav nav a.cta:hover,#lv-header .mnav nav a.cta:focus-visible{
  background:var(--navy);border-color:var(--white)}

/* the footer hairline picks up the deep red on hover and focus */
#lv-footer .fcol li a{transition:color var(--t-ui) ease-out,padding-left var(--t-ui) ease-out,
  border-bottom-color var(--t-ui) ease-out}
#lv-footer .fcol li a:hover,#lv-footer .fcol li a:focus-visible{
  color:var(--white);border-bottom-color:var(--red-hot)}
#lv-footer .foff li a:hover,#lv-footer .foff li a:focus-visible,
#lv-footer .flegal a:hover,#lv-footer .flegal a:focus-visible{
  color:var(--white);border-bottom-color:var(--red-hot)}
@media (prefers-reduced-motion: reduce){
  #lv-footer .fcol li a:hover{padding-left:0}
}

/* ══════════════════════════════════════════════════════════════════════════
   DIVIDERS · José, 2026-09-11, three times in one message:
     "you're missing a dividing line between 4 and 5"
     "Even where it says Exit Logic and Impact, you're missing a dividing line"
     "you even still have a missing dividing line between Investment Committee
      and Build"
   He is right, and it is one defect, not three. `.rl` draws a SINGLE rule as
   ::before at the row's top. `.rl-b` — which is always the LAST row of a list —
   RELOCATED that one rule to the bottom (`top:auto;bottom:0`) instead of adding
   a second one. So every list on every board silently lost the divider above its
   final row, always in the same place. 18 occurrences, 7 row types, 15 boards.
   The closing rule below the last row is correct and stays; the missing rule
   above it is restored here as a second pseudo-element. This lives in the shared
   chrome, which is injected AFTER each board's local CSS, so one edit repairs
   every occurrence site-wide — per his standing rule that a change made in one
   place must multiply everywhere it exists.
   ══════════════════════════════════════════════════════════════════════════ */
.rl-b::after{content:"";position:absolute;left:0;right:0;top:0;
  height:var(--rh,1px);background:var(--rc,var(--rule));transform-origin:left center}
.anim .rl-b::after{transform:scaleX(0);
  transition:transform var(--t-rule) var(--e-rule) var(--d,0ms)}
.anim .rl-b.in::after{transform:scaleX(1)}
@media (prefers-reduced-motion: reduce){
  .rl-b::after{transform:scaleX(1)!important;transition:none!important}
}

/* ══════════════════════════════════════════════════════════════════════════
   LEVERSOLUTIONS MASTHEAD ALIGNMENT · José, 2026-09-11:
     "the LeverSolutions logo should be bumped over so that it's aligned with
      the boxes: strategic commercialization, operational license. Right now,
      having it aligned left with the actual pillars and the wrap seems out of
      alignment. It should be bumped over."
   He is reading it correctly. The four pillars live inside a .blk, which at
   >=900px is `148px minmax(0,1fr)` with a 36px column gap — so the pillar
   boxes begin 184px in from the wrap's left edge. The .lsmast masthead sits
   directly in .wrap with no rail column, so the logo started at 0 and the two
   blocks disagreed by exactly 184px. Indent the masthead by the same rail so
   the logo's left edge and the pillar boxes' left edge are the same line.
   Below 900px .blk collapses to one column and no indent is correct.
   ══════════════════════════════════════════════════════════════════════════ */
@media(min-width:900px){
  .lsmast{margin-left:calc(148px + 36px)}
}

/* ══════════════════════════════════════════════════════════════════════════
   ▚▚  L V   C O M P O N E N T S   ·   V 3  ▚▚
   CHANGE-ORDER-03 §0 R1: every visual component that repeats across boards is
   built ONCE here and injected byte-identical into all fifteen boards.
   A board never re-types one of these rules. Contracts: _spec/COMPONENTS-V3.md
   ══════════════════════════════════════════════════════════════════════════ */

/* ── 0 · TOKENS THE COMPONENTS BELOW SHARE ──────────────────────────────── */
:root{
  /* the icon accent, tokenized so a <use> clone can inherit it (a hardcoded
     fill cannot be re-colored on a dark ground) */
  --lv-ico-accent:#C53030;
  --lv-ico-accent-dark:#E46868;
  /* the hairline divider, red at rest and blue on hover (CO-03 2.15) */
  --lv-hair-rest:var(--red);
  --lv-hair-hover:var(--navy);
  /* a red that clears AA on the deep and navy grounds (CO-03 10.9) */
  --lv-red-on-dark:#E46868;
}

/* ══ 1 · ICON CHIP · one component, every board ═══════════════════════════
   Reference rendering is leversolutions.html (§0 R6): a 28px step chip with a
   17px glyph, and a 46px pillar chip with a 26px glyph, both at 1440.
   Before this block the chip CSS lived in the local <style> of leversolutions
   and thesis only, so an .imk on any other board inherited .ico{width:100%}
   and filled its column (measured: 232px on team, 206.6px in a hybrid zone).
   ══════════════════════════════════════════════════════════════════════════ */
.imk{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;box-sizing:border-box;
  width:34px;height:34px;border:1px solid var(--rule);background:var(--white);color:var(--navy)}
.imk>svg{display:block;width:20px;height:20px;overflow:visible;color:inherit;fill:none;
  stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.imk.sm{width:28px;height:28px}
.imk.sm>svg{width:17px;height:17px}
.imk.lg{width:46px;height:46px}
.imk.lg>svg{width:26px;height:26px}
.imk.acc{border-color:var(--red);color:var(--red-deep)}
.imk.acc>svg{color:var(--navy)}
.sec.cool .imk{background:var(--paper-cool)}
:is(.sec.deep,.sec.dark,.on-dark,.zone.lead) .imk{border-color:var(--w-line);background:transparent;
  color:var(--white);--lv-ico-accent:var(--lv-ico-accent-dark)}
:is(.sec.deep,.sec.dark,.on-dark,.zone.lead) .imk>svg{color:inherit}
:is(.sec.deep,.sec.dark) .imk.acc{border-color:var(--lv-red-on-dark);color:var(--lv-red-on-dark)}

/* ── row contracts the chip sits in ─────────────────────────────────────── */
/* CO-03 DESIGN-2 — the breakpoint was inverted: the column stack governed 768
   and 1440 and the correct inline row only appeared on a phone, so the chip was
   orphaned above its own title with a hanging indent on 33 rows across the
   estate. Row is correct at every width, which is what .zone .zh, .post .mh and
   .pil .ph already do. */
.step .st.wi{display:flex;flex-direction:row;align-items:center;gap:11px}
.zone .zh{display:flex;align-items:center;gap:12px}
.zone .zh .zn{margin:0}
.post .mh{display:flex;align-items:center;gap:11px}
.post .mh .micro{margin:0}
.pil .ph,.pill .ph{display:flex;align-items:center;gap:14px}
.pil .ph .pi,.pill .ph .pi{flex:0 0 auto;box-sizing:border-box;width:46px;height:46px;display:flex;
  align-items:center;justify-content:center;border:1px solid var(--navy);color:var(--navy);background:var(--white)}
.pil .ph .pi>svg,.pill .ph .pi>svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;
  stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.pil:nth-child(even) .ph .pi,.pill:nth-child(even) .ph .pi{border-color:var(--red);color:var(--red)}
:is(.sec.deep,.sec.dark,.on-dark) :is(.pil,.pill) .ph .pi{background:transparent;border-color:var(--w-line);
  color:var(--white);--lv-ico-accent:var(--lv-ico-accent-dark)}
:is(.sec.deep,.sec.dark,.on-dark) :is(.pil,.pill):nth-child(even) .ph .pi{border-color:rgba(228,104,104,.62)}
:is(.sec.deep,.sec.dark,.on-dark) :is(.pil,.pill) .ph .pi>svg{color:inherit}
.pil .ph .pn{margin:0}
.pil .ph h3{margin-top:4px}
/* 3.12 — "some of these icons are blending into the blue" */
:is(.sec.deep,.sec.dark) :is(.pci,.mpi,.smi,.sxi,.lci){color:var(--white)}
:is(.sec.deep,.sec.dark) .lvi{stroke-width:1.75}

/* ══ 2 · RULES · red at rest, blue on hover (CO-03 2.15, 10.10, 10.13) ════
   José: "make the lines permanently red and you can still add the rollover so
   it turns blue." It applies to the HAIRLINE dividers between rows, not to the
   2–5px structural bars a board sets deliberately to navy or red. The two are
   told apart at runtime by their own --rh: components.src.js marks every .rl
   whose rule is 1px with .lv-rl-hair, so this is still one rule in one file
   and no board is edited. The .rl-b::after divider repair is untouched.
   ══════════════════════════════════════════════════════════════════════════ */
.rl::before,.rl.rl-b::after,
.lv-rl-hair::before,.lv-rl-hair.rl-b::after{background:var(--lv-hair-rest)}
@media(hover:hover) and (pointer:fine){
  .rl:hover::before,.rl.rl-b:hover::after,
  .lv-rl-hair:hover::before,.lv-rl-hair.rl-b:hover::after{background:var(--lv-hair-hover)}
}
:is(.sec.deep,.sec.dark,.on-dark,footer#footer,.lv-on-dark) :is(.rl,.lv-rl-hair),
:is(.sec.deep,.sec.dark,.on-dark,footer#footer) .lv-rl-hair{
  --lv-hair-rest:var(--lv-red-on-dark);--lv-hair-hover:var(--partial)}
/* 10.13 — a rollover carries red wherever the board already moves a border */
@media(hover:hover) and (pointer:fine){
  .card:hover,.acard:hover,.rcard:hover{--rc:var(--red)}
  #lv-footer .fcol a:hover,#lv-footer .legal a:hover{border-bottom-color:var(--red-hot)}
}

/* ══ 3 · STICKY SUB-NAV (CO-03 2.14) ═════════════════════════════════════
   Built by components.src.js from every <section data-subnav="Label"> on the
   board, inserted directly after #lv-header, and hidden when fewer than three
   sections are marked. A board marks its sections; it never writes this markup.
   ══════════════════════════════════════════════════════════════════════════ */
.lv-subnav{position:sticky;top:0;z-index:35;background:var(--paper);
  border-bottom:1px solid var(--rule);box-shadow:0 1px 0 rgba(26,54,93,.04)}
.lv-subnav[hidden]{display:none}
.lv-subnav .lv-sn-in{display:flex;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
  max-width:1240px;margin:0 auto;padding:0 var(--mx);scroll-snap-type:x proximity}
.lv-subnav .lv-sn-in::-webkit-scrollbar{display:none}
.lv-subnav a{flex:0 0 auto;scroll-snap-align:start;position:relative;
  display:inline-flex;align-items:center;gap:8px;padding:13px 16px 12px;
  font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-65);text-decoration:none;white-space:nowrap;
  transition:color var(--t-ui) ease-out,background var(--t-ui) ease-out}
.lv-subnav a:first-child{padding-left:0}
.lv-subnav a::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;
  background:var(--red);transform:scaleX(0);transform-origin:left center;
  transition:transform 260ms var(--e-settle)}
.lv-subnav a:first-child::after{left:0}
.lv-subnav a:hover{color:var(--navy)}
.lv-subnav a[aria-current="true"]{color:var(--navy);font-weight:700}
.lv-subnav a[aria-current="true"]::after{transform:scaleX(1)}
.lv-subnav a:focus-visible{outline:2px solid var(--red-hot);outline-offset:-2px}
.lv-subnav .lv-sn-i{display:none}
@media(min-width:760px){.lv-subnav .lv-sn-i{display:inline-flex;color:var(--red-deep)}
  .lv-subnav .lv-sn-i svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;
    stroke-linecap:round;stroke-linejoin:round}}
@media(prefers-reduced-motion:reduce){.lv-subnav a::after{transition:none}}
/* the marked sections need somewhere to land under a sticky bar */
html:has(.lv-subnav:not([hidden])) [data-subnav]{scroll-margin-top:64px}

/* ══ 4 · ROI² LOCKUP (CO-03 1.3, 2.7) ════════════════════════════════════
   José: "return on investment with a little arrow, then a hard return, a plus
   sign and then impact, but make the text a little larger." Stacked, centered,
   icons in a fixed 28px column 14px from the label, so no mark can touch its
   own words at any width. Rendered through the LV.roi2 slot where a board has
   one; the class contract is identical either way.
   ══════════════════════════════════════════════════════════════════════════ */
.roi2,.roi .eq.roi2-eq{display:inline-grid;grid-template-columns:28px auto;column-gap:14px;
  row-gap:6px;align-items:center;justify-items:start;text-align:start}
.roi .eq.roi2-eq{margin-top:14px;padding-top:14px;border-top:1px solid var(--rule);
  font-family:var(--sans);font-size:inherit;letter-spacing:normal;line-height:1.2;
  text-transform:none;color:var(--navy)}
.roi2-t{margin:0;font-family:var(--serif);font-weight:340;font-size:72px;line-height:.92;
  letter-spacing:-.024em;color:var(--navy);font-feature-settings:"lnum" 1}
.roi2-t sup{font-size:.42em;line-height:0;position:relative;top:-.06em;margin-left:.04em;
  vertical-align:super;color:var(--red)}
.roi2-ic{width:28px;height:28px;color:var(--navy);display:block}
.roi2-ic svg,.roi2-ic .ico{display:block;width:28px;height:28px;overflow:visible;
  fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.roi .eq.roi2-eq .roi2-lb,.roi2-lb{font-family:var(--sans);font-weight:600;font-size:16px;
  line-height:1.25;letter-spacing:-.004em;color:var(--navy);text-transform:none}
.roi2-plus{grid-column:1 / -1;justify-self:center;margin-left:0;display:flex;align-items:center;
  gap:10px;padding:2px 0;color:var(--red)}
.roi2-plus::before,.roi2-plus::after{content:"";width:18px;height:1px;background:var(--rule)}
.roi2-plus svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.1;
  stroke-linecap:round}
@media(min-width:760px){.roi2-t{font-size:88px}
  .roi .eq.roi2-eq .roi2-lb,.roi2-lb{font-size:17px}}
@media(min-width:1120px){.roi2-t{font-size:96px}
  .roi .eq.roi2-eq .roi2-lb,.roi2-lb{font-size:18px}
  .roi .eq.roi2-eq{margin-top:18px;padding-top:18px}}
:is(.sec.deep,.sec.dark,.on-dark) .roi2-t{color:var(--white)}
:is(.sec.deep,.sec.dark,.on-dark) .roi2-t sup,
:is(.sec.deep,.sec.dark,.on-dark) .roi2-plus{color:var(--lv-red-on-dark)}
:is(.sec.deep,.sec.dark,.on-dark) .roi .eq.roi2-eq,
:is(.sec.deep,.sec.dark,.on-dark) .roi2{border-top-color:var(--w-line)}
:is(.sec.deep,.sec.dark,.on-dark) .roi2-ic,
:is(.sec.deep,.sec.dark,.on-dark) .roi2-lb{color:var(--white)}
:is(.sec.deep,.sec.dark,.on-dark) .roi2-plus::before,
:is(.sec.deep,.sec.dark,.on-dark) .roi2-plus::after{background:var(--w-line)}
/* the block the lockup lives in; the left column widens to hold it at 1040 */
@media(min-width:1040px){.roi{grid-template-columns:344px minmax(0,1fr);column-gap:56px}}

/* ══ 5 · VALUE ROWS (CO-03 2.4) ══════════════════════════════════════════
   José: "the number, the icon a little larger, and then the text" — three
   bands stacked and visibly separated, not a number and a label on one line.
   ══════════════════════════════════════════════════════════════════════════ */
.vals{margin-top:26px;display:grid;gap:0;border-top:1px solid var(--rule)}
@media(min-width:680px){.vals{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0}}
.val{display:grid;align-content:start;justify-items:start;gap:0;padding:24px 0 26px;position:relative}
@media(min-width:680px){.val{padding:26px 24px 28px}
  .val:first-child{padding-left:0}
  .val:last-child{padding-right:0}
  .val+.val::after{content:"";position:absolute;left:0;top:26px;bottom:28px;width:1px;
    background:var(--rule)}}
.val .vnum,.val .val-n{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.18em;
  color:var(--red-deep);line-height:1}
.val .vi,.val .imk{margin-top:16px}
.val .vi.imk{margin-top:16px}
.val b,.val .vlb,.val .val-t b{display:block;margin-top:18px;font-family:var(--sans);font-weight:800;
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);line-height:1.3}
.val p,.val .vtx,.val span.tx,.val .val-t span{display:block;margin:9px 0 0;font-family:var(--sans);font-size:14.5px;
  line-height:1.6;color:var(--ink-65);max-width:42ch}
:is(.sec.deep,.sec.dark,.on-dark) .vals{border-top-color:var(--w-line)}
:is(.sec.deep,.sec.dark,.on-dark) .val+.val::after{background:var(--w-hair)}
:is(.sec.deep,.sec.dark,.on-dark) .val .vnum,
:is(.sec.deep,.sec.dark,.on-dark) .val .val-n{color:var(--lv-red-on-dark)}
:is(.sec.deep,.sec.dark,.on-dark) .val b,
:is(.sec.deep,.sec.dark,.on-dark) .val .val-t b,
:is(.sec.deep,.sec.dark,.on-dark) .val .vlb{color:var(--white)}
:is(.sec.deep,.sec.dark,.on-dark) .val p,
:is(.sec.deep,.sec.dark,.on-dark) .val .vtx,
:is(.sec.deep,.sec.dark,.on-dark) .val .val-t span{color:var(--w-soft)}

/* ══ 6 · ADVISORY PLATES (CO-03 1.16, 1.17, 1.18) ════════════════════════
   José: "the advisory board used to have beautiful rectangular portrait images
   that fit perfectly with the nice red line… Now you went to these circles" and
   "I had told you to alternate the colors… alternating beige and blue."
   Styles the registry-rendered .advb slot; the renderer's markup is unchanged.
   The alternating grounds run full bleed without a markup change, using a
   spread shadow released by clip-path rather than negative margins.
   ══════════════════════════════════════════════════════════════════════════ */
.advb{margin-top:26px;display:grid;gap:0;border-top:3px solid var(--navy)}
.avrow{--av-bg:var(--paper-cool);--av-nm:var(--navy);--av-tt:var(--red-deep);--av-tx:var(--ink-80);
  --av-lab:var(--ink-65);--av-slot-bg:var(--paper);--av-slot-bd:rgba(26,54,93,.16);
  background:var(--av-bg);
  box-shadow:0 0 0 100vmax var(--av-bg);clip-path:inset(0 -100vmax);
  padding:30px 0 32px}
.avrow:nth-child(even){--av-bg:var(--navy);--av-nm:var(--white);--av-tt:#F0B9B4;
  --av-tx:rgba(255,255,255,.88);--av-lab:rgba(255,255,255,.74);
  --av-slot-bg:rgba(255,255,255,.06);--av-slot-bd:rgba(255,255,255,.22);
  --lv-hair-rest:var(--lv-red-on-dark);--lv-hair-hover:var(--partial)}
@media(min-width:760px){.avrow{padding:40px 0 42px;grid-template-columns:132px minmax(0,1fr);
  column-gap:34px;align-items:start}}
@media(min-width:1120px){.avrow{grid-template-columns:148px minmax(0,1fr);column-gap:40px}}
/* 1.16 — rectangular portrait plate with the house red top stripe */
.avpt{width:116px;height:auto;aspect-ratio:4/5;border-radius:0;overflow:hidden;
  background:var(--navy-deep);border-top:3px solid var(--red);
  box-shadow:0 0 0 1px rgba(26,54,93,.14);margin:0}
@media(min-width:760px){.avpt{width:132px}}
@media(min-width:1120px){.avpt{width:148px}}
.avrow:nth-child(even) .avpt{box-shadow:0 0 0 1px rgba(255,255,255,.16)}
.avpt img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.avbody .nm{color:var(--av-nm)}
.avbody .tt{color:var(--av-tt)}
.avbio{color:var(--av-tx)}
.avbody .focus{border-top-color:var(--av-slot-bd)}
.avbody .focus dt{color:var(--av-lab)}
.avbody .focus dd{color:var(--av-tx)}
/* 1.18 — the affiliation row: a plate per mark, typeset until a file is cleared */
.avmk{margin-top:20px;padding-top:14px;border-top:1px solid var(--av-slot-bd);
  display:grid;gap:10px;align-items:stretch}
.avmk .lab{color:var(--av-lab);font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase}
.avmk .wd{display:inline-grid;align-content:center;justify-items:center;min-height:58px;
  padding:11px 14px;text-align:center;background:var(--av-slot-bg);
  box-shadow:inset 0 0 0 1px var(--av-slot-bd);border-top:2px solid var(--red);
  font-family:var(--serif);font-weight:600;font-size:15px;line-height:1.2;color:var(--av-nm)}
.avrow:nth-child(even) .avmk .wd{border-top-color:var(--lv-red-on-dark)}
.avmk .wd img{display:block;max-height:30px;max-width:100%;width:auto;height:auto;
  object-fit:contain}
@media(min-width:620px){.avmk{grid-template-columns:auto minmax(0,1fr);column-gap:18px;
  align-items:center}}

/* ══ 7 · TRACK RECORD · red through the block (CO-03 1.20) ═══════════════
   José: "make some of those lines red so it stands out a little bit more
   because blue really takes up the whole page and it's hard to follow."
   ⛔ The separation sentence stays inside this same visual block.
   ══════════════════════════════════════════════════════════════════════════ */
.tr .sechead{--rc:var(--red)}
.tr .tr-lead{position:relative;padding-bottom:26px}
.tr .tr-lead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--red)}
.tr .tr-unit{color:var(--lv-red-on-dark)}
.tr .tr-item:nth-child(odd){--rc:var(--lv-red-on-dark)}
.tr .tr-mark{border-inline-start-color:var(--red)}
.tr .tr-mark:nth-child(even){border-inline-start-color:var(--w-line)}
.tr .tr-note{border-top-color:var(--red)}
.tr .rail b{color:var(--lv-red-on-dark)}
@media(hover:hover) and (pointer:fine){.tr .tr-item:hover{--rc:var(--partial)}}

/* ══ 8 · FORMS · two-up, and Turnstile on every one (CO-03 8.2, 8.3, 10.14) ══
   José: "make sure all the forms are side by side and not left stacked without
   meaningful layouts" and "I told you to add turnstile to everything."
   Name and Firm sit side by side from 700px; the message box is always full
   width; a phone is one column. Each submission still carries form_key,
   form_name and route_to, which the modal writes on open.
   ══════════════════════════════════════════════════════════════════════════ */
@media(min-width:700px){
  #msg-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}
  #msg-fields .f-wide{grid-column:1/-1}
  .form:not(.lv-one-col),.form.light:not(.lv-one-col){
    grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
  .form .f-wide,.form .f-act,.form .fine,
  .form.light .f-wide,.form.light .f-act,.form.light .fine{grid-column:1/-1}
  .form textarea,.form.light textarea{min-height:120px}
}
@media(max-width:699px){#msg-fields{display:grid;gap:13px}}
/* the panel is a column; the fields inside it are the grid */
#msgf{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
/* Turnstile · ONE config constant lives in components.src.js */
/* CO-03 DESIGN-10 — the container used to hold roughly 95px of air on any host
   where no widget paints, which put a void between the email field and the
   button in the footer. It now occupies nothing until a real iframe has
   mounted; components.src.js sets data-lv-mounted the moment one appears. */
.lv-ts{margin-top:0;min-height:0;height:0;overflow:hidden}
.lv-ts[data-lv-mounted="1"]{margin-top:10px;height:auto;overflow:visible}
.lv-ts[data-size="invisible"]{margin:0;height:0;overflow:hidden}
.form .lv-ts,.form.light .lv-ts,#msgf .lv-ts{grid-column:1/-1}
.lv-ts iframe{max-width:100%}
/* ⛔ THE TEST-KEY NOTICE IS NOT PAGE COPY (CO-03 §1.21 class · DESIGN rows on
   nine boards). It used to render "Test key — replace with the production
   sitekey before launch" as visible mono copy under every form, on every
   file:// and preview render — which is every render José looks at. The
   hostname switch in components.src.js already does the work, so the notice
   has no audience; the builder now gets it on the console instead.
   On a non-production host the widget is mounted (so the Turnstile contract
   is still provable and the token still arrives) but the box is collapsed,
   which also removes Cloudflare's own red "For testing only" band and the
   95px hole it left in the footer subscribe row. `html[data-lv-debug]`
   restores both for a developer. */
.lv-ts[data-state="test"],
.lv-ts[data-size="invisible"][data-lv-mounted="1"]{height:0;min-height:0;margin:0;overflow:hidden}
html[data-lv-debug] .lv-ts[data-state="test"]{height:auto;margin-top:2px;overflow:visible;
  outline:1px dashed var(--rule);outline-offset:4px}
html[data-lv-debug] .lv-ts[data-state="test"]::after{content:"Turnstile test sitekey — local review render";
  display:block;margin-top:7px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-50)}

/* ══ 9 · FOOTER · a subtle Subscribe (CO-03 6.6, 10.7, 10.8) ═════════════
   José: "Maybe you could just say Subscribe, and then people just give us their
   name and email… and we just have it subtly on the footer." Name and email
   only, routed the same way every other form is. ⛔ No street address, and the
   words "Puerto Rico Limited Liability Company" never appear.
   ══════════════════════════════════════════════════════════════════════════ */
.lv-sub{margin-top:26px;padding-top:20px;border-top:1px solid var(--w-hair);
  display:grid;gap:12px}
@media(min-width:900px){.lv-sub{grid-template-columns:minmax(0,300px) minmax(0,1fr);
  column-gap:44px;align-items:start}}
.lv-sub .lv-sub-h{font-family:var(--sans);font-weight:800;font-size:10.5px;letter-spacing:.19em;
  text-transform:uppercase;color:var(--w-faint);margin:0}
.lv-sub .lv-sub-p{margin:8px 0 0;font-family:var(--sans);font-size:13px;line-height:1.6;
  color:var(--w-soft);max-width:44ch}
.lv-sub form{display:grid;gap:10px}
@media(min-width:560px){.lv-sub form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  align-items:end;column-gap:10px}}
.lv-sub .lv-sub-f{display:grid;gap:6px;min-width:0}
.lv-sub label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--w-faint)}
.lv-sub input{min-height:44px;padding:10px 12px;border:1px solid var(--w-line);border-radius:2px;
  background:rgba(255,255,255,.05);color:var(--white);font-family:var(--sans);font-size:14px;
  width:100%;transition:border-color var(--t-ui) ease-out,background var(--t-ui) ease-out}
.lv-sub input::placeholder{color:rgba(255,255,255,.5)}
.lv-sub input:hover{border-color:rgba(255,255,255,.42)}
.lv-sub input:focus{border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.09);
  outline:2px solid var(--red-hot);outline-offset:2px}
.lv-sub .lv-sub-f.bad input{border-color:var(--lv-red-on-dark)}
.lv-sub .lv-sub-f .err{display:none;font-family:var(--sans);font-size:11.5px;
  color:var(--lv-red-on-dark)}
.lv-sub .lv-sub-f.bad .err{display:block}
.lv-sub button{min-height:44px;padding:0 20px;border:1px solid var(--w-line);border-top:2px solid var(--red);
  background:transparent;color:var(--white);font-family:var(--sans);font-weight:700;font-size:12px;
  letter-spacing:.13em;text-transform:uppercase;cursor:pointer;white-space:nowrap;
  transition:background var(--t-ui) ease-out,border-color var(--t-ui) ease-out}
.lv-sub button:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.5);
  border-top-color:var(--red)}
.lv-sub button:focus-visible{outline:2px solid var(--red-hot);outline-offset:2px}
.lv-sub .lv-sub-done{font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--w-soft);
  border-left:2px solid var(--red);padding-left:13px}
@media(min-width:560px){.lv-sub .lv-ts{grid-column:1 / 3;margin-top:4px}
  .lv-sub button{grid-column:3;grid-row:2;align-self:end}}
@media(max-width:559px){.lv-sub .lv-ts{grid-column:1/-1}}

/* ══ 10 · POWERED BY LEVERAI (CO-03 10.6) ════════════════════════════════
   A small attribution mark for the LeverRating area. It names LeverAI, the
   firm's own capability — ⛔ it is never a model or vendor attribution.
   ══════════════════════════════════════════════════════════════════════════ */
.lv-pb{display:inline-flex;align-items:center;gap:9px;padding:7px 12px 7px 10px;
  border:1px solid var(--rule);border-top:2px solid var(--red);background:var(--white);
  font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-65);line-height:1;white-space:nowrap;vertical-align:middle}
.lv-pb b{font-family:var(--sans);font-weight:800;font-size:11px;letter-spacing:.1em;
  color:var(--navy)}
.lv-pb .lv-pb-i{display:inline-flex;width:16px;height:16px;color:var(--red-deep)}
.lv-pb .lv-pb-i svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}
:is(.sec.deep,.sec.dark,.on-dark) .lv-pb{background:transparent;border-color:var(--w-line);
  border-top-color:var(--lv-red-on-dark);color:var(--w-faint)}
:is(.sec.deep,.sec.dark,.on-dark) .lv-pb b{color:var(--white)}
:is(.sec.deep,.sec.dark,.on-dark) .lv-pb .lv-pb-i{color:var(--lv-red-on-dark)}

/* ══ 11 · CONTRAST · every token to AA (CO-03 10.9) ══════════════════════
   Measured in Chromium at 1440 across all fifteen boards, before and after.
   --red-hot #C73B3B on the deep ground is 3.42:1; on navy at display size it
   is 2.38:1. It is not redefined globally, because the same token draws the
   focus ring on light grounds where it already passes. It is re-declared
   inside dark containers only, so it inherits down and nothing light moves.
   ══════════════════════════════════════════════════════════════════════════ */
:is(.sec.deep,.sec.dark,.on-dark,.zone.lead,.hero,#lv-header .lvnav,#lv-header .mnav,
    footer#footer,.modal .mpanel .mtop){--red-hot:var(--lv-red-on-dark)}
/* and every container that PAINTS a dark ground without saying so in a class,
   labelled at runtime by LV_GROUND (components.src.js · section 1b) */
.lv-on-dark{--red-hot:var(--lv-red-on-dark);--ink-50:var(--w-faint)}
.lv-on-light{--red-hot:#C73B3B;--ink-50:#5A6A80}
/* --ink-50 #718096 is 3.56:1 on the beige. It carries captions, dates, labels
   and hints — body text at 10–12px, so 4.5:1 governs. */
:root{--ink-50:#5A6A80}
:is(.sec.deep,.sec.dark,.on-dark,footer#footer) {--ink-50:var(--w-faint)}
/* the office separators in the utility band were --rule on beige: 1.56:1 */
#lv-header .util .loc i{color:var(--ink-50)}
/* the legal boards run a light masthead but inherited the dark trail colors */
.docmast .trail{color:var(--ink-65)}
.docmast .trail a{color:var(--navy);border-bottom-color:var(--rule)}
.docmast .trail a:hover{color:var(--red-deep);border-bottom-color:var(--red)}
.docmast .trail b{color:var(--ink-65)}
/* …and 404 runs the same trail inside a LIGHT section, where white is 1.01:1 */
.trail[data-lv-gr="l"] a{color:var(--navy)}
.trail[data-lv-gr="l"] b,.trail[data-lv-gr="l"]{color:var(--ink-65)}
/* the insight category marks are hue-coded off-palette and ran 2.46–3.68:1 on
   paper. Darkened in place, so the coding survives and the text clears AA. */
.pmeta .k,.icard .k,span.k{filter:brightness(.66) saturate(1.18)}

/* ══ 12 · IMAGE CROPS (CO-03 2.13 · CROPS.md items 1–4) ══════════════════
   José: "the images can be thinner. They don't have to be that tall… so we can
   remove some of the scroll." Item 1 (.storyfig) already ships above. Items
   5–7 are correct as authored and are deliberately not touched.
   ══════════════════════════════════════════════════════════════════════════ */
/* 2 · four portrait plates are brutal once the grid collapses on a phone */
@media(max-width:760px){.plates img{aspect-ratio:16/10;object-position:50% 38%}}
/* 3 · a relief band at 420px stops being relief and becomes a section */
.band img{width:100%;display:block;object-fit:cover;height:clamp(150px,21vw,300px);
  object-position:50% 46%}
/* 4 · this plate sits directly above the band; together they were 750px of photography */
.wplate img{width:100%;height:clamp(165px,20vw,275px);object-fit:cover;display:block;
  object-position:50% 44%}

/* ══ 13 · ROUND-ONE CHROME REPAIRS · 2026-09-11 ══════════════════════════
   Every rule below repairs a defect an independent reviewer measured on a
   board. Each one lives here, once, because the defect it fixes repeats
   (§0 R1). Nothing in this block is board-specific.
   ══════════════════════════════════════════════════════════════════════════ */

/* 13.1 · THE MARKER RAIL KEEPS ITS GEOMETRY (hybrid DESIGN-1)
   The .rail2 glyph is drawn on a 132×46 canvas and was stretched to the rail's
   width — 680px at 768 and 350px at 390 — so its round dots inflated into
   lozenges and its stroke weights went anisotropic. Sized to its own canvas
   and centered, the deformation cannot happen at any width, and the SVG's
   preserveAspectRatio stops mattering because nothing scales it. */
.accel .rail2{display:flex;align-items:center;justify-content:center}
.accel .rail2 svg{position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:132px;height:46px;max-width:100%;inset:auto}

/* 13.2 · THE SUB-NAV READS AS SCROLLABLE ON A PHONE
   (team DESIGN-2 · research DESIGN-5 · thesis DESIGN-8 · apply DESIGN-8)
   Seven links in a 390px track with no scrollbar read as a layout bug, not as
   an invitation. Three repairs: the first item keeps the page's 20px gutter
   even once the strip is scrolled; a right-edge mask makes the cut legible;
   and below 480 the item metrics tighten so most boards fit outright. */
.lv-subnav .lv-sn-in{scroll-padding-inline:var(--mx);
  -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent);
  mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent)}
.lv-subnav .lv-sn-in:not(.lv-sn-ovf){-webkit-mask-image:none;mask-image:none}
@media(max-width:480px){
  /* CO-03 DESIGN-5 (research) — four items measured 392px against a 390px rail,
     so the last one clipped by two pixels on the most common phone width. */
  .lv-subnav a{padding:12px 9px 11px;font-size:10px;letter-spacing:.06em}
  .lv-subnav a::after{left:9px;right:9px}
  .lv-subnav a:first-child::after{left:0}
}

/* 13.3 · RED ON ROLLOVER, EVERYWHERE A POINTER CAN LAND
   José: "I think the rollovers should have some red." Measured on five boards:
   the header nav only brightened, the sub-nav only went navy, the footer
   hairline never moved, the buttons and the cards never moved. The reference
   board (leversolutions) reddens throughout, so this is the target. */
@media(hover:hover) and (pointer:fine){
  /* the masthead: a red hairline under the item, not a brighter white */
  #lv-header .lvnav .menu a:not(.cta):hover,
  #lv-header .lvnav .menu a:not(.cta):focus-visible{color:#fff}
  #lv-header .lvnav .menu a:not(.cta)::after{content:"";position:absolute;left:0;right:0;bottom:-3px;
    height:2px;background:var(--lv-red-on-dark);transform:scaleX(0);transform-origin:left center;
    transition:transform 220ms var(--e-settle,ease-out)}
  #lv-header .lvnav .menu a:not(.cta):hover::after,
  #lv-header .lvnav .menu a:not(.cta):focus-visible::after{transform:scaleX(1)}
  /* the sub-nav already carries a red ::after; it was simply never scaled up */
  .lv-subnav a:hover::after,.lv-subnav a:focus-visible::after{transform:scaleX(1)}
  /* every button family, including the two dark ghosts that moved nothing */
  .btn:hover,.btn:focus-visible{border-color:var(--red)}
  :is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark,footer#footer) .btn:hover,
  :is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark,footer#footer) .btn:focus-visible{
    border-color:var(--lv-red-on-dark)}
  .btn-p:hover,.btn-p:focus-visible{border-color:var(--red-deep)}
  /* cards that carry no hover feedback at all */
  #related a:hover,.icard:hover,.acard:hover,.rcard:hover,.card:hover{--rc:var(--red)}
  #related a:hover{border-color:var(--red)}
  /* the footer hairline, which the comment above this file already promised */
  #lv-footer .fcol li a:hover,#lv-footer .fcol li a:focus-visible,
  #lv-footer .foff li a:hover,#lv-footer .flegal a:hover,
  #lv-footer .legal a:hover,#lv-footer .legal a:focus-visible,
  #footer .fcol li a:hover,#footer .legal a:hover{
    border-bottom-color:var(--lv-red-on-dark)}
  /* a table row on a light ground */
  .rt2:hover,tbody tr:hover{--rc:var(--red)}
}
#lv-header .lvnav .menu a{position:relative}

/* 13.4 · THE BREADCRUMB IS A TAP TARGET (leversolutions DESIGN-7)
   32×20 css px was the smallest interactive element on the board. The padding
   is vertical only, so the type size and the breadcrumb's baseline do not move. */
.trail a{display:inline-block;padding-block:13px;min-height:44px;box-sizing:border-box}
.trail{margin-block:-13px}

/* 13.5 · THE DRAWER'S ONE CALL TO ACTION READS AS ONE (CO-03 10.8)
   At 1440 Apply for Capital is the red button at the far right. In the mobile
   drawer it was the eighth identical white serif row. The registry now marks
   it .cta; this gives it the same hierarchy the desktop nav has. */
#lv-header .mnav nav a.cta{background:var(--red);border-color:var(--red);color:#fff;
  border-top:2px solid #fff}
#lv-header .mnav nav a.cta span{color:rgba(255,255,255,.86)}
#lv-header .mnav nav a.cta:hover,#lv-header .mnav nav a.cta:focus-visible{
  background:var(--navy);border-color:#fff}

/* 13.6 · ONE ICON IDIOM, THE leversolutions ONE (§0 R6 · about CO-0-R6/DESIGN-7)
   about ran four idioms at once: three stroke weights and four fill colors,
   boxed and unboxed, two of them inside a single row. The reference board runs
   exactly one: a 1.1px stroke, navy on light and white on dark, boxed at 28/17
   or 46/26. These are the divergent sites, normalized to that contract without
   touching a board's markup. */
:is(.note,.side,.duo,.split) h3>svg,
.mph .mpi>svg,.mph>.mpi>svg{
  box-sizing:border-box;flex:0 0 28px;width:28px;height:28px;padding:5px;
  border:1px solid var(--rule);background:var(--white);color:var(--navy);
  fill:none;stroke:currentColor;stroke-width:1.1;overflow:visible}
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) :is(.note,.side,.duo,.split) h3>svg,
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) .mph .mpi>svg{
  border-color:var(--w-line);background:transparent;color:var(--white)}
.mph .mpi{width:auto;height:auto;color:inherit}
/* ⛔ The chip is only half the idiom. The boards set the GLYPH to --red-deep
   at `.note h3 .lvi` (0,2,1), which outranked the rule above and produced a
   solid red mark where leversolutions — the reference under §0 R6 — draws a
   navy one with at most a single red accent inside the artwork. These carry
   the extra class so they win, and the dark bands keep white. */
.note h3>svg.lvi,.side h3>svg.lvi,.duo h3>svg.lvi,.split h3>svg.lvi,
.steps .st>svg.lvi,.step .sx>svg.lvi,.mph .mpi>svg.lvi,
#eco .side-partners h3>svg.lvi{color:var(--navy)}
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) :is(.note,.side,.duo,.split) h3>svg.lvi,
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) .mph .mpi>svg.lvi,
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) #eco .side-partners h3>svg.lvi{color:var(--white)}

/* 13.7 · CATEGORY MARKS ARE NAVY (insights DESIGN-1 · §11-palette)
   The archive had regressed to a thirteen-hue category palette, eleven of them
   outside the LV palette and two (#EA580C, #D97706) inside QuezMedia's orange
   and gold. §11 is explicit: navy and red only. The category is distinguished
   by its label and its weight; red is reserved for the active filter's rule. */
.dotc,.icard .dotc,.pmeta .dotc,span.dotc{background:var(--navy)!important;
  border-color:var(--navy)!important;color:var(--navy)!important}
.dotc svg,.dotc path,.dotc polygon{fill:var(--navy)!important;stroke:var(--navy)!important}
.pmeta .k,.icard .k,span.k{color:var(--navy)!important;filter:none}
.fbar a[aria-current="true"],.fbar button[aria-pressed="true"],
.icat[aria-current="true"],.icat.on{border-bottom-color:var(--red)}

/* 13.8 · THE ONE PRIMARY ACTION LOOKS PRIMARY (contact DESIGN-10)
   "Send the message" is the page's single most important control and it was
   set in the outline treatment. It takes the filled red the site already uses
   for Apply for Capital; everything beside it stays ghost. */
#msgf .f-act .btn-p,.form .f-act .btn-p,.form.light .f-act .btn-p{
  background:var(--red);border-color:var(--red);color:#fff}
#msgf .f-act .btn-p:hover,.form .f-act .btn-p:hover,
#msgf .f-act .btn-p:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff}

/* 13.9 · A PAIR OF BUTTONS IS A PAIR AT 390 (404 · DESIGN-7-404-buttons)
   241×49 beside 350×67 with an orphaned word is not a pair. */
@media(max-width:480px){
  .acts .btn,.cacts .btn{width:100%;min-height:52px;justify-content:center;text-align:center}
}

/* 13.10 · THE LEGAL BOARDS' TABLE OF CONTENTS (CO-03 2.14 · DESIGN-5-scrollspy)
   A table of contents that renders two thirds of the way down the document is
   not a table of contents. Below 1000px the aside is moved to the top of the
   document body, and its active row is marked by the same observer that drives
   the sub-nav. */
@media(max-width:999px){
  .aside{order:-1}
  .doc:has(>.aside),.docbody:has(>.aside){display:flex;flex-direction:column}
}
.aside a[aria-current="true"]{color:var(--navy);font-weight:700;
  box-shadow:inset 3px 0 0 var(--red);padding-left:9px}

/* 13.11 · NOTHING RESTS UNDER THE ASSISTANT LAUNCHER (DESIGN-3/8/2 · mobile)
   The launcher is fixed. Below 820px the page reserves its height so the last
   row of content is never underneath it. The launcher itself collapses to a
   round icon button in the assistant's own stylesheet. */
@media(max-width:820px){
  #lv-footer .legal,#footer .legal{padding-bottom:76px}
}


/* ══════════════════════════════════════════════════════════════════════════
   14 · ROUND 2 · the chrome-layer defects the reviewers measured on 2026-09-11
   Every rule below is written once here and reaches all fifteen boards through
   build.py, which is what §0 R1 asks for.
   ══════════════════════════════════════════════════════════════════════════ */

/* 14.1 · THE TRACK RECORD KEEPS ITS RED ON HOVER (CO-03 1.20 · CO-1.20)
   José asked for red through this block because "blue really takes up the
   whole page and it's hard to follow". The rest state was right and the hover
   threw it away: line 382 set --rc:var(--red-hot) and a later equal-specificity
   rule inside @media(hover:hover) set --rc:var(--partial) — slate #7D93B1 — so
   every odd row lost its red the moment a pointer touched it. */
@media(hover:hover) and (pointer:fine){
  .tr .tr-item:hover{--rc:var(--red-hot)}
}

/* 14.2 · THE SUB-NAV SITS ON THE CONTENT GUTTER (team DESIGN-10)
   The bar's rail was 1240px against the page's 1200px, so at 1440 the first
   nav label started at x=164 while the heading it points at started at x=184.
   One rail, one gutter: the bar now inherits the same measure the page uses. */
.lv-subnav .lv-sn-in{max-width:1200px}

/* 14.3 · ONE TABLE OF CONTENTS AT A TIME (legal DESIGN-11-double-toc)
   privacy, terms and disclaimer pinned TWO simultaneous indexes of the same
   nine anchors: the sticky bar at the top and the sticky right rail. The
   reference board (§0 R6) has exactly one. Above 1024 the rail is present and
   sticky, so the bar stands down; below it the rail is a static block that
   scrolls away, and the bar is the only position indicator there is. */
@media(min-width:1024px){
  body:has(aside.aside) .lv-subnav{display:none}
}

/* 14.4 · THE ACTIVE ROW IN THE RAIL KEEPS ITS NUMERAL (legal DESIGN-10-aside-tick)
   The active indicator was an inset box-shadow drawn at x=0 and the row's
   ::before counter also starts at x=0, so the red tick painted straight over
   the leading zero: row 01 read "|1" at every width. The tick moves into the
   gutter the padding opens for it. */
.aside a{position:relative}
/* every numeral moves 11px right so the active tick has a gutter of its own to
   sit in; shifting ALL of them keeps the column aligned, which shifting only
   the active row would not. */
.aside a::before{padding-left:11px}
.aside a[aria-current="true"]{box-shadow:none}
.aside a[aria-current="true"]::after{content:"";position:absolute;left:0;top:3px;bottom:3px;
  width:3px;background:var(--red);border-radius:1px}

/* 14.5 · THE VALUE COLUMNS WRAP WITHOUT AN ORPHANED RULE (about DESIGN-10)
   .vals was repeat(auto-fit,minmax(190px,1fr)) — the column count changed with
   the width — while the gutter reset was index based (:first-child and
   .val+.val::after). At 768 that wraps 3+2 and row two's first cell was
   indented 24px with a divider hairline at the content edge, so "04" no longer
   lined up with "01". Explicit counts, and the resets match them. */
@media(min-width:1200px){
  .vals{grid-template-columns:repeat(5,minmax(0,1fr))}
  .val{padding-left:24px;padding-right:24px}
  .val:nth-child(5n+1){padding-left:0}
  .val:nth-child(5n){padding-right:0}
  .val::after{display:block}
  .val:nth-child(5n+1)::after{display:none}
}
@media(min-width:680px) and (max-width:1199px){
  .vals{grid-template-columns:repeat(3,minmax(0,1fr))}
  .val{padding-left:24px;padding-right:24px}
  .val:nth-child(3n+1){padding-left:0}
  .val:nth-child(3n){padding-right:0}
  .val::after{display:block}
  .val:nth-child(3n+1)::after{display:none}
}
@media(max-width:679px){
  .vals{grid-template-columns:minmax(0,1fr)}
  .val{padding-left:0;padding-right:0}
  .val::after{display:none}
}
/* the divider is drawn by the same declaration at every breakpoint, so it can
   be switched on and off by column position rather than by document order */
@media(min-width:680px){
  .val::after{content:"";position:absolute;left:0;top:26px;bottom:28px;width:1px;
    background:var(--rule)}
  .val:first-child::after{display:none}
}
:is(.sec.deep,.sec.dark,.on-dark) .val::after{background:var(--w-hair)}

/* 14.6 · THE BAND BEFORE THE FOOTER IS A RULE, NOT A GAP (about DESIGN-13)
   .fbreak rendered 64px of empty beige with no rule, no content and no
   relationship to anything — an accident on a page whose whole rhythm is ruled
   bands. It now carries the same red hairline every other section boundary
   uses, and becomes the footer's opening rule. */
#lv-footer .fbreak{position:relative}
#lv-footer .fbreak::after{content:"";position:absolute;left:50%;transform:translateX(-50%);
  bottom:0;width:min(1200px,calc(100% - 40px));height:2px;background:var(--red)}
@media(min-width:1024px){#lv-footer .fbreak::after{width:min(1200px,calc(100% - 128px))}}

/* ══ 14.7 · RED ON ROLLOVER, ON THE FAMILIES THAT STILL HAD NONE ══════════
   José, §10.13: "I think the rollovers should have some red." Three rounds of
   probes narrowed the misses to the footer link set, the hero index, the legal
   row (which declared a red border with no width to paint it), the breadcrumb,
   the article rails and the assistant launcher. They all get the SAME gesture
   the header nav already uses — a 2px red bar wiping in from the left over
   220ms — so the site reads as one idiom rather than five. */
.toclist a,.lv-index a,.toc a,
#lv-footer .fcol li a,#lv-footer .foff li a,#lv-footer .fcomp a,
#lv-footer .fsoc a,#lv-footer .legal a,#lv-footer .flegal a,
#footer .fcol li a,#footer .foff li a,#footer .fcomp a,
#footer .fsoc a,#footer .legal a,
.trail a,#rel-rail a,.aside a{position:relative}
.toclist a::after,.lv-index a::after,.toc a::after,
#lv-footer .fcol li a::after,#lv-footer .foff li a::after,#lv-footer .fcomp a::after,
#lv-footer .fsoc a::after,#lv-footer .legal a::after,#lv-footer .flegal a::after,
#footer .fcol li a::after,#footer .foff li a::after,#footer .fcomp a::after,
#footer .fsoc a::after,#footer .legal a::after,
.trail a::after,#rel-rail a::after,.aside a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--lv-red-on-dark);transform:scaleX(0);transform-origin:left center;
  transition:transform 220ms var(--e-settle,ease-out);pointer-events:none}
/* on a light ground the deeper red is the legible one */
.toclist a::after,.toc a::after,.trail a::after,#rel-rail a::after,.aside a::after{
  background:var(--red)}
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) .toclist a::after{background:var(--lv-red-on-dark)}
.toclist a:hover::after,.toclist a:focus-visible::after,
.lv-index a:hover::after,.lv-index a:focus-visible::after,
.toc a:hover::after,.toc a:focus-visible::after,
#lv-footer .fcol li a:hover::after,#lv-footer .fcol li a:focus-visible::after,
#lv-footer .foff li a:hover::after,#lv-footer .foff li a:focus-visible::after,
#lv-footer .fcomp a:hover::after,#lv-footer .fcomp a:focus-visible::after,
#lv-footer .fsoc a:hover::after,#lv-footer .fsoc a:focus-visible::after,
#lv-footer .legal a:hover::after,#lv-footer .legal a:focus-visible::after,
#lv-footer .flegal a:hover::after,#lv-footer .flegal a:focus-visible::after,
#footer .fcol li a:hover::after,#footer .fcol li a:focus-visible::after,
#footer .foff li a:hover::after,#footer .foff li a:focus-visible::after,
#footer .fcomp a:hover::after,#footer .fcomp a:focus-visible::after,
#footer .fsoc a:hover::after,#footer .fsoc a:focus-visible::after,
#footer .legal a:hover::after,#footer .legal a:focus-visible::after,
.trail a:hover::after,.trail a:focus-visible::after,
#rel-rail a:hover::after,#rel-rail a:focus-visible::after,
.aside a:hover::after,.aside a:focus-visible::after{transform:scaleX(1)}
/* the aside's own active tick is drawn by 14.4 and must not be wiped away */
.aside a[aria-current="true"]::after{transform:none;left:0;right:auto;width:3px;
  top:3px;bottom:3px;height:auto;background:var(--red)}
/* the breadcrumb sits inside a 44px tap target, so its bar rides the baseline */
.trail a::after{bottom:11px}
.aside a::after{left:11px}
.aside a[aria-current="true"]::after{left:0}
@media(prefers-reduced-motion:reduce){
  .toclist a::after,.lv-index a::after,.toc a::after,.trail a::after,
  #rel-rail a::after,.aside a::after,
  :is(#lv-footer,#footer) :is(.fcol,.foff,.fcomp,.fsoc,.legal,.flegal) a::after{transition:none}
}
/* the article rail's own title carries the color change as well as the bar */
#rel-rail a:hover .rt2,#rel-rail a:focus-visible .rt2{color:var(--red)}
/* the archive link and any bare "more" link on a light ground */
a.arch,a.archive,.archlink{position:relative}
a.arch:hover,a.archive:hover,.archlink:hover{color:var(--red)}
/* the assistant launcher was the one control with no feedback at all */
.lva-launch:hover,.lva-launch:focus-visible{border-color:var(--lv-red-on-dark)}

/* 14.8 · THE HEADER CALL TO ACTION IS RED, AND IT MOVES (apply 10.8 · 10.13)
   José, §10.8: the one primary action on the masthead. It shipped navy with a
   red hairline and a rest-vs-hover pixel diff of ZERO — the only interactive
   element on the board with no feedback, while an ordinary nav link diffed 378
   pixels. Filled red at rest, deeper red on hover and on focus. */
#lv-header .lvnav .menu a.cta,#lv-header .lvnav a.cta{
  background:var(--red);border-color:var(--red);color:#fff}
#lv-header .lvnav .menu a.cta:hover,#lv-header .lvnav a.cta:hover,
#lv-header .lvnav .menu a.cta:focus-visible,#lv-header .lvnav a.cta:focus-visible{
  background:var(--red-deep);border-color:#fff;color:#fff}
#lv-header .lvnav .menu a.cta::after{display:none}
/* on the board the reader is already on, the existing chrome rule keeps the
   button navy so it does not shout — but it kept NO hover either, which is the
   half of 10.13 that actually reads as broken. It answers in red. */
#lv-header .lvnav .menu .cta[aria-current="page"]:hover,
#lv-header .lvnav .menu .cta[aria-current="page"]:focus-visible{
  background:var(--red);border-color:var(--red);color:#fff}

/* 14.9 · THE LEGAL ROW'S RED HAS A WIDTH TO PAINT INTO (leversolutions 10.13)
   Privacy policy / Terms of service / Disclaimer declared
   border-bottom-color:#E46868 on hover over border-bottom-width:0, so the red
   they promised could never render. 14.7 gives them the house bar; this keeps
   any board-local border declaration from reading as a dead promise. */
#lv-footer .legal a,#footer .legal a,#lv-footer .flegal a{
  border-bottom:1px solid transparent}
#lv-footer .legal a:hover,#footer .legal a:hover,#lv-footer .flegal a:hover,
#lv-footer .legal a:focus-visible,#footer .legal a:focus-visible{
  border-bottom-color:var(--lv-red-on-dark)}

/* 14.10 · ONE ICON WEIGHT, THE REFERENCE ONE (insight-detail DESIGN-17 · §0 R6)
   leversolutions draws its marks at stroke-width 1.1 — engraved. The rail and
   meta marks elsewhere painted at 1.5 in a smaller frame, which reads chunky
   beside it. The small tier also matches the reference's 17px. */
.ric{stroke-width:1.1}
.aside .ab h4>svg.ric,.ab h4>svg.ric,.meta h4>svg.ric{width:17px;height:17px}

/* 14.11 · THE LARGE MARK ON A LIGHT GROUND IS NAVY AND RED (contact/apply DESIGN-2)
   §0 R6 makes leversolutions the target: its 46px .pi frames alternate navy and
   red on white, and the tan token belongs to the 28px small tier only. contact
   and apply paired the large frame with the small tier's tan, which washed out
   against the beige. */
:is(.sec.cool,.lv-on-light,.sec.paper,.sec.light) .imk.lg,
.imk.lg.lv-on-light{border-color:var(--navy);color:var(--navy);background:#FFFFFF}
:is(.sec.cool,.lv-on-light,.sec.paper,.sec.light) .imk.lg.acc,
.imk.lg.acc.lv-on-light{border-color:var(--red);color:var(--red);background:#FFFFFF}
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) .imk.lg,
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) .imk.lg.acc{
  border-color:var(--w-line);color:var(--white);background:transparent}
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) .imk.lg.acc{border-color:var(--lv-red-on-dark);color:var(--lv-red-on-dark)}
/* the small tier keeps the reference's cream plate and 1.1 stroke */
.imk.sm>svg,.imk.sm .ico{stroke-width:1.1}

/* 14.12 · THE MARKET-NORM SENTENCE IS A PARAGRAPH (team 3.6)
   The substance was right and the class was unstyled on every board, so it ran
   1072px wide with a 0px gap under a 573px italic lede — the typeface and the
   measure changed mid-thought, and at 390 it read as one run-on paragraph. */
.lv-norm,.mktnorm{display:block;max-width:34em;margin:.95rem 0 0;
  font-family:var(--sans);font-style:normal;font-size:.94rem;line-height:1.65;
  color:var(--ink-65,#4A5568)}
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) .lv-norm,
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) .mktnorm{color:var(--w-soft)}

/* 14.13 · AN AFFILIATION IS A CHIP, NOT A BAND (team DESIGN-9)
   A twenty-character institution name sat alone, centered, inside a box several
   hundred pixels wide. It shrinks to its content and sits under the name. */
.avmk .wd,.advaff,.adv-aff,.affil,.advisor .inst,.adv .inst{
  display:inline-flex;align-items:center;width:auto;max-width:100%;
  margin-inline-end:auto;text-align:left;justify-content:flex-start}
/* the plate is sized by the name it carries, and the name sits at the left
   edge of the column the label points at — a 20-character firm centered inside
   781px reads as a banner for an institution that has not endorsed anything,
   which is the opposite of what the note under this list promises. */
.avmk{justify-items:start}
.avmk .wd{padding-left:14px;padding-right:14px}

/* 14.14 · ONE RULE PER CARD (leversolutions DESIGN-12)
   .pill.rl.lv-rl-hair drew BOTH a 2px alternating board-local border-top AND
   the shared .rl::before hairline, and the two only collided on the odd cards:
   01/03 read navy 2px over red 1px, 02/04 read red 3px. The shared hairline is
   the one that belongs to every board, so the card's own border stands down. */
.pill.rl.lv-rl-hair,.pill.lv-rl-hair{border-top:0}

/* 14.15 · THE UTILITY STRIP IS LEGIBLE ON A PHONE (apply DESIGN-14 · §0 R4)
   It computed to 9.5px at 390 — below any legible floor, and §0 R4 verifies
   every row at 390. It wraps rather than shrinks. */
@media(max-width:520px){
  #lv-footer .legal,#footer .legal,#lv-footer .flegal{font-size:12px;line-height:1.6}
  #lv-footer .legal a,#footer .legal a,#lv-footer .flegal a{font-size:12px}
  #lv-footer .legal,#footer .legal{flex-wrap:wrap;row-gap:8px}
}

/* 14.16 · NOTHING SITS UNDER THE ASSISTANT LAUNCHER (about/insights/apply DESIGN-8/11/15)
   The launcher is fixed at z-58 and an elementFromPoint sweep at 390 found an
   interactive element beneath it at five scroll depths — a hero index row, two
   buttons, a footer link and SUBSCRIBE — so each of those taps opened the chat
   instead. components.src.js now watches what is under the launcher and tucks
   it out of the way; these are the two states it animates between, plus the
   page-bottom reserve so the last row can always scroll clear of it. */
.lva-launch{transition:transform 200ms var(--e-settle,ease-out),opacity 200ms ease-out,
  border-color var(--t-ui) ease-out}
.lva-launch.lva-tuck{transform:translateY(150%);opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.lva-launch{transition:opacity 120ms linear}
  .lva-launch.lva-tuck{transform:none}}
@media(max-width:820px){
  #lv-footer .legal,#footer .legal{padding-bottom:96px}
}


/* 14.17 · THE ROUTE ROWS GET THE GRID THEIR MARKUP ACTUALLY NEEDS (contact)
   Found while verifying 14.11 at 1440, and it is ours: an earlier chrome round
   wrapped the number and the title into <div class="rh"><span class="imk lg">
   … <span class="rhh"> and the board's four-column template — 50px for the
   number, 226px for the title, 1fr for the copy, auto for the button — was
   never told. Three children went into four columns, so the whole heading
   landed in the 50px lane and "Raising capital" broke to "01Rai / sing /
   capita / l" while the button sprawled across 718px. The two lanes the
   heading now occupies are merged into one, and .rh is given the row it was
   written to be. */
.route .rh{display:flex;align-items:center;gap:14px;min-width:0}
.route .rhh{display:block;min-width:0}
.route .rhh .rx{display:block;margin-bottom:1px}
.route .rhh .rtt{display:block;font-family:var(--serif);font-weight:600;font-size:20px;
  line-height:1.22;letter-spacing:-.006em;color:var(--navy)}
:is(.sec.deep,.sec.dark,.on-dark,.lv-on-dark) .route .rhh .rtt{color:var(--white)}
@media(min-width:860px){
  .routes .route:has(.rh){grid-template-columns:minmax(0,292px) minmax(0,1fr) auto}
}
@media(max-width:859px){
  .route .rh{grid-column:1}
}


/* 14.18 · THE ASSISTANT OPENS WITH ITS GREETING NEXT TO THE INPUT (insights
   DESIGN-11) — measured at 390: the log is flex:1 and its one opening turn is
   top-aligned, which left 155px of blank paper between "I answer questions
   about LeverVenture…" and the first suggestion chip. Every messaging surface
   a reader has ever used stacks from the bottom; the log does now too, so the
   slack collects under the header where it reads as breathing room instead of
   as a panel that failed to load. Written at #id specificity because the
   assistant's own sheet is injected after this one.

   LVW-17: `justify-content:flex-end` bottom-anchored a short log, but the moment
   the transcript grew past one screen it also made the overflow it pushed above
   the top edge UNREACHABLE by scroll — a documented flexbox trap (a flex
   container's main-axis alignment clips overflow on the side opposite the
   aligned edge, and `overflow-y:auto` cannot scroll into it). José: "when I try
   to scroll back up to see my question, it doesn't let me scroll." Measured:
   scrollHeight === clientHeight while the first turn's own box sat 222px above
   the log's visible top. Fixed the standard way — drop the alignment, let only
   the first turn absorb the leftover space so a short log still sits on the
   floor, and a long one scrolls all the way to its own top. */
#lva-panel .lva-log{display:flex;flex-direction:column}
#lva-panel .lva-log>*{flex:0 0 auto}
#lva-panel .lva-log>*:first-child{margin-top:auto}

/* ══ LV ROUND 2 · END ══ */

/* ══ LV COMPONENTS · V3 · END ══ */

/* ══ LVW-7 · SITE FEEDBACK (José, 2026-09) ════════════════════════════════
   1 · the Send a message row sits on the card's floor, so partner cards that
       share a row share a button line at every width that puts them side by side.
   2 · the advisory board opens on a red band with reversed type (#FFF on
       #C53030 is 5.9:1), wherever the advisory section starts.
   3 · an advisor's career is shown in marks, each on the white plate with the
       red top rule, set to one optical size per mark (--lh from LV.logos).
   4 · back to top, bottom LEFT; the LeverAI launcher holds bottom right.
   5 · a link inside legal body copy is visible as a link: the opt-out links on
       the privacy page were the page's ink with no underline, so color alone
       did not mark them and nothing marked them at all.
   ══════════════════════════════════════════════════════════════════════════ */
.mps{align-items:stretch}
.mps>.person{grid-template-rows:auto 1fr}
@media(min-width:520px){.mps>.person{grid-template-rows:minmax(0,1fr);align-items:stretch}}
.mps>.person>.portrait{align-self:start}
.mps>.person>div{display:flex;flex-direction:column;min-width:0}
.mps>.person>div>.msgbtn{margin-top:auto;align-self:flex-start}
.mps>.person>div>.msgbtn:not(:first-child){margin-top:auto}
.mps>.person>div>:nth-last-child(2){margin-bottom:16px}

.advintro{--ai-bg:#C53030;position:relative;margin-top:52px;padding:30px 0 32px;
  background:var(--ai-bg);box-shadow:0 0 0 100vmax var(--ai-bg);clip-path:inset(0 -100vmax);color:#FFFFFF}
@media(min-width:900px){.advintro{margin-top:76px;padding:44px 0 46px}}
.advintro.is-head{margin-top:-52px;padding-top:52px}
@media(min-width:900px){.advintro.is-head{margin-top:-88px;padding-top:88px}}
.advintro .mph{display:flex;align-items:center;gap:12px;margin:0;padding:0;border:0}
.advintro .mph h3{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(26px,3.4vw,34px);
  line-height:1.12;letter-spacing:-.012em;color:#FFFFFF}
.advintro .mpi{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 auto;
  background:transparent;color:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.advintro .lede{margin-top:14px;max-width:64ch;color:#FFFFFF}
.advintro .sechead h2,.advintro .sechead .kick{color:#FFFFFF}
.advintro .sechead .lede{color:#FFFFFF}
.advintro .sechead .mk{color:rgba(255,255,255,.92)}
.advintro .tri,.advintro .tri.hot{border-left-color:#FFFFFF}
.advintro .lv-norm,.advintro .mktnorm{color:#FFFFFF}
.advintro+[data-lv-people] .advb,.advintro~[data-lv-people] .advb{margin-top:0;border-top:0}

.avmk{align-items:start}
.avlogos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.avlogo{height:58px;min-width:92px;padding:0 16px;display:flex;align-items:center;justify-content:center;
  background:#FFFFFF;border-top:2px solid #C53030;box-shadow:0 0 0 1px rgba(26,54,93,.12)}
.avrow:nth-child(even) .avlogo{box-shadow:none}
.avlogo img{display:block;height:var(--lh,24px);width:auto;max-width:min(188px,60vw);object-fit:contain}
@media(min-width:620px){.avmk{align-items:center}}

.lv-top{position:fixed;left:max(16px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));
  z-index:57;width:44px;height:44px;margin:0;padding:0;display:grid;place-items:center;
  background:#1A365D;color:#FFFFFF;border:0;border-top:2px solid #C53030;border-radius:0;cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,255,255,.22),0 6px 18px rgba(10,26,48,.22);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity 180ms cubic-bezier(.22,1,.36,1),transform 180ms cubic-bezier(.22,1,.36,1),
    background-color 180ms ease-out,visibility 0s linear 180ms}
.lv-top.on{opacity:1;visibility:visible;transform:none;
  transition:opacity 180ms cubic-bezier(.22,1,.36,1),transform 180ms cubic-bezier(.22,1,.36,1),
    background-color 180ms ease-out,visibility 0s}
.lv-top:hover{background:#0F2440}
.lv-top.on:active{transform:scale(.96)}
.lv-top:focus-visible{outline:2px solid #C53030;outline-offset:3px;box-shadow:0 0 0 1px #FFFFFF,0 6px 18px rgba(10,26,48,.22)}
.lv-top svg{display:block}
@media (prefers-reduced-motion: reduce){
  .lv-top,.lv-top.on{transform:none;transition:opacity 1ms linear,visibility 0s}
}
@media print{.lv-top{display:none}}

/* 5 · in-prose links in the legal documents (privacy, terms, disclaimer) */
.docbody .read .body p a,.docbody .read .body li a{
  color:var(--red-deep);text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:.18em;text-decoration-color:rgba(197,48,48,.45);
  transition:text-decoration-color 140ms ease-out,color 140ms ease-out}
.docbody .read .body p a:hover,.docbody .read .body li a:hover{text-decoration-color:var(--red-hot)}
.docbody .read .body p a:focus-visible,.docbody .read .body li a:focus-visible{
  outline:2px solid var(--red-hot);outline-offset:2px;border-radius:2px}
@media (prefers-reduced-motion: reduce){
  .docbody .read .body p a,.docbody .read .body li a{transition:none}
}
