/* Labs Investor Group — shared design system (matches index.html inline styles).
   Used by the subpages: /manifesto /strategy /services /global */
:root{
  --paper:#ffffff; --ink:#0d0d0d;
  --grey:#6f6f6f; --faint:#a3a3a3; --hair:#e8e8e8;
  --ff:"Inter Tight",-apple-system,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--ff);-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative}
/* a very soft paper grain, tiled — sits under every section, above nothing */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)' opacity='.032'/%3E%3C/svg%3E");background-repeat:repeat;background-size:220px 220px}
body.darknav::before{background-color:var(--paper)}
@media (prefers-reduced-motion:no-preference){}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--ink);color:var(--paper)}
.edge{padding-left:clamp(20px,4vw,72px);padding-right:clamp(20px,4vw,72px)}

/* ——— nav: brand centered, links flanking (3 + 3) ——— */
nav{position:fixed;top:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-top:24px;padding-bottom:20px;transition:background .4s,backdrop-filter .4s}
nav.solid{background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
nav .l{justify-self:start;display:flex;gap:clamp(14px,2vw,30px)}
nav .r{justify-self:end;display:flex;gap:clamp(14px,2vw,30px)}
nav .l a,nav .r a{font:500 .84rem/1 var(--ff);color:var(--grey);transition:color .25s;white-space:nowrap}
nav .l a:hover,nav .r a:hover,nav .l a.here,nav .r a.here{color:var(--ink)}
nav .wm{grid-column:2;justify-self:center}
nav .wm img{height:16px;width:auto}
body.darknav nav.solid{background:rgba(13,13,13,.86)}
body.darknav nav .wm img{filter:invert(1)}
body.darknav nav .l a,body.darknav nav .r a{color:rgba(255,255,255,.6)}
body.darknav nav .l a:hover,body.darknav nav .r a:hover{color:#fff}
@media (max-width:860px){nav .l,nav .r{gap:12px}nav .l a,nav .r a{font-size:.72rem}}
/* ——— mobile menu (pure-CSS checkbox toggle; works without page JS) ——— */
.mnav-cb,.mnav-btn,.mnav-panel{display:none}
@media (max-width:600px){
  nav .l,nav .r{display:none}
  .mnav-btn{display:flex;flex-direction:column;justify-content:center;gap:6px;position:absolute;right:clamp(20px,4vw,72px);top:0;bottom:0;height:100%;width:26px;cursor:pointer;z-index:60}
  .mnav-btn span{display:block;width:24px;height:1.5px;background:var(--ink);transition:transform .35s var(--ease),background .3s}
  body.darknav .mnav-btn span{background:#fff}
  .mnav-panel{display:flex;position:fixed;inset:0;z-index:55;background:var(--paper);flex-direction:column;align-items:center;justify-content:center;gap:2px;
    opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .38s var(--ease),transform .38s var(--ease)}
  .mnav-panel a{font-weight:300;font-size:clamp(1.7rem,8.5vw,2.5rem);letter-spacing:-.025em;color:var(--ink);padding:12px 24px}
  .mnav-panel a:active{opacity:.5}
  .mnav-cb:checked ~ .mnav-panel{opacity:1;pointer-events:auto;transform:none}
  .mnav-cb:checked ~ .mnav-btn span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .mnav-cb:checked ~ .mnav-btn span:nth-child(2){transform:translateY(-7.5px) rotate(-45deg)}
  .mnav-cb:checked ~ .mnav-btn span{background:var(--ink)}
}
body:has(.mnav-cb:checked){overflow:hidden}

/* ——— reveal system (pronounced) ——— */
.rv{opacity:0;transform:translateY(70px) scale(.965);filter:blur(14px);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease),filter 1.4s var(--ease)}
.rv.in{opacity:1;transform:none;filter:none}
.d1{transition-delay:.12s}.d2{transition-delay:.24s}.d3{transition-delay:.36s}.d4{transition-delay:.48s}.d5{transition-delay:.6s}.d6{transition-delay:.72s}.d7{transition-delay:.84s}.d8{transition-delay:.96s}.d9{transition-delay:1.08s}.d10{transition-delay:1.2s}.d11{transition-delay:1.32s}

/* word rise (page heroes) */
.w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em;margin-bottom:-.14em}
.w i{display:inline-block;font-style:normal;transform:translateY(135%);transition:transform 1.2s var(--ease)}
.go .w i{transform:none}

/* ——— shared scaffolding (all centered) ——— */
section{display:flex;flex-direction:column;align-items:center;text-align:center}
.label{font:500 .85rem/1 var(--ff);color:var(--faint);margin-bottom:clamp(28px,4.5vh,52px)}
.label.dk{color:var(--ink);font-weight:600}
.big{font-weight:300;letter-spacing:-.025em}

/* ——— page hero (subpages) ——— */
.phero{min-height:clamp(58vh,64vh,72svh);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:120px;padding-bottom:clamp(40px,7vh,90px)}
.phero .kick{font:500 .85rem/1 var(--ff);color:var(--faint);margin-bottom:clamp(22px,3.5vh,40px)}
.phero h1{font-weight:300;font-size:clamp(2.6rem,7vw,6.6rem);line-height:1.05;letter-spacing:-.03em;max-width:14em}
.phero .sub{margin-top:clamp(26px,4.5vh,48px);font:400 clamp(1rem,1.5vw,1.35rem)/1.6 var(--ff);color:var(--grey);max-width:30em}
.phero .sub b{color:var(--ink);font-weight:500}
.phero em{font-style:normal;font-weight:500;color:var(--ink)}

/* ——— editorial statement blocks (manifesto / approach) ——— */
.stmts{padding-top:clamp(70px,10vh,130px);padding-bottom:clamp(90px,13vh,170px)}
.stmt-b{width:min(30em,92vw);padding:clamp(46px,8vh,96px) 0;border-top:1px solid var(--hair)}
.stmt-b:first-of-type{border-top:0}
.stmt-b .st{font-weight:300;font-size:clamp(2rem,5vw,4.4rem);line-height:1.1;letter-spacing:-.03em;color:var(--ink)}
.stmt-b .su{margin-top:clamp(18px,2.6vh,28px);font:400 clamp(1rem,1.4vw,1.22rem)/1.62 var(--ff);color:var(--grey);max-width:34em;margin-left:auto;margin-right:auto}
.stmt-b .su em{font-style:normal;font-weight:500;color:var(--ink)}

/* ——— intelligences list (frontier focus, reused) ——— */
.focus{padding-top:clamp(90px,13vh,170px);padding-bottom:clamp(90px,13vh,170px);border-top:1px solid var(--hair)}
.fochead{font-weight:300;font-size:clamp(1.6rem,3vw,2.7rem);letter-spacing:-.02em;color:var(--ink)}
.focsub{font:400 .95rem/1 var(--ff);color:var(--faint);margin-top:14px;margin-bottom:clamp(24px,4vh,44px)}
.focintro{font-weight:300;font-size:clamp(1.1rem,1.9vw,1.6rem);line-height:1.6;letter-spacing:-.01em;color:var(--grey);max-width:30em;margin-bottom:clamp(38px,6vh,70px)}
.focintro em{font-style:normal;font-weight:500;color:var(--ink)}
.focus .area{font-weight:300;font-size:clamp(2.1rem,5.6vw,5.4rem);line-height:1.34;letter-spacing:-.025em;color:var(--ink);transition:opacity .35s}
@media (hover:hover){.focus .list:hover .area{opacity:.28}.focus .list .area:hover{opacity:1}}
.focus .list.hastap .area{opacity:.28}
.focus .list .area.tapped{opacity:1}

/* ——— ledger (disciplines / services) with liquid-glass watermark ——— */
.ledger{padding-top:clamp(90px,13vh,170px);padding-bottom:clamp(90px,13vh,170px);border-top:1px solid var(--hair);position:relative}
.ledger .drow{position:relative;padding:clamp(18px,3vh,32px) 0;width:min(920px,92vw);border-bottom:1px solid var(--hair)}
.ledger .drow:first-of-type{border-top:1px solid var(--hair)}
.ledger .drow:last-of-type{border-bottom:0}
.ledger .nm{font-weight:300;font-size:clamp(2rem,5vw,4.6rem);line-height:1.15;letter-spacing:-.025em;transition:letter-spacing .5s var(--ease)}
.ledger .nm small{font-size:.34em;letter-spacing:.02em;color:var(--faint);font-weight:400;vertical-align:.35em;margin-left:.5em}
@media (hover:hover){.ledger .drow:hover .nm{letter-spacing:.01em}}
.ledger .ds{font:400 .92rem/1.6 var(--ff);color:var(--grey);max-height:0;overflow:hidden;opacity:0;transition:max-height .55s var(--ease),opacity .55s var(--ease),margin .55s var(--ease);max-width:40em;margin-left:auto;margin-right:auto}
@media (hover:hover){.ledger .drow:hover .ds{max-height:120px;opacity:1;margin-top:10px}}
.ledger .drow.tapped .nm{letter-spacing:.01em}
.ledger .drow.tapped .ds{max-height:120px;opacity:1;margin-top:10px}
.ledger .em{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.92) rotate(-3deg);height:250%;aspect-ratio:1/1;z-index:2;opacity:0;pointer-events:none;transition:opacity 1s var(--ease),transform 1s var(--ease);
  -webkit-mask:var(--m) center/contain no-repeat;mask:var(--m) center/contain no-repeat;
  backdrop-filter:blur(6px) saturate(1.3);-webkit-backdrop-filter:blur(6px) saturate(1.3);
  background:
    linear-gradient(128deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.08) 26%,rgba(176,186,206,.42) 50%,rgba(255,255,255,.66) 72%,rgba(198,206,222,.44) 100%),
    conic-gradient(from 200deg at 50% 50%,rgba(255,140,140,.16),rgba(140,175,255,.18),rgba(140,255,210,.14),rgba(255,215,140,.13),rgba(255,140,140,.16));
  filter:drop-shadow(0 14px 24px rgba(13,13,13,.14))}
