@font-face{font-family:'Akkurat LL';src:url('/fonts/akkurat.woff2') format('woff2');font-weight:400;font-display:swap}
:root{
--green:#4DF28A;--forest:#173622;--mint:#EAF6EE;--cream:#F5F5EE;--black:#000;--white:#fff;
--ink:#1c2b22;--ink2:#2a3a30;
--h:'Akkurat LL','Archivo',sans-serif;--b:'Poppins',sans-serif;
--r-btn:12px;--r-card:20px;--r-chip:99px;
--navh:92px;
--navbtn-h:46px;   /* measured height of .btn.small in the nav */
--sec:clamp(64px,8vw,104px)
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--b);background:var(--mint);color:var(--black);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--h);font-weight:400;line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
p{text-wrap:pretty}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 5.5%}
section{padding:var(--sec) 0}
h2{font-size:clamp(30px,3.6vw,46px);max-width:20ch;margin-bottom:18px}
.lead{font-size:19px;max-width:58ch;color:var(--ink)}
.dark{background:var(--forest);color:var(--white)}
.dark h2{color:var(--green)}
.dark .lead{color:rgba(255,255,255,.85)}
/* item 32: sticky nav must never clip a heading */
:target,h1,h2,h3,section[id],div[id]{scroll-margin-top:calc(var(--navh) + 26px)}

/* ---------- nav ---------- */
nav{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:1px solid rgba(23,54,34,.08)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 5.5%;max-width:1280px;margin:0 auto}
/* Ari 2026-08-31: nav logo sits 25% taller than the nav button. Derived, not hardcoded,
   so it stays correct if the button padding or size ever changes. */
.logo{flex:0 0 auto;display:inline-block;line-height:0}
/* Ari 2026-08-31 (2): the logo was being distorted on every phone width. .nav-in is a
   flex row, so .logo was allowed to shrink, and the global img{max-width:100%} then
   clamped the WIDTH while this rule held the HEIGHT fixed. Result at 390px: 183x57
   instead of 238x57, a 23% horizontal squash. flex:none + max-width:none stop the
   clamp; object-fit:contain is the belt and braces, so if a box ever does get
   constrained the wordmark letterboxes instead of distorting. Never remove all three. */
.logo img,.f-logo img{flex:none;max-width:none;object-fit:contain}
.logo img{height:40px;width:auto}
.links{display:flex;gap:4px;align-items:center}
.links a{font-size:14px;text-decoration:none;padding:9px 15px;border-radius:var(--r-chip);transition:.2s}
.links a:hover,.links a.on{background:var(--forest);color:var(--green)}

/* ---------- buttons: one radius, one primary ---------- */
.btn{display:inline-block;background:var(--green);color:var(--forest);font-family:var(--h);text-decoration:none;padding:16px 32px;border-radius:var(--r-btn);font-size:16px;border:2px solid var(--green);transition:.25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(77,242,138,.35)}
.btn.small{padding:10px 20px;font-size:14px}
/* the quiet text link that replaces the outlined second button */
.tlink{font-family:var(--h);font-size:16px;text-decoration:none;border-bottom:2px solid var(--green);padding-bottom:3px;align-self:center;transition:.2s}
.tlink:hover{color:var(--forest);border-bottom-width:3px}
.dark .tlink{color:var(--green)}

/* ---------- kicker: quiet, no grey capsule, green tick ---------- */
.kick{display:inline-flex;align-items:center;gap:9px;font-family:var(--h);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:20px}
.kick::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--green);flex:none}
.dark .kick{color:rgba(255,255,255,.8)}

/* ---------- hero: asymmetric, no blob, no detached bars ---------- */
.hero{padding:clamp(56px,7vw,86px) 0 clamp(48px,6vw,72px)}
.hero-grid{display:grid;grid-template-columns:1.24fr .76fr;gap:clamp(32px,5vw,64px);align-items:center}
.hero h1{font-size:clamp(38px,4.4vw,56px);max-width:22ch;text-wrap:pretty}
/* the highlight hugs the type: an inline stroke that wraps with the words */
.hero h1 u{text-decoration:none;background-image:linear-gradient(var(--green),var(--green));background-repeat:no-repeat;background-size:100% .14em;background-position:0 92%;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero p{font-size:clamp(17px,1.6vw,20px);max-width:44ch;margin:24px 0 34px;color:var(--ink)}
.cta-row{display:flex;gap:26px;flex-wrap:wrap;align-items:center}
/* hero right: a real object, not an empty half */
.numpanel{background:var(--forest);color:var(--white);border-radius:var(--r-card);padding:clamp(30px,3.4vw,44px)}
.numpanel .big{font-family:var(--h);font-size:clamp(38px,4.6vw,58px);color:var(--green);line-height:1.02;letter-spacing:-.02em}
.numpanel .cap{font-size:14.5px;color:rgba(255,255,255,.78);margin-top:16px;max-width:30ch}
.numpanel hr{border:0;border-top:1px solid rgba(255,255,255,.16);margin:24px 0}
.numpanel .row{display:flex;gap:26px;flex-wrap:wrap}
.numpanel .row div{font-size:13.5px;color:rgba(255,255,255,.72)}
.numpanel .row b{display:block;font-family:var(--h);font-weight:400;font-size:22px;color:var(--white);margin-bottom:2px}

/* ---------- two doors ---------- */
.doors{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;margin-top:48px;align-items:stretch}
.door{border-radius:var(--r-card);padding:clamp(30px,3.2vw,46px);display:flex;flex-direction:column}
.door h3{font-size:clamp(24px,2.4vw,32px);margin-bottom:14px}
.door p{font-size:16px;flex:1}
.door .more{margin-top:26px;font-family:var(--h);font-size:15.5px;text-decoration:none;border-bottom:2px solid var(--green);padding-bottom:3px;align-self:flex-start}
.door.lead-door{background:var(--white);color:var(--black)}
.door.lead-door p{color:var(--ink2)}
.door.alt-door{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:var(--white)}
.door.alt-door p{color:rgba(255,255,255,.8)}
.door.alt-door .more{color:var(--green)}
.door .mandates{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.door .mandates span{font-family:var(--h);font-size:12.5px;letter-spacing:.05em;padding:7px 14px;border-radius:var(--r-chip);background:var(--mint);color:var(--forest)}
/* the quieter third path */
.third{margin-top:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-card);padding:26px clamp(26px,3vw,42px);display:flex;gap:26px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.third h3{font-size:20px;color:var(--white)}
.third p{font-size:15px;color:rgba(255,255,255,.75);max-width:60ch;margin-top:6px}
.third .more{font-family:var(--h);font-size:15.5px;color:var(--green);text-decoration:none;border-bottom:2px solid var(--green);padding-bottom:3px;white-space:nowrap}

/* ---------- BOS: the diagram gets a real stage ---------- */
.bos-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px,5vw,64px);align-items:center;margin-top:44px}
.bos-stage{background:var(--forest);border-radius:var(--r-card);padding:clamp(26px,3vw,40px);text-align:center}
/* item 33: title set in live type, arched text cropped out of the asset */
.bos-stage .t{font-family:var(--h);font-size:clamp(15px,1.5vw,18px);color:var(--green);letter-spacing:.02em;margin-bottom:22px}
.bos-stage img{width:100%;max-width:420px;margin:0 auto}
.pillars{list-style:none;display:grid;gap:2px;margin-top:26px}
.pillars li{font-size:16px;padding:13px 0 13px 22px;border-left:3px solid var(--green);color:var(--ink)}
.pillars li b{font-weight:500}

