/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;-webkit-text-decoration:underline;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}.button:focus-visible{outline:2px solid #f0f;outline-offset:2px}*,:after,:before{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}:focus-visible{animation:outline-bounce .2s}}article,section{scroll-padding-top:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);scroll-padding-top:var(--flow-space)}address,blockquote,body,caption,dd,div,dl,dt,fieldset,figcaption,figure,form,h1,h2,h3,h4,h5,h6,hr,li,ol,p,pre,table,ul{margin:0}body{line-height:1.5;-webkit-text-decoration-skip:ink;font-display:swap;font-family:Futura,fallback,Helvetica,Arial,sans-serif;font-feature-settings:common-ligatures no-discretionary-ligatures no-historical-ligatures contextual,"kern";font-kerning:normal;font-optical-sizing:auto;font-variant-ligatures:common-ligatures no-discretionary-ligatures no-historical-ligatures contextual;text-decoration-skip-ink:auto;text-wrap:pretty}button,input,label{line-height:1.1}a{color:inherit;cursor:pointer;line-height:2;-webkit-text-decoration:underline;text-decoration:underline;text-decoration-style:wavy;text-underline-offset:.6ex}a:hover{color:var(--highlight-bright)}button{background-color:transparent;border-width:0;color:inherit;cursor:pointer;font:inherit;padding:0}input::-moz-focus-inner{border:0;margin:0;padding:0}button,input,select,textarea{border:var(--stroke-solid);font-family:inherit;font-size:inherit}textarea{field-sizing:content;width:min(100%,55ch)}dd,ol,ul{list-style:none;padding:0}h1,h2,h3,h4,h5,h6{font-family:inherit;font-size:inherit;font-weight:inherit;font-weight:900;line-height:1.5;word-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}h1,h2,h3,h4{text-wrap:balance}p{width:min(100%,75ch)}cite{font-style:normal}fieldset{border-width:0;padding:0}img,picture{display:block;height:auto;max-width:100%}:focus{outline:none}:focus-visible{border-radius:3px;outline:2px solid #007bff;outline:2px solid var(--focus-color,currentColor);outline-offset:.2lh;outline-offset:var(--focus-offset,.2lh)}@keyframes outline-bounce{0%{outline-offset:.2lh;outline-offset:var(--focus-offset,.2lh)}50%{outline-offset:.25lh}to{outline-offset:.2lh;outline-offset:var(--focus-offset,.2lh)}}.centered{text-align:center;text-wrap:balance}.uppercase{text-transform:uppercase;--opentype-case:"case" on}.smallcaps{font-feature-settings:"smcp","c2sc","onum";font-variant-caps:all-small-caps;font-variant-numeric:oldstyle-nums}b,strong,th{font-size-adjust:.514;font-weight:700}h1,h2,h3,h4{font-feature-settings:"lnum";font-size-adjust:.514;font-variant-numeric:lining-nums;line-height:1.4}h1{font-feature-settings:"dlig";font-size-adjust:.521;font-variant-ligatures:discretionary-ligatures}h1.uppercase{font-feature-settings:"titl";font-variant-caps:titling-caps}@supports (font-variant-position:sub){.sub,sub{font-feature-settings:"subs";font-size:100%;font-variant-position:sub;line-height:inherit;vertical-align:baseline}}@supports (font-variant-position:super){.sup,sup{font-feature-settings:"sups";font-size:100%;font-variant-position:super;line-height:inherit;vertical-align:baseline}}math,td,time[datetime*=":"]{font-feature-settings:tabular-nums lining-nums slashed-zero;font-variant-numeric:tabular-nums lining-nums slashed-zero}:lang(en)>*{quotes:"“" "”" "‘" "’"}:lang(en-GB)>*{quotes:"‘" "’" "“" "”"}:lang(fr)>*{quotes:"«?0202F" "?0202F»" "“" "”"}q:before{content:open-quote}q:after{content:close-quote}.quoted,.quoted q{quotes:"“" "”" "‘" "’"}.quoted p:first-of-type:before{content:open-quote}.quoted p:last-of-type:after{content:close-quote}.quoted p:first-of-type:before{margin-left:-.87ch}.quoted p{hanging-punctuation:first last}@supports (hanging-punctuation:first last){.quoted p:first-of-type:before{margin-left:0}}.visually-hidden{clip:rect(0 0 0 0);height:0;margin:0;white-space:nowrap}.wrapper{margin-left:auto;margin-right:auto;max-width:calc(1000px + clamp(1.6875rem,1.6223rem + .3261vw,1.875rem)*2);max-width:calc(var(--wrapper-max-width, 1000px) + var(--space-m)*2);padding-left:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);padding-left:var(--space-m);padding-right:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);padding-right:var(--space-m);position:relative}.cluster{align-items:center;align-items:var(--cluster-vertical-alignment,center);display:flex;flex-wrap:wrap;gap:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);gap:var(--space-m);justify-content:flex-start;justify-content:var(--cluster-horizontal-alignment,flex-start)}.cluster[data-nowrap]{flex-wrap:nowrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));grid-template-columns:repeat(var(--grid-placement,auto-fill),minmax(var(--grid-min-item-size,20rem),1fr));grid-column-gap:clamp(2.25rem,2.163rem + .4348vw,2.5rem);grid-column-gap:var(--space-l)}.grid[data-layout="50-50"]{--grid-placement:auto-fit;--grid-min-item-size:max(16rem,min(50vw,33rem))}.grid[data-layout=thirds]{--grid-placement:auto-fit;--grid-min-item-size:max(16rem,min(33%,20rem))}.repel{align-items:center;align-items:var(--repel-vertical-alignment,center);display:flex;flex-wrap:wrap;gap:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);gap:var(--gap,var(--space-m));justify-content:space-between}.repel[data-nowrap]{flex-wrap:nowrap}.region{padding-bottom:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);padding-bottom:var(--region-space,var(--space-m));padding-top:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);padding-top:var(--region-space,var(--space-m));position:relative}:root{--fs--2:clamp(.7813rem,.7469rem + .1717vw,.88rem);--fs--1:clamp(.9375rem,.881rem + .2826vw,1.1rem);--fs-0:clamp(1.125rem,1.038rem + .4348vw,1.375rem);--fs-1:clamp(1.35rem,1.2217rem + .6413vw,1.7188rem);--fs-2:clamp(1.62rem,1.4362rem + .919vw,2.1484rem);--fs-3:clamp(1.944rem,1.6861rem + 1.2896vw,2.6855rem);--fs-4:clamp(2.3328rem,1.9766rem + 1.7811vw,3.3569rem);--fs-5:clamp(2.7994rem,2.3135rem + 2.4292vw,4.1962rem);--flow-space:var(--space-m);--focus-color:#007bff;--focus-offset:.2lh;--playState:paused;--transition-base:.25s ease;--transition-movement:.2s linear;--transition-fade:.5s ease;--transition-bounce:.5s cubic-bezier(.5,.05,.2,1.5);--stroke-width:1px;--stroke:var(--stroke-width) dashed var(--text-colour);--stroke-solid:var(--stroke-width) solid var(--text-colour);--radius-s:.2rem;--radius-m:.75rem;--radius-l:2.5rem;--uc-tracking:.04ch;--indent-size:var(--space-xs-l);--gap:var(--flow-space);--region-space:var(--space-m);--space-3xs:clamp(.3125rem,.3125rem + 0vw,.3125rem);--space-2xs:clamp(.5625rem,.5408rem + .1087vw,.625rem);--space-xs:clamp(.875rem,.8533rem + .1087vw,.9375rem);--space-s:clamp(1.125rem,1.0815rem + .2174vw,1.25rem);--space-m:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);--space-l:clamp(2.25rem,2.163rem + .4348vw,2.5rem);--space-xl:clamp(3.375rem,3.2446rem + .6522vw,3.75rem);--space-2xl:clamp(4.5rem,4.3261rem + .8696vw,5rem);--space-3xl:clamp(6.75rem,6.4891rem + 1.3043vw,7.5rem);--space-4xl:clamp(9rem,8.6522rem + 1.7391vw,11.25rem)}@media (prefers-reduced-motion:no-preference){body{--playState:running}}main{min-height:85vh}::-moz-selection{background:var(--highlight_colour);color:var(--theme_colour)}::selection{background:var(--highlight_colour);color:var(--theme_colour)}.flow>*+*{margin-top:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);margin-top:var(--flow-space,1em)}.flex{display:flex;gap:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);gap:var(--gap,20px)}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}[data-centered]{text-align:center}[data-small]{font-size:clamp(.9375rem,.881rem + .2826vw,1.1rem);font-size:var(--fs--1)}[data-balance]{display:block;text-wrap:balance}@font-face{font-display:swap;font-family:fallback;letter-spacing:.3px;src:local("Arial");visibility:visible;word-spacing:-.7px}html{background:var(--theme_colour);color:var(--highlight_colour);font-weight:400;text-rendering:geometricPrecision;--csstools-color-scheme--dark:initial;color-scheme:dark}body{font-size:clamp(1.125rem,1.038rem + .4348vw,1.375rem);font-size:var(--fs-0)}.h1,h1{font-size:clamp(1.944rem,1.6861rem + 1.2896vw,2.6855rem);font-size:var(--fs-3);font-weight:900;line-height:1}.intro p,svg h1{font-size:clamp(1.35rem,1.2217rem + .6413vw,1.7188rem);font-size:var(--fs-1)}.intro p{color:var(--highlight_colour);font-style:normal;font-weight:400;line-height:1.4;text-align:center;text-wrap:balance;width:100%}.h2,h2{font-size:clamp(1.62rem,1.4362rem + .919vw,2.1484rem);font-size:var(--fs-2)}.h3,h3{font-size:clamp(1.35rem,1.2217rem + .6413vw,1.7188rem);font-size:var(--fs-1);font-weight:100;text-transform:uppercase}.h4,h4,p{font-size:clamp(1.125rem,1.038rem + .4348vw,1.375rem);font-size:var(--fs-0)}p{font-feature-settings:"liga" 1,"rlig" 1,"rvrn" 1,"kern" 1,"rclt" 1,"calt" 1,"cswh" 1;font-weight:400;text-wrap:pretty}p:empty{display:none}.blog li.project article{position:relative}.blog li.project article img{filter:grayscale(1);transition:filter .5s ease;transition:filter var(--transition-fade)}.blog li.project .flow{border-radius:0 20px 20px 0;display:flex;gap:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);gap:var(--flow-space);padding:20px 0;transform:translateY(-30%);transition:transform .5s ease;transition:transform var(--transition-fade)}.blog li.project .flow h2{width:80%}.blog li.project .flow p{padding-left:50px}.blog li.project .flow:before{background:#151c2d;background:linear-gradient(180deg,#fff0 5%,#151c2d 60%);content:"";height:100%;left:0;position:absolute;top:0;transform:translateY(-60%);transition:transform .5s ease;transition:transform var(--transition-fade);width:100%;z-index:-1}.blog li.project:hover article img{filter:grayscale(0)}.blog li.project:hover .flow{transform:translateY(0)}.blog li.project:hover .flow:before{transform:translateY(-20%)}.home ul:has(a) li p,.intro ul:has(a) li p{margin-bottom:clamp(.5625rem,.5408rem + .1087vw,.625rem);margin-bottom:var(--space-2xs)}.home ul li:nth-child(n+5){display:none}.home li.project{margin-bottom:40px;width:70%}.blog li{margin-left:auto;margin-right:auto;width:min(480px,100%)}@media screen and (max-width:350px){.home li.project{margin-bottom:40px;width:90%}.home li.project h2{font-size:clamp(1.944rem,1.6861rem + 1.2896vw,2.6855rem);font-size:var(--fs-3)}}@media screen and (max-width:768px){li.project h2{font-size:clamp(1.62rem,1.4362rem + .919vw,2.1484rem)!important;font-size:var(--fs-2)!important}}@media screen and (min-width:1000px){.blog li.project:nth-of-type(2n){padding-top:clamp(6.75rem,6.4891rem + 1.3043vw,7.5rem);padding-top:var(--space-3xl)}}.home .img-wrap,.home li.project:nth-of-type(2n){margin-left:auto}.home .img-wrap{display:block;position:relative;width:-moz-fit-content;width:fit-content}.home .img-wrap img{filter:saturate(0);padding:0}.home .img-wrap:after{background-color:var(--highlight_colour);content:"";display:block;height:100%;mix-blend-mode:color-burn;position:absolute;top:0;width:100%}input[type=email].required{background:none;border:none;color:#fff;font-weight:400;width:90%}#mc_embed_shell{width:-moz-fit-content;width:fit-content}#mc_embed_shell h2{margin-bottom:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem);margin-bottom:var(--flow-space)}#mc_embed_signup{--cluster-vertical-alignment:start;border-bottom:1px solid var(--highlight_colour)}#mc_embed_signup .cluster{padding-bottom:10px;transition:height .25s ease;transition:height var(--transition-base)}#mc_embed_signup .optionalParent{--cluster-vertical-alignment:center}#mc_embed_signup div.mce_inline_error{background-color:var(--theme_colour)!important;color:var(--highlight_colour)!important;filter:brightness(1.5);margin-top:clamp(1.6875rem,1.6223rem + .3261vw,1.875rem)!important;margin-top:var(--flow-space)!important}.button{background:none;border:none;color:var(--highlight_colour);font-weight:400;position:relative}.post .text-block:nth-of-type(2n) p{margin-left:auto}.post .images:nth-of-type(odd) figure:first-of-type{padding-right:20%}.post .images:nth-of-type(2n) figure:first-of-type,.post .images:nth-of-type(odd) figure:last-of-type{padding-left:20%}.post .images:nth-of-type(2n) figure:last-of-type{padding-right:20%}.post .content{--flow-space:var(--space-2xl)}.post .text-block p{max-width:580px}.post span[data-type=emoji]{display:inline-block;height:1.1rlh;margin-left:.3ch;margin-right:.3ch}.related li{width:min(480px,100%)}iframe[src*=vimeo],iframe[src*=youtube],video:not(.does-not-exist){display:block;height:auto;width:100%}.audio-embed iframe{border-radius:.5rem}footer[data-astro-cid-sz7xmlte]{--repel-vertical-alignment:start;--cluster-vertical-alignment:start;font-family:inherit}footer[data-astro-cid-sz7xmlte] .region[data-astro-cid-sz7xmlte]{border-top:var(--stroke-solid)}footer[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{width:-moz-fit-content;width:fit-content}footer[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte][aria-current=page]{color:var(--highlight-bright)}:root{--highlight:var(--highlight_colour);--text-colour:var(--highlight_colour);--highlight-bright:var(--highlight_bright)}html{background:var(--theme_colour);color:var(--text-colour)}:focus-visible{outline:2px solid var(--highlight_colour)!important}