@media (hover:hover){.ledger .drow:hover .em{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(3deg)}}
.ledger .drow.tapped .em{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(3deg)}
@media (max-width:820px){.ledger .em{height:170%}.ledger .drow .ds{max-height:none;opacity:1;margin-top:8px}}

/* ——— quiet rows (stages / relationships / regions / Labsquarters) ——— */
.rows{padding-top:clamp(80px,12vh,150px);padding-bottom:clamp(80px,12vh,150px);border-top:1px solid var(--hair)}
.rows .rlist{width:min(760px,92vw)}
.rows .r{padding:clamp(14px,2.4vh,26px) 0;border-top:1px solid var(--hair);display:flex;align-items:baseline;justify-content:center;gap:.6em;flex-wrap:wrap}
.rows .r:first-child{border-top:0}
.rows .r .rn{font-weight:300;font-size:clamp(1.5rem,3.4vw,2.9rem);letter-spacing:-.02em;color:var(--ink)}
.rows .r .rd{font:400 .9rem/1.5 var(--ff);color:var(--faint)}
@media (max-width:600px){.rows .r{flex-direction:column;gap:4px}}

/* ——— black chapter ——— */
.chap{background:var(--ink);color:var(--paper);justify-content:center;padding-top:clamp(90px,14vh,180px);padding-bottom:clamp(90px,14vh,180px)}
.chap .label{color:rgba(255,255,255,.42)}
.chap .stmt{font-weight:300;font-size:clamp(2.8rem,9vw,9rem);line-height:1;letter-spacing:-.04em}
.chap .sub{margin-top:clamp(30px,5vh,54px);font-weight:300;font-size:clamp(1.3rem,2.4vw,2.1rem);line-height:1.4;color:rgba(255,255,255,.9);max-width:22em}

