/* Climate Securities site: warm paper, deep ink, navy for ownership, gold for money, teal only for evidence.
   Same system as Climate Ground (layout, rhythm, forms), set in Archivo with a slightly wide display cut.
   Single light theme by design; dark bands are part of the editorial rhythm, not a colour scheme. */
:root{
  color-scheme: light;
  --paper:#F5F4EE;
  --paper-warm:#EEE7D7;
  --card:#FFFFFF;
  --ink:#142B36;
  --ink-2:#3E5561;
  --muted:#5A6E78;
  --rule:#D8D6CB;
  --rule-2:#E8E6DD;
  --navy:#12455F;
  --navy-pale:#DDE8EE;
  --sky:#20A4D7;
  --sky-pale:#DDF0F8;
  --gold:#C9962B;
  --gold-dk:#8A6516;
  --gold-lt:#E3BE6A;
  --gold-pale:#F4EAD2;
  --evid:#157C80;
  --evid-pale:#DCEDEB;
  --terra:#B4603E;
  --terra-pale:#F6E6DC;
  --amber:#B97825;
  --amber-pale:#F6E9D3;
  --onink:#F5F4EE;
  --onink-2:#A9BCC4;
  --inkcard:#1A3541;
  --inkrule:#2C4855;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --gl:max(16px, env(safe-area-inset-left, 0px));
  --gr:max(16px, env(safe-area-inset-right, 0px));
}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:600}
[hidden]{display:none!important}
.wrap{max-width:1260px;margin:0 auto;padding-left:var(--gl);padding-right:var(--gr)}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--onink);padding:10px 14px;border-radius:3px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.sec.ink a:focus-visible,.sec.ink button:focus-visible,.foot a:focus-visible{outline-color:var(--gold-lt)}

/* family bar and header */
.family{background:var(--ink);color:var(--onink-2)}
.family-in{display:flex;align-items:center;gap:14px;min-height:36px;font:500 11.5px/1 var(--mono);letter-spacing:.07em}
.fam{color:var(--onink-2);text-decoration:none;padding:8px 0 6px;border-bottom:1.5px solid transparent}
.fam:hover{color:var(--onink)}
.fam[aria-current="true"]{color:var(--onink);border-bottom-color:var(--onink)}
.fam-sep{width:1px;height:12px;background:var(--ink-2)}
.family-note{margin-left:auto;white-space:nowrap}
.site{position:relative;background:var(--paper);border-bottom:1px solid var(--rule)}
.site-in{display:flex;align-items:center;gap:26px;min-height:76px}
.brand{flex:none}
.brand img{display:block;height:38px;width:auto}
.nav{display:flex;gap:22px;margin-left:auto;font-size:15px}
.nav a{text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{border-bottom-color:var(--ink)}
.nav a[aria-current="page"]{border-bottom-color:var(--gold);font-weight:600}
.menu-btn{display:none;appearance:none;margin-left:auto;background:none;border:1px solid var(--ink);border-radius:3px;padding:9px 12px;font:600 14px var(--sans);color:var(--ink);cursor:pointer}
@media (max-width: 1180px){
  .js .nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:50;flex-direction:column;gap:0;margin:0;padding:8px var(--gr) 16px var(--gl);background:var(--paper);border-bottom:1px solid var(--rule);box-shadow:0 14px 28px rgba(20,43,54,.08)}
  .js .nav.open{display:flex}
  .js .nav a{padding:13px 0;border-bottom:1px solid var(--rule-2);font-size:16px}
  .js .nav a[aria-current="page"]{border-bottom-color:var(--rule-2);color:var(--navy)}
  .js .menu-btn{display:inline-block}
  .js .hdr-cta{margin-left:auto}
  .js .hdr-cta + .menu-btn{margin-left:0}
  html:not(.js) .site-in{flex-wrap:wrap;padding-block:12px}
  html:not(.js) .nav{flex-wrap:wrap;width:100%;order:3}
}
@media (max-width: 899px){.family-note{display:none}.brand img{height:30px}}
@media (max-width: 560px){.site .hdr-cta{display:none}.js .site .menu-btn{margin-left:auto}}

/* buttons and links */
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--onink);text-decoration:none;font:600 15px/1 var(--sans);padding:15px 22px;border-radius:3px;border:0;white-space:nowrap;cursor:pointer}
.btn:hover{background:#0B1E27}
.btn-small{padding:12px 16px;font-size:14px}
.btn-light{background:var(--onink);color:var(--ink)}
.btn-light:hover{background:#FFFFFF}
.btn-quiet{background:none;color:var(--ink);border:1.5px solid var(--ink)}
.btn-quiet:hover{background:var(--card)}
.btn[disabled]{opacity:.6;cursor:progress}
.textlink{font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--rule);padding-bottom:2px}
.textlink:hover{border-bottom-color:var(--ink)}
.sec.ink .textlink{border-bottom-color:var(--inkrule)}
.sec.ink .textlink:hover{border-bottom-color:var(--onink)}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}

