/* Mode VC Investor Atlas v3. Black ground, one face (Geist), one accent (Mode green) on actions and live signals only.
   Surfaces are separated by tone steps, not lines. Interface fragments ([data-ui]) keep their own control borders. */
:root{
  color-scheme: dark;
  --bg:#0a0a0a; --bg2:#141414; --bg3:#1d1d1d; --bg4:#282828;
  --line:#2a2a2a; --line2:#3a3a3a;
  --ink:#e8e7e3; --ink2:#b3b2ad; --ink3:#86857f;
  --hi:#2fb37c; --hi-ink:#03110a; --hi-soft:rgba(47,179,124,.12);
  --base:#4a4a47; --warn:#f2b45a;
  --float:0 16px 40px rgba(0,0,0,.55);
  --sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:12px;
}
:root[data-theme="light"]{
  color-scheme: light;
  --bg:#fafaf9; --bg2:#f0f0ee; --bg3:#e6e6e3; --bg4:#d9d9d5;
  --line:#d9d9d5; --line2:#c6c6c1;
  --ink:#111110; --ink2:#3d3d3a; --ink3:#666661;
  --hi:#0b7a52; --hi-ink:#ffffff; --hi-soft:rgba(11,122,82,.10);
  --base:#c2c2bc; --warn:#9a5a08;
  --float:0 14px 36px rgba(0,0,0,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:clamp(1rem,.97rem + .2vw,1.125rem);line-height:1.5;letter-spacing:-.005em;font-variant-numeric:tabular-nums;transition:background .25s,color .25s}
a{color:inherit}
img{max-width:100%}
h1,h2,h3{font-weight:600;letter-spacing:-.035em;line-height:1;margin:0;text-wrap:balance}
p{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(16px,2.4vw,32px)}
.num{font-variant-numeric:tabular-nums}
.muted{color:var(--ink2)}
.faint{color:var(--ink3)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--hi);outline-offset:2px}

/* nav: a plain bar */
.nav{position:sticky;top:0;z-index:30;background:var(--bg)}
.nav .wrap{display:flex;align-items:center;gap:24px;height:64px}
.brand{font-weight:600;font-size:17px;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.nav nav{display:flex;gap:22px;margin-left:auto;font-size:15px}
.nav nav a{text-decoration:none;color:var(--ink2);transition:color .15s}
.nav nav a.on,.nav nav a:hover{color:var(--ink)}
.theme{border:0;background:var(--bg3);color:var(--ink);border-radius:99px;height:34px;padding:0 14px;font:inherit;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:background .15s,transform .15s}
.theme:hover{background:var(--bg4)}.theme:active{transform:scale(.96)}
.theme svg{width:15px;height:15px}
@media (max-width:640px){.nav nav a:not(.on):not(.keep){display:none}.nav .wrap{gap:14px}}

/* buttons, pills */
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--hi);color:var(--hi-ink);border:0;border-radius:99px;padding:12px 20px;font:inherit;font-size:16px;font-weight:500;text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .15s,filter .15s}
.btn:hover{filter:brightness(1.08)}.btn:active{transform:scale(.97)}
.btn.ghost{background:var(--bg3);color:var(--ink)}
.btn.ghost:hover{background:var(--bg4);filter:none}
.btn.sm{padding:8px 14px;font-size:14px}
.btn svg{width:16px;height:16px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:3px 10px;border-radius:99px;background:var(--bg3);color:var(--ink2);white-space:nowrap}
.pill.on{background:var(--hi-soft);color:var(--hi)}
.pill.dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--hi)}
.pill.warn{color:var(--warn)}

/* hub counters */
.counters{grid-column:1/-1;display:flex;gap:clamp(20px,4vw,64px);flex-wrap:wrap;padding-top:8px}
.counters div{display:grid;gap:2px}
.counters b{font-size:clamp(30px,3vw,46px);font-weight:600;letter-spacing:-.04em;line-height:1;color:var(--ink2)}
.counters b.hi{color:var(--hi);opacity:.9}
.counters span{font-size:14px;color:var(--ink2)}
/* faces */
.face{aspect-ratio:1;border-radius:10px;background:var(--bg3);display:grid;place-items:center;overflow:hidden;font-weight:600;color:var(--ink2);flex:none;position:relative}
.face img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.15)}
.face.mono{font-size:clamp(18px,2vw,30px);letter-spacing:-.02em}
.faces{display:inline-flex;align-items:center}
.faces .face{width:28px;border-radius:50%;font-size:10.5px;letter-spacing:0;margin-left:-5px;box-shadow:0 0 0 2px var(--bg)}
.faces .face:first-child{margin-left:0}