/* ——— teaser blocks (homepage doorways) ——— */
.teaser{padding-top:clamp(80px,12vh,150px);padding-bottom:clamp(80px,12vh,150px);border-top:1px solid var(--hair)}
.teaser .tlabel{font:500 .85rem/1 var(--ff);color:var(--faint);margin-bottom:clamp(20px,3vh,34px)}
.teaser .tstmt{font-weight:300;font-size:clamp(2rem,5vw,4.2rem);line-height:1.1;letter-spacing:-.03em;max-width:16em}
.teaser .tsub{margin-top:clamp(18px,3vh,30px);font-weight:300;font-size:clamp(1.05rem,1.7vw,1.5rem);line-height:1.6;letter-spacing:-.01em;color:var(--grey);max-width:30em}
.teaser .tnames{margin-top:clamp(18px,3vh,28px);font:400 .95rem/1.9 var(--ff);color:var(--faint);letter-spacing:.01em;max-width:34em}
.teaser .tgo{margin-top:clamp(24px,4vh,40px);font-weight:400;font-size:clamp(1.05rem,1.7vw,1.35rem);letter-spacing:-.01em}
.teaser .tgo a{border-bottom:1px solid var(--hair);padding-bottom:3px;transition:border-color .3s,opacity .3s}
.teaser .tgo a:hover{border-color:var(--ink)}