/* ---------- proof band ---------- */
.statrow{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.stat b{display:block;font-family:var(--h);font-weight:400;font-size:clamp(32px,3.6vw,48px);color:var(--green);line-height:1}
.stat span{display:block;font-size:14px;color:rgba(255,255,255,.8);margin-top:10px}
.pullnum{margin-top:56px;padding-top:44px;border-top:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:auto 1fr;gap:clamp(26px,4vw,54px);align-items:center}
.pullnum .n{font-family:var(--h);font-size:clamp(38px,4.6vw,62px);color:var(--white);line-height:1;white-space:nowrap}
.pullnum .n i{font-style:normal;color:var(--green)}
.pullnum p{font-size:17px;color:rgba(255,255,255,.85);max-width:52ch}
.pullnum a{display:inline-block;margin-top:14px;font-family:var(--h);font-size:15.5px;color:var(--green);text-decoration:none;border-bottom:2px solid var(--green);padding-bottom:3px}

/* ---------- founder ---------- */
.founder{display:grid;grid-template-columns:360px 1fr;gap:clamp(32px,5vw,64px);align-items:center}
/* item 34: designed slot, swaps for real photography with no layout change */
.slot{aspect-ratio:4/5;border-radius:var(--r-card);background:var(--forest);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:22px}
.slot::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(77,242,138,.07) 0 12px,transparent 12px 24px)}
.slot span{position:relative;font-family:var(--h);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.track{margin-top:26px;display:grid;gap:14px}
.track div{padding-left:20px;border-left:3px solid var(--green);font-size:16px;color:var(--ink)}
.track b{font-weight:500}
.logos{display:flex;flex-wrap:wrap;gap:12px 30px;align-items:center;margin-top:30px;font-family:var(--h);font-size:16px;color:var(--ink);opacity:.72}

/* ---------- FAQ ---------- */

/* ---------- end CTA ---------- */
.endcta{text-align:center}
.endcta h2,.endcta .lead{margin-left:auto;margin-right:auto}
.endcta .lead{margin-bottom:36px}

/* ---------- fat footer (fix 5), rebuilt to best practice 2026-08-31 ----------
   Four balanced columns on a real grid, contact surfaced in the brand column
   rather than buried, a dedicated legal bar, and link targets sized for thumbs. */
footer{background:var(--forest);color:rgba(255,255,255,.72);padding:clamp(56px,6vw,84px) 0 30px;font-size:15px}
.f-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:clamp(30px,4vw,56px)}
footer a{color:rgba(255,255,255,.72);text-decoration:none;transition:color .18s}
footer a:hover{color:var(--green)}
.f-logo{display:inline-block;margin-bottom:20px}
.f-logo img{height:38px;width:auto}
.f-about{max-width:40ch;color:rgba(255,255,255,.66);line-height:1.65;font-size:14.5px}
/* contact belongs in the brand column, not stranded in a fourth column */
.f-contact{margin-top:22px;display:grid;gap:9px;font-size:14.5px}
.f-contact a{color:#fff;width:fit-content;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:2px}
.f-contact a:hover{border-color:var(--green)}
.f-geo{margin-top:18px;font-size:13.5px;color:rgba(255,255,255,.5)}
.f-col h4{font-family:var(--h);font-weight:400;font-size:12.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin-bottom:18px}
.f-col ul{list-style:none;display:grid;gap:2px}
/* generous tap targets: every footer link is a full row, not a text sliver */
.f-col li a{display:block;padding:7px 0;font-size:14.5px}
/* legal bar */
.f-legalbar{margin-top:clamp(42px,5vw,64px);padding-top:24px;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;align-items:center;gap:16px 28px;flex-wrap:wrap;font-size:13.5px;color:rgba(255,255,255,.55)}
.f-legalbar nav{position:static;background:none;border:0;display:flex;gap:22px;flex-wrap:wrap}
.f-cred{color:rgba(255,255,255,.5);font-size:13px;width:100%;order:3;padding-top:6px}

/* ---------- a11y + mobile ---------- */
.menu-btn{display:none;background:var(--white);border:1px solid rgba(23,54,34,.25);border-radius:10px;padding:7px 12px;font-size:19px;line-height:1;cursor:pointer;color:var(--forest)}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--green);color:var(--forest);font-family:var(--h);padding:14px 22px;border-radius:0 0 var(--r-btn) 0;text-decoration:none}
.skip:focus{left:0}
a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}
@media(max-width:980px){
.hero-grid,.bos-grid,.founder{grid-template-columns:1fr}
.doors{grid-template-columns:1fr}
.founder .slot{max-width:320px}
.statrow{grid-template-columns:repeat(2,1fr);gap:32px 24px}
.f-grid{grid-template-columns:1fr 1fr}
.f-grid>div:first-child{grid-column:1 / -1}
.pullnum{grid-template-columns:1fr;gap:18px}
.links{display:none}
.menu-btn{display:block}
.links.open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;align-items:stretch;padding:10px 5.5% 18px;border-bottom:1px solid rgba(23,54,34,.15);box-shadow:0 18px 30px rgba(23,54,34,.12)}
.links.open a{padding:14px 16px;border-radius:var(--r-btn);font-size:16px}
}
@media(max-width:560px){
.logo img{height:var(--navbtn-h)}
.statrow{grid-template-columns:1fr}
.f-grid{grid-template-columns:1fr}
.third{flex-direction:column;align-items:flex-start}
.cta-row{gap:18px}
}

/* =========================================================================
   LEGACY BLOCK. Components still used by the pages not yet rebuilt
   (businesses, teams, individuals, about, resources, case-studies, careers,
   contact). Delete each rule as its page moves to the round 2 system.
   The blob (.orb) is deliberately NOT re-declared: fix 1 kills it sitewide.
   ========================================================================= */