/* type */
.kicker{font:500 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--navy)}
.sec.ink .kicker{color:var(--gold-lt)}
.h1{font-size:clamp(36px,4.8vw,66px);line-height:1.02;letter-spacing:-.03em;margin-top:14px;max-width:17ch;font-weight:650;font-stretch:112%;text-wrap:balance}
.h2{font-size:clamp(26px,2.6vw,38px);line-height:1.1;letter-spacing:-.02em;margin-top:12px;max-width:24ch;font-weight:650;font-stretch:108%;text-wrap:balance}
.h3{font-size:19px;line-height:1.3;margin-top:4px;font-weight:600}
.lede{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--ink-2);max-width:38em;margin-top:22px}
.sec.ink .lede{color:var(--onink-2)}
.prose p{color:var(--ink-2);max-width:40em;margin-top:14px}
.prose p:first-child{margin-top:0}
.sec.ink .prose p{color:var(--onink-2)}
.src{font-size:13px;color:var(--muted);margin-top:10px}
.src a{color:inherit}
.sec.ink .src{color:var(--onink-2)}
.pull{margin-top:30px;border-left:3px solid var(--gold);padding:4px 0 4px 18px;font-size:clamp(19px,1.6vw,23px);line-height:1.4;font-weight:600;max-width:34em}
.sec.ink .pull{border-left-color:var(--gold)}

/* sections */
.phero{padding-block:72px 56px;border-bottom:1px solid var(--rule)}
.sec{padding-block:84px}
.sec + .sec,.hero + .sec{border-top:1px solid var(--rule)}
.sec.alt{background:var(--paper-warm);border-top:0}
.sec.white{background:#FFFFFF}
.sec.ink{background:var(--ink);color:var(--onink);border-top:0}
.sec.alt + .sec,.sec.ink + .sec,.sec.white + .sec{border-top:0}
.split{display:grid;grid-template-columns:minmax(260px,4fr) minmax(0,7fr);gap:40px 64px;align-items:start}
.split.even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media (max-width: 899px){.split,.split.even{grid-template-columns:1fr}.sec{padding-block:60px}.phero{padding-block:52px 40px}}
@media (max-width: 1100px){.split.figsplit{grid-template-columns:1fr}}

/* reveal on scroll: only when scripts run and motion is allowed */
.anim.io .rise{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.anim.io .rise.in{opacity:1;transform:none}

/* numbered statements */
.nlist{list-style:none;margin:0;padding:0;counter-reset:n;border-top:1px solid var(--rule)}
.nlist li{counter-increment:n;display:grid;grid-template-columns:48px 1fr;gap:4px 16px;padding:18px 0;border-bottom:1px solid var(--rule)}
.nlist li::before{content:counter(n,decimal-leading-zero);font:500 13px var(--mono);color:var(--gold-dk);padding-top:3px;grid-row:span 2}
.nlist b{font-size:18px;line-height:1.35}
.nlist span{color:var(--ink-2)}
.sec.ink .nlist,.sec.ink .nlist li{border-color:var(--inkrule)}
.sec.ink .nlist li::before{color:var(--gold-lt)}
.sec.ink .nlist span{color:var(--onink-2)}

/* the gap: three sourced figures */
.gap3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:38px}
.gap3 > div{border-top:2px solid var(--ink);padding-top:18px}
.g-big{font-size:clamp(40px,4.2vw,62px);font-weight:650;font-stretch:112%;letter-spacing:-.03em;line-height:1}
.g-big small{font-size:.48em;letter-spacing:-.01em;font-weight:600}
.gap3 p:not(.g-big):not(.src){color:var(--ink-2);margin-top:14px}
.gap-close{margin-top:34px;max-width:46em;font-size:18px}
.gap-close b{font-weight:600}
@media (max-width: 899px){.gap3{grid-template-columns:1fr;gap:30px}}

/* figures that build themselves */
.figbox{margin:0;background:var(--card);border:1px solid var(--rule);border-radius:4px;overflow:hidden}
.figplay-svg svg{display:block;width:100%;height:auto}
.figplay-svg svg.tall{max-width:460px;margin:0 auto}
.figbox figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 16px 12px;border-top:1px solid var(--rule-2);font-size:13px;color:var(--muted)}
.replay{appearance:none;border:1px solid var(--ink);background:var(--card);color:var(--ink);font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px;border-radius:2px;cursor:pointer}
.replay:hover{background:var(--ink);color:var(--onink)}
.sec.ink .figbox{border-color:var(--inkrule)}