/* sentence builder: the live thing */
.builder{background:var(--bg2)}
.builder .wrap{padding-block:clamp(28px,4vw,48px)}
.sentence{font-size:clamp(24px,3vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.45}
.sentence select,.sentence .amt{font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--hi);padding:0 2px;cursor:pointer;max-width:100%;appearance:none;-webkit-appearance:none;border-radius:0;transition:color .15s}
.sentence select:hover,.sentence .amt:hover{color:var(--hi)}
.sentence select option{background:var(--bg2);color:var(--ink);font-size:16px}
.sentence .amt{width:5.2ch;text-align:center}
.amt-range{display:flex;align-items:center;gap:16px;margin-top:18px;flex-wrap:wrap}
.amt-range input[type=range]{width:min(440px,100%);accent-color:var(--hi)}
.amt-range .faint{font-size:14px}

/* results band */
.results{padding-block:clamp(32px,4vw,56px) 8px}
.resbar{display:flex;flex-wrap:wrap;gap:12px 44px;align-items:baseline}
.resbar b{font-size:clamp(36px,4vw,56px);font-weight:600;letter-spacing:-.045em;margin-right:8px}
.resbar b.hi{color:var(--hi)}
.resbar span{color:var(--ink2)}
.legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--ink2);margin-top:14px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.field{margin-top:14px;min-height:120px}
.field svg{display:block;width:100%;height:auto;overflow:visible}
.field text,.chart text{font-family:var(--sans);font-size:13px;fill:var(--ink3)}
.field circle{cursor:pointer}

