:root{--ink:#173c34;--paper:#f5f4ef;--muted:#647069;--line:#d7dbd1;--accent:#b9db74}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid #658f37;outline-offset:6px}.skip{position:absolute;left:20px;top:-80px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}header{padding:21px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.identity{font-family:Manrope,sans-serif;font-size:38px;font-weight:800;line-height:1}.identity span{color:#759650}nav{display:flex;gap:32px;font-size:14px}.nav-contact{font-size:14px;font-weight:600}.nav-contact span{margin-left:14px}.hero{padding:72px 5% 67px;display:grid;grid-template-columns:1.5fr 1fr;gap:50px;max-width:1600px;margin:auto}.eyebrow,.tiny,.section-label>span{font-size:11px;font-weight:600;letter-spacing:1.6px}.eyebrow{margin:0 0 32px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(54px,6.8vw,102px);font-weight:500;line-height:1.02;letter-spacing:-5px;margin-bottom:32px}em{font-family:Georgia,serif;font-weight:400}h1 em{color:#6c8067}.intro{max-width:510px;font-size:19px;color:#50635a;line-height:1.6}.actions{display:flex;align-items:center;gap:26px;margin-top:34px}.button{display:inline-flex;gap:22px;align-items:center;background:var(--ink);color:white;padding:16px 23px;border-radius:4px;font-size:14px;font-weight:500}.button:hover{background:#245747;text-decoration:none}.text-link{font-size:13px;font-weight:600}.hero-aside{display:flex;flex-direction:column;align-items:center;justify-content:center}.orbit{width:310px;height:310px;border:1px solid #b7c4b1;border-radius:50%;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#e1e9d8 0%,transparent 68%)}.orbit:before,.orbit:after{content:'';position:absolute;border:1px solid #c4cebd;border-radius:50%;inset:34px}.orbit:after{inset:68px}.orbit-inner{width:110px;height:110px;border:1px solid #c4cebd;border-radius:50%;position:absolute}.orbit-caption{text-align:center;z-index:1;font-size:11px;letter-spacing:2px;line-height:2}.orbit-dot{position:absolute;width:17px;height:17px;border-radius:50%;background:#5e8053;right:25px;top:64px;box-shadow:0 0 0 7px var(--paper)}.aside-note{margin-top:30px;text-align:center}.aside-note p{font-size:13px;color:var(--muted);margin:9px 0 0}.credibility{display:flex;align-items:center;gap:55px;margin:0 5%;padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.credibility>p{font-size:10px;letter-spacing:1.4px;line-height:1.8;max-width:145px;margin:0}.company{font-size:30px;font-weight:600}.ledger{letter-spacing:3px;font-size:23px}.google{font-weight:500;letter-spacing:-1px}.google span{color:#50776b}.current{border-left:1px solid var(--line);padding-left:35px;margin-left:auto}.current strong{display:block;font-size:16px;font-weight:500}.current strong span{color:var(--muted);padding:0 7px}.section{padding:95px 5%;display:grid;grid-template-columns:1fr 2fr;gap:65px;border-bottom:1px solid var(--line)}.section-label p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:25px}h2{font-size:clamp(34px,4vw,55px);line-height:1.13;letter-spacing:-2px;font-weight:500;margin-bottom:32px}.about>div:last-child{max-width:750px}.about p{color:var(--muted);max-width:650px}.about .large-copy{font-size:23px;color:var(--ink);line-height:1.45}.experience-row{padding:27px 0 35px;border-top:1px solid var(--line)}.row-top{display:flex;justify-content:space-between;align-items:center}.row-top h3{font-size:33px;font-weight:600;letter-spacing:-1px;margin:0}.pill{font-size:9px;letter-spacing:1px;border:1px solid var(--line);padding:4px 10px;border-radius:20px}h4{font-weight:500;font-size:15px;margin:7px 0 20px}.experience-row p{max-width:690px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tags span{font-size:11px;background:#e9ece2;padding:5px 10px;border-radius:3px}.consulting-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;border-top:1px solid var(--line);padding-top:30px}.consulting-grid h3{font-size:23px;margin:12px 0}.consulting-grid p{font-size:14px;color:var(--muted)}.expertise{background:var(--ink);color:var(--paper);padding:85px 5%}.expertise-heading{max-width:800px}.expertise-heading h2{font-size:clamp(35px,4.4vw,61px)}.expertise-heading em{color:var(--accent)}.expertise-heading p:last-child{color:#bdcbc1}.expertise-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:55px}.expertise-grid article{border-top:1px solid #476056;padding-top:22px}.expertise-grid article>span{font-size:11px;color:var(--accent)}.expertise-grid h3{font-size:21px;line-height:1.4;font-weight:500;margin:25px 0 17px}.expertise-grid p{font-size:14px;color:#bdcbc1}.resource{display:block;border-top:1px solid var(--line);padding:27px 48px 24px 0;position:relative}.resource:hover{text-decoration:none;background:#eceee5}.resource h3{font-size:23px;font-weight:500;margin:10px 0}.resource p{font-size:14px;max-width:580px;color:var(--muted);margin-bottom:0}.resource-arrow{position:absolute;right:10px;top:35px;font-size:26px}.contact{padding:82px 5%;background:#e5eadc;text-align:center}.contact h2{font-size:clamp(40px,5.7vw,76px)}.contact>p:not(.eyebrow){color:#526457;max-width:540px;margin:0 auto 28px}.contact .email{font-size:13px!important;margin-top:25px!important}.email a{text-decoration:underline}footer{padding:27px 5%;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}@media(min-width:1600px){.section,.expertise,.contact,header,footer{padding-left:calc((100vw - 1440px)/2);padding-right:calc((100vw - 1440px)/2)}}@media(max-width:950px){h1{letter-spacing:-3px}.orbit{width:230px;height:230px}.credibility{gap:25px}.current{padding-left:20px}.section{grid-template-columns:1fr 2.3fr;gap:35px}.expertise-grid{grid-template-columns:repeat(2,1fr)}.actions{align-items:flex-start;flex-direction:column;gap:18px}}@media(max-width:640px){header{padding:17px 6%}nav{display:none}.nav-contact{font-size:12px}.hero{padding:47px 6% 42px;grid-template-columns:1fr;gap:20px}h1{font-size:57px;letter-spacing:-3px}.hero-aside{display:none}.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:25px}.intro{font-size:17px}.actions{gap:20px}.credibility{margin:0 6%;gap:24px;flex-wrap:wrap;padding:24px 0}.credibility>p{width:100%;max-width:none}.current{width:100%;padding:14px 0 0;border-left:0;border-top:1px solid var(--line);margin:0}.section{padding:50px 6%;grid-template-columns:1fr;gap:27px}.section-label p{display:none}h2{font-size:36px;letter-spacing:-1.4px}.about .large-copy{font-size:20px}.consulting-grid{grid-template-columns:1fr;gap:18px}.expertise{padding:50px 6%}.expertise-grid{grid-template-columns:1fr;gap:20px;margin-top:35px}.expertise-grid h3{margin:13px 0}.contact{padding:55px 6%}.contact h2{font-size:44px}.button{padding:15px 18px;font-size:13px}.email a{display:block}footer{padding:25px 6%;flex-wrap:wrap}footer span:nth-child(2){order:3;width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Mobile reading, accessible discovery and a small Bitcoin surprise. */
.mobile-nav{display:none}button,summary,a{-webkit-tap-highlight-color:transparent}summary:focus-visible{outline:3px solid #658f37;outline-offset:6px}main>section>div{min-width:0}.personal .large-copy{font-size:23px;line-height:1.5}.personal p{max-width:650px}.personal>div:last-child>p:not(.large-copy){color:var(--muted)}.curiosity{margin-top:32px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.curiosity summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none;padding:17px 20px;min-height:60px}.curiosity summary::-webkit-details-marker{display:none}.bitcoin-mark{display:grid;place-items:center;border:1px solid #a5b498;border-radius:50%;width:36px;height:36px;font-size:23px;color:var(--ink);flex-shrink:0;transition:color .25s,border-color .25s,transform .3s}.curiosity-hint{font-size:13px}.curiosity-plus{margin-left:auto;font-size:22px}.curiosity[open]{border-color:#b16a24}.curiosity[open] .bitcoin-mark{color:#975014;border-color:#b16a24;transform:rotate(-12deg)}.curiosity[open] .curiosity-plus{transform:rotate(45deg)}.curiosity-content{border-top:1px solid #d8c6b0;background:#f1e8dc;padding:30px}.curiosity-content .tiny{color:#865022}.curiosity-content h3{font-size:28px;font-weight:500;line-height:1.25;letter-spacing:-.8px}.curiosity-content p{font-size:15px}.signature{font-family:Georgia,serif;font-style:italic;font-size:23px!important;margin-bottom:0}.idea-chain{display:flex;align-items:center;margin:27px 0;gap:9px}.idea-chain span{padding:9px 12px;border:1px solid #be9470;border-radius:4px;font-size:11px}.idea-chain i{height:1px;background:#be9470;flex:1}.curiosity-wave{position:fixed;inset:0;pointer-events:none;z-index:20;border:0 solid #c47829;opacity:0}.curiosity-wave.play{animation:curiosity-wave 950ms ease-out}.curiosity[open] .idea-chain span{animation:block-arrives 450ms both}.curiosity[open] .idea-chain span:nth-of-type(2){animation-delay:120ms}.curiosity[open] .idea-chain span:nth-of-type(3){animation-delay:240ms}@keyframes curiosity-wave{0%{border-width:0;opacity:0}25%{border-width:9px;opacity:.65}100%{border-width:0;opacity:0}}@keyframes block-arrives{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:950px){nav{gap:20px}.hero{gap:24px}h1{font-size:clamp(48px,7vw,75px);letter-spacing:-2.6px}.hero-main{min-width:0}.credibility{flex-wrap:wrap}.current{margin-left:0}}
@media(max-width:640px){html{scroll-padding-top:20px}header{flex-wrap:wrap;gap:15px}.identity{font-size:34px}.nav-contact{min-height:44px;display:flex;align-items:center}.nav-contact span{margin-left:8px}.mobile-nav{display:flex;width:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:9px;font-size:12px}.mobile-nav a{display:flex;align-items:center;min-height:44px}.hero{padding-top:36px}h1{font-size:clamp(43px,11.9vw,70px);line-height:1.06;letter-spacing:-2.4px}h1 em{display:inline}.eyebrow{line-height:1.7}.intro{line-height:1.65}.actions{align-items:stretch}.actions .button{justify-content:space-between}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}.actions .text-link{align-self:flex-start}.button{min-height:48px}.section{padding-top:48px;padding-bottom:48px}.section-label>span{font-size:10px;letter-spacing:1.2px}h2{font-size:clamp(30px,8.4vw,40px)}.contact h2{font-size:clamp(33px,9.3vw,46px)}.expertise-heading h2{font-size:clamp(30px,8.4vw,40px)}.row-top h3{font-size:29px}.resource{padding-right:34px}.resource h3{font-size:21px}.resource-arrow{right:0}.contact .button{width:100%;max-width:400px;justify-content:space-between;text-align:left}.email a{min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}footer a{min-height:44px;display:flex;align-items:center}.personal .large-copy{font-size:20px}.curiosity-content{padding:24px 18px}.curiosity-content h3{font-size:26px}.curiosity summary{padding:14px}.curiosity-hint{font-size:12px}.idea-chain{gap:6px}.idea-chain span{padding:8px 7px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* Evidence, exploration and editorial case pages. */
.focused-hero{grid-template-columns:1.65fr 1fr}.focused-hero h1{font-size:clamp(43px,4.5vw,69px);line-height:1.1;letter-spacing:-2.7px;max-width:900px}.case-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0}.case-preview summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;cursor:pointer;list-style:none;font-size:14px;font-weight:600;padding:12px 0}.case-preview summary::-webkit-details-marker{display:none}.case-arrow{font-size:23px;transition:transform .22s}.case-preview[open] .case-arrow{transform:rotate(90deg)}.case-reveal{padding:0 0 12px}.case-preview[open] .case-reveal{animation:case-unfold .28s ease-out}.case-path{display:flex;align-items:center;gap:10px;margin:12px 0 22px;font-size:11px}.case-path span{padding:6px 10px;border:1px solid #b0be9e;border-radius:4px}.case-path i{height:1px;flex:1;background:#b0be9e}.case-preview[open] .case-path i{animation:connection .5s ease-out}.volunteer-projects{margin-top:32px}.project-link{display:flex;gap:18px;align-items:center;border-top:1px solid var(--line);padding:18px 0;min-height:56px}.project-link strong{font-size:15px;min-width:110px}.project-link span{font-size:13px;color:var(--muted)}.project-link span:last-child{margin-left:auto}.project-link:hover{color:#6b823d}.case-page{max-width:1100px;margin:0 auto;padding:70px 5%}.case-intro{padding-bottom:35px;border-bottom:1px solid var(--line)}.case-intro h1{font-size:clamp(42px,5.5vw,74px);line-height:1.08;letter-spacing:-2.8px}.case-intro .intro{max-width:760px}.case-byline{font-size:13px;color:var(--muted)}.case-block{display:grid;grid-template-columns:70px 1fr;gap:35px;padding:38px 0;border-bottom:1px solid var(--line)}.case-block .tiny{padding-top:6px}.case-block h2,.case-references h2{font-size:28px;line-height:1.25;letter-spacing:-.8px;margin-bottom:16px}.case-block p{max-width:780px;margin-bottom:0;color:#50635a;font-size:18px;line-height:1.8}.case-references{padding:40px 0}.case-references>p{font-size:14px;color:var(--muted);max-width:700px}.case-next{display:flex;gap:30px;align-items:center;justify-content:space-between;padding:20px 0}.text-link{gap:8px}header .text-link{display:inline-flex;align-items:center;min-height:44px}@keyframes case-unfold{from{opacity:.2;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes connection{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:950px){.focused-hero{grid-template-columns:1.7fr 1fr}.focused-hero h1{font-size:clamp(40px,5.8vw,59px)}}@media(max-width:640px){.focused-hero{grid-template-columns:1fr}.focused-hero h1{font-size:clamp(37px,10vw,49px);letter-spacing:-1.8px;line-height:1.12}.project-link{flex-wrap:wrap;gap:6px 16px}.project-link strong{min-width:0}.project-link span:not(:last-child){flex-basis:100%;order:3;line-height:1.6}.case-page{padding:38px 6%}.case-intro h1{font-size:clamp(37px,10vw,48px);letter-spacing:-1.8px}.case-block{grid-template-columns:1fr;gap:13px;padding:28px 0}.case-block p{font-size:16px;line-height:1.75}.case-block h2,.case-references h2{font-size:25px}.case-next{flex-direction:column;align-items:stretch}.case-next .button{justify-content:space-between}.case-path{gap:6px}.case-path span{padding:6px 8px}header .text-link{font-size:12px}}
@media(prefers-reduced-motion:reduce){.case-reveal,.case-path i,.case-arrow{animation:none!important;transition:none!important}}
