@font-face{font-family:Geist;src:url(/fonts/geist-latin.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-latin.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin.woff2)format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}:root{--bg:#000;--fg:#fff;--defocus:#3d3d3d;--defocus-near:#8a8a8a;--defocus-mid:#5a5a5a;--paper:var(--bg);--paper-dim:#f2f2f2;--ink:var(--fg);--night:#000;--night-raised:#0d0d0d;--night-text:#fff;--muted:var(--defocus);--display:"Archivo", "Arial Narrow", sans-serif;--text:"Geist", "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono", ui-monospace, monospace;--gutter:clamp(1.25rem, 3.6vw, 4.5rem);--type-hero:clamp(6rem, 22vw, 27rem);--type-display-xl:clamp(4.25rem, 10vw, 12rem);--type-display-l:clamp(3.25rem, 10vw, 12rem);--type-display-m:clamp(3rem, 6vw, 6rem);--type-statement:clamp(1.9rem, 2.9vw, 3.35rem);--label-size:.66rem;--label-tracking:.05em;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.76, 0, .24, 1)}*{box-sizing:border-box;margin:0}html{scroll-behavior:auto;background:#000}body{min-width:20rem;color:var(--fg);font-family:var(--text);-webkit-font-smoothing:antialiased;text-rendering:geometricprecision;transition:background-color .6s var(--ease-out), color .6s var(--ease-out);background:0 0;font-size:clamp(.95rem,.9rem + .18vw,1.05rem);line-height:1.45;overflow-x:clip}button,input,textarea{font:inherit}a{color:inherit}::selection{background:var(--ink);color:var(--paper)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.meta{color:var(--fg);font-family:var(--text);letter-spacing:.005em;text-transform:uppercase;flex-wrap:wrap;gap:.2em 1em;font-size:clamp(.85rem,.78rem + .3vw,1.1rem);font-weight:600;line-height:1.25;display:flex}.meta-subject{white-space:nowrap}.meta-fact{color:var(--defocus-near);white-space:nowrap}.mask{overflow:hidden}.mask-inner{display:inline-block}.intro-curtain{z-index:200;background:var(--night);transform-origin:top;position:fixed;inset:0}.site-header{z-index:20;padding:calc(env(safe-area-inset-top) + 1.1rem) var(--gutter) 1rem;color:#fff;font-family:var(--mono);font-size:var(--label-size);letter-spacing:var(--label-tracking);mix-blend-mode:difference;place-items:center end;line-height:1;display:grid;position:fixed;inset:0 0 auto}.wordmark{opacity:0;font-family:var(--display);letter-spacing:-.05em;justify-self:end;font-size:1.55rem;font-weight:900;font-stretch:112.5%;line-height:.8;text-decoration:none}.clock-icon{width:.8rem;height:.8rem}.roll{vertical-align:top;height:1lh;display:inline-block;overflow:hidden}.roll-stack{transition:translate .5s var(--ease-out);display:block}.roll:hover .roll-stack,a:focus-visible .roll-stack{translate:0 -50%}.roll-stack>span{display:block}.hero{--bg:#fff;--fg:#000;--ink:#000;--defocus:#c9c9c9;--defocus-near:#6a6a6a;color:var(--fg);min-height:100svh;padding:calc(env(safe-area-inset-top) + 4rem) clamp(.75rem, 1.6vw, 1.6rem) 1.5rem;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#fff;display:grid;position:relative;overflow:hidden}.hero-name{z-index:2;width:calc(100% + .6vw);color:var(--ink);font-family:var(--display);letter-spacing:-.038em;white-space:nowrap;align-self:center;justify-items:start;row-gap:0;margin-inline:-.3vw;font-weight:875;font-stretch:112.5%;line-height:.74;display:grid;position:relative}.hero-line-offset{justify-self:end}.hero-meta{right:var(--gutter);z-index:4;position:absolute;bottom:clamp(2.2rem,6vh,4rem)}.hero-cue{z-index:4;width:1rem;color:var(--fg);animation:hero-cue-nudge 2.4s var(--ease-in-out) infinite;position:absolute;bottom:clamp(2.2rem,6vh,4rem);left:50%;translate:-50%}.hero-cue svg{width:100%;display:block}@keyframes hero-cue-nudge{0%,to{translate:-50%}50%{translate:-50% .4rem}}.hero-line{font-size:var(--type-hero);display:block;overflow:hidden}.hero-line .letter{transform-origin:20% 90%;display:inline-block}.hero-metal{z-index:3;pointer-events:none;width:100%;height:100%;transition:opacity .4s var(--ease-out);position:absolute;inset:0}.about{z-index:1;background:var(--bg);height:741svh;color:var(--fg);position:relative;overflow:clip}.about-pin{height:100svh;padding:clamp(6rem, 13vh, 10rem) var(--gutter) clamp(3rem, 7vh, 5rem);grid-template-rows:auto 1fr auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,2rem);display:grid;position:sticky;top:0;overflow:hidden}.giant{min-width:0;font-family:var(--display);font-size:var(--type-display-l);letter-spacing:-.03em;white-space:nowrap;-webkit-user-select:none;user-select:none;grid-area:1/1/auto/-1;margin-left:-.045em;font-weight:800;line-height:.8}.about-content{grid-area:2/6/auto/-1;align-content:end;justify-items:start;gap:clamp(1.5rem,3vh,2.5rem);min-width:0;display:grid}.about-statement{max-width:min(20ch,100%);font-family:var(--text);font-size:var(--type-statement);letter-spacing:-.02em;text-transform:uppercase;font-weight:600;line-height:1.04}.about-statement .word-mask{vertical-align:top;display:inline-block;overflow:hidden}.about-statement .word{will-change:transform;display:inline-block}.about-statement .word-part{display:inline-block}.about-notes{max-width:30ch;color:var(--fg);font-size:clamp(.95rem,.88rem + .24vw,1.1rem);line-height:1.5;display:grid;overflow:hidden}.work{z-index:1;background:var(--bg);color:var(--fg);position:relative}.work-intro{z-index:2;height:100svh;padding:clamp(4rem, 8vh, 6rem) var(--gutter) clamp(3rem, 7vh, 5rem);pointer-events:none;align-content:start;justify-items:start;display:grid;position:sticky;top:0}.giant-mask{overflow:hidden}.work-stream{padding-inline:var(--gutter);position:relative}.work-statement-track{pointer-events:none;z-index:2;position:absolute;inset:26svh 0 30svh}.work-statement-scrim{z-index:1;pointer-events:none;height:0;position:sticky;top:50svh}.work-statement-scrim:before{content:"";background:linear-gradient(#0000 0%,#00000073 26%,#000000b8 50%,#00000073 74%,#0000 100%);width:min(40rem,88vw);height:42svh;position:absolute;left:50%;translate:-50% -50%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 26% 74%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 26% 74%,#0000 100%)}.work-statement-pin{z-index:1;justify-items:center;height:0;display:grid;position:sticky;top:50svh}.work-statement-pin>*{translate:0 -50%}.statement-mask{place-self:start center;overflow:hidden}.scatter-word{white-space:nowrap;display:inline-block}.scatter-char{will-change:transform, opacity;display:inline-block}.work-statement{max-width:22ch;font-family:var(--text);letter-spacing:-.02em;text-align:center;text-transform:uppercase;text-wrap:balance;font-size:clamp(1.35rem,.9rem + 1.5vw,2.25rem);font-weight:600;line-height:1.16}.work-items{gap:24svh;margin:0;padding:145svh 0 240svh;list-style:none;display:grid}.work-item{justify-items:start;gap:.85rem;width:min(21rem,24vw);display:grid}.work-item:nth-child(odd){justify-self:start}.work-item:nth-child(2n){justify-self:end}.work-frame{aspect-ratio:3/4;background:var(--frame-bg,var(--fg));border-radius:14px;place-items:stretch stretch;width:100%;padding:1.5rem;display:grid;overflow:hidden}.work-frame-mark{will-change:transform;background-color:var(--frame-ink,var(--bg));-webkit-mask-image:var(--frame-logo);mask-image:var(--frame-logo);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:var(--frame-logo-size,contain);mask-size:var(--frame-logo-size,contain);-webkit-mask-image:var(--frame-logo);-webkit-mask-position:50%;-webkit-mask-repeat:no-repeat;-webkit-mask-size:var(--frame-logo-size,contain)}.work-frame--which .work-frame-mark{background-color:#0000;background-image:var(--frame-logo);background-position:50%;background-repeat:no-repeat;background-size:var(--frame-logo-size,contain);-webkit-mask-image:none;mask-image:none}.work-frame--monzo{--frame-bg:#ff4f40;--frame-ink:#fff;--frame-logo:url(/logos/monzo.png)}.work-frame--dfe{--frame-bg:#1d70b8;--frame-ink:#fff;--frame-logo:url(/logos/dfe.png);--frame-logo-size:78%}.work-frame--which{--frame-bg:#fff;--frame-logo:url(/logos/which.png);--frame-logo-size:82%}.work-frame--multiverse{--frame-bg:#4e61f3;--frame-ink:#fff;--frame-logo:url(/logos/multiverse.png)}.work-frame--blackrock{--frame-bg:#000;--frame-ink:#fff;--frame-logo:url(/logos/blackrock.png);box-shadow:inset 0 0 0 1px #ffffffe6}.site-footer{isolation:isolate;min-height:100svh;padding:clamp(5.5rem, 10vh, 8rem) var(--gutter) calc(env(safe-area-inset-bottom) + 1.5rem);color:var(--fg);grid-template-rows:auto 1fr auto;align-content:stretch;gap:clamp(1.8rem,3.5vh,3rem);display:grid;position:relative;overflow:hidden}.site-footer:after{content:"";z-index:3;background-image:var(--grain);opacity:.05;pointer-events:none;position:absolute;inset:0}.contact-heading{font-family:var(--display);letter-spacing:-.03em;white-space:nowrap;padding-top:.08em;font-size:clamp(2.4rem,8vw,9.5rem);font-weight:800;line-height:.86;overflow:hidden}.contact-heading .reach-letter{white-space:pre;font-variation-settings:"wght" 800, "wdth" 100;cursor:default;transition:color 90ms linear;display:inline-block}.contact-heading .reach-letter:hover{color:var(--defocus-mid,#5a5a5a);transition-duration:40ms}.contact-mask{overflow:hidden}.contact-body{grid-template-columns:.8fr 1fr;align-items:start;gap:clamp(2.5rem,6vw,6rem);max-width:82rem;display:grid}.contact-lead{align-content:start;gap:clamp(1.4rem,3vh,2.2rem);display:grid}.contact-statement{max-width:15ch;font-family:var(--display);letter-spacing:-.035em;font-size:clamp(1.9rem,1rem + 3vw,3.4rem);font-weight:720;font-stretch:100%;line-height:1}.contact-form{grid-template-columns:1fr;gap:clamp(1.3rem,3vh,2.2rem);display:grid}.form-trap{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-field{border-top:1px solid color-mix(in oklch, currentcolor 22%, transparent);gap:.9rem;padding-top:.8rem;display:grid}.form-field-wide{grid-column:1/-1}.form-label{color:var(--defocus-near,#8a8a8a);font-family:var(--mono);font-size:var(--label-size);letter-spacing:var(--label-tracking);gap:.8em;display:flex}.contact-form input,.contact-form textarea{border:0;border-bottom:1px solid color-mix(in oklch, currentcolor 22%, transparent);width:100%;color:inherit;font-family:var(--text);letter-spacing:-.015em;resize:vertical;transition:background-size .55s var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;border-radius:0;outline:none;padding:.1rem 0 .55rem;font-size:clamp(1.15rem,1rem + .55vw,1.55rem);font-weight:440;line-height:1.25}.contact-form ::placeholder{color:var(--defocus-mid,#5a5a5a);opacity:1}.contact-form input:focus-visible,.contact-form textarea:focus-visible{background-size:100% 1px}.form-submit{border:1px solid var(--fg);background:var(--fg);height:3.5rem;color:var(--bg);cursor:pointer;font-family:var(--mono);font-size:var(--label-size);letter-spacing:var(--label-tracking);transition:background-color .35s var(--ease-out), color .35s var(--ease-out);border-radius:999px;grid-column:1/-1;justify-content:space-between;justify-self:start;align-items:center;gap:2.5rem;padding:0 1.8rem;display:inline-flex}.form-submit:hover,.form-submit:focus-visible{background:var(--bg);color:var(--fg)}.form-submit-arrow{font-size:1rem}.form-status{min-height:1.4em;color:var(--fg);font-family:var(--mono);font-size:var(--label-size);letter-spacing:var(--label-tracking);grid-column:1/-1}.footer-base{border-top:1px solid color-mix(in oklch, currentcolor 40%, transparent);color:var(--defocus-near,#8a8a8a);font-family:var(--mono);font-size:var(--label-size);letter-spacing:var(--label-tracking);grid-template-columns:auto auto;justify-content:space-between;align-items:center;gap:clamp(1.2rem,3vw,2.5rem);padding-top:1.1rem;display:grid}.footer-base a{color:var(--fg);text-decoration:none}.sea{background:#000;height:320svh;position:relative}.sea-pin{cursor:default;-webkit-user-select:none;user-select:none;touch-action:pan-y;height:100svh;position:sticky;top:0;overflow:hidden}.sea-pin canvas{width:100%;height:100%;position:absolute;inset:0}.sea-line{z-index:2;color:#fff;font-family:var(--display);letter-spacing:-.02em;pointer-events:none;white-space:nowrap;font-size:clamp(1.3rem,1rem + 1.2vw,2.1rem);font-weight:500;font-stretch:100%;position:absolute;top:5.5%;left:50%;translate:-50%}:focus-visible{outline-offset:.35rem;outline:1px solid}@media (width<=840px){.hero{align-content:center}.hero-name{align-self:auto;row-gap:1.5vw}.hero-line{font-size:clamp(4rem,22vw,9rem)}.hero-meta{justify-self:end;margin-top:clamp(1rem,2.5vh,1.75rem);position:static}.about{height:405svh}.about-pin{grid-template-columns:1fr;gap:2rem;padding-top:clamp(4.5rem,9vh,7rem)}.about-content{grid-column:1/-1;grid-template-columns:1fr;gap:4rem}.about-statement,.about-notes{grid-column:auto}.about-statement{max-width:min(15ch,100%)}.about-notes{justify-self:end;width:min(100%,24rem)}.work-item{width:min(15rem,30vw)}.contact-body{grid-template-columns:1fr;gap:clamp(2.5rem,8vh,4rem)}}@media (width<=560px){.footer-base{grid-template-columns:1fr;justify-items:start;gap:.9rem}.hero{padding-inline:.85rem}.about-statement{max-width:min(12ch,100%);font-size:clamp(2.4rem,10vw,3.4rem)}.work-item,.work-item:nth-child(odd),.work-item:nth-child(2n){justify-self:center;width:min(15rem,62vw)}.work-items{gap:30svh}.site-footer{padding-inline:1.15rem}.contact-form{grid-template-columns:1fr}.form-field-wide,.form-submit,.form-status{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