/* directory: a real interface fragment */
.dir{padding-block:24px 64px}
.controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:14px 0;position:sticky;top:64px;background:var(--bg);z-index:10}
.controls select,.controls input[type=search]{font:inherit;font-size:14px;background:var(--bg2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 10px;max-width:100%;transition:border-color .15s}
.controls select:hover,.controls input[type=search]:hover{border-color:var(--line2)}
.controls input[type=search]{width:260px}
.controls .spacer{flex:1}
.chip{font:inherit;font-size:14px;border:1px solid var(--line);background:var(--bg2);color:var(--ink2);border-radius:99px;padding:7px 13px;cursor:pointer;transition:background .15s,color .15s,transform .15s}
.chip:hover{color:var(--ink)}.chip:active{transform:scale(.96)}
.chip[aria-pressed="true"]{border-color:transparent;background:var(--hi);color:var(--hi-ink)}
.rows{display:grid;gap:2px}
.firm{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:start;padding:16px 14px;border-radius:var(--r);text-decoration:none;transition:background .15s;cursor:pointer;animation:rise .45s both}
.firm:hover{background:var(--bg2)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
.logo{width:48px;height:48px;border-radius:11px;background:var(--bg3);display:grid;place-items:center;overflow:hidden;font-size:20px;font-weight:600;color:var(--ink2);flex:none;position:relative}
.logo img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
.logo.has-img{color:transparent;background:#e4e3df}
:root:not([data-theme="light"]) .logo img{filter:brightness(.9)}
.logo.sig::after{content:"";position:absolute;right:3px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--hi);box-shadow:0 0 0 2px var(--bg)}
.firm .nm{font-weight:600;font-size:18px;letter-spacing:-.02em;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.firm .nm a{text-decoration:none}
.firm .meta{font-size:14px;color:var(--ink2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.firm .ppl{display:flex;gap:10px;align-items:center;margin-top:8px;font-size:14px;color:var(--ink)}
.firm .ppl small{color:var(--ink3);font-size:13px}
.firm .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.firm .side{display:grid;justify-items:end;gap:4px;text-align:right;padding-top:2px}
.firm .chk{font-size:15px;font-weight:500;color:var(--ink)}
.icons{display:flex;gap:6px}
.icons a{width:32px;height:32px;border-radius:8px;background:var(--bg3);display:grid;place-items:center;color:var(--ink2);transition:color .15s,background .15s}
.icons a:hover{color:var(--hi-ink);background:var(--hi)}
.icons svg{width:15px;height:15px}
.more{margin:24px auto 0;display:flex;justify-content:center}
.empty{padding:40px 0;color:var(--ink2)}
@media (max-width:640px){.firm{grid-template-columns:44px minmax(0,1fr);padding:14px 6px}.firm .side{grid-column:2;justify-items:start;text-align:left}.controls{position:static}.controls input[type=search]{width:100%}}

/* signup tile */
.signup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;background:var(--bg2);border-radius:var(--r);padding:clamp(20px,2.4vw,32px);margin:20px 0}
.signup h3{font-size:clamp(22px,2vw,28px)}
.signup form{display:flex;gap:6px;flex-wrap:wrap;background:var(--bg);border-radius:99px;padding:5px}
.signup input{background:transparent;border:0;color:var(--ink);font:inherit;padding:8px 14px;width:240px;max-width:100%}
.signup input:focus{outline:none}
.signup form:focus-within{outline:2px solid var(--hi);outline-offset:2px}
@media (max-width:760px){.signup{grid-template-columns:1fr}.signup form{border-radius:14px}.signup input{width:100%}}

/* page header (list + firm) */
.crumb{font-size:14px;color:var(--ink3);display:flex;gap:8px;flex-wrap:wrap}
.crumb a{text-decoration:none;color:var(--ink2)}
.crumb a:hover{color:var(--ink)}
.phead{padding-block:clamp(32px,4vw,56px) 28px;display:grid;gap:18px}
.phead h1{font-size:clamp(36px,5vw,68px);letter-spacing:-.045em;line-height:.98}
.claim{font-size:clamp(20px,2vw,26px);line-height:1.35;color:var(--ink2);max-width:48ch;letter-spacing:-.02em}
.claim b{color:var(--ink);font-weight:600}
.share{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

/* firm page */
.fhero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:start}
.fhero .logo{width:104px;height:104px;border-radius:24px;font-size:42px}
.fhero .logo.sig::after{width:16px;height:16px;right:8px;top:8px;box-shadow:0 0 0 3px var(--bg)}
.thesis{font-size:clamp(18px,1.4vw,21px);color:var(--ink);max-width:62ch}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:28px}
.stat{background:var(--bg2);border-radius:var(--r);padding:18px;display:grid;gap:6px;align-content:start;min-width:0}
.stat small{font-size:13px;color:var(--ink3)}
.stat b{font-size:clamp(19px,1.6vw,24px);font-weight:600;letter-spacing:-.03em;line-height:1.15}
.stat span{font-size:13px;color:var(--ink3)}
@media (max-width:900px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fhero{grid-template-columns:1fr}.fhero .logo{width:80px;height:80px;border-radius:18px}}

/* partners */
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:8px}
.person{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--bg2);border-radius:var(--r);padding:12px 14px 12px 12px;min-width:0;transition:background .15s;animation:rise .5s both}
.person:hover{background:var(--bg3)}
.person .face{width:76px}
.person .who b{display:block;font-size:17px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.person .who span{display:block;font-size:14px;color:var(--ink2);margin-top:3px}
.person.lead .who b::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--hi);margin-left:8px;vertical-align:2px}
.team-note{font-size:13px;color:var(--ink3)}
.reach{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:15px}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.grid2>*{min-width:0}
@media (max-width:860px){.grid2{grid-template-columns:1fr}}
.plate{background:var(--bg2);border-radius:var(--r);padding:clamp(18px,2vw,28px);display:grid;gap:12px;align-content:start;min-width:0}
.plate h2{font-size:clamp(20px,1.7vw,24px);letter-spacing:-.025em;line-height:1.25;font-weight:500}
.plate h2 b{font-weight:600}
.plate .src{font-size:13px;color:var(--ink3)}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{border-radius:99px;padding:6px 13px;font-size:15px;background:var(--bg2)}
.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:8px}
.facts div{background:var(--bg2);border-radius:var(--r);padding:16px 18px;display:grid;gap:4px}
.facts small{font-size:13px;color:var(--ink3)}
.sim{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sim a{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center;border-radius:var(--r);padding:14px;text-decoration:none;background:var(--bg2);min-width:0;transition:background .15s}
.sim a:hover{background:var(--bg3)}
.sim .logo{width:44px;height:44px;border-radius:10px;font-size:17px}
.sim b{font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sim span{font-size:13px;color:var(--ink3)}
@media (max-width:860px){.sim{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.sim{grid-template-columns:1fr}}

/* the action tile, cropped from a longer row */
.cta{display:grid;grid-template-columns:minmax(40px,1fr) minmax(0,8fr) minmax(40px,1fr);gap:10px;margin:clamp(40px,6vw,96px) calc(-1 * clamp(16px,2.4vw,32px)) 0;min-height:340px}
.cta>.side{border-radius:0 var(--r) var(--r) 0;background:var(--bg3);overflow:hidden}
.cta>.side:last-child{border-radius:var(--r) 0 0 var(--r)}
.cta>.side img{width:100%;height:100%;object-fit:cover;display:block}
.cta>.tile{background:var(--bg2);color:var(--ink);border-radius:var(--r);padding:clamp(24px,3.4vw,44px);display:grid;gap:14px;align-content:center;justify-items:start}
.cta h2{font-size:clamp(28px,3vw,44px);letter-spacing:-.04em;max-width:18ch}
.cta p{font-size:17px;max-width:52ch}
.cta p{color:var(--ink2)}
.cta>.side img{filter:brightness(.7) saturate(.85)}
@media (max-width:760px){.cta{grid-template-columns:1fr 1fr;min-height:0;margin-inline:0}.cta>.tile{grid-column:1/-1;grid-row:1}.cta>.side{height:120px;border-radius:var(--r)!important}}

/* sections */
.sec{padding-block:clamp(64px,8vw,128px) 0;display:grid;gap:22px}
.sec>h2{font-size:clamp(28px,3.4vw,48px);letter-spacing:-.04em}
.sec>p.muted{max-width:60ch;margin-top:-8px}
.lists{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:6px}
.lists a{border-radius:10px;padding:13px 16px;text-decoration:none;display:flex;justify-content:space-between;gap:10px;background:var(--bg2);font-size:15px;transition:background .15s}
.lists a:hover{background:var(--bg3)}
.lists a span{color:var(--ink3);font-size:14px}
.faqwrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,3vw,48px);align-items:start}
.faqwrap>h2{position:sticky;top:96px;font-size:clamp(28px,3.4vw,48px);letter-spacing:-.04em}
.faq{display:grid;gap:8px}
.faq details{border-radius:var(--r);background:var(--bg2);transition:background .2s,color .2s}
.faq summary{cursor:pointer;font-size:clamp(17px,1.3vw,20px);font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px 24px;min-height:72px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;font-weight:400;line-height:1;transition:transform .2s}
.faq details[open]{background:var(--bg3)}
.faq details[open] summary::after{color:var(--hi)}
.faq details[open] p{color:var(--ink2)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 24px 22px;max-width:52ch;font-size:17px}
@media (max-width:760px){.faqwrap{grid-template-columns:1fr}.faqwrap>h2{position:static}}
footer.site{margin-top:30svh;padding-block:0 30px;font-size:14px;color:var(--ink3)}
footer.site .wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:12px 24px;align-items:baseline}
footer.site .links{display:flex;gap:24px}
footer.site .links a{color:var(--ink);text-decoration:none}
footer.site .r{text-align:right}
footer.site .note{grid-column:1/-1;max-width:72ch}
@media (max-width:760px){footer.site{margin-top:20svh}footer.site .wrap{grid-template-columns:1fr}footer.site .r{text-align:left}}
.tip{position:fixed;pointer-events:none;background:var(--bg3);color:var(--ink);font-size:14px;padding:9px 12px;border-radius:8px;max-width:290px;z-index:50;line-height:1.45;box-shadow:var(--float)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:99px;font-size:14px;z-index:60;box-shadow:var(--float)}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

