:root{
  --black:#000;
  --white:#fff;
  --grey:#6a6a6a;
  --grey-light:#a3a3a3;
  --rule:#e4e4e4;
  --paper:#f5f5f4;
  --red:#e30613;
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --max:1200px;
  --pad:24px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--font);color:var(--black);background:var(--white);font-size:17px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:3px}
p{margin:0 0 1em}
h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em;line-height:1.05}
h1{font-size:clamp(2.4rem,7vw,5.4rem)}
h2{font-size:clamp(1.9rem,4.6vw,3.4rem)}
h3{font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.15}
h4{font-size:1.05rem;line-height:1.3}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.section{padding:88px 0;border-top:1px solid var(--rule)}
.section.tight{padding:56px 0}
.section.dark{background:var(--black);color:var(--white);border-top:0}
.section.dark .grey{color:var(--grey-light)}
.section.paper{background:var(--paper)}
.grey{color:var(--grey)}
.lead{font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.4;max-width:34em;letter-spacing:-.01em}
.kicker{font-size:.95rem;color:var(--red);font-weight:700;margin-bottom:20px}
.dark .kicker{color:var(--red)}
.intro{max-width:40em}
.measure{max-width:38em}
.red{color:var(--red)}
.crossed{color:var(--grey-light);text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:.07em}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-weight:700;letter-spacing:-.02em;font-size:1.15rem;white-space:nowrap}
.brand span{color:var(--red)}
.nav{display:none;gap:28px;align-items:center}
.nav a{font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--black)}
.nav .btn{margin-left:8px}
.nav .lang{color:var(--grey);font-weight:700;border-bottom:2px solid transparent}
.nav .lang:hover{color:var(--black);border-bottom-color:transparent}
.menu-btn{background:none;border:1px solid var(--black);width:44px;height:44px;display:grid;place-items:center;cursor:pointer;padding:0}
.menu-btn span{display:block;width:20px;height:2px;background:var(--black);position:relative}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--black)}
.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
.mobile-nav{display:none;border-top:1px solid var(--rule);background:var(--white)}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:16px var(--pad);border-bottom:1px solid var(--rule);font-size:1.15rem;font-weight:700;letter-spacing:-.01em}
.mobile-nav a.cta{background:var(--black);color:var(--white)}
@media (min-width:900px){.nav{display:flex}.menu-btn{display:none}.mobile-nav{display:none!important}}

/* buttons */
.btn{display:inline-block;background:var(--black);color:var(--white)!important;padding:14px 24px;font-weight:700;font-size:1rem;border:1px solid var(--black);cursor:pointer;font-family:inherit;line-height:1.2;transition:background .15s,color .15s}
.btn:hover{background:var(--red);border-color:var(--red)}
.btn.ghost{background:transparent;color:var(--black)!important}
.btn.ghost:hover{background:var(--black);color:var(--white)!important;border-color:var(--black)}
.dark .btn{background:var(--white);color:var(--black)!important;border-color:var(--white)}
.dark .btn:hover{background:var(--red);color:var(--white)!important;border-color:var(--red)}
.dark .btn.ghost{background:transparent;color:var(--white)!important}
.dark .btn.ghost:hover{background:var(--white);color:var(--black)!important}
.link{font-weight:700;border-bottom:2px solid var(--black);padding-bottom:2px}
.link:hover{border-bottom-color:var(--red)}
.dark .link{border-bottom-color:var(--white)}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

/* hero */
.hero{padding:96px 0 80px}
.hero h1{max-width:12em}
.hero .lead{margin-top:28px}
.hero .cta-row{margin-top:40px}
.hero-grid{display:grid;gap:48px}
@media (min-width:900px){.hero{padding:140px 0 110px}.hero-grid{grid-template-columns:7fr 5fr;align-items:end}}
.reveal{opacity:0;transform:translateY(14px);animation:rise .7s ease forwards}
.reveal.d1{animation-delay:.12s}.reveal.d2{animation-delay:.24s}.reveal.d3{animation-delay:.36s}
@keyframes rise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;animation:none}}