.hero h1 em{font-style:normal;background-image:linear-gradient(var(--green),var(--green));background-repeat:no-repeat;background-size:100% .14em;background-position:0 92%;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.btn.ghost{background:transparent;color:var(--forest);border-color:var(--forest)}
.btn.ghost:hover{box-shadow:0 10px 24px rgba(23,54,34,.15)}
.dark .btn.ghost{color:var(--white);border-color:rgba(255,255,255,.4)}
.label{display:inline-block;font-family:var(--h);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:20px}
.dark .label{color:rgba(255,255,255,.8)}
.stats{background:var(--forest);color:var(--white)}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding-top:44px;padding-bottom:44px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:52px}
.card{background:var(--white);border:1px solid rgba(23,54,34,.1);border-radius:var(--r-card);padding:34px 30px;display:flex;flex-direction:column;transition:.25s}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(23,54,34,.12);border-color:var(--green)}
.card h3{font-size:24px;margin:14px 0 12px}
.card p{font-size:15.5px;color:var(--ink2);flex:1}
.card .num{font-family:var(--h);font-size:14px;color:var(--forest);background:var(--green);width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center}
.card a.more{margin-top:22px;font-family:var(--h);font-size:15px;color:var(--forest);text-decoration:none;border-bottom:2px solid var(--green);align-self:flex-start;padding-bottom:2px}
.dark .card{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:var(--white)}
.dark .card p{color:rgba(255,255,255,.8)}
.dark .card h3{color:var(--white)}
.dark .card a.more{color:var(--green)}
/* item 30: pills were white text on white. Text colour is now pinned per context. */
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.chip{background:var(--white);color:var(--forest);border:1px solid rgba(23,54,34,.14);padding:13px 22px;border-radius:var(--r-chip);font-size:15px;transition:.2s}
.chip b{font-weight:500;color:inherit}
.chip:hover{background:var(--forest);color:var(--green);border-color:var(--forest)}
.dark .chip{background:var(--white);color:var(--forest);border-color:transparent}
.dark .chip:hover{background:var(--green);color:var(--forest)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.step{background:var(--white);border-radius:var(--r-card);padding:34px 30px;border-top:6px solid var(--green)}
.step h3{font-size:21px;margin-bottom:10px}
.step p{font-size:15px;color:var(--ink2)}
.step .tag{font-size:12.5px;font-family:var(--h);color:var(--forest);background:var(--mint);border:1px solid rgba(23,54,34,.15);border-radius:var(--r-chip);padding:5px 12px;display:inline-block;margin-top:16px}
.invest-line{margin-top:34px;font-size:17px;text-align:center;color:rgba(255,255,255,.9)}
.invest-line b{color:var(--green);font-weight:500}
.ari{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:center;margin-top:20px}
.ari img{border-radius:24px;width:100%;height:auto;box-shadow:0 24px 48px rgba(23,54,34,.2)}
.cmp{width:100%;border-collapse:collapse;margin-top:48px;background:var(--white);border-radius:var(--r-card);overflow:hidden;box-shadow:0 14px 34px rgba(23,54,34,.1)}
.cmp th{font-family:var(--h);font-weight:400;text-align:left;background:var(--forest);color:var(--green);padding:16px 20px;font-size:15px}
.cmp td{padding:16px 20px;font-size:14.5px;border-top:1px solid rgba(23,54,34,.08);vertical-align:top;color:var(--ink)}
.cmp td:first-child{font-family:var(--h);width:22%}
.cmp td:last-child{background:rgba(77,242,138,.1)}
.quote{background:var(--white);border-left:6px solid var(--green);border-radius:16px;padding:30px 34px;margin-top:48px;max-width:760px}
.quote p{font-size:17px;font-style:italic}
.quote span{display:block;margin-top:14px;font-size:14px;font-family:var(--h)}
.bos-visual{margin-top:48px;text-align:center}
.bos-visual img{max-width:560px;width:100%;margin:0 auto}
.prose{max-width:760px}
.prose h2{font-size:26px;margin:38px 0 12px}
.prose h3{font-size:20px;margin:28px 0 10px}
.prose p,.prose li{font-size:16px;color:var(--ink);margin-bottom:12px}
.prose ul{padding-left:22px}
.cs-meta{display:flex;gap:26px;flex-wrap:wrap;margin:18px 0 8px}
.cs-meta div{background:var(--white);border:1px solid rgba(23,54,34,.12);border-radius:14px;padding:14px 20px;font-size:14px}
.cs-meta b{display:block;font-family:var(--h);font-size:22px;color:var(--forest)}
.pains .card h3{font-size:20px}
.f-in{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.rv{opacity:1}
@media(max-width:900px){
.grid3,.grid2,.steps{grid-template-columns:1fr}
.stats .wrap{grid-template-columns:repeat(2,1fr)}
.ari{grid-template-columns:1fr}
.cmp{display:block;overflow-x:auto}
}

/* =========================================================================
   V3 SYSTEM, Direction B "Dark Editorial". Chosen by Ari 2026-08-31 over
   direction A and C. Scoped to body.v3 so the pages still on round 1 keep
   working untouched; each page gets the class as it migrates.
   Forest is the ground, mint is the relief surface. No cards: structure is
   carried by hairline rules, a numbered margin and type scale.
   ========================================================================= */
body.v3{background:var(--forest);color:#fff}
.v3 .wrap{max-width:1240px;padding:0 5%}
.v3 h1,.v3 h2,.v3 h3{letter-spacing:-.022em;line-height:1.03}
.v3 section{padding:clamp(60px,8vw,110px) 0}
.v3 h2{font-size:clamp(32px,4.6vw,64px);max-width:18ch;margin-bottom:22px}
.v3 .lead{font-size:18.5px;color:rgba(255,255,255,.75);max-width:58ch}
.v3 .rule{border-bottom:1px solid rgba(255,255,255,.1)}

/* nav */
.v3 nav{background:rgba(23,54,34,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1)}
.v3 .nav-in{max-width:1400px;padding:16px 5%}
.v3 .links a{color:rgba(255,255,255,.74);font-size:13.5px;padding:9px 14px}
.v3 .links a:hover,.v3 .links a.on{background:rgba(255,255,255,.08);color:var(--green)}
.v3 .menu-btn{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.v3 .links.open{background:var(--forest);border-bottom-color:rgba(255,255,255,.15)}

/* kicker */
.v3 .marker{font-family:var(--h);font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--green);display:block;margin-bottom:26px}

/* hero: type is the object, no panel, no blob */
.v3 .hero{padding:clamp(64px,9vw,128px) 0 clamp(48px,6vw,76px);border-bottom:1px solid rgba(255,255,255,.1)}
.v3 .hero h1{font-size:clamp(44px,7vw,98px);max-width:15ch;letter-spacing:-.03em}
.v3 .hero h1 u{text-decoration:none;background-image:linear-gradient(var(--green),var(--green));background-repeat:no-repeat;background-size:100% .1em;background-position:0 94%;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.v3 .hero p{font-size:clamp(17px,1.7vw,21px);max-width:46ch;margin:34px 0 42px;color:rgba(255,255,255,.75)}
.v3 .cta-row{display:flex;gap:26px;flex-wrap:wrap;align-items:center}
.v3 .tlink{color:var(--green);border-bottom:1px solid var(--green)}

/* figures on a rule, not in a band */
.v3 .figs{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:clamp(40px,5vw,64px) 0;border-bottom:1px solid rgba(255,255,255,.1)}
.v3 .figs b{display:block;font-family:var(--h);font-weight:400;font-size:clamp(34px,4.4vw,62px);color:var(--green);line-height:1;letter-spacing:-.03em}
.v3 .figs span{display:block;font-size:13.5px;color:rgba(255,255,255,.62);margin-top:12px;max-width:22ch}

/* doors as split rows */
.v3 .door{display:grid;grid-template-columns:.42fr 1fr;gap:clamp(24px,4vw,60px);padding:clamp(34px,4vw,56px) 0;border-bottom:1px solid rgba(255,255,255,.1);align-items:start}
.v3 .door h3{font-size:clamp(26px,3vw,40px)}
.v3 .door .idx{font-family:var(--h);font-size:13px;color:var(--green);letter-spacing:.14em;display:block;margin-bottom:10px}
.v3 .door p{color:rgba(255,255,255,.74);max-width:56ch;font-size:16.5px}
.v3 .door .go{display:inline-block;margin-top:22px;font-family:var(--h);font-size:15.5px;color:#fff;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:3px}
.v3 .door .go:hover{color:var(--green)}
.v3 .mandates{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.v3 .mandates span{font-family:var(--h);font-size:12.5px;letter-spacing:.05em;padding:8px 15px;border-radius:var(--r-chip);background:rgba(77,242,138,.12);color:var(--green)}

/* the relief surface */
.v3 .relief{background:var(--mint);color:#000}
.v3 .relief h2{color:var(--forest)}
.v3 .relief .lead{color:#1c2b22}
.v3 .relief .marker{color:var(--forest)}
.v3 .bosgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center;margin-top:48px}
.v3 .bosgrid img{max-width:440px;width:100%;margin:0 auto}
.v3 .lst{list-style:none}
.v3 .lst li{padding:15px 0;border-top:1px solid rgba(255,255,255,.14);font-size:16.5px;color:rgba(255,255,255,.82)}
.v3 .lst li:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.v3 .relief .lst li{border-top-color:rgba(23,54,34,.18);color:#1c2b22}
.v3 .relief .lst li:last-child{border-bottom-color:rgba(23,54,34,.18)}
.v3 .lst b{font-weight:500}

/* proof */
.v3 .pq{font-family:var(--h);font-size:clamp(32px,5vw,66px);line-height:1.05;letter-spacing:-.03em;max-width:17ch}
.v3 .pq i{font-style:normal;color:var(--green)}
.v3 .attrib{margin-top:26px;color:rgba(255,255,255,.7);max-width:54ch;font-size:16.5px}
.v3 .second{margin-top:clamp(40px,5vw,64px);padding-top:clamp(32px,4vw,48px);border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,52px);align-items:baseline}
.v3 .second .n{font-family:var(--h);font-size:clamp(28px,3.4vw,46px);color:#fff;white-space:nowrap;letter-spacing:-.02em}
.v3 .second .n i{font-style:normal;color:var(--green)}
.v3 .second p{color:rgba(255,255,255,.7);font-size:16px;max-width:56ch}
.v3 .clients{margin-top:clamp(40px,5vw,60px);padding-top:clamp(28px,3.5vw,40px);border-top:1px solid rgba(255,255,255,.1)}
.v3 .clients .cap{font-family:var(--h);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:20px}
.v3 .clients .row{display:flex;flex-wrap:wrap;gap:14px 40px;font-family:var(--h);font-size:17px;color:rgba(255,255,255,.62)}

/* founder */
.v3 .founder{display:grid;grid-template-columns:330px 1fr;gap:clamp(30px,5vw,66px);align-items:center}
.v3 .slot{aspect-ratio:4/5;border-radius:var(--r-card);background:var(--forest);position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:22px}
.v3 .slot::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(77,242,138,.08) 0 12px,transparent 12px 24px)}
.v3 .slot span{position:relative;font-family:var(--h);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.v3 .slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* FAQ, kept from direction A: it is the only place the approved pricing line appears */
.v3 .faq{display:grid;gap:0;margin-top:44px;max-width:900px}
.v3 .faq .q{border-top:1px solid rgba(255,255,255,.14)}
.v3 .faq .q:last-child{border-bottom:1px solid rgba(255,255,255,.14)}
.v3 .faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0}
.v3 .faq summary h3{font-family:var(--h);font-weight:400;font-size:clamp(18px,1.9vw,22px);color:#fff;margin:0;transition:color .18s}
.v3 .faq summary::-webkit-details-marker{display:none}
.v3 .faq summary:hover h3{color:var(--green)}
.v3 .faq summary:focus-visible{outline:3px solid var(--green);outline-offset:4px;border-radius:6px}
/* the +/x sign is decorative; the disclosure state is carried by <details> itself,
   so screen readers get it for free and nothing depends on the icon */
.v3 .faq .sign{flex:none;position:relative;width:22px;height:22px}
.v3 .faq .sign::before,.v3 .faq .sign::after{content:"";position:absolute;background:var(--green);border-radius:2px;transition:transform .22s ease}
.v3 .faq .sign::before{left:0;top:10px;width:22px;height:2px}
.v3 .faq .sign::after{left:10px;top:0;width:2px;height:22px}
.v3 .faq .q[open] .sign::after{transform:rotate(90deg)}
.v3 .faq .q[open] summary h3{color:var(--green)}
.v3 .faq .a{padding:0 44px 28px 0;font-size:16.5px;color:rgba(255,255,255,.75);max-width:70ch;line-height:1.62}

.v3 .endcta{text-align:center;border-top:1px solid rgba(255,255,255,.1)}
.v3 .endcta h2{margin:0 auto 20px}
.v3 .endcta .lead{margin:0 auto 38px}

@media(max-width:980px){
.v3 .figs{grid-template-columns:repeat(2,1fr)}
.v3 .door{grid-template-columns:1fr;gap:12px}
.v3 .bosgrid,.v3 .founder{grid-template-columns:1fr}
.v3 .founder .slot{max-width:300px}
.v3 .second{grid-template-columns:1fr;gap:14px}
}
@media(max-width:560px){.v3 .figs{grid-template-columns:1fr}}
.v3 .crumb{display:block;font-size:13.5px;color:rgba(255,255,255,.55);margin-bottom:22px}
.v3 .crumb a{color:var(--green);text-decoration:none}
.v3 .crumb span{margin:0 4px}

/* ---- v3 remap of the legacy components ----
   On a v3 page the ground is forest and .relief is the mint surface, which is
   the inverse of round 1. These rules let the existing component markup keep
   working in both contexts instead of rewriting every page's inner HTML. */
.v3 .label{color:rgba(255,255,255,.8)}
.v3 .relief .label,.v3 .relief .marker{color:var(--forest)}
.v3 .lead{color:rgba(255,255,255,.75)}
.v3 .relief .lead,.v3 .relief p{color:#1c2b22}
.v3 .relief h2,.v3 .relief h3{color:var(--forest)}
/* cards: white on forest (the brand pattern), bordered on mint */
.v3 .card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#fff}
.v3 .card h3{color:#fff}
.v3 .card p{color:rgba(255,255,255,.78)}
.v3 .card a.more{color:var(--green)}
.v3 .card:hover{border-color:var(--green);box-shadow:0 22px 44px rgba(0,0,0,.28)}
.v3 .relief .card{background:#fff;border-color:rgba(23,54,34,.1);color:#000}
.v3 .relief .card h3{color:#000}
.v3 .relief .card p{color:var(--ink2)}
.v3 .relief .card a.more{color:var(--forest)}
.v3 .card .num{background:var(--green);color:var(--forest)}
/* steps */
.v3 .step{background:rgba(255,255,255,.05);border-top:6px solid var(--green);color:#fff}
.v3 .step h3{color:#fff}
.v3 .step p{color:rgba(255,255,255,.78)}
.v3 .step .tag{background:rgba(77,242,138,.14);border-color:transparent;color:var(--green)}
.v3 .relief .step{background:#fff;color:#000}
.v3 .relief .step h3{color:#000}
.v3 .relief .step p{color:var(--ink2)}
.v3 .relief .step .tag{background:var(--mint);border-color:rgba(23,54,34,.15);color:var(--forest)}
/* item 30: pills were white text on white. Pinned per context, both directions. */
.v3 .chip{background:#fff;color:var(--forest);border-color:transparent}
.v3 .chip b{color:inherit}
.v3 .chip:hover{background:var(--green);color:var(--forest)}
.v3 .relief .chip{background:#fff;color:var(--forest);border:1px solid rgba(23,54,34,.14)}
.v3 .relief .chip:hover{background:var(--forest);color:var(--green)}
/* founder block */
.v3 .ari img{border-radius:var(--r-card)}
.v3 .track div{color:rgba(255,255,255,.85);border-left-color:var(--green)}
.v3 .relief .track div{color:var(--ink)}
.v3 .logos{color:rgba(255,255,255,.6)}
.v3 .relief .logos{color:var(--ink)}
/* quotes and prose */
.v3 .quote{background:rgba(255,255,255,.05);border-left:4px solid var(--green);color:#fff}
.v3 .relief .quote{background:#fff;color:#000}
.v3 .prose p,.v3 .prose li{color:rgba(255,255,255,.8)}
.v3 .relief .prose p,.v3 .relief .prose li{color:var(--ink)}
.v3 .prose h2,.v3 .prose h3{color:var(--green)}
.v3 .relief .prose h2,.v3 .relief .prose h3{color:var(--forest)}
.v3 .cs-meta div{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#fff}
.v3 .cs-meta b{color:var(--green)}
.v3 .relief .cs-meta div{background:#fff;border-color:rgba(23,54,34,.12);color:#000}
.v3 .relief .cs-meta b{color:var(--forest)}
/* tiers */
.v3 .tier{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14)}
.v3 .tier.flag{background:#fff;color:#000}
.v3 .invest-line{color:rgba(255,255,255,.9)}
.v3 .relief .invest-line{color:var(--ink)}
/* buttons on the two grounds */
.v3 .btn.ghost{color:#fff;border-color:rgba(255,255,255,.4);background:transparent}
.v3 .relief .btn.ghost{color:var(--forest);border-color:var(--forest)}
/* sub-page heroes are landing floors, not billboards (design plan fix 1) */
.v3 .hero.sub{padding:clamp(52px,6vw,84px) 0 clamp(34px,4vw,56px)}
.v3 .hero.sub h1{font-size:clamp(34px,4.6vw,54px);max-width:19ch}
/* /about carries its numbers inline rather than as a band, so it does not
   duplicate the home page treatment (design plan fix 4, stat matrix) */
.v3 .inline-stats{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,72px);padding:clamp(30px,4vw,46px) 0;border-bottom:1px solid rgba(255,255,255,.1)}
.v3 .inline-stats b{font-family:var(--h);font-weight:400;font-size:clamp(28px,3.2vw,42px);color:var(--green);line-height:1;display:block}
.v3 .inline-stats span{display:block;font-size:13.5px;color:rgba(255,255,255,.62);margin-top:8px;max-width:24ch}
/* ---- comparison component (design plan fix 3) ----
   Was a raw table: white slab, hairline rows, three plain columns. Every word
   kept; the container is now designed. The Mind Shift answer is the only white
   element in the section, so the eye lands there five times in a row. */
.v3 .cmp-rows{margin-top:48px;display:grid;gap:14px}
.v3 .cmp-row{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(20px,3vw,40px);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-card);padding:clamp(24px,2.6vw,34px);align-items:center;transition:.2s}
.v3 .cmp-row:hover{border-color:rgba(255,255,255,.2)}
.v3 .cmp-left b{display:block;font-family:var(--h);font-weight:400;font-size:clamp(19px,2vw,25px);color:#fff;margin-bottom:9px}
.v3 .cmp-left span{display:block;font-size:15.5px;color:rgba(255,255,255,.6);max-width:46ch}
.v3 .cmp-ours{background:#fff;border-radius:14px;padding:22px 24px;display:flex;gap:14px;align-items:flex-start}
.v3 .cmp-ours p{font-size:15.5px;color:var(--ink);margin:0}
.v3 .cmp-ours .tick{flex:none;width:22px;height:22px;border-radius:7px;background:var(--green);position:relative;margin-top:2px}
.v3 .cmp-ours .tick::after{content:"";position:absolute;left:7px;top:4px;width:6px;height:11px;border:solid var(--forest);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
@media(max-width:820px){.v3 .cmp-row{grid-template-columns:1fr;gap:18px}}
/* /businesses signature: the three mandates as a numbered rail (design plan fix 2) */
.v3 .rail{margin-top:44px}
.v3 .rail-row{display:grid;grid-template-columns:64px 1fr;gap:clamp(18px,3vw,38px);padding:clamp(26px,3vw,40px) 0;border-top:1px solid rgba(23,54,34,.18)}
.v3 .rail-row:last-child{border-bottom:1px solid rgba(23,54,34,.18)}
.v3 .rail-idx{font-family:var(--h);font-size:clamp(28px,3vw,40px);color:var(--green);line-height:1}
.v3 .relief .rail-row h3{font-size:clamp(21px,2.2vw,28px);margin-bottom:10px;color:var(--forest)}
.v3 .relief .rail-row p{font-size:16.5px;color:var(--ink);max-width:62ch}
.v3 .rail-row .go{display:inline-block;margin-top:16px;font-family:var(--h);font-size:15px;text-decoration:none;color:var(--forest);border-bottom:2px solid var(--green);padding-bottom:2px}
/* /individuals signature: the six pain lines as a staggered checklist, no cards */
.v3 .painlist{margin-top:44px;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(30px,5vw,70px)}
.v3 .pain{padding:24px 0 24px 30px;border-top:1px solid rgba(23,54,34,.18);position:relative}
.v3 .pain::before{content:"";position:absolute;left:0;top:31px;width:14px;height:14px;border-radius:4px;background:var(--green)}
.v3 .relief .pain h3{font-size:19px;margin-bottom:8px;color:var(--forest)}
.v3 .relief .pain p{font-size:15.5px;color:var(--ink);max-width:46ch}
@media(max-width:820px){.v3 .painlist{grid-template-columns:1fr}.v3 .rail-row{grid-template-columns:44px 1fr}}

/* Ari 2026-08-31 (2): below 420px the nav ran past the viewport, which is what forced
   the logo to shrink and distort in the first place. Buy the room back from the gutter,
   the gap and the button, never from the logo's aspect ratio. */
nav .btn.small{white-space:nowrap}
@media(max-width:420px){
.nav-in{padding-left:4%;padding-right:4%;gap:10px}
.logo img{height:30px}
nav .btn.small{padding:10px 14px;font-size:13.5px}
}
@media(max-width:360px){
.nav-in{padding-left:3.2%;padding-right:3.2%;gap:8px}
.logo img{height:26px}
nav .btn.small{padding:9px 12px;font-size:13px}
}
@media(max-width:320px){
.logo img{height:24px}
nav .btn.small{padding:8px 11px;font-size:12.5px}
}


/* ---------- grouped nav, 2026-09-01. Markup is built by /nav.js ---------- */
.navdrop{position:relative;display:inline-block}
.v3 .navtop{font-family:var(--b);font-size:13.5px;padding:9px 14px;border-radius:var(--r-btn);
  background:transparent;border:0;cursor:pointer;color:rgba(255,255,255,.74);
  display:inline-flex;align-items:center;gap:8px;transition:background .18s,color .18s}
.v3 .navtop:hover,.v3 .navdrop.is-open .navtop,.v3 .navtop.on{background:rgba(255,255,255,.08);color:var(--green)}
.v3 .navtop:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.caret{width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s ease}
.navdrop.is-open .caret{transform:rotate(-135deg) translate(-2px,-2px)}
.navmenu{position:absolute;top:calc(100% + 10px);left:0;min-width:320px;z-index:60;
  background:#1b4029;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-card);
  padding:8px;box-shadow:0 26px 50px rgba(0,0,0,.42);display:grid;gap:2px;
  animation:navIn .16s cubic-bezier(.22,.7,.3,1) both}
/* the attribute must beat the author display rule above, or hidden does nothing */
.navmenu[hidden]{display:none}
@keyframes navIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.navmenu a{display:block;padding:12px 14px;border-radius:10px;text-decoration:none;
  color:#fff;transition:background .16s}
.navmenu a b{display:block;font-family:var(--h);font-weight:400;font-size:15.5px;line-height:1.2}
.navmenu a span{display:block;font-size:12.5px;color:rgba(255,255,255,.6);margin-top:4px;line-height:1.35}
.navmenu a:hover{background:rgba(77,242,138,.13)}
.navmenu a:hover b{color:var(--green)}
.navmenu a:focus-visible{outline:3px solid var(--green);outline-offset:-2px;background:rgba(77,242,138,.13)}
.navmenu a[aria-current="page"] b{color:var(--green)}
@media(max-width:900px){
  .navdrop{display:block;width:100%}
  .v3 .navtop{width:100%;justify-content:space-between;font-size:16px;padding:14px 16px}
  .navmenu{position:static;min-width:0;box-shadow:none;background:rgba(0,0,0,.18);
    margin:2px 0 6px;animation:none}
  .navmenu a{padding:12px 16px}
}
@media(prefers-reduced-motion:reduce){.navmenu{animation:none}.caret{transition:none}}


/* ---------- rotating copy variants, 2026-09-02. Driven by /rotate.js ---------- */
.rot{display:grid}
.rot>.rot-i{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .55s ease}
.rot>.rot-i.is-on{opacity:1;visibility:visible}
.v3 .hero .rot{margin:34px 0 42px}
.v3 .hero .rot>.rot-i{margin:0}
.rot>h2.rot-i{margin:0}
@media(prefers-reduced-motion:reduce){.rot>.rot-i{transition:none}}

/* ==== ROUND 3 LIGHT PASS (2026-09-02) ====================================
   Scoped to body.v3.light. Home first; other pages opt in at rollout by
   adding the class. Light is the resting state; forest is rationed to the
   proof stage, the closing CTA and the footer (~25% of page height).
   Tint values from Brand Guide.md tint table (2026-09-02). */
.v3.light{background:var(--cream);color:#173622}
.v3.light h1,.v3.light h2,.v3.light h3{line-height:1.15}
.v3.light h2{font-size:clamp(30px,3.4vw,44px);color:var(--forest);max-width:22ch}
.v3.light .lead{color:#1c2b22}
.v3.light .marker{color:#35543F}
/* nav */
.v3.light > nav{background:rgba(245,245,238,.95);border-bottom:1px solid rgba(23,54,34,.12)}
.v3.light .logo img{height:40px}
.v3.light .links a{color:#446859}
.v3.light .links a:hover,.v3.light .links a.on{background:rgba(23,54,34,.07);color:var(--forest)}
.v3.light .navtop{color:#446859}
.v3.light .navtop:hover,.v3.light .navdrop.is-open .navtop,.v3.light .navtop.on{background:rgba(23,54,34,.07);color:var(--forest)}
.v3.light .navmenu{background:#1b4029}
.v3.light .menu-btn{background:transparent;border-color:rgba(23,54,34,.3);color:var(--forest)}
.v3.light .links.open{background:var(--cream);border-bottom-color:rgba(23,54,34,.15)}
/* hero */
.v3.light .hero{border-bottom:0;padding-bottom:clamp(40px,5vw,64px)}
.v3.light .hero h1{font-size:clamp(40px,4.6vw,60px);letter-spacing:-.022em;max-width:17ch}
.v3.light .hero p{color:#35543F}
.v3.light .tlink{color:var(--forest);border-bottom:2px solid var(--green)}
.v3.light .tlink:hover{color:#000}
/* stat figures: deep green ink, quiet hairlines */
.v3.light .figs{border-top:1px solid rgba(23,54,34,.15);border-bottom:0}
.v3.light .figs b{color:var(--forest)}
.v3.light .figs span{color:#35543F}
/* doors on mint */
.v3.light #start{background:var(--mint)}
.v3.light .door{border-bottom:1px solid rgba(23,54,34,.15)}
.v3.light .door p{color:#1c2b22}
.v3.light .door .idx{color:#446859}
.v3.light .door .go{color:var(--forest);border-bottom:2px solid var(--green)}
.v3.light .door .go:hover{color:#000}
.v3.light .mandates span{background:#A6F8C4;color:#0F2A1D;border:1px solid rgba(23,54,34,.18)}
/* system band: pale mint */
.v3.light .relief{background:var(--mint)}
.v3.light #bos.relief{background:#D2FCE2}
/* proof: THE dark stage */
.v3.light #proof{background:var(--forest);color:#fff}
.v3.light #proof h2{color:#fff}
/* founder: cream, and the portrait sits to the RIGHT of the copy (Ari 2026-09-02) */
.v3.light #founder.relief{background:var(--cream)}
.v3.light .founder{grid-template-columns:1fr 330px}
.v3.light .founder .slot{order:2}
/* faq on mint */
.v3.light #faq{background:var(--mint)}
.v3.light .faq .q{border-top-color:rgba(23,54,34,.32)}
.v3.light .faq .q:last-child{border-bottom-color:rgba(23,54,34,.32)}
.v3.light .faq summary h3{color:#0F2A1D}
.v3.light .faq summary:hover h3,.v3.light .faq .q[open] summary h3{color:#000}
.v3.light .faq .a{color:#1c2b22}
/* close */
.v3.light .endcta{background:var(--forest);color:#fff;border-top:0}
.v3.light .endcta h2{color:#fff}
.v3.light .endcta .lead{color:rgba(234,246,238,.85)}
/* light-pass nav at phone widths: the wordmark-only logo is wider per pixel of
   height (5.9:1 vs 4.2:1), so it gives back height instead of overflowing */
@media(max-width:480px){.v3.light .logo img{height:30px}}
@media(max-width:360px){.v3.light .logo img{height:26px}}
/* dark-stage exceptions: the proof section keeps the v3 dark treatments */
.v3.light #proof .marker{color:var(--green)}
.v3.light #proof .tlink{color:var(--green);border-bottom:1px solid var(--green)}
/* FAQ expander signs: forest, not electric, on the mint band (Ari 2026-09-02) */
.v3.light .faq .sign::before,.v3.light .faq .sign::after{background:var(--forest)}
/* client logo strip on the proof stage: white silhouettes, louder than text */
.v3.light #proof .logos{display:flex;flex-wrap:wrap;align-items:center;gap:24px 56px}
.v3.light #proof .logos img{height:var(--lh,30px);width:auto;opacity:.95}
.v3.light #proof .logos img.lg{height:48px}
.v3.light #proof .logos img.sm{height:15px}
@media(max-width:560px){
.v3.light #proof .logos{gap:18px 34px}
.v3.light #proof .logos img{height:22px}
.v3.light #proof .logos img.lg{height:34px}
.v3.light #proof .logos img.sm{height:11px}
}
@media(max-width:980px){.v3.light .founder{grid-template-columns:1fr}}

/* ==== ROUND 3 ROLLOUT (2026-09-02): the light body as a third component context.
   Values mirror the .v3 .relief treatments; dark stages re-assert below. */
.v3.light .label{color:#35543F}
.v3.light .crumb{color:#527065}
.v3.light .crumb a{color:var(--forest)}
.v3.light .lst li{border-top-color:rgba(23,54,34,.18);color:#1c2b22}
.v3.light .lst li:last-child{border-bottom-color:rgba(23,54,34,.18)}
.v3.light .card{background:#fff;border:1px solid rgba(23,54,34,.1);color:#000}
.v3.light .card h3{color:#000}
.v3.light .card p{color:var(--ink2)}
.v3.light .card a.more{color:var(--forest)}
.v3.light .card:hover{border-color:var(--green);box-shadow:0 22px 44px rgba(6,54,34,.14)}
.v3.light .step{background:#fff;color:#000}
.v3.light .step h3{color:#000}
.v3.light .step p{color:var(--ink2)}
.v3.light .step .tag{background:var(--mint);border-color:rgba(23,54,34,.15);color:var(--forest)}
.v3.light .chip{background:#fff;color:var(--forest);border:1px solid rgba(23,54,34,.14)}
.v3.light .chip:hover{background:var(--forest);color:var(--green)}
.v3.light .track div{color:var(--ink)}
.v3.light .logos{color:var(--ink)}
.v3.light .quote{background:#fff;color:#000;border-left-width:6px}
.v3.light .prose p,.v3.light .prose li{color:var(--ink)}
.v3.light .prose h2,.v3.light .prose h3{color:var(--forest)}
.v3.light .cs-meta div{background:#fff;border-color:rgba(23,54,34,.12);color:#000}
.v3.light .cs-meta b{color:var(--forest)}
.v3.light .tier{background:#fff;border-color:rgba(23,54,34,.12)}
.v3.light .tier.flag{background:var(--forest);color:#fff}
.v3.light .invest-line{color:var(--ink)}
.v3.light .btn.ghost{color:var(--forest);border-color:var(--forest);background:transparent}
.v3.light .inline-stats{border-bottom-color:rgba(23,54,34,.15)}
.v3.light .inline-stats b{color:var(--forest)}
.v3.light .inline-stats span{color:#35543F}
.v3.light .cmp-row{background:#fff;border-color:rgba(23,54,34,.12)}
.v3.light .cmp-row:hover{border-color:rgba(23,54,34,.35)}
.v3.light .cmp-left b{color:var(--forest)}
.v3.light .cmp-left span{color:#35543F}
.v3.light .cmp-ours{background:var(--mint)}
.v3.light .rail-row h3{color:var(--forest)}
.v3.light .rail-row p{color:var(--ink)}
.v3.light .pain h3{color:var(--forest)}
.v3.light .pain p{color:var(--ink)}
.v3.light .pq i{color:var(--forest)}
.v3.light .second .n,.v3.light .second .n i{color:var(--forest)}
.v3.light .second{border-top-color:rgba(23,54,34,.15)}
.v3.light .second p{color:#1c2b22}
.v3.light .attrib{color:#35543F}
.v3.light .clients{border-top-color:rgba(23,54,34,.15)}
.v3.light .clients .cap{color:#527065}
.v3.light .clients .row{color:#35543F}
/* the home proof stage stays dark and re-asserts its own component colors */
.v3.light #proof .pq i,.v3.light #proof .second .n i{color:var(--green)}
.v3.light #proof .second .n{color:#fff}
.v3.light #proof .second{border-top-color:rgba(255,255,255,.1)}
.v3.light #proof .second p{color:rgba(255,255,255,.7)}
.v3.light #proof .attrib{color:rgba(255,255,255,.7)}
.v3.light #proof .clients{border-top-color:rgba(255,255,255,.1)}
.v3.light #proof .clients .cap{color:rgba(255,255,255,.62)}
/* flagship pages keep a dark hero: body.v3.light.dark-hero */
.v3.light.dark-hero .hero{background:var(--forest);border-bottom:0}
.v3.light.dark-hero .hero h1,.v3.light.dark-hero .hero h2{color:#fff}
.v3.light.dark-hero .hero p{color:rgba(234,246,238,.85)}
.v3.light.dark-hero .hero .marker{color:var(--green)}
.v3.light.dark-hero .hero .label{color:rgba(234,246,238,.8)}
.v3.light.dark-hero .hero .tlink{color:var(--green);border-bottom-color:var(--green)}
.v3.light.dark-hero .hero .crumb{color:rgba(234,246,238,.65)}
.v3.light.dark-hero .hero .crumb a{color:var(--green)}
/* rollout QA fixes (2026-09-02) */
.v3.light nav.crumb{background:transparent}
.v3.light .third{background:#fff;border-color:rgba(23,54,34,.12)}
.v3.light .third h3{color:#000}
.v3.light .third p{color:var(--ink2)}
.v3.light .third .more{color:var(--forest)}
/* /businesses signature: the mandate selector keeps its dark stage */
.v3.light #mandates{background:var(--forest);color:#fff}
.v3.light #mandates h2{color:#fff}
.v3.light #mandates .marker{color:var(--green)}
.v3.light #mandates .lead{color:rgba(255,255,255,.75)}
.v3.light #mandates .label{color:rgba(255,255,255,.8)}
.v3.light #mandates .tlink{color:var(--green);border-bottom-color:var(--green)}
.v3.light ul.solutions li{color:#1c2b22;border-bottom-color:rgba(23,54,34,.16)}
.v3.light ul.solutions li b{color:var(--forest)}

/* 2026-09-06: CTA support line + source notes (Leadership Lab build) */
.cta-note{font-size:13.5px;color:#40534a;margin-top:12px;max-width:60ch}
.v3 .hero .cta-note{margin-top:14px}
.endcta .cta-note{margin-top:14px;color:rgba(255,255,255,.7)}
.v3.light .endcta .cta-note{color:rgba(255,255,255,.72)}
.srcnote{font-size:12.5px;color:#5b6b61;margin-top:18px;max-width:70ch}
.stats .srcnote{display:block;padding-top:12px;color:rgba(255,255,255,.74)}
.v3 .hero p.cta-note,.v3 .endcta p.cta-note{font-size:14px;max-width:60ch;margin-top:14px}
.v3 .hero p.cta-note{color:#40534a}
.v3 .stats p.srcnote{padding:14px 0 6px;margin:0}

/* 2026-09-06: monthly report teaser on /teams */
.rteaser{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,72px);align-items:center}
.rt-card{display:block;text-decoration:none;color:var(--ink,#0f1f16);background:#fff;border:1px solid rgba(23,54,34,.14);border-radius:22px;padding:clamp(18px,2.4vw,28px);box-shadow:0 18px 50px rgba(23,54,34,.10);transform:rotate(-1deg);transition:transform .25s,box-shadow .25s}
.rt-card:hover{transform:rotate(0) translateY(-3px);box-shadow:0 26px 60px rgba(23,54,34,.16)}
.rt-head{display:flex;justify-content:space-between;gap:12px;font-family:var(--h);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--forest);padding-bottom:12px;border-bottom:2px solid var(--forest);margin-bottom:14px}
.rt-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rt-kpis div{background:#F5F5EE;border-radius:12px;padding:12px 12px 10px}
.rt-kpis small{display:block;font-size:11px;color:#40534a;line-height:1.3;min-height:2.6em}
.rt-kpis b{display:block;font-family:var(--h);font-weight:400;font-size:24px;line-height:1;color:var(--forest);margin-top:6px}
.rt-kpis i{display:block;font-style:normal;font-size:11.5px;color:#1f6b3a;margin-top:5px}
.rt-kpis .dk{background:var(--forest)}.rt-kpis .dk small{color:rgba(255,255,255,.72)}.rt-kpis .dk b{color:var(--green)}.rt-kpis .dk i{color:rgba(255,255,255,.85)}
.rt-heat{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:12px}
.rt-heat span{font-size:10.5px;padding:8px 4px;border-radius:7px;text-align:center;background:rgba(23,54,34,.06);color:var(--forest);line-height:1.2}
.rt-heat .weak{background:#f6d9c2}.rt-heat .mixed{background:#f3ebbd}.rt-heat .good{background:#D2FCE2}
.rt-foot{font-size:12.5px;color:#40534a;margin-top:14px;padding-top:12px;border-top:1px solid rgba(23,54,34,.12)}
.v3.light #report{background:var(--cream,#F5F5EE)}
@media(max-width:900px){.rteaser{grid-template-columns:1fr}.rt-card{transform:none}.rt-heat{grid-template-columns:repeat(3,1fr)}}

/* 2026-09-06: stats band padding was lost to .v3 .wrap (same specificity, later in file); the six reasons as cards */
.v3 .stats .wrap{padding-top:clamp(36px,4vw,48px);padding-bottom:clamp(36px,4vw,48px)}
.v3 .stats .wrap.srcnote,.v3 .stats p.srcnote{padding:0 5% 22px;margin-top:-14px}
.six{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.six-card{display:block;position:relative;text-decoration:none;color:inherit;background:#fff;border:1px solid rgba(23,54,34,.12);border-radius:20px;padding:clamp(22px,2.4vw,30px);min-height:220px;transition:transform .22s,box-shadow .22s,border-color .22s}
.six-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(23,54,34,.12);border-color:var(--green)}
.six-card:focus-visible{outline:3px solid var(--forest);outline-offset:3px}
.six-n{font-family:var(--h);font-size:13px;letter-spacing:.14em;color:var(--forest);background:var(--green);border-radius:8px;padding:5px 9px;display:inline-block;margin-bottom:18px}
.six-card h3{font-family:var(--h);font-weight:400;font-size:clamp(22px,2.2vw,28px);line-height:1.08;letter-spacing:-.02em;color:var(--forest);margin:0 0 12px}
.six-card p{font-size:15px;line-height:1.5;color:#2a3a31;margin:0}
.six-card::after{content:"\2192";position:absolute;right:22px;bottom:18px;font-size:18px;color:var(--forest);opacity:0;transform:translateX(-6px);transition:.22s}
.six-card:hover::after{opacity:1;transform:none}
@media(max-width:1000px){.six{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.six{grid-template-columns:1fr}.six-card{min-height:0}}

/* 2026-09-06: client logo wall on light grounds (white knockouts inverted), six-reasons icons, about story slot */
.logowall{margin-top:36px}
.logowall .lw-cap{display:block;font-family:var(--h);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:#5b6b61;margin-bottom:18px}
.logowall .lw-row{display:flex;flex-wrap:wrap;align-items:center;gap:22px 48px}
.logowall img{height:var(--lh,28px);width:auto;filter:brightness(0) invert(12%) sepia(30%) saturate(600%) hue-rotate(100deg);opacity:.72;transition:opacity .2s}
.logowall img.lg{height:44px}.logowall img.sm{height:14px}
.logowall img:hover{opacity:1}
#clients{padding:clamp(28px,4vw,44px) 0 0}
#clients .logowall{margin-top:0}
@media(max-width:700px){.logowall .lw-row{gap:16px 28px}.logowall img{height:calc(var(--lh,28px)*.72)}.logowall img.lg{height:32px}.logowall img.sm{height:10px}}
.six-card{padding-top:clamp(20px,2.2vw,26px)}
.six-i{position:absolute;right:20px;top:18px;width:44px;height:44px;color:var(--forest);opacity:.85}
.six-i svg{width:100%;height:100%}
.six-card:hover .six-i{color:#1f6b3a}
.slot.story{aspect-ratio:4/3;max-width:none}

/* 2026-09-07: home hero proof line + audience chips */
.hero-proof{display:flex;flex-wrap:wrap;gap:8px 26px;margin-top:22px;font-size:13.5px;color:#40534a}
.hero-proof b{font-family:var(--h);font-weight:400;color:var(--forest);font-size:15px}
.aud{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:30px;padding-top:22px;border-top:1px solid rgba(23,54,34,.14)}
.aud-cap{font-family:var(--h);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--forest);margin-right:6px}
.aud a{font-size:14px;color:var(--forest);text-decoration:none;background:#fff;border:1.5px solid rgba(23,54,34,.22);border-radius:99px;padding:10px 16px;transition:.18s}
.aud a:hover{border-color:var(--forest);background:var(--forest);color:#fff}
.aud a:focus-visible{outline:3px solid var(--green);outline-offset:2px}
@media(max-width:600px){.aud a{padding:9px 13px;font-size:13.5px}.hero-proof{gap:6px 18px}}
.v3 .hero p.hero-proof{font-size:13.5px;color:#40534a;margin-top:22px;max-width:none}
.v3 .hero p.hero-proof b{font-size:15.5px}

/* 2026-09-07: round 4 draft (v4.html): compact 2x2 doors, six names list, looser rhythm */
.doors4{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.d4{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid rgba(23,54,34,.12);border-radius:20px;padding:clamp(22px,2.6vw,32px);transition:transform .22s,box-shadow .22s,border-color .22s}
.d4:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(23,54,34,.12);border-color:var(--green)}
.d4 .idx{font-family:var(--h);font-size:12px;letter-spacing:.16em;color:var(--forest);display:block;margin-bottom:12px}
.d4 h3{font-family:var(--h);font-weight:400;font-size:clamp(22px,2.2vw,28px);line-height:1.1;letter-spacing:-.02em;color:var(--forest);margin:0 0 10px}
.d4 p{font-size:15.5px;line-height:1.5;color:#2a3a31;margin:0 0 16px;max-width:44ch}
.d4 .go{font-family:var(--h);font-size:14.5px;color:var(--forest);border-bottom:1px solid var(--green);padding-bottom:2px}
.six-names{columns:2;column-gap:32px;margin-top:28px}
.six-names li{break-inside:avoid;font-family:var(--h);font-size:16px;color:var(--forest);padding:10px 0;border-bottom:1px solid rgba(23,54,34,.12);list-style:none}
.v4 main > section,.home-r4 main > section{padding-top:clamp(64px,8vw,110px);padding-bottom:clamp(64px,8vw,110px)}
@media(max-width:760px){.doors4{grid-template-columns:1fr}.six-names{columns:1}}

@media(max-width:700px){.v3.light #proof .logos img{height:calc(var(--lh,30px)*.72)}}