/* hub hero: copy left, people photo right */
.hero2 .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,64px);align-items:center;padding-block:clamp(32px,5vw,72px) clamp(24px,3vw,40px)}
.hero2 .copy{display:grid;gap:22px;align-content:center}
.hero2 h1{color:var(--ink);font-size:clamp(44px,5.4vw,84px);letter-spacing:-.05em;line-height:.95;max-width:11ch}
.hero2 .support{font-size:clamp(17px,1.3vw,20px);max-width:44ch;color:var(--ink2)}
.hero2 .act{display:flex;gap:10px;flex-wrap:wrap}
.hero2 .counters{padding-top:6px}
.photo{margin:0;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--bg2)}
.photo img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.72) saturate(.85);animation:drift 18s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.08) translate(-2%,-1%)}}
.photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:14px}
@media (max-width:900px){.hero2 .wrap{grid-template-columns:1fr}.hero2 h1{max-width:none}}
.movers{padding-block:8px clamp(32px,4vw,56px);display:grid;gap:16px}
.movers h2{font-size:clamp(22px,2vw,28px);letter-spacing:-.03em}
.mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.mcard{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center;background:var(--bg2);border-radius:var(--r);padding:10px;text-decoration:none;transition:background .15s}
.mcard:hover{background:var(--bg3)}
.mcard .face{width:64px}
.mcard .who{display:grid;gap:2px;min-width:0}
.mcard .who b{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard .who span{font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mcard .who .firmline{color:var(--ink3)}
@media (max-width:860px){.mgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.mgrid{grid-template-columns:1fr}}

/* motion: page-to-page fade, anchor targets clear the sticky bar and glow once */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.2,.7,.2,1)}
[id]{scroll-margin-top:76px}
.flash{animation:flash 1.4s cubic-bezier(.2,.7,.2,1)}
@keyframes flash{0%{box-shadow:inset 0 0 0 200vmax rgba(47,179,124,0)}25%{box-shadow:inset 0 0 0 200vmax rgba(47,179,124,.07)}100%{box-shadow:inset 0 0 0 200vmax rgba(47,179,124,0)}}