/* leadership layers motif */
.layers{display:grid;gap:14px}
.layer{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--rule)}
.dark .layer{border-top-color:#333}
.layer:last-child{border-bottom:1px solid var(--rule)}
.dark .layer:last-child{border-bottom-color:#333}
.layer .name{font-weight:700;letter-spacing:-.01em}
.layer .sub{font-size:.9rem;color:var(--grey)}
.layer .sub b{display:block;color:var(--black);font-weight:700}
.dark .layer .sub b{color:var(--white)}
.dark .layer .sub{color:var(--grey-light)}
.blocks{display:flex;gap:5px}
.blocks i{display:block;width:16px;height:16px;background:var(--black)}
.dark .blocks i{background:var(--white)}
.blocks i.on{background:var(--red)}

/* grids */
.grid{display:grid;gap:1px;background:var(--rule)}
.grid > *{background:var(--white);padding:32px 28px}
.paper .grid > *{background:var(--paper)}
.dark .grid{background:#333}
.dark .grid > *{background:var(--black)}
.g2{grid-template-columns:1fr}
.g3{grid-template-columns:1fr}
.g4{grid-template-columns:1fr}
@media (min-width:700px){.g2,.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.card h3{margin-bottom:12px}
.card p{color:var(--grey);margin:0}
.dark .card p{color:var(--grey-light)}
.card .link{display:inline-block;margin-top:18px;font-size:.95rem}
a.card{transition:background .15s}
a.card:hover{background:var(--paper)}
.dark a.card:hover{background:#151515}
.card .q{font-weight:700;color:var(--black);margin-top:10px;line-height:1.3;letter-spacing:-.01em}
.dark .card .q{color:var(--white)}

/* situations */
.situations .card{min-height:200px;display:flex;flex-direction:column}
.situations .card p{flex:1}

/* two-col */
.two{display:grid;gap:40px}
@media (min-width:900px){.two{grid-template-columns:5fr 7fr;gap:64px}.two.rev{grid-template-columns:7fr 5fr}}
.sticky{position:sticky;top:96px}

/* list w/ rules */
.rulelist{list-style:none;margin:0;padding:0}
.rulelist li{padding:18px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:1fr;gap:6px}
.rulelist li:last-child{border-bottom:1px solid var(--rule)}
.rulelist li strong{letter-spacing:-.01em}
.rulelist li span{color:var(--grey)}
@media (min-width:700px){.rulelist li{grid-template-columns:2fr 3fr;gap:24px}}
.dark .rulelist li{border-color:#333}
.dark .rulelist li span{color:var(--grey-light)}

/* timeline */
.timeline{display:grid;gap:0;counter-reset:step}
.step{padding:24px 0 24px 0;border-top:1px solid var(--rule);position:relative}
.step .n{font-size:.9rem;color:var(--red);font-weight:700;margin-bottom:10px}
.step h4{margin-bottom:8px}
.step p{color:var(--grey);margin:0;font-size:.98rem}
@media (min-width:900px){
  .timeline{grid-template-columns:repeat(5,1fr);gap:24px}
  .step{border-top:2px solid var(--black);padding-top:20px}
}
.dark .step{border-top-color:#333}
.dark .step p{color:var(--grey-light)}
@media (min-width:900px){.dark .step{border-top-color:var(--white)}}

/* team composition */
.team-comp{display:grid;gap:24px}
@media (min-width:900px){.team-comp{grid-template-columns:1fr 1fr}}
.comp{border:1px solid var(--rule);padding:28px}
.dark .comp{border-color:#333}
.comp .row{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.tag{border:1px solid var(--black);padding:8px 12px;font-weight:700;font-size:.95rem;letter-spacing:-.01em}
.tag.core{background:var(--black);color:var(--white)}
.dark .tag{border-color:var(--white)}
.dark .tag.core{background:var(--white);color:var(--black)}
.tag.opt{color:var(--grey);border-color:var(--grey-light)}
.dark .tag.opt{color:var(--grey-light);border-color:#555}

/* bench diagram */
.bench{display:grid;justify-items:center;gap:0;margin:8px 0 0}
.bench .node{border:1px solid var(--black);padding:14px 20px;font-weight:700;letter-spacing:-.01em;text-align:center;min-width:220px}
.bench .node.fill{background:var(--black);color:var(--white)}
.bench .node.red{background:var(--red);border-color:var(--red);color:var(--white)}
.bench .line{width:1px;height:32px;background:var(--black)}
.bench .fan{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;width:100%}
@media (min-width:700px){.bench .fan{grid-template-columns:repeat(4,1fr)}}
.bench .fan .node{min-width:0;font-weight:400;color:var(--grey)}
.bench .fan .node b{display:block;color:var(--black)}

/* team page */
.person{display:grid;gap:24px;padding:40px 0;border-top:1px solid var(--rule)}
@media (min-width:800px){.person{grid-template-columns:4fr 8fr;gap:48px}}
.portrait{aspect-ratio:4/5;background:var(--paper);display:grid;place-items:center;color:var(--grey);font-size:.9rem;overflow:hidden}
.portrait img{width:100%;height:100%;object-fit:cover}
.person .role{color:var(--red);font-weight:700;margin:6px 0 18px}
.person ul{padding-left:1.1em;margin:14px 0}
.person li{margin-bottom:6px}
.built{margin-top:22px}
.built h4{margin-bottom:8px}
.skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.skills span{border:1px solid var(--rule);padding:6px 10px;font-size:.88rem;color:var(--grey)}

/* faq / cases */
details{border-top:1px solid var(--rule)}
details:last-of-type{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;padding:20px 0;font-weight:700;font-size:1.1rem;letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;gap:20px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--red);font-weight:400;flex-shrink:0}
details[open] summary::after{content:"\2013"}
details .body{padding:0 0 22px;color:var(--grey);max-width:40em}
.case-skel{display:grid;gap:1px;background:var(--rule)}
.case-skel > div{background:var(--white);padding:24px 24px}
.case-skel h4{margin-bottom:6px}
.case-skel p{color:var(--grey);margin:0;font-size:.98rem}
@media (min-width:900px){.case-skel{grid-template-columns:repeat(5,1fr)}}

/* form */
.convo{max-width:720px}
.field{margin-bottom:28px}
.field label,.field legend{display:block;font-weight:700;margin-bottom:12px;letter-spacing:-.01em;padding:0}
.field fieldset{border:0;padding:0;margin:0}
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choices label{display:inline-block;margin:0;font-weight:400}
.choices input{position:absolute;opacity:0;width:0;height:0}
.choices span{display:inline-block;border:1px solid var(--black);padding:10px 16px;cursor:pointer;transition:background .12s,color .12s}
.choices input:checked + span{background:var(--black);color:var(--white)}
.choices input:focus-visible + span{outline:2px solid var(--red);outline-offset:2px}
input[type=text],input[type=email],textarea{width:100%;font:inherit;padding:14px 16px;border:1px solid var(--black);background:var(--white);color:var(--black);border-radius:0;-webkit-appearance:none}
textarea{min-height:150px;resize:vertical}
.field.half{display:grid;gap:16px}
@media (min-width:700px){.field.half{grid-template-columns:1fr 1fr 1fr}}
.field.half > div label{margin-bottom:8px}
.form-note{color:var(--grey);font-size:.92rem;margin-top:16px}
.hp{position:absolute;left:-9999px}
.success{border:1px solid var(--black);padding:32px;display:none}
.success.show{display:block}

/* proof */
.proof{display:grid;gap:1px;background:#333}
.proof > div{background:var(--black);padding:30px 24px}
.proof b{display:block;font-size:clamp(2.3rem,4.4vw,3.4rem);letter-spacing:-.03em;line-height:1;margin-bottom:12px;font-weight:700}
.proof b em{font-style:normal;color:var(--red)}
.proof span{color:var(--grey-light);font-size:.95rem;line-height:1.4;display:block;max-width:22em}
@media (min-width:700px){.proof{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.proof{grid-template-columns:repeat(3,1fr)}}
.proof-kicker{font-size:.95rem;color:var(--red);font-weight:700;margin-bottom:24px}

/* diagnostic entry */
.diag-entry{display:grid;gap:16px;align-items:center;border:1px solid var(--black);padding:28px;margin-top:24px;background:var(--white);transition:background .15s}
.diag-entry:hover{background:var(--paper)}
.diag-entry h3{margin-bottom:6px}
.diag-entry p{margin:0;color:var(--grey)}
@media (min-width:900px){.diag-entry{grid-template-columns:1fr auto}}

/* cluster cards (investors) */
.cluster{list-style:none;padding:0;margin:20px 0 0}
.cluster li{padding:10px 0;border-top:1px solid var(--rule);font-weight:700;letter-spacing:-.01em}
.cluster li span{display:block;font-weight:400;color:var(--grey);font-size:.95rem;margin-top:2px}
.cluster li:last-child{border-bottom:1px solid var(--rule)}

/* stats strip */
.strip{display:grid;gap:1px;background:var(--rule)}
.strip > div{background:var(--white);padding:24px 20px}
.strip b{display:block;font-size:1.8rem;letter-spacing:-.02em;line-height:1.05;margin-bottom:6px}
.strip span{color:var(--grey);font-size:.95rem}
@media (min-width:700px){.strip{grid-template-columns:repeat(4,1fr)}}

/* footer */
.site-footer{border-top:1px solid var(--rule);padding:56px 0 40px;font-size:.95rem;color:var(--grey)}
.site-footer .cols{display:grid;gap:32px}
@media (min-width:800px){.site-footer .cols{grid-template-columns:2fr 1fr 1fr 1fr}}
.site-footer h4{color:var(--black);margin-bottom:12px}
.site-footer a{display:block;padding:3px 0}
.site-footer a:hover{color:var(--black)}
.site-footer .legal{margin-top:40px;padding-top:20px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
.legal-page{max-width:44em}
.legal-page h2{font-size:1.5rem;margin:40px 0 12px}
.legal-page p,.legal-page li{color:#333}

/* misc */
.big-quote{font-size:clamp(1.5rem,3.4vw,2.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;max-width:22em}
.big-quote .red{color:var(--red)}
.testimonial{max-width:46em;margin:0;padding-left:24px;border-left:3px solid var(--red)}
.testimonial p{font-size:1.2rem;line-height:1.55;font-weight:500;letter-spacing:-.01em;margin:0}
.testimonial-attr{display:flex;align-items:center;gap:16px;margin-top:24px}
.testimonial-attr img{width:64px;height:64px;object-fit:cover;filter:grayscale(1);flex:none}
.testimonial cite{font-style:normal;font-weight:700}
.testimonial cite span{display:block;font-weight:400;color:var(--grey);font-size:.95rem;margin-top:2px}
.story{max-width:30em}
.story p{margin:0 0 .6em;font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.3;letter-spacing:-.01em}
.story p.beat{color:var(--grey-light);margin-left:1.4em}
.story p.strong{font-weight:700;margin-top:1.2em}
.story p.strong .red{color:var(--red)}
.mini{font-size:.95rem;color:var(--grey)}
.split{display:grid;gap:32px}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px}}
.numbered{list-style:none;padding:0;margin:0;counter-reset:n}
.numbered li{counter-increment:n;padding:14px 0 14px 44px;border-top:1px solid var(--rule);position:relative}
.numbered li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:14px;color:var(--red);font-weight:700;font-size:.9rem}
.numbered li:last-child{border-bottom:1px solid var(--rule)}
.compact-list{list-style:none;padding:0;margin:0;columns:1;column-gap:32px}
@media (min-width:700px){.compact-list{columns:2}}
.compact-list li{padding:10px 0;border-top:1px solid var(--rule);break-inside:avoid}
.compact-list li strong{display:block}
.compact-list li span{color:var(--grey);font-size:.95rem}

/* references */
.logo-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
@media (min-width:700px){.logo-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.logo-grid{grid-template-columns:repeat(5,1fr)}}
.logo{height:120px;display:grid;place-items:center;padding:22px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .15s}
.logo:hover{background:var(--white)}
.logo img{max-height:44px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.85}
.logo:hover img{opacity:1}
.logo .wordmark{font-weight:700;letter-spacing:-.02em;font-size:1.15rem;color:#333;text-align:center}
/* article */
.article{max-width:44em}
.article p{font-size:1.08rem;line-height:1.6}
.article h2{font-size:clamp(1.35rem,2.4vw,1.8rem);margin:44px 0 12px}
.article ul{padding-left:1.2em;margin:0 0 1em}
.article li{margin-bottom:8px;line-height:1.55}

/* how we help: situation / contribution / outcome */
.help-head{display:none}
.help{list-style:none;margin:0;padding:0}
.help li{display:grid;gap:10px;padding:24px 0;border-top:1px solid var(--rule)}
.help li:last-child{border-bottom:1px solid var(--rule)}
.help .sit{font-weight:700;letter-spacing:-.01em;line-height:1.3}
.help .do,.help .out{color:var(--grey);font-size:.98rem;margin:0}
.help .lbl{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--red);font-weight:700;margin-bottom:4px}
@media (min-width:900px){
  .help-head{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--red);font-weight:700;padding-bottom:12px}
  .help li{grid-template-columns:1fr 1fr 1fr;gap:32px}
  .help .lbl{display:none}
}

/* formats */
.formats .card h3{margin-bottom:8px}
.formats .card .who{font-size:.85rem;color:var(--red);font-weight:700;margin-bottom:12px}

/* team cards on the home page */
.tcard .portrait{aspect-ratio:1/1;margin-bottom:20px}
.tcard .portrait img{object-position:top}
.tcard .role{color:var(--red);font-weight:700;margin:4px 0 12px;font-size:.95rem}
.tcard p{color:var(--grey);margin:0}
.tcard .link{display:inline-block;margin-top:16px;font-size:.95rem}

/* principles */
.principles{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--rule)}
.principles li{background:var(--white);padding:28px}
.paper .principles li{background:var(--paper)}
.principles strong{display:block;margin-bottom:8px;letter-spacing:-.01em;font-size:1.1rem}
.principles span{color:var(--grey);font-size:.98rem}
@media (min-width:800px){.principles{grid-template-columns:repeat(3,1fr)}}
.logo-grid.six{grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.logo-grid.six{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.logo-grid.six{grid-template-columns:repeat(6,1fr)}}
.logo-grid.four{grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.logo-grid.four{grid-template-columns:repeat(4,1fr)}}
.logo-grid.seven{grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.logo-grid.seven{grid-template-columns:repeat(4,1fr)}}
.logo-grid.eight{grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.logo-grid.eight{grid-template-columns:repeat(4,1fr)}}
.logo-grid.twelve{grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){.logo-grid.twelve{grid-template-columns:repeat(4,1fr)}}