/* five stages, with the evidence line alongside */
.stages{list-style:none;margin:40px 0 0;padding:0;position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 22px}
.stages::before{content:"";position:absolute;left:0;right:0;top:7px;height:2px;background:var(--gold);transform-origin:left center}
.stages li{position:relative;padding-top:34px}
.stages li::before{content:"";position:absolute;left:0;top:0;width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid var(--gold-dk)}
.sec.white .stages li::before{background:#FFFFFF}
.sec.alt .stages li::before{background:var(--paper-warm)}
.st-n{display:block;font:500 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dk)}
.stages b{display:block;font-size:19px;line-height:1.25;margin-top:6px}
.stages p{color:var(--ink-2);margin-top:8px;font-size:15.5px}
.st-lead{display:block;margin-top:12px;font:500 11.5px/1.45 var(--mono);letter-spacing:.04em;color:var(--navy)}
.st-docs{display:block;margin-top:10px;padding-top:10px;border-top:1px dashed var(--rule);font-size:14px;color:var(--muted)}
.evrail{position:relative;margin-top:34px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 22px;padding-top:30px}
.evrail::before{content:"";position:absolute;left:0;right:0;top:7px;border-top:2px dashed var(--evid)}
.evrail span{position:relative;font:500 11.5px/1.45 var(--mono);letter-spacing:.04em;color:var(--evid)}
.evrail span::before{content:"";position:absolute;left:0;top:-30px;width:16px;height:16px;border-radius:2px;background:var(--evid-pale);border:2px solid var(--evid)}
.evrail span.none::before{display:none}
.evs{display:none;font-style:normal}
.ev-label{display:block;margin-top:14px;font:500 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--evid)}
.stages-note{display:grid;grid-template-columns:1fr 1fr;gap:18px 40px;margin-top:34px;padding-top:22px;border-top:1px solid var(--rule)}
.stages-note p{color:var(--ink-2)}
.stages-note b{color:var(--ink)}
.anim.io .stages.rise{opacity:1;transform:none}
.anim.io .stages.rise::before{transform:scaleX(0);transition:transform 1.5s cubic-bezier(.45,.05,.25,1)}
.anim.io .stages.rise.in::before{transform:scaleX(1)}
.anim.io .stages.rise li{opacity:0;transform:translateY(10px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * .26s + .2s)}
.anim.io .stages.rise.in li{opacity:1;transform:none}
.anim.io .evrail.rise{opacity:1;transform:none}
.anim.io .evrail.rise::before{clip-path:inset(0 100% 0 0);transition:clip-path 1.6s cubic-bezier(.45,.05,.25,1) .9s}
.anim.io .evrail.rise.in::before{clip-path:inset(0 0 0 0)}
.anim.io .evrail.rise span{opacity:0;transition:opacity .6s ease;transition-delay:calc(var(--i) * .26s + 1.2s)}
.anim.io .evrail.rise.in span{opacity:1}
@media (max-width: 1000px){
  .stages,.evrail{grid-template-columns:1fr;gap:0}
  .stages::before{left:7px;right:auto;top:0;bottom:0;width:2px;height:auto;transform-origin:center top}
  .anim.io .stages.rise::before{transform:scaleY(0)}
  .anim.io .stages.rise.in::before{transform:scaleY(1)}
  .stages li{padding:0 0 26px 38px}
  .stages li::before{top:4px}
  .evrail{margin-top:8px;padding:16px 0 0 38px;border-left:2px dashed var(--evid);margin-left:7px}
  .evrail::before{display:none}
  .evrail span{padding:2px 0 14px}
  .evrail span::before{left:-48px;top:2px}
  .evrail span.none{display:none}
  .evs{display:inline}
  .stages-note{grid-template-columns:1fr}
}

/* instruments in action list */
.apps{list-style:none;margin:34px 0 34px;padding:0;border-top:1px solid var(--inkrule)}
.apps a{display:grid;grid-template-columns:56px minmax(170px,250px) 1fr;gap:18px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--inkrule);text-decoration:none;color:var(--onink)}
.apps a:hover .a-t{color:var(--gold-lt)}
.a-n{font:500 13px var(--mono);color:var(--gold-lt)}
.a-t{font-weight:600;font-size:19px}
.a-q{color:var(--onink-2)}
@media (max-width: 899px){.apps a{grid-template-columns:40px 1fr;gap:4px 14px}.a-q{grid-column:2}}