/* signup states */
.signup.done{background:var(--hi-soft)}
.ok-msg{display:flex;gap:10px;align-items:center;font-size:16px;color:var(--ink)}
.ok-msg svg{width:22px;height:22px;color:var(--hi);flex:none}
.signup .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.signup button[disabled]{opacity:.7;cursor:progress}

/* person links */
a.person{text-decoration:none;color:inherit}
a.person .go{display:flex;gap:8px;color:var(--ink3)}
a.person .go svg{width:15px;height:15px}
a.person:hover .go{color:var(--ink)}
a.person:hover .who b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* person page */
.phero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center}
.phero .face{width:clamp(120px,14vw,176px);border-radius:22px}
.phero .face.mono{font-size:clamp(36px,4vw,56px)}
.phero .face.sm{width:120px}
.phero .who{display:grid;gap:12px;min-width:0}
.phero h1{font-size:clamp(38px,5vw,68px);letter-spacing:-.045em;line-height:.98}
.phero .role{font-size:clamp(18px,1.5vw,22px);color:var(--ink2);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.phero .role a{color:var(--ink);text-decoration:none;display:inline-flex;gap:10px;align-items:center}
.phero .role a:hover{text-decoration:underline;text-underline-offset:3px}
.phero .role .logo{width:32px;height:32px;border-radius:8px;font-size:14px}
.summary{font-size:clamp(18px,1.4vw,21px);max-width:62ch;color:var(--ink)}
.journey{display:grid;gap:6px;counter-reset:j}
.journey li{list-style:none;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:14px;align-items:baseline;background:var(--bg2);border-radius:var(--r);padding:16px 18px}
.journey li::before{counter-increment:j;content:counter(j);font-size:13px;color:var(--ink3);text-align:right}
.journey li.now{background:var(--bg3)}
.journey li.now::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hi);justify-self:end;align-self:center}
.journey b{font-weight:600}
.journey span{color:var(--ink2)}
.journey em{font-style:normal;color:var(--ink3);font-size:14px;white-space:nowrap}
.journey ol{margin:0;padding:0}
.pitch{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:8px}
.pitch>div{background:var(--bg2);border-radius:var(--r);padding:18px;display:grid;gap:6px;align-content:start}
.pitch small{font-size:13px;color:var(--ink3)}
.pitch b{font-size:clamp(19px,1.6vw,24px);font-weight:600;letter-spacing:-.03em;line-height:1.15}
.pitch span{font-size:14px;color:var(--ink2)}
.pitch a{color:var(--ink)}
.src-note{font-size:13px;color:var(--ink3);max-width:72ch}
.src-note a{color:var(--ink2)}
@media (max-width:560px){.phero{grid-template-columns:1fr}.journey li{grid-template-columns:20px minmax(0,1fr)}.journey em{grid-column:2}}

.sec.tight{padding-block-start:clamp(28px,3.4vw,48px)}
.sec.tight>h2{font-size:clamp(22px,2.2vw,30px)}

.person.has-desc{align-items:start}
.person.has-desc .go{padding-top:4px}
.person .who .desc{font-size:13.5px;line-height:1.4;color:var(--ink3);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.team{grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr))}
