@font-face{font-family:Manrope;src:url('/portfolio-assets/manrope-light.ttf') format('truetype');font-weight:300;font-display:swap}@font-face{font-family:Manrope;src:url('/portfolio-assets/manrope-regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('/portfolio-assets/manrope-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--paper:#faf9f7;--ink:#161616;--muted:#696969;--line:#d0cfcd;--wash:#eeedeb;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid #222;outline-offset:6px}a:hover{text-decoration:none}p,h1,h2,h3,figure{margin:0}h1,h2,h3{font-weight:400}h2{font-size:clamp(27px,3.1vw,44px);line-height:1.17;letter-spacing:-1.65px}h3{font-size:20px;line-height:1.3;letter-spacing:-.55px}.wrap{width:calc(100% - 112px);max-width:var(--max);margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;background:#111;color:#fff;padding:12px;z-index:30}.skip:focus{top:12px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:34px}.wordmark{font-size:24px;letter-spacing:-1px;font-weight:600;white-space:nowrap}.site-header nav,.site-footer nav{display:flex;gap:34px;font-size:13px}.site-header nav a,.site-footer nav a{padding:8px 0}.site-header nav a:hover,.site-footer nav a:hover,.email-link:hover{text-decoration:underline;text-underline-offset:5px}.header-contact{font-size:12px}.header-contact span{margin-left:14px}.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:end;border-bottom:1px solid var(--line);gap:4px;padding-left:100px}.hero-rail{position:absolute;left:0;top:6px;bottom:55px;width:55px;border-right:1px solid var(--line);writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:3.5px;padding-left:20px;text-align:right;color:var(--muted)}.hero-copy{padding:12px 0 60px;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:3.4px;font-size:10px;line-height:1.5;color:#5f5f5f;margin-bottom:12px}.hero .eyebrow{margin-bottom:20px;letter-spacing:4px}.hero h1{font-size:clamp(100px,12vw,180px);font-weight:300;letter-spacing:-.085em;line-height:.84;margin-left:-10px;margin-bottom:34px}.hero-heading{font-size:clamp(23px,2.8vw,40px);line-height:1.18;letter-spacing:-1.6px;max-width:600px}.hero-intro{font-size:16px;line-height:1.5;color:var(--muted);max-width:540px;margin-top:16px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 23px;border:1px solid #171717;background:#171717;color:#fff;border-radius:4px;font-size:13px;line-height:1.4;transition:background .2s,transform .2s}.button:hover{background:#353535;transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border-color:#aaa}.button.secondary:hover{background:#eae9e7}.portrait{position:relative;overflow:hidden;aspect-ratio:650/662;width:111%;margin-left:-7%;mix-blend-mode:multiply;align-self:end;pointer-events:none}.portrait img{position:absolute;max-width:none;width:236.3077%;height:auto;left:-123.0769%;top:-12.0846%;display:block}.section{padding-block:52px;border-bottom:1px solid var(--line)}.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px;margin-bottom:24px}.stats>div{padding-inline:24px;border-left:1px solid var(--line)}.stats>div:first-child{border:0;padding-left:0}.stats strong{display:block;font-weight:300;letter-spacing:-3px;font-size:clamp(35px,4.4vw,64px);line-height:1.15;white-space:nowrap}.stats p{color:#555;font-size:18px;margin-top:10px}.note{color:#747474;font-size:11px;line-height:1.6}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:40px}.section-heading>p{color:var(--muted);font-size:14px}.capabilities{display:grid;grid-template-columns:repeat(4,1fr);row-gap:30px}.capability{position:relative;border-left:1px solid var(--line);padding:0 26px}.capability:nth-child(4n + 1){border-left:0;padding-left:0}.number{font-family:monospace;color:#777;font-size:11px;letter-spacing:2px;display:block;margin-bottom:20px}.capability summary{display:block;list-style:none;cursor:pointer;position:relative;padding-bottom:20px;height:100%;min-height:160px}.capability summary::-webkit-details-marker{display:none}.capability h3{font-size:18px;margin-bottom:10px}.cap-description{display:block;color:var(--muted);font-size:15px;line-height:1.55;max-width:220px}.expand{position:absolute;top:-6px;right:0;color:#858585;font-size:20px}.capability[open] .expand{transform:rotate(45deg)}.detail-copy{padding-top:10px;font-size:13px;color:#555}.work>h2{margin-bottom:38px}.featured-project{display:grid;grid-template-columns:1.08fr 1fr;gap:60px;align-items:center}.dashboard{display:flex;background:#191919;color:#d7d7d7;border:1px solid #333;border-radius:5px;min-height:360px;font:11px/1.5 Manrope,Arial;padding:20px;box-shadow:0 14px 30px #00000008}.dash-side{display:flex;flex-direction:column;gap:12px;width:25%;font-size:9px;border-right:1px solid #333;padding-right:16px}.dash-side b{font-size:20px;color:#fff;margin-bottom:16px;letter-spacing:-1px}.dash-side span{padding:5px 7px}.dash-side .active{background:#3b3b3b;border-radius:3px}.dash-main{padding-left:20px;flex:1;min-width:0}.dash-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.dash-top span{font-size:8px;color:#999}.chart{margin:25px 0 10px}.chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:#ffffff10;stroke-width:1}.chart-line{stroke:#ddd;stroke-width:1.6;fill:none}.dash-metrics{display:flex;gap:10px;margin-bottom:18px}.dash-metrics>div{background:#ffffff06;border:1px solid #ffffff0b;border-radius:4px;padding:12px;flex:1}.dash-metrics small{display:block;font-size:8px;color:#999}.dash-metrics b{font-weight:400;font-size:12px}.dash-table>div{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff0c;padding:8px 0;font-size:9px}.dash-table>div:first-child{color:#999}.featured-project figcaption{font-size:10px;color:#777;margin-top:10px}.project-name{font-weight:600;font-size:16px;margin-bottom:4px}.project-copy h3{font-size:clamp(28px,3vw,42px);line-height:1.14;letter-spacing:-1.5px}.project-copy>p:not(.project-name):not(.note){color:var(--muted);font-size:18px;line-height:1.5;margin-top:16px}.project-stats{display:grid;grid-template-columns:1fr 1fr;margin:35px 0 22px;gap:20px}.project-stats>div+div{border-left:1px solid var(--line);padding-left:25px}.project-stats strong{font-weight:300;letter-spacing:-2px;font-size:clamp(30px,3.4vw,48px);display:block;white-space:nowrap}.project-stats span{font-size:12px;line-height:1.5;color:#666;display:block;max-width:150px}.project-details{margin-top:18px;font-size:12px}.project-details summary,.scenario-grid summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);width:100%}.project-details p{color:var(--muted);padding-top:12px;font-size:13px}.project-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}.small-project{display:flex;gap:24px;padding:0 30px}.small-project:first-child{padding-left:0;border-right:1px solid var(--line)}.small-project h3{font-size:18px}.small-project p:not(.project-name){color:var(--muted);font-size:15px;margin-top:6px;max-width:370px}.small-project p.note{font-size:11px}.project-icon{font-size:28px;display:flex;justify-content:center;align-items:center;flex:0 0 58px;height:64px;background:#eeedeb;border-radius:5px}.text-link{display:inline-flex;align-items:center;gap:30px;font-size:13px;padding-block:8px;border-bottom:1px solid #777;margin-top:10px}.text-link:hover{border-color:#111}.product-strip{display:flex;align-items:center;gap:38px;border-top:1px solid var(--line);margin-top:36px;padding-top:26px}.product-strip>div{margin-right:auto}.product-strip h3{font-size:22px}.product-strip .eyebrow{font-size:9px;margin-bottom:6px}.product-strip .text-link{margin:0}.opportunities{padding-block:52px;background:var(--wash);margin-top:-1px}.opportunities h2{margin-bottom:10px}.muted{color:var(--muted);font-size:15px}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:30px 0 24px}.scenario-grid article+article{border-left:1px solid #c9c8c6;padding-left:36px}.scenario-grid ul{list-style:none;padding:0;margin:12px 0 14px;color:#666;font-size:15px}.scenario-grid li+li{margin-top:9px}.scenario-grid strong{font-weight:400;color:#333}.scenario-grid details{font-size:12px}.scenario-grid details p{padding-top:12px;color:#666;line-height:1.7}.about-intro{font-size:20px;line-height:1.5;color:#666;max-width:1040px;margin-top:16px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:38px}.principles span{display:flex;align-items:center;gap:24px;font-size:14px}.principles span+span{border-left:1px solid var(--line);padding-left:30px}.principles i{font-size:24px;font-style:normal}.mobile-break{display:none}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;gap:30px}.approach-grid article+article{border-left:1px solid var(--line);padding-left:30px}.approach-grid .number{margin-bottom:14px}.approach-grid h3{font-size:20px;margin-bottom:10px}.approach-grid p{font-size:15px;color:var(--muted);max-width:310px}.contact{padding-block:64px}.contact h2{font-size:clamp(45px,5vw,72px);letter-spacing:-3px;line-height:1.04}.contact>p{margin:20px 0 22px;color:#666;font-size:18px}.email-link{font-size:13px;margin-left:26px;display:inline-block;padding:15px 0}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:28px 40px}.site-footer .wordmark{font-size:18px}.site-footer p,.site-footer>span{font-size:10px;color:#777}.site-footer nav{font-size:11px;gap:24px}.site-footer .underpin-measurement-control{flex-basis:auto}
@media(min-width:1600px){.hero h1{font-size:180px}.hero-heading{font-size:40px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header{padding-inline:0}.hero{padding-left:65px}.hero-rail{width:35px;padding-left:10px}.hero h1{font-size:12.5vw}.hero-heading{font-size:28px}.hero-copy{padding-bottom:38px}.hero-intro{font-size:14px}.hero .button{font-size:11px;padding:12px 16px;gap:10px}.portrait{width:118%;margin-left:-12%}.featured-project{gap:30px}.dashboard{padding:14px;min-height:300px}.project-stats{gap:14px}.capability{padding-inline:18px}.cap-description{font-size:13px}.capability h3{font-size:16px}.stats p{font-size:15px}.principles span{font-size:12px;gap:14px}.small-project{gap:16px;padding-right:10px}.project-icon{flex-basis:44px;height:50px}.project-copy>p:not(.project-name):not(.note){font-size:16px}.product-strip{gap:24px}}
@media(max-width:760px){html{scroll-padding-top:16px}.wrap{width:calc(100% - 40px)}.site-header{height:auto;min-height:96px;flex-wrap:wrap;gap:14px;padding-block:20px}.site-header .wordmark{font-size:22px}.site-header nav{order:3;width:100%;justify-content:space-between;gap:18px;font-size:12px}.header-contact{font-size:11px}.hero{grid-template-columns:1fr;padding:14px 0 0;gap:0}.hero-rail{display:none}.hero-copy{padding:10px 0 16px}.hero .eyebrow{font-size:9px;letter-spacing:3px;margin-bottom:20px}.hero h1{font-size:clamp(100px,27vw,180px);letter-spacing:-.08em;margin-left:-5px;margin-bottom:28px}.hero-heading{font-size:30px;letter-spacing:-1.2px;max-width:490px}.desktop-break{display:none}.hero-intro{font-size:15px;max-width:450px}.hero .actions{margin-top:22px}.hero .button{font-size:12px;padding:13px 19px;min-height:46px}.portrait{width:88%;max-width:450px;margin:0 0 0 auto;aspect-ratio:650/620}.portrait img{top:-12.9032%}.section{padding-block:36px}h2{font-size:30px;letter-spacing:-1.2px}.stats{grid-template-columns:1fr;gap:23px;margin:28px 0 22px}.stats>div,.stats>div:first-child{padding:0 0 18px;border:0;border-bottom:1px solid #ddd;display:flex;align-items:center;gap:28px}.stats strong{font-size:48px;letter-spacing:-2px;min-width:53%}.stats p{font-size:13px;margin:0;max-width:140px}.stats>div:last-child{border:0;padding-bottom:0}.note{font-size:10px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:14px;font-size:13px}.section-heading br{display:none}.capabilities{grid-template-columns:1fr 1fr;gap:26px 0}.capability{padding:0 0 0 18px}.capability:nth-child(odd){padding-left:0;padding-right:18px;border:0}.capability:nth-child(even){border-left:1px solid var(--line)}.capability summary{min-height:150px}.capability h3{font-size:16px}.cap-description{font-size:13px}.number{margin-bottom:15px}.expand{right:4px}.capability:nth-child(odd) .expand{right:0}.featured-project{grid-template-columns:1fr;gap:26px}.dashboard{min-height:290px;padding:16px}.dash-side{font-size:8px;gap:7px}.dash-main{padding-left:14px}.dash-top{font-size:9px}.project-copy h3{font-size:34px}.project-copy h3 br{display:none}.project-stats strong{font-size:43px}.project-stats{margin:25px 0 18px}.project-stats span{font-size:12px}.project-grid{grid-template-columns:1fr;gap:24px}.small-project,.small-project:first-child{padding:0;border:0}.small-project+.small-project{border-top:1px solid var(--line);padding-top:24px}.small-project p:not(.project-name){font-size:14px}.product-strip{flex-wrap:wrap;gap:15px 30px}.product-strip>div{width:100%}.opportunities{padding-block:38px}.scenario-grid{grid-template-columns:1fr;gap:28px}.scenario-grid article+article{border-left:0;border-top:1px solid #ccc;padding-left:0;padding-top:24px}.scenario-grid ul{font-size:14px}.opportunities>.wrap>p.muted{font-size:13px}.about-intro{font-size:17px}.principles{grid-template-columns:1fr;gap:18px;margin-top:25px}.principles span,.principles span+span{border:0;padding:0;font-size:14px;gap:20px}.principles i{width:22px}.mobile-break{display:block}.approach-grid{grid-template-columns:1fr;gap:24px}.approach-grid article+article{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.approach-grid p{max-width:none;font-size:14px}.approach-grid .number{margin-bottom:8px}.contact h2{font-size:54px;letter-spacing:-2.4px}.contact>p{font-size:16px;max-width:340px}.contact>.button{font-size:12px}.email-link{display:block;margin:14px 0 0;font-size:12px}.site-footer{flex-wrap:wrap;gap:22px}.site-footer nav{order:3;width:100%;justify-content:space-between;gap:16px}.site-footer>span{margin-left:auto}.site-footer .wordmark{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Neutralise the source image's warm paper so white blends into the page. */
.portrait img{filter:grayscale(1) brightness(1.045)}
.logo-item{position:relative;overflow:hidden}.logo-item img[alt="GOV.UK"]{width:195px;height:130px;max-width:none;flex-shrink:0;filter:grayscale(1) invert(1) contrast(5)}.logo-item:has(img[alt="Calib3r"]) img{position:absolute;width:564px;height:95.5px;max-width:none;top:-14px;filter:grayscale(1) invert(1) contrast(5)}.logo-item img[alt="Pavia"]{width:48px;height:48px}.logo-item:has(img[alt="Pavia"])::after{content:'Pavia';font-size:24px;font-weight:600}.platform-row .logo-item img[alt="TradingView"]{width:150px;height:150px;max-width:none;flex-shrink:0;filter:grayscale(1) invert(1)}.platform-row .logo-item img[alt="NinjaTrader"]{width:145px;height:145px;max-width:none;flex-shrink:0;filter:grayscale(1) contrast(5)}.platform-row .logo-item img[alt="Swift"]{width:105px;height:auto;max-width:none;flex-shrink:0}

.collaborators .section-heading{align-items:center;margin-bottom:28px}.carousel-toggle{display:inline-flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:3px;padding:10px 14px;color:#555;background:transparent;font:12px Manrope,Arial;cursor:pointer;white-space:nowrap}.carousel-toggle:hover{background:var(--wash)}.carousel-toggle:focus-visible,.logo-window:focus-visible{outline:2px solid #222;outline-offset:5px}.logo-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);padding-block:20px}.logo-track{display:flex;width:max-content;animation:collaborator-scroll 76s linear infinite}.logo-group{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex-shrink:0}.logo-item{width:220px;height:90px;display:flex;align-items:center;justify-content:center;padding:12px 30px;gap:10px;flex-shrink:0;font-size:25px;font-weight:600;letter-spacing:-1px;white-space:nowrap}.logo-item img{width:100%;height:58px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}.logo-item.rose img{width:42px;height:42px}.logo-item.ai-acquisition img{filter:grayscale(1) invert(1)}.collaborators.is-paused .logo-track{animation-play-state:paused}.platform-row{display:flex;align-items:center;gap:35px;margin-top:24px;padding-top:26px;border-top:1px solid var(--line)}.platform-row>.eyebrow{margin:0;white-space:nowrap;font-size:9px}.platform-row ul{list-style:none;display:flex;align-items:center;gap:30px;padding:0;margin:0;flex:1;justify-content:space-around}.platform-row .logo-item{height:50px;width:180px;padding:6px 15px}.platform-row img{height:35px;opacity:.75}@keyframes collaborator-scroll{to{transform:translateX(-50%)}}@media(max-width:760px){.collaborators .section-heading{display:flex;flex-wrap:wrap;gap:18px}.collaborators h2{font-size:28px}.carousel-toggle{font-size:11px;padding:8px 12px}.logo-item{width:190px;height:80px;padding-inline:28px}.logo-window{padding-block:12px}.platform-row{display:block;margin-top:18px;padding-top:22px}.platform-row>.eyebrow{margin-bottom:18px}.platform-row ul{gap:8px;justify-content:space-between}.platform-row .logo-item{width:30%;height:42px;padding:0}.platform-row img{height:30px}}@media(prefers-reduced-motion:reduce){.logo-track{animation:none}.logo-window{overflow-x:auto;mask-image:none}.logo-group[aria-hidden="true"]{display:none}.carousel-toggle{display:none}}


.logo-track,.logo-group,.logo-item{background:var(--paper)}


.platform-row .logo-item{height:76px}@media(max-width:760px){.platform-row .logo-item{height:64px}.platform-row .logo-item img[alt='NinjaTrader']{width:110px;height:110px}.platform-row .logo-item img[alt='TradingView']{width:120px;height:120px}.platform-row .logo-item img[alt='Swift']{width:85px}}


/* Both logo rows loop; the platform lane travels in the opposite direction. */
.platform-window{flex:1;min-width:0;padding-block:0}.platform-track{animation-duration:36s;animation-direction:reverse}.platform-row .logo-group{flex:0 0 auto;gap:0;justify-content:flex-start}.platform-row .logo-item{width:260px;flex:0 0 260px}@media(max-width:760px){.platform-row .logo-item{width:190px;flex-basis:190px}}@media(prefers-reduced-motion:reduce){.platform-track{animation:none}}




.logo-item.official-mark img{filter:brightness(0);object-fit:contain;max-width:180px;max-height:64px}
@media(min-width:761px) and (max-width:1000px){.stats{grid-template-columns:repeat(2,1fr);gap:28px 0}.stats>div:nth-child(3){border-left:0;padding-left:0}}

.logo-item.symbol-mark{gap:10px}.logo-item.symbol-mark img{width:38px;height:42px}.logo-item.symbol-mark span{font-size:22px}

.logo-item.zcash img{filter:grayscale(1)}

.balanced-lane .logo-track{animation-duration:44s}.balanced-lane .reverse-lane{animation-direction:reverse}.balanced-lane+.balanced-lane{border-top:1px solid var(--line);margin-top:8px}.balanced-lane .logo-item{flex:0 0 220px;width:220px;height:100px}.balanced-lane .logo-item img[alt="TradingView"]{width:150px;height:150px;max-width:none;flex-shrink:0;filter:grayscale(1) invert(1)}.balanced-lane .logo-item img[alt="NinjaTrader"]{width:110px;height:110px;max-width:none;flex-shrink:0;filter:grayscale(1) contrast(5)}.balanced-lane .logo-item img[alt="Swift"]{width:105px;height:auto;max-width:none;flex-shrink:0}@media(max-width:760px){.balanced-lane .logo-item{width:190px;flex-basis:190px;height:80px}.balanced-lane .logo-track{animation-duration:38s}}