/* who we work with */
.who{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.who li{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:6px 24px;padding:16px 0;border-bottom:1px solid var(--rule)}
.who b{font-size:17px}
.who span{color:var(--ink-2)}
@media (max-width: 640px){.who li{grid-template-columns:1fr}}

/* principles, do and don't */
.princ{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;border-top:1px solid var(--rule)}
.princ li{padding:18px 0;border-bottom:1px solid var(--rule)}
.princ b{display:block;font-size:17.5px}
.princ span{display:block;color:var(--ink-2);margin-top:4px}
.princ.one{grid-template-columns:1fr}
@media (max-width: 760px){.princ{grid-template-columns:1fr}}
.dodont{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.dodont > div{border-radius:4px;padding:22px 24px;background:var(--card);border:1px solid var(--rule)}
.dodont > div.yes{border-top:3px solid var(--navy)}
.dodont > div.no{border-top:3px solid var(--terra)}
.dodont h3{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.dodont ul{margin:12px 0 0;padding-left:18px;color:var(--ink-2)}
.dodont li{margin-bottom:8px}
@media (max-width: 760px){.dodont{grid-template-columns:1fr}}

/* a pair of panels on dark (ask and decline) */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.pair > div{border:1px solid var(--inkrule);background:var(--inkcard);border-radius:4px;padding:22px 24px}
.pair h3{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-lt)}
.pair ul{margin:12px 0 0;padding-left:18px;color:var(--onink-2)}
.pair li{margin-bottom:8px}
@media (max-width: 760px){.pair{grid-template-columns:1fr}}

/* practices */
.ptoc{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--rule);max-width:1000px}
.ptoc a{display:grid;grid-template-columns:56px minmax(170px,250px) 1fr;gap:18px;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.ptoc a:hover .pt-t{color:var(--navy)}
.pt-n{font:500 13px var(--mono);color:var(--gold-dk)}
.pt-t{font-weight:600;font-size:18px}
.pt-q{color:var(--ink-2)}
@media (max-width: 700px){.ptoc a{grid-template-columns:40px 1fr;gap:4px 14px}.pt-q{grid-column:2}}
.prac{display:grid;grid-template-columns:minmax(220px,3fr) minmax(0,8fr);gap:36px 64px;align-items:start}
.vign{width:100%;max-width:260px}
.vign svg{display:block;width:100%;height:auto}
.prac .prose{margin-top:18px}
.fit{margin:30px 0 0;border-top:2px solid var(--ink)}
.fit > div{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:6px 24px;padding:14px 0;border-bottom:1px solid var(--rule)}
.fit dt{font:500 11.5px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.fit dd{margin:0;color:var(--ink-2)}
.fit dd a{color:var(--ink)}
@media (max-width: 899px){.prac{grid-template-columns:1fr}.vign{max-width:200px}}
@media (max-width: 560px){.fit > div{grid-template-columns:1fr}}

/* practice vignettes */
.vg-land{fill:#EFE9D9}
.vg-sea{fill:#DCEEF5}
.vg-frame{fill:none;stroke:var(--rule);stroke-width:1}
.vg-line{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.vg-thin{fill:none;stroke:var(--ink);stroke-opacity:.3;stroke-width:.9}
.vg-river{fill:none;stroke:var(--sky);stroke-width:2.2;stroke-linecap:round}
.vg-wave{fill:none;stroke:#8EC4DA;stroke-width:1.1;stroke-linecap:round}
.vg-navy{fill:var(--navy)}
.vg-gold{fill:var(--gold)}
.vg-goldl{fill:none;stroke:var(--gold-dk);stroke-width:1.6;stroke-linecap:round}
.vg-pale{fill:var(--navy-pale);stroke:var(--navy);stroke-width:1}
.vg-card{fill:#FFFFFF;stroke:var(--ink);stroke-width:1.2}
.vg-lane{fill:none;stroke:var(--navy);stroke-width:1.2;stroke-dasharray:2 4;stroke-linecap:round}
.vg-blade{transform-box:fill-box;transform-origin:50% 100%}
.anim.io .vign .dw{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.45,.05,.25,1) var(--dl,0s)}
.anim.io .vign.in .dw{stroke-dashoffset:0}
.anim.io .vign .fi{opacity:0;transition:opacity .8s ease var(--dl,0s)}
.anim.io .vign.in .fi{opacity:1}
.anim .vign.in .rot{animation:vgspin 9s linear infinite}
.anim .vign.in .ship{animation:vgship 14s ease-in-out infinite alternate}
@keyframes vgspin{to{transform:rotate(360deg)}}
@keyframes vgship{to{transform:translate(-26px,8px)}}

/* model against actual */
.twin{margin:0}
.twin svg{display:block;width:100%;height:auto}
.twin .tw-c{display:none}
@media (max-width: 640px){.twin .tw-w{display:none}.twin .tw-c{display:block}}
.tw-band{fill:var(--navy-pale)}
.tw-curve{fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linecap:round}
.tw-axis{fill:none;stroke:var(--ink-2);stroke-width:1}
.tw-close{stroke:var(--gold-dk);stroke-width:1.4;stroke-dasharray:4 4}
.tw-pt{fill:var(--evid);stroke:#FFFFFF;stroke-width:1.4}
.tw-flag{fill:none;stroke:var(--terra);stroke-width:2}
.tw-lab{font:500 11px var(--mono);letter-spacing:.06em;fill:var(--ink-2)}
.tw-lab.n{fill:var(--navy)}
.tw-lab.e{fill:var(--evid)}
.tw-lab.t{fill:var(--terra)}
.tw-lab.g{fill:var(--gold-dk)}
.tw-tick{font:400 11px var(--mono);fill:var(--muted)}
.anim.io .twin .tw-band{opacity:0;transition:opacity 1s ease .2s}
.anim.io .twin.in .tw-band{opacity:1}
.anim.io .twin .tw-curve{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.45,.05,.25,1) .3s}
.anim.io .twin.in .tw-curve{stroke-dashoffset:0}
.anim.io .twin .tf{opacity:0;transition:opacity .5s ease var(--dl,0s)}
.anim.io .twin.in .tf{opacity:1}
.anim .twin.in .tw-flag{animation:twping 1.6s ease-out 4.6s 2 both}
@keyframes twping{0%{stroke-width:2}40%{stroke-width:5;stroke-opacity:.5}100%{stroke-width:2;stroke-opacity:1}}

/* about */
.how4{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.how4 li{border-top:2px solid var(--ink);padding-top:14px}
.how4 b{display:block;font-size:19px;font-weight:650;font-stretch:108%}
.how4 span{display:block;color:var(--ink-2);margin-top:6px}
@media (max-width: 899px){.how4{grid-template-columns:1fr 1fr}}
@media (max-width: 520px){.how4{grid-template-columns:1fr}}
.team{list-style:none;margin:34px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 26px}
.team li{display:flex;flex-direction:column;gap:4px}
.team img,.adv img{display:block;border-radius:50%;filter:grayscale(1) contrast(1.04);background:var(--rule-2)}
.team img{width:132px;height:132px;margin-bottom:14px}
.team b{font-size:18px}
.role{font:500 11.5px/1.45 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}
.team span:last-child{color:var(--ink-2);font-size:15.5px;margin-top:4px}
.adv{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:26px 22px}
.adv li{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--rule);padding-top:18px}
.adv img{width:84px;height:84px;margin-bottom:10px}
.adv b{font-size:16.5px}
@media (max-width: 1000px){.team{grid-template-columns:repeat(2,minmax(0,1fr))}.adv{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 560px){.team{grid-template-columns:1fr}.adv{grid-template-columns:repeat(2,minmax(0,1fr))}.team img{width:112px;height:112px}}
.facts{margin:26px 0 0;border-top:2px solid var(--ink);max-width:860px}
.facts > div{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:6px 24px;padding:14px 0;border-bottom:1px solid var(--rule)}
.facts dt{font:500 11.5px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.facts dd{margin:0}
@media (max-width: 560px){.facts > div{grid-template-columns:1fr}}

/* companies page */
.co{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-top:30px}
.co > div{border-radius:4px;padding:22px 24px;background:var(--card);border:1px solid var(--rule)}
.co > div.cs{border-top:3px solid var(--gold)}
.co > div.cg{border-top:3px solid var(--evid)}
.co > div.ind{border-top:3px solid var(--ink)}
.co h3{font-size:19px}
.co p{color:var(--ink-2);margin-top:8px}
.co.two{grid-template-columns:1fr 1fr}
@media (max-width: 899px){.co,.co.two{grid-template-columns:1fr}}

/* forms */
.formwrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:40px 56px;align-items:start}
.formcol{min-width:0}
@media (max-width: 960px){.formwrap{grid-template-columns:1fr}}
.form{background:var(--card);border:1px solid var(--rule);border-radius:4px;padding:28px}
.form .field{margin-top:20px}
.form .field:first-of-type{margin-top:0}
.field label,.field legend,.field .flabel{display:block;font-weight:600}
.field .hint{display:block;color:var(--muted);font-size:14px;margin-top:2px}
.field input:not([type=checkbox]):not([type=file]),.field textarea,.field select{display:block;width:100%;margin-top:8px;font:400 16px var(--sans);color:var(--ink);background:#FFFFFF;border:1.5px solid #8C9AA1;border-radius:3px;padding:11px 12px}
.field textarea{min-height:120px;resize:vertical}
.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--ink)}
.field .err{display:none;color:#A2412A;font-weight:600;font-size:14px;margin-top:6px}
.field.bad .err{display:block}
.field.bad input,.field.bad textarea,.field.bad select{border-color:#A2412A;border-width:2px}
.field.check{display:grid;grid-template-columns:22px 1fr;gap:4px 12px;align-items:start}
.field.check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--ink)}
.field.check label{font-weight:400}
.field.check .err{grid-column:2}
.optional{font-weight:400;color:var(--muted)}
.trap{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.msg{border-radius:4px;padding:14px 16px;margin-bottom:20px;font-weight:600}
.msg ul{margin:8px 0 0;padding-left:20px;font-weight:400}
.msg a{color:inherit}
.msg p + p{font-weight:400;margin-top:6px}
.msg.err-sum{background:#FBECE7;border:1px solid #A2412A;color:#6E2717}
.msg.info{background:var(--amber-pale);border:1px solid var(--amber);color:#5E3C0D}
.msg.ok{background:var(--evid-pale);border:1px solid var(--evid);color:#0E5D60}
.msg.fail{background:#FBECE7;border:1px solid #A2412A;color:#6E2717}
.form .actions{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.form .priv{color:var(--muted);font-size:14px}
.aside h2{font-size:20px;font-weight:650;font-stretch:104%}
.aside .draft{margin:0 0 18px}
.aside p,.aside li{color:var(--ink-2)}
.aside ul{padding-left:18px}
.aside h2 + ul,.aside h2 + p{margin-top:10px}
.aside .gap{margin-top:30px}

/* project submission: steps */
.stepnav{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;counter-reset:s}
.stepnav li{counter-increment:s;font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-bottom:5px;border-bottom:2px solid transparent}
.stepnav li::before{content:counter(s) " ";color:var(--gold-dk)}
.stepnav li.done{color:var(--ink)}
.stepnav li[aria-current="step"]{color:var(--ink);border-bottom-color:var(--gold)}
.stepnav{display:none}
.js .stepnav{display:flex}
.pstep{border:0;margin:0;padding:0;min-width:0}
.pstep + .pstep{margin-top:34px;padding-top:28px;border-top:1px solid var(--rule)}
.js .pstep + .pstep{margin-top:0;padding-top:0;border-top:0}
.pstep > legend{padding:0;font-size:22px;font-weight:650;font-stretch:106%;letter-spacing:-.01em}
.pstep > legend + *{margin-top:20px}
.pstep .intro{color:var(--ink-2);margin-top:6px}
.form .pstep > .field:first-of-type{margin-top:22px}
.js .pstep:not(.cur){display:none}
.navrow{margin-top:26px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px}
.navrow .back{appearance:none;background:none;border:0;padding:6px 0;font:600 15px var(--sans);color:var(--ink);border-bottom:1.5px solid var(--rule);cursor:pointer}
.navrow .back:hover{border-bottom-color:var(--ink)}
html:not(.js) .navrow .back,html:not(.js) .navrow .next{display:none}
.files{display:grid;gap:14px;margin-top:6px}
.fileslot{border:1px dashed #8C9AA1;border-radius:4px;padding:14px 16px;background:var(--paper)}
.fileslot label{display:block;font-weight:600}
.fileslot input[type=file]{display:block;margin-top:10px;width:150px;max-width:100%;font:400 15px var(--sans);color:transparent;cursor:pointer}
.fileslot input[type=file]::file-selector-button{font:600 14px var(--sans);color:var(--ink);background:var(--card);border:1.5px solid var(--ink);border-radius:3px;padding:8px 12px;margin:0;cursor:pointer}
.fileslot input[type=file]:hover::file-selector-button{background:var(--paper-warm)}
.fileslot input[type=file]:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.fileslot .fileinfo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:8px;font-size:14px;color:var(--ink)}
.fileslot .fileinfo button{appearance:none;background:none;border:0;padding:0;font:600 14px var(--sans);color:var(--ink);text-decoration:underline;cursor:pointer}
.fileslot.bad{border-color:#A2412A;border-style:solid;background:#FBF3F0}
.fileslot .err{display:none;color:#A2412A;font-weight:600;font-size:14px;margin-top:6px}
.fileslot.bad .err{display:block}
.filetotal{margin-top:12px;font:500 12px var(--mono);letter-spacing:.04em;color:var(--muted)}
.filetotal.over{color:#A2412A}
.review{margin:0;border-top:2px solid var(--ink)}
.review > div{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:4px 20px;padding:12px 0;border-bottom:1px solid var(--rule-2)}
.review dt{font:500 11.5px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.review dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.review dd.empty{color:var(--muted)}
.rv-sec{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:22px}
.rv-sec:first-child{margin-top:0}
.rv-sec h3{font:500 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.rv-sec button{appearance:none;background:none;border:0;padding:0;font:600 14px var(--sans);color:var(--ink);text-decoration:underline;cursor:pointer}
@media (max-width: 560px){.review > div{grid-template-columns:1fr}.form{padding:20px}}

/* closing band and footer */
.cta-band{background:var(--paper-warm);padding-block:84px}
.cta-band p:not(.kicker){color:var(--ink-2);max-width:36em;margin-top:14px}
.cta-band .row{margin-top:26px}
.foot{background:var(--ink);color:var(--onink-2);padding-block:44px 48px;font-size:14px}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;padding-bottom:22px;border-bottom:1px solid var(--inkrule)}
.foot-top img{height:34px;width:auto;display:block}
.foot-top p{max-width:40em}
.foot-links{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:22px}
.foot-links a{color:var(--onink);text-decoration:none}
.foot-links a:hover{text-decoration:underline}
.foot-links a[aria-current="page"]{text-decoration:underline}
.foot-note{margin-top:18px;max-width:60em}
.foot-co{margin-top:10px;max-width:60em}
.draft{display:inline-block;margin-top:14px;font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#5E3C0D;background:var(--amber-pale);border:1px solid var(--amber);border-radius:3px;padding:6px 9px}
.legal h2{font-size:21px;margin-top:34px;font-weight:650;font-stretch:104%}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:var(--ink-2);max-width:44em}
.legal p{margin-top:10px}
.legal ul{margin:10px 0 0;padding-left:20px}
.legal li{margin-bottom:6px}
.legal .tbc{background:var(--amber-pale);padding:0 4px;border-radius:2px;color:#5E3C0D}

/* ---------- figures: shared with Instruments in action ---------- */
svg text{font-family:var(--sans)}
.tg{font:500 11px var(--mono);letter-spacing:.12em;fill:var(--muted)}
.tg.ev{fill:var(--evid)}
.lbl{font:500 11px var(--mono);letter-spacing:.04em;fill:var(--ink-2)}
.lblb{font:600 14px var(--sans);fill:var(--ink)}
.subt{font:400 11px var(--mono);letter-spacing:.01em;fill:var(--muted)}
.bodys{font:400 12.5px var(--sans);fill:var(--ink-2)}
.nbr{font:500 12px var(--mono);fill:var(--gold-dk)}
.flt{font:500 10.5px var(--mono);letter-spacing:.03em;fill:var(--gold-dk)}
.flt.e{fill:var(--evid)}
.flt.u{fill:var(--navy)}
.flt.k{fill:var(--ink-2)}
.lossl{font:500 11px var(--mono);letter-spacing:.03em;fill:var(--terra)}
.fig.tall .tg{font-size:12px}
.fig.tall .lbl{font-size:12px}
.fig.tall .lblb{font-size:15.5px}
.fig.tall .subt,.fig.tall .flt,.fig.tall .lossl{font-size:12px}
.fig.tall .bodys{font-size:14px}
.halo{paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round}
.bxr{fill:var(--card);stroke:var(--ink);stroke-width:1.2}
.bx.soft .bxr{stroke:var(--rule)}
.bx.stew .bxr{stroke:var(--navy);stroke-width:1.8}
.bx.issuer .bxr{fill:var(--gold-pale);stroke:var(--gold-dk)}
.ringo{fill:none;stroke:var(--gold-dk);stroke-width:1.2;stroke-dasharray:5 3}
.bx.inv .bxr{stroke:var(--ink)}
.bx.ev .bxr{stroke:var(--evid);stroke-width:1.2}
.bx.hi .bxr{fill:var(--evid-pale)}
.bx.lay .bxr{stroke:var(--rule)}
.lay-s .bxr{fill:var(--navy-pale);stroke:#9DB7C4}
.lay-g .bxr{fill:var(--sky-pale);stroke:#9CCDE2}
.lay-f .bxr{fill:var(--gold-pale);stroke:#DCC28A}
.flb{fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.fl-m .flb{stroke:var(--gold)}
.fl-e .flb{stroke:var(--evid);stroke-width:1.6;stroke-dasharray:5 4}
.fl-u .flb{stroke:var(--navy);stroke-width:2;stroke-dasharray:1.5 4.5}
.fl-k .flb{stroke:var(--ink-2);stroke-width:1.3}
.flm{fill:none;stroke:var(--gold-dk);stroke-width:3.4;stroke-linecap:round;stroke-dasharray:.1 15;opacity:0;pointer-events:none}
.motion .fl-m.on .flm,.live .fl-m.on .flm{opacity:1;animation:flowdash 1.25s linear infinite}
@keyframes flowdash{to{stroke-dashoffset:-15.1}}
.flag-pole{stroke:var(--navy);stroke-width:1.8;stroke-linecap:round}
.flag-f{fill:var(--navy)}
.flag-b{fill:var(--navy)}
.land{fill:#EFE9D9}
.sea{fill:#DCEEF5}
.seaw{fill:none;stroke:#8EC4DA;stroke-width:1.1;stroke-linecap:round}
.coast{fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linejoin:round}
.cont{fill:none;stroke:var(--ink);stroke-opacity:.28;stroke-width:.9}
.river{fill:none;stroke:var(--sky);stroke-width:2.2;stroke-linecap:round}
.vframe{fill:none;stroke:var(--rule);stroke-width:1}
.loopr{fill:none;stroke:var(--navy);stroke-width:1.4;stroke-opacity:.55}
.loopn{fill:var(--card);stroke:var(--navy);stroke-width:2}
.spin{transform-box:view-box}
.motion .spin.on,.live .spin.on{animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.coin{fill:var(--gold);stroke:#FFFFFF;stroke-width:1.5}
.rowr{fill:var(--card);stroke:var(--rule);stroke-width:1}
.tick{fill:none;stroke:var(--navy);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.unit{fill:var(--card);stroke:var(--navy);stroke-width:1.1;transition:fill .4s ease}
.unit.on{fill:var(--navy)}
.cstep{fill:none;stroke:var(--gold-dk);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cell{fill:transparent;stroke:#B7C9D1;stroke-width:1;transition:fill .5s ease,stroke .5s ease}
.cell.p{fill:var(--evid-pale);stroke:var(--evid)}
.cell.x{fill:var(--terra-pale);stroke:var(--terra);stroke-width:1.8}
.panel{fill:var(--card);stroke:var(--rule);stroke-width:1}
.tile{fill:var(--navy-pale);stroke:var(--navy);stroke-width:1}
.tile.dry{fill:none;stroke:var(--muted);stroke-dasharray:3 2.5}
.mv{transition:transform 1.1s cubic-bezier(.45,.05,.25,1),opacity .5s ease}
.loss{fill:var(--terra);fill-opacity:.85}
.losshatch{fill:none;stroke:#FFFFFF;stroke-width:1;stroke-opacity:.6}
.pdot{fill:var(--navy);opacity:.8}
.fund{fill:var(--card);stroke:var(--ink-2);stroke-width:1}
.app{fill:none;stroke:var(--ink-2);stroke-width:.8;stroke-opacity:.55}
.perim{fill:none;stroke:var(--ink);stroke-width:1.2;stroke-dasharray:6 4}
.brk{fill:none;stroke:var(--ink-2);stroke-width:1.1}
.track{stroke:var(--evid);stroke-width:1.2;stroke-opacity:.45}
.sep{stroke:var(--rule);stroke-width:1}
.r{opacity:0;transition:opacity .45s ease}
.r.on{opacity:1}
.dr{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s cubic-bezier(.45,.05,.25,1)}
.dr.on{stroke-dashoffset:0}
.gg{transition:opacity .5s ease}
.gg.dim{opacity:.28}
.nomo,.nomo *{transition:none!important;animation:none!important}
.nomo .flm{display:none}
@media (prefers-reduced-motion: reduce){.flm{display:none}.spin.on{animation:none!important}}
.fig.dark{--ink:#F5F4EE;--ink-2:#C5D3D9;--muted:#93A9B2;--rule:#36535F;--rule-2:#2A4652;--card:#1A3541;--navy:#9CC9E3;--navy-pale:#21445A;--gold:#D9A93E;--gold-dk:#E7C27A;--gold-pale:#3A3A2A;--evid:#62B5B7;--evid-pale:#1F4A4E;--terra:#E08A66;--terra-pale:#4A3027}
.fig.dark .cell{stroke:#3E6170}
.fig.dark .cell.p{stroke:var(--evid);fill:var(--evid-pale)}
.fig.dark .cell.x{stroke:var(--terra);fill:var(--terra-pale)}
.fig.dark .halo{stroke:var(--card)}
.fig.dark .coin{stroke:#1A3541}
.sr-only{position:absolute;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.vg-ev{fill:none;stroke:var(--evid);stroke-width:1.6;stroke-dasharray:3 3;stroke-linecap:round}
.vg-evbox{fill:var(--evid-pale);stroke:var(--evid);stroke-width:1.4}
.vg-road{fill:none;stroke:var(--ink-2);stroke-width:1.1;stroke-dasharray:3 3}
.vg-ink{fill:var(--ink)}
.vg-goldp{fill:var(--gold-pale);stroke:var(--gold-dk);stroke-width:.8}
.vg-navyp{fill:var(--navy-pale);stroke:var(--navy);stroke-width:.8}
.vg-white{fill:#FFFFFF;stroke:var(--ink);stroke-width:.8}

/* header: stays at the top when scrolling, with the logo always visible; on pages with a chapter bar, the logo joins the chapter bar */
.site{position:sticky;top:0;z-index:45}
body:has(.chapbar) .site{position:relative}
.site-in{transition:min-height .25s ease}
.site .brand img{transition:height .25s ease}
.nav{transition:opacity .2s ease,visibility .2s ease}
.compact .site .site-in{min-height:58px}
.compact .site .brand img{height:28px}
@media (min-width: 1181px){.compact .site .nav{opacity:0;visibility:hidden;pointer-events:none}}
.chap-home{display:none;flex:none}
.chap-home img{display:block;height:26px;width:auto}
.compact .chap-home{display:block}
.compact .chap-title{display:none}
@media (prefers-reduced-motion: reduce){.site-in,.site .brand img,.nav{transition:none}}

.team .bio{color:var(--ink-2);font-size:15.5px;margin-top:4px}
.li{align-self:flex-start;margin-top:8px;font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-bottom:1.5px solid var(--rule);padding-bottom:2px}
.li:hover{border-bottom-color:var(--ink)}

/* team: biography pop-up */
.team .links,.adv .links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:8px}
.links:empty{display:none}
.links .li{margin-top:0}
.bio-open{appearance:none;background:none;border:0;border-bottom:1.5px solid var(--rule);padding:0 0 2px;cursor:pointer;color:var(--ink);font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.bio-open:hover{border-bottom-color:var(--ink)}
.bio-open:focus-visible,.biodlg button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.biodlg{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;border:0;padding:0;background:var(--card);color:var(--ink);box-shadow:0 24px 60px rgba(20,43,54,.28)}
.biodlg::backdrop{background:rgba(20,43,54,.55)}
.biodlg .in{padding:34px 36px 30px}
.biodlg .top{display:flex;gap:22px;align-items:center;margin-bottom:22px;padding-right:44px}
.biodlg img{width:96px;height:96px;border-radius:50%;object-fit:cover;filter:grayscale(1) contrast(1.04);flex:none}
.biodlg h2{font-size:24px;line-height:1.2;margin:0 0 6px}
.biodlg .biorole{font:500 11.5px/1.45 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.biodlg p{font-size:16.5px;line-height:1.62;color:var(--ink-2);margin:0 0 14px}
.biodlg .li{display:inline-block;margin-top:8px}
.biodlg .x{position:absolute;top:18px;right:18px;width:40px;height:40px;border:1px solid var(--rule);background:var(--card);cursor:pointer;font:400 22px/1 var(--sans);color:var(--ink)}
.biodlg .x:hover{border-color:var(--ink)}
@media (max-width:560px){.biodlg .in{padding:26px 20px 22px}.biodlg .top{flex-direction:column;align-items:flex-start;gap:14px}.biodlg img{width:80px;height:80px}}
@media (prefers-reduced-motion:no-preference){.biodlg[open]{animation:bioin .22s ease-out}@keyframes bioin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}

.adv .bio{color:var(--ink-2);font-size:14.5px;line-height:1.5;margin-top:4px}
