:root{--text-high: var(--black);--text-mid: var(--gray-700);--text-low: var(--gray-600);--bg: var(--gray-100);--bg-raised:var(--gray-200);--border:2px solid var(--border-colour);--outline:var(--border-colour) 2px solid;--border-colour: var(--gray-200);--hover-highlight:var(--amber-500);--line-colour:var(--amber-300);--accent-colour:var(--red-700);--svg-fill:var(--amber-300);--black:#191919;--grey1:#808080;--grey2:#B3B3B3}@font-face{font-family:Geist;src:url(/_astro/GeistVF.296fafaf.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Chomsky;src:url(/_astro/Chomsky.7b176777.otf) format("opentype"),url(/_astro/Chomsky.6d9f3d86.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Martian;src:url(/_astro/MartianMono.80413357.ttf) format("truetype");font-optical-sizing:auto;font-weight:400;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0}.hidden{display:none!important}body{background-color:var(--bg);margin:0;font-family:Geist,monospace}.bento-item .arrow{fill:var(--gray-200);position:absolute;top:.8rem;right:.8rem}.bento-item:hover .arrow{fill:var(--amber-300)}footer .arrow{fill:var(--accent-colour);transform-origin:center;transform:rotate(-45deg)}.arrow *{transition:all .05s}.bento-item:hover .arrow>.svg-arrow-tail,a:hover .svg-arrow-tail{transform:translate(2px)}.bento-item:hover .arrow>.svg-arrow-mid,a:hover .svg-arrow-mid{transform:translate(-2px)}.bento-item:hover .arrow>.svg-arrow-top,a:hover .svg-arrow-top{transform:translateY(2px)}.bento-item:hover .arrow>.svg-arrow-bot,a:hover .svg-arrow-bot{transform:translateY(-2px)}.bg{background-color:var(--bg)}body .core-width{margin:0 1rem}.outline{outline:var(--outline);outline-offset:-1px}.lined{background:linear-gradient(45deg,transparent 49%,var(--line-colour) 50%,transparent 51%);background-size:10px 10px}.padded{padding:.5rem 1rem}.mono{font-family:Martian,monospace}.spicy{font-family:Chomsky,monospace;font-weight:500!important}.h-2rem{min-height:2rem}.w-2rem{min-width:2rem}.header-contents{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;flex-grow:1;align-items:stretch}.logo{display:flex;justify-content:space-around;align-items:center}.logo-svg{stroke-width:8;stroke-linecap:round;stroke-linejoin:round;height:72px}.logo-bg{stroke:var(--accent-colour)}.logo-svg .logo-d{stroke-width:8;stroke:var(--hover-highlight);opacity:1;stroke-dasharray:20 150;stroke-dashoffset:20;transition:stroke-dashoffset .5s linear}.logo:hover .logo-d{stroke-dashoffset:-150}.logo:hover .logo-m{stroke-dashoffset:-400}.logo:hover .logo-bg{stroke:var(--text-high)}.logo-svg .logo-m{stroke-width:8;stroke:var(--hover-highlight);opacity:1;stroke-dasharray:20 400;stroke-dashoffset:180;transition:stroke-dashoffset 1.5s linear}.rect.rect-one{stroke:#000;stroke-dasharray:100 300;stroke-dashoffset:-700;animation:move-rect-one 5s ease-in-out infinite}.rect.rect-two{stroke-dasharray:100 300;stroke-dashoffset:-700;animation:move-rect-one 5s ease-in-out infinite}@keyframes move-rect-one{0%{stroke-dashoffset:-700;stroke:#00f}50%{stroke-dashoffset:0;stroke:#000}to{stroke-dashoffset:-700;stroke:#00f}}a{color:var(--accent-colour);background-color:var(--gray-100)}.footer a,footer .arrow{line-height:2rem}a:hover,footer a:hover .arrow{color:var(--text-high);background-color:var(--hover-highlight);fill:var(--text-high)}.number{color:var(--accent-colour)}a.nav-item,.nav-item{padding:1.5rem 1rem;color:var(--text-mid);background-color:var(--bg);flex-grow:2}.cta{padding:1rem 1.5rem;margin:.5rem;position:relative;border-radius:1rem;background-color:var(--gray-900)}.nav-links .nav-cta{color:var(--hover-highlight);background-color:var(--bg);text-decoration:none;align-content:flex-end}.nav-links .nav-cta:hover{color:var(--gray-100)}.logosvg{fill:var(--text-high)}.nav-links a{text-align:center;font-size:1rem;font-weight:700;margin:0}.tag-filter-option{display:inline-block;padding:1rem;background-color:var(--bg);-webkit-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.tag-filter-option.tag-selected{background-color:var(--accent-colour);color:var(--gray-100)}.tag-filter-option:hover{background-color:var(--hover-highlight)}.tag-filter-option input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;position:absolute;opacity:0}.tag-filter-option span:before{content:"[ ] ";width:4ch;line-height:1}.tag-filter-option input[type=checkbox]:checked+span:before{content:"[*] ";white-space-collapse:collapse}.tag{font-size:.8rem;padding:.1rem .2rem;margin-right:.2rem;background-color:var(--gray-200);color:var(--text-mid);display:inline-block;font-family:Martian,monospace!important}.tag-design-systems{background-color:var(--teal-100)}.tag-design-systems:after{content:"design systems"}.tag-user-flows{background-color:var(--green-100)}.tag-user-flows:after{content:"user flows"}.tag-user-research{background-color:var(--purple-100)}.tag-user-research:after{content:"user research"}.tag-html-css{background-color:var(--red-200)}.tag-html-css:after{content:"HTML & CSS"}.tag-ab-testing{background-color:var(--pink-200)}.tag-ab-testing:after{content:"A/B testing"}.tag-axure{background-color:var(--blue-100)}.tag-axure:after{content:"axure RP"}.tag-figma{background-color:var(--blue-200)}.tag-figma:after{content:"figma"}.tag-sketch{background-color:var(--amber-100)}.tag-sketch:after{content:"sketch"}.tag-team-leadership{background-color:var(--gray-200)}.tag-team-leadership:after{content:"team leadership"}.tag-stakeholder-management{background-color:var(--amber-200)}.tag-stakeholder-management:after{content:"stakeholder management"}.tag-branding{background-color:var(--green-200)}.tag-branding:after{content:"branding"}.tag-data-visualization{background-color:var(--teal-200)}.tag-data-visualization:after{content:"data visualization"}.nav-links{background:var(--bg);margin:0}.nav-links a:hover,.nav-links a:focus{background:var(--hover-highlight);color:var(--text-high)}.mobile-menu{display:none}.mobile-menu.open{display:flex;z-index:10}.mobile-menu.lined{z-index:2;position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg);opacity:.9}.mobile.nav-links{position:fixed;bottom:0;right:1rem;left:1rem;z-index:10}.expanded{display:unset}.bento-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:0}.bento-item.large,.bento-item.medium{grid-column:span 1;grid-row:span 1}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:0}.grid-item-two{grid-column:span 2}.hero{min-height:30rem;overflow:hidden;position:relative;vertical-align:middle;padding:6rem 1rem}.hero>*{position:relative;z-index:1}.post-image{width:100%;height:auto;object-fit:contain;max-width:100%;max-height:640px}.project-split-container .title{color:var(--text-low);flex:1;flex-direction:column;gap:.2rem;font-weight:500}article img{width:100%;max-width:800px}article .description img{border:var(--border);margin-bottom:1rem}footer .section{flex-direction:column;flex:1}.flex-horizontal{display:flex;flex-direction:row}.flex-vertical{display:flex;flex-direction:column;flex:1}.navigation.desktop,.desktop{display:none}.entry{display:grid;grid-template-columns:repeat(1,1fr);gap:0;padding:0}.entry .entry-intro{grid-column:span 1}.entry .entry-main{grid-column:span 3;display:flex;flex-direction:column;justify-content:space-between}.company-logo{padding:1rem 0}.svg-hero-spin{position:absolute;z-index:0;width:80%;top:50%;left:50%;transform:translate(-50%,-50%);min-width:24rem}@media screen and (min-width: 820px){.svg-hero-spin{left:70%;width:35%;min-width:30rem}.hero{padding:6rem 1rem 8rem}.entry{grid-template-columns:repeat(4,1fr)}.text-max{max-width:760px}.grid{grid-template-columns:repeat(4,1fr)}.project-split-container{display:flex;flex-direction:row;gap:4rem}.project-split-container .title,.project-split-container .description{display:flex}.project-split-container .title{flex:1}.project-split-container .description{flex:4}.split{display:flex;flex-direction:row}.split>div{display:flex;flex:1;align-items:center;flex-direction:column;justify-content:space-between}.split .breadcrumb{width:100%}.padded-bottom{padding-bottom:2rem}.padded{padding:1rem}.full-height{height:100%}body .core-width{margin:0 4rem}.bento-item.large{grid-column:span 2;grid-row:span 2}.bento-item.medium{grid-column:span 2}.bento-item.small{grid-column:span 1}.mobile{display:none}.navigation.desktop{display:inline;grid-column:span 2}.desktop.nav-links{display:flex;align-items:stretch}.desktop{display:flex}}@media screen and (min-width: 2000px){body .core-width{margin:0 12rem}.text-max{max-width:1600px}}article h1,article h2,article h3,article h4{margin-bottom:1rem;font-family:GeistMono,monospace}article h1{font-size:2rem;font-weight:900}article p{margin-bottom:1rem;color:var(--text-high)}.text-high{color:var(--text-high)}.text-mid{color:var(--text-mid)}.text-low{color:var(--text-low)}.text-outline{color:var(--bg);text-shadow:-1px -1px 0 var(--text-high),1px -1px 0 var(--text-high),-1px 1px 0 var(--text-high),1px 1px 0 var(--text-high)}.highlight-red{color:var(--red-700)}.highlight-shadow{text-shadow:2px 2px 0px var(--red-700)}.hero>h1{margin-bottom:-.5rem;font-size:5rem}.h1{font-size:3rem;font-weight:900;margin-left:-.2rem}.h2{font-size:2rem;font-weight:600}.h3{font-size:1.8rem;font-weight:600}.h4{font-size:1.5rem;font-weight:600}.h5{font-size:1.2rem;font-weight:700}.h6{font-size:1rem;font-weight:700}b{font-weight:900}ul,ol{padding-left:1.2rem}ul{list-style:none}ul li{position:relative;padding-left:1rem;margin-bottom:.5rem}ul li:before{font-family:Martian,monospace;content:"*";position:absolute;left:-1.2rem;color:var(--red-700)}ul ul{margin:.5rem 0 .5rem .5rem}ul ul li:before{font-family:Martian,monospace;content:">";color:var(--red-700)}ol{list-style:none;counter-reset:item}ol li{position:relative;padding-left:1rem;margin-bottom:.5rem;counter-increment:item}ol li:before{font-family:Martian,monospace;content:counter(item) ".";position:absolute;left:-1.2rem;color:var(--red-700)}ol ol{margin:0;counter-reset:subitem}ol ol li{counter-increment:subitem}ol ol li:before{content:counter(item) "." counter(subitem);color:var(--red-700);left:-2rem}li p{margin:.5rem 0}div ul,div ol{margin-top:.8rem;margin-bottom:.8rem}@media screen and (min-width: 820px){html{font-size:120%}.hero>h1{font-size:10rem}.h1{font-size:7rem}.h2{font-size:3rem}.h3{font-size:2.5rem}.h4{font-size:2rem}.h5,.h6{font-size:1.2rem}}@media screen and (min-width: 2000px){html{font-size:140%}}:root{--gray-100: #f0f0f0;--gray-200: #d9d9d9;--gray-250: #D0D0D0;--gray-300: #bfbfbf;--gray-400: #a6a6a6;--gray-500: #8c8c8c;--gray-600: #737373;--gray-700: #595959;--gray-800: #404040;--gray-900: #262626;--gray-1000: #0d0d0d;--gray-alpha-100: rgba(240, 240, 240, .5);--gray-alpha-200: rgba(217, 217, 217, .5);--gray-alpha-300: rgba(191, 191, 191, .5);--gray-alpha-400: rgba(166, 166, 166, .5);--gray-alpha-500: rgba(140, 140, 140, .5);--gray-alpha-600: rgba(115, 115, 115, .5);--gray-alpha-700: rgba(89, 89, 89, .5);--gray-alpha-800: rgba(64, 64, 64, .5);--gray-alpha-900: rgba(38, 38, 38, .5);--gray-alpha-1000: rgba(13, 13, 13, .5);--blue-100: #e6f7ff;--blue-200: #bae7ff;--blue-300: #91d5ff;--blue-400: #69c0ff;--blue-500: #40a9ff;--blue-600: #1890ff;--blue-700: #096dd9;--blue-800: #0050b3;--blue-900: #003a8c;--blue-1000: #002766;--red-100: #fff1f0;--red-200: #ffccc7;--red-300: #ffa39e;--red-400: #ff7875;--red-500: #ff4d4f;--red-600: #f5222d;--red-700: #cf1322;--red-800: #a8071a;--red-900: #820014;--red-1000: #5c0011;--amber-100: #fff7e6;--amber-200: #ffe7ba;--amber-300: #ffd591;--amber-400: #ffc069;--amber-500: #ffa940;--amber-600: #fa8c16;--amber-700: #d46b08;--amber-800: #ad4e00;--amber-900: #873800;--amber-1000: #612500;--green-100: #f6ffed;--green-200: #d9f7be;--green-300: #b7eb8f;--green-400: #95de64;--green-500: #73d13d;--green-600: #52c41a;--green-700: #389e0d;--green-800: #237804;--green-900: #135200;--green-1000: #092b00;--teal-100: #e6fffb;--teal-200: #b5f5ec;--teal-300: #87e8de;--teal-400: #5cdbd3;--teal-500: #36cfc9;--teal-600: #13c2c2;--teal-700: #08979c;--teal-800: #006d75;--teal-900: #00474f;--teal-1000: #002329;--purple-100: #f9f0ff;--purple-200: #efdbff;--purple-300: #d3adf7;--purple-400: #b37feb;--purple-500: #9254de;--purple-600: #722ed1;--purple-700: #531dab;--purple-800: #391085;--purple-900: #22075e;--purple-1000: #120338;--pink-100: #fff0f6;--pink-200: #ffdeeb;--pink-300: #ffadd2;--pink-400: #ff85c0;--pink-500: #f759ab;--pink-600: #eb2f96;--pink-700: #c41d7f;--pink-800: #9e1068;--pink-900: #780650;--pink-1000: #520339}*{box-sizing:border-box;margin:0;padding:0}.two-grid{display:grid;grid-template-columns:repeat(2,1fr)}.bento-container{display:grid;grid-template-columns:repeat(1,1fr);gap:0;padding:0}a.bento-item{color:var(--accent-colour);display:flex;align-items:center;justify-content:center;min-height:300px;overflow:hidden;position:relative;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--bg);box-shadow:inset 0 0 4rem var(--bg)}.bento-item:hover{outline:4px solid var(--amber-500);outline-offset:-5px;background-color:var(--bg);color:var(--red-800)}.bento-item.size-large,.bento-item.size-medium{grid-column:span 1;grid-row:span 1}.bento-item.size-small{grid-column:span 1}.no-results-message{grid-column:span 2;min-height:300px}.bento-info-card{text-shadow:-2px -1px 0 var(--bg),2px -1px 0 var(--bg),-2px 1px 0 var(--bg),2px 1px 0 var(--bg);padding:0;position:absolute;bottom:1rem;left:1rem}.bento-info-card>h2{margin-bottom:.1rem}@media (min-width: 820px){.bento-container{grid-template-columns:repeat(4,1fr)}.bento-item.size-large{grid-column:span 2;grid-row:span 2}.bento-item.size-medium{grid-column:span 2;grid-row:span 1}.two-grid{display:grid;grid-template-columns:repeat(4,1fr)}}@media (min-width: 2000px){a.bento-item{min-height:500px}}.svg-hero-spin svg.both{transform-origin:center;animation:spin 300s linear infinite}.both .svg-logo-circle{transform-origin:center;stroke:var(--svg-fill);animation:spin 90s linear infinite;stroke-width:.5px}.outside-line{stroke:var(--svg-fill)}.both .outside-small-orbit{transform-origin:210px 49px;animation:spin 15s linear infinite}.right .outside-small-orbit circle{stroke:var(--svg-fill);stroke-dasharray:6 3}.both .line-group{transform-origin:center;animation:spin 60s linear infinite}.left .line-group{stroke:var(--svg-fill)}.left .line-group .line{stroke:var(--svg-fill);stroke-dasharray:2 4}.left .line-group .sm-circle{fill:var(--svg-fill)}.right .line-group{stroke:var(--svg-fill)}.right .line-group .line{stroke:var(--svg-fill);stroke-dasharray:5 2}.right .line-group .sm-circle{fill:var(--bg)}.both .outside{transform-origin:center;animation:spinb 60s linear infinite;stroke-width:2px}.left .outside{stroke:var(--svg-fill);stroke-dasharray:8 2}.right .outside{stroke:var(--svg-fill);stroke-dasharray:3 5}.both .offset-circle{transform-origin:center;animation:spinb 60s linear infinite}.left .offset-circle{stroke:var(--svg-fill);stroke-dasharray:4 2}.right .offset-circle{stroke:var(--svg-fill);stroke-dasharray:7 1}.both .seven-sides{transform-origin:center;animation:spinb 60s linear infinite}.left .seven-sides{stroke:var(--svg-fill);stroke-dasharray:4 2}.right .seven-sides{stroke:var(--svg-fill);stroke-dasharray:2 6}.both .inside-orbit{transform-origin:center;animation:spinb 30s linear infinite;stroke-width:2px}.right .inside-orbit circle{stroke:var(--svg-fill);stroke-dasharray:3 1}.left .inside-orbit circle{stroke:var(--svg-fill);stroke-dasharray:1 2}.both .circle-medium{transform-origin:center;animation:spin 120s linear infinite}.left .circle-medium{stroke:var(--svg-fill);stroke-dasharray:2 6}.right .circle-medium{stroke:var(--svg-fill);stroke-dasharray:6 2}.both .large-circle{transform-origin:center;animation:spin 120s linear infinite;stroke-width:2px}.left .large-circle{stroke:var(--svg-fill);stroke-dasharray:1 2}.right .large-circle{stroke:var(--svg-fill);stroke-dasharray:8 2 2 2}.left .outside-small-orbit circle{stroke:var(--svg-fill);stroke-dasharray:4 2}.left .outside-small-orbit .smol-square{stroke:var(--svg-fill);fill:var(--bg)}.left .smol-triangle,.right .outside-small-orbit .smol-square{stroke:var(--svg-fill);fill:var(--svg-fill)}.right .smol-triangle{stroke:var(--svg-fill);fill:var(--bg)}@-moz-keyframes spinb{to{-moz-transform:rotate(-360deg)}}@-webkit-keyframes spinb{to{-webkit-transform:rotate(-360deg)}}@keyframes spinb{to{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@-moz-keyframes spin{to{-moz-transform:rotate(360deg)}}@-webkit-keyframes spin{to{-webkit-transform:rotate(360deg)}}@keyframes spin{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