/* ——— pill CTA ——— */
.cta{display:inline-block;font:500 .92rem/1 var(--ff);color:var(--paper);background:var(--ink);border-radius:999px;padding:16px 30px;transition:transform .25s var(--ease),opacity .25s}
.cta:hover{transform:translateY(-2px);opacity:.9}
.cta.ghost{color:var(--ink);background:transparent;border:1px solid var(--hair)}
.cta.ghost:hover{border-color:var(--ink)}

/* ——— footer ——— */
footer{border-top:1px solid var(--hair);padding:clamp(44px,7vh,70px) clamp(20px,4vw,72px);text-align:center}
footer .fmono{height:clamp(48px,7vh,72px);width:auto;display:block;margin:0 auto clamp(26px,4vh,44px)}
footer .own{font-weight:300;font-size:clamp(1.05rem,1.8vw,1.5rem);line-height:1.5;max-width:30em;margin:0 auto}
footer .fnav{margin-top:30px;display:flex;justify-content:center;gap:22px;flex-wrap:wrap;font:500 .82rem/1.7 var(--ff);color:var(--grey)}
footer .fnav a{transition:color .25s}
footer .fnav a:hover{color:var(--ink)}
footer .cols{margin-top:22px;display:flex;justify-content:center;gap:26px;flex-wrap:wrap;font:400 .84rem/1.7 var(--ff);color:var(--grey)}
footer .cols a{border-bottom:1px solid var(--hair);padding-bottom:1px;transition:color .25s,border-color .25s}
footer .cols a:hover{color:var(--ink);border-color:var(--ink)}
footer .disc{margin-top:28px;font:400 .74rem/1.75 var(--ff);color:var(--faint);max-width:62em;margin-left:auto;margin-right:auto}
footer .legal{margin-top:16px;font:400 .76rem/1.7 var(--ff);color:var(--grey)}

@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;filter:none;transition:none}
  .w i{transform:none;transition:none}
}

/* Labs Investor Services — the seven capability lockups behind their rows.
   Identical treatment to the VCIFES emblems on /strategy/ (glass fill, over the
   type, same reveal); only the box changes, because these are wide lockups
   rather than square emblems. */
.ledger .em.wm-em{aspect-ratio:1203/500;height:auto;width:min(96%,1040px);
  transform:translate(-50%,-50%) scale(.94) rotate(-2deg)}
@media (hover:hover){.ledger .drow:hover .em.wm-em{transform:translate(-50%,-50%) scale(1) rotate(2deg)}}
.ledger .drow.tapped .em.wm-em{transform:translate(-50%,-50%) scale(1) rotate(2deg)}
@media (max-width:820px){.ledger .em.wm-em{width:100%}}
